Improved www.ttss.krakow.pl
94177cee799eaf7c493b0fd1137d7eeaec4fd918..e82356cfbcd8728b46beaa27aaf4c614da5797d6
2019-07-06 Jacek Kowalski
Make Deferred a class
e82356 diff | tree
2019-07-06 Jacek Kowalski
Fix code-style issues (extra ";", == instead of ===, code order)
d5e919 diff | tree
4 files modified
53 ■■■■ changed files
common.js 41 ●●●● patch | view | raw | blame | history
index.html 2 ●●● patch | view | raw | blame | history
map.html 2 ●●● patch | view | raw | blame | history
map.js 8 ●●●● patch | view | raw | blame | history
common.js
@@ -22,27 +22,28 @@
 ********/
function Deferred(promise, request) {
    return {
        promise: promise,
        request: request,
        abort: function() {
            request.abort.bind(request);
            return Deferred(promise, request);
        },
        done: function(func) {
            return Deferred(promise.then(func), request);
        },
        fail: function(func) {
            return Deferred(promise.catch(func), request);
        },
        always: function(func) {
            return Deferred(promise.finally(func), request);
        },
    };
    this.promise = promise;
    this.request = request;
}
Deferred.prototype = {
    promise: null,
    request: null,
    abort: function() {
        this.request.abort.bind(this.request);
        return new Deferred(this.promise, this.request);
    },
    done: function(func) {
        return new Deferred(this.promise.then(func), this.request);
    },
    fail: function(func) {
        return new Deferred(this.promise.catch(func), this.request);
    },
    always: function(func) {
        return new Deferred(this.promise.finally(func), this.request);
    },
};
Deferred.all = function(iterable) {
    return Deferred(
    return new Deferred(
        Promise.all(
            iterable.map(x => x.promise)
        )
@@ -73,7 +74,7 @@
            request.open('GET', url, true);
            request.send();
        });
        return Deferred(promise, request);
        return new Deferred(promise, request);
    },
};
index.html
@@ -136,7 +136,7 @@
        </div>
        <script src="https://polyfill.io/v3/polyfill.min.js?features=Promise,XMLHttpRequest"></script>
        <script type="text/javascript" src="lang_pl.js?v10" id="lang_script"></script>
        <script type="text/javascript" src="common.js?v10"></script>
        <script type="text/javascript" src="common.js?v11"></script>
        <script type="text/javascript" src="index.js?v8"></script>
    </body>
</html>
map.html
@@ -21,7 +21,7 @@
<script src="https://polyfill.io/v3/polyfill.min.js?features=Array.prototype.forEach,Array.prototype.includes,Array.prototype.map,Element.prototype.classList,Promise,String.prototype.startsWith,XMLHttpRequest,requestAnimationFrame"></script>
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v5.3.0/build/ol.js" integrity="sha384-iQkGyyH4ioz3m+maM3s9MX1Oq67mACa4B9Z3ovUv3Sv37LJ96fx3WnZfLoiC3Wfl" crossorigin="anonymous"></script>
<script tyle="text/javascript" src="lang_pl.js?v10" id="lang_script"></script>
<script tyle="text/javascript" src="common.js?v10"></script>
<script tyle="text/javascript" src="common.js?v11"></script>
<script tyle="text/javascript" src="map.js?v25"></script>
</body>
</html>
map.js
@@ -94,7 +94,7 @@
    
    this._content = document.createElement('div');
    this._element.appendChild(this._content);
};
}
Panel.prototype = {
    _element: null,
    _hide: null,
@@ -591,6 +591,8 @@
    }
    // Vehicle
    else if(ttss_types.includes(type)) {
        styleVehicle(feature, true);
        var span = displayVehicle(feature.get('vehicle_type'));
        
        additional = document.createElement('p');
@@ -606,8 +608,6 @@
        
        vehicleTable(feature, tbody);
        vehiclePath(feature);
        styleVehicle(feature, true);
    }
    // Stop or stop point
    else if(['s', 'p'].includes(type)) {
@@ -709,7 +709,7 @@
function listFeatures(features) {
    var div = document.createElement('div');
    
    if(features.length == 0) {
    if(features.length === 0) {
        addParaWithText(div, lang.no_results);
        return div;
    }