From db4410e5681837a782a6956614563e9fb9724ad7 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Sun, 14 Apr 2019 09:33:45 +0000 Subject: [PATCH] Reduce variable redefinitions --- map.js | 131 +++++++++++++++++-------------------------- 1 files changed, 51 insertions(+), 80 deletions(-) diff --git a/map.js b/map.js index a92594a..11c7aa0 100644 --- a/map.js +++ b/map.js @@ -151,7 +151,7 @@ function fail_ajax_generic(data, fnc) { // abort() is not a failure - if(data.readyState == 0 && data.statusText == 'abort') return; + if(data.readyState == 0) return; if(data.status == 0) { fnc(lang.error_request_failed_connectivity, data); @@ -226,8 +226,7 @@ stop_selected_layer.setStyle(style); - var feature = null; - var prefix = null; + var feature, prefix; for(var i = 0; i < stops.length; i++) { feature = null; if(stops[i].getId) { @@ -247,7 +246,7 @@ function unstyleSelectedFeatures() { stop_selected_source.clear(); route_source.clear(); - if(feature_clicked && ttss_types.indexOf(feature_clicked.getId().substr(0, 1)) >= 0) { + if(feature_clicked && ttss_types.includes(feature_clicked.getId().substr(0, 1))) { styleVehicle(feature_clicked); } } @@ -315,7 +314,7 @@ var stop = stops[i]; if(stop.category == 'other') continue; - if(stops_ignored.indexOf(stop.shortName) >= 0) continue; + if(stops_ignored.includes(stop.shortName)) continue; stop.geometry = getGeometry(stop); var stop_feature = new ol.Feature(stop); @@ -360,7 +359,7 @@ ).done(function(data) { if(!data || !data.paths || !data.paths[0] || !data.paths[0].wayPoints) return; - var point = null; + var point; var points = []; for(var i = 0; i < data.paths[0].wayPoints.length; i++) { point = data.paths[0].wayPoints[i]; @@ -375,6 +374,7 @@ })); route_layer.setVisible(true); }); + return path_xhr; } function vehicleTable(feature, table) { @@ -395,8 +395,10 @@ deleteChildren(table); - for(var i = 0, il = data.old.length; i < il; i++) { - var tr = document.createElement('tr'); + var i, il; + var tr; + for(i = 0, il = data.old.length; i < il; i++) { + tr = document.createElement('tr'); addCellWithText(tr, data.old[i].actualTime || data.old[i].plannedTime); addCellWithText(tr, data.old[i].stop_seq_num + '. ' + data.old[i].stop.name); @@ -406,8 +408,8 @@ var stopsToMark = []; - for(var i = 0, il = data.actual.length; i < il; i++) { - var tr = document.createElement('tr'); + for(i = 0, il = data.actual.length; i < il; i++) { + tr = document.createElement('tr'); addCellWithText(tr, data.actual[i].actualTime || data.actual[i].plannedTime); addCellWithText(tr, data.actual[i].stop_seq_num + '. ' + data.actual[i].stop.name); @@ -423,6 +425,7 @@ feature_timer = setTimeout(function() { vehicleTable(feature, table); }, ttss_refresh); }).fail(fail_ajax_popup); + return feature_xhr; } function stopTable(stopType, stopId, table, ttss_type) { @@ -436,32 +439,36 @@ ).done(function(data) { deleteChildren(table); - for(var i = 0, il = data.old.length; i < il; i++) { - var tr = document.createElement('tr'); + var i, il; + var tr, dir_cell, vehicle, status, status_cell, delay, delay_cell; + for(i = 0, il = data.old.length; i < il; i++) { + tr = document.createElement('tr'); addCellWithText(tr, data.old[i].patternText); - var dir_cell = addCellWithText(tr, data.old[i].direction); - var vehicle = parseVehicle(data.old[i].vehicleId); + dir_cell = addCellWithText(tr, data.old[i].direction); + vehicle = parseVehicle(data.old[i].vehicleId); dir_cell.appendChild(displayVehicle(vehicle)); - var status = parseStatus(data.old[i]); - addCellWithText(tr, status); - addCellWithText(tr, ''); + status = parseStatus(data.old[i]); + status_cell = addCellWithText(tr, status); + delay_cell = addCellWithText(tr, ''); tr.className = 'active'; table.appendChild(tr); } - for(var i = 0, il = data.actual.length; i < il; i++) { - var tr = document.createElement('tr'); + for(i = 0, il = data.actual.length; i < il; i++) { + tr = document.createElement('tr'); addCellWithText(tr, data.actual[i].patternText); - var dir_cell = addCellWithText(tr, data.actual[i].direction); - var vehicle = parseVehicle(data.actual[i].vehicleId); + dir_cell = addCellWithText(tr, data.actual[i].direction); + vehicle = parseVehicle(data.actual[i].vehicleId); dir_cell.appendChild(displayVehicle(vehicle)); - var status = parseStatus(data.actual[i]); - var status_cell = addCellWithText(tr, status); - var delay = parseDelay(data.actual[i]); - var delay_cell = addCellWithText(tr, delay); + status = parseStatus(data.actual[i]); + status_cell = addCellWithText(tr, status); + delay = parseDelay(data.actual[i]); + delay_cell = addCellWithText(tr, delay); - if(status == lang.boarding_sign) { + if(data.actual[i].status === 'DEPARTED') { + tr.className = 'active'; + } else if(status == lang.boarding_sign) { tr.className = 'success'; status_cell.className = 'status-boarding'; } else if(parseInt(delay) > 9) { @@ -476,6 +483,7 @@ feature_timer = setTimeout(function() { stopTable(stopType, stopId, table, ttss_type); }, ttss_refresh); }).fail(fail_ajax_popup); + return feature_xhr; } function featureClicked(feature) { @@ -504,19 +512,20 @@ var tabular_data = true; var type = feature.getId().substr(0, 1); + var full_type = feature.getId().match(/^[a-z]+/)[0]; + var typeName = lang.types[full_type]; + if(typeof typeName === 'undefined') { + typeName = ''; + } + // Location if(type == 'l') { tabular_data = false; + name = typeName; typeName = ''; - name = lang.type_location; } // Vehicle - else if(ttss_types.indexOf(type) >= 0) { - typeName = lang.type_bus; - if(type == 't') { - typeName = lang.type_tram; - } - + else if(ttss_types.includes(type)) { var span = displayVehicle(feature.get('vehicle_type')); additional = document.createElement('p'); @@ -536,15 +545,13 @@ styleVehicle(feature, true); } // Stop or stop point - else if(['s', 'p'].indexOf(type) >= 0) { + else if(['s', 'p'].includes(type)) { var ttss_type = feature.getId().substr(1, 1); if(type == 's') { - typeName = lang.type_stop_tram; var second_type = lang.departures_for_buses; var mapping = stops_mapping['sb']; if(ttss_type == 'b') { - typeName = lang.type_stop_bus; second_type = lang.departures_for_trams; mapping = stops_mapping['st']; } @@ -562,12 +569,6 @@ ); } } else { - typeName = lang.type_stoppoint_tram; - - if(ttss_type == 'b') { - typeName = lang.type_stoppoint_bus; - } - stopTable('stopPoint', feature.get('stopPoint'), tbody, ttss_type); additional = document.createElement('p'); @@ -646,41 +647,21 @@ addParaWithText(div, lang.select_feature); + var feature, p, a, full_type, typeName; for(var i = 0; i < features.length; i++) { - var feature = features[i]; + feature = features[i]; - var p = document.createElement('p'); - var a = document.createElement('a'); + p = document.createElement('p'); + a = document.createElement('a'); p.appendChild(a); a.addEventListener('click', function(feature) { return function() { featureClicked(feature); }}(feature)); - var type = feature.getId().substr(0, 1); - var typeName = ''; - if(type == 'l') { + full_type = feature.getId().match(/^[a-z]+/)[0]; + typeName = lang.types[full_type]; + if(typeof typeName === 'undefined') { typeName = ''; - name = lang.type_location; - } else if(ttss_types.indexOf(type) >= 0) { - typeName = lang.type_bus; - if(type == 't') { - typeName = lang.type_tram; - } - if(feature.get('vehicle_type').num) { - typeName += ' ' + feature.get('vehicle_type').num; - } - } else if(type == 's') { - typeName = lang.type_stop_tram; - if(feature.getId().startsWith('sb')) { - typeName = lang.type_stop_bus; - } - } else if (type == 'p') { - typeName = lang.type_stoppoint_tram; - if(feature.getId().startsWith('pb')) { - typeName = lang.type_stoppoint_bus; - } - } else { - continue; } addElementWithText(a, 'span', typeName).className = 'small'; @@ -797,16 +778,6 @@ } function init() { - if(!window.jQuery) { - fail(lang.jquery_not_loaded); - return; - } - - $.ajaxSetup({ - dataType: 'json', - timeout: 10000, - }); - panel = new Panel(document.getElementById('panel')); route_source = new ol.source.Vector({ @@ -975,7 +946,7 @@ stops_type.forEach(function(type) { future_requests.push(updateStops(type.substr(0,1), type.substr(1,1))); }); - $.when(future_requests).done(hash); + Deferred.all(future_requests).done(hash); window.addEventListener('hashchange', hash); -- Gitblit v1.9.1