From 7e722179b6df2f7c6d0fc68c3f1f374df230d774 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 04 May 2019 14:50:08 +0000
Subject: [PATCH] Add Codacy badge and fix some errors reported by the checker
---
index.js | 201 ++++++++++++++++++++--------------------
map.js | 18 +--
common.js | 69 +++++++------
index.css | 2
README.md | 1
5 files changed, 147 insertions(+), 144 deletions(-)
diff --git a/README.md b/README.md
index be8188f..2f60e45 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,7 @@
Contact and suggestions: mpk_AT_jacekk.info
[](https://travis-ci.org/jacekkow/mpk-ttss)
+[](https://www.codacy.com/app/jacekkow/mpk-ttss)
## Differences
diff --git a/common.js b/common.js
index 0bf165e..fa006be 100644
--- a/common.js
+++ b/common.js
@@ -1,4 +1,4 @@
-"use strict";
+'use strict';
var ttss_urls = {
t: 'proxy_tram.php',
@@ -26,7 +26,7 @@
promise: promise,
request: request,
abort: function() {
- request.abort.bind(request)
+ request.abort.bind(request);
return Deferred(promise, request);
},
done: function(func) {
@@ -70,7 +70,7 @@
}
}
};
- request.open("GET", url, true);
+ request.open('GET', url, true);
request.send();
});
return Deferred(promise, request);
@@ -108,6 +108,35 @@
function checkVersionInit() {
checkVersion();
setInterval(checkVersion, 3600000);
+}
+
+
+/*******
+ * DOM *
+ *******/
+
+function deleteChildren(element) {
+ while(element.lastChild) element.removeChild(element.lastChild);
+}
+
+function addElementWithText(parent, element, text) {
+ var elem = document.createElement(element);
+ elem.appendChild(document.createTextNode(text));
+ parent.appendChild(elem);
+ return elem;
+}
+
+function addCellWithText(parent, text) {
+ return addElementWithText(parent, 'td', text);
+}
+
+function addParaWithText(parent, text) {
+ return addElementWithText(parent, 'p', text);
+}
+
+function setText(element, text) {
+ deleteChildren(element);
+ element.appendChild(document.createTextNode(text));
}
@@ -189,14 +218,15 @@
}
function depotIdToVehicleId(depotId, typeHelper) {
+ var prop;
if(typeHelper) {
- for(var prop in vehicles_info) {
+ for(prop in vehicles_info) {
if(prop.substr(0,1) == typeHelper && vehicles_info[prop]['num'].substr(2) == depotId) {
return prop;
}
}
} else {
- for(var prop in vehicles_info) {
+ for(prop in vehicles_info) {
if(vehicles_info[prop]['num'] == depotId) {
return prop;
}
@@ -228,33 +258,4 @@
.replace('$floor', floor_type);
return span;
-}
-
-
-/*******
- * DOM *
- *******/
-
-function deleteChildren(element) {
- while(element.lastChild) element.removeChild(element.lastChild);
-}
-
-function addElementWithText(parent, element, text) {
- var elem = document.createElement(element);
- elem.appendChild(document.createTextNode(text));
- parent.appendChild(elem);
- return elem;
-}
-
-function addCellWithText(parent, text) {
- return addElementWithText(parent, 'td', text);
-}
-
-function addParaWithText(parent, text) {
- return addElementWithText(parent, 'p', text);
-}
-
-function setText(element, text) {
- deleteChildren(element);
- element.appendChild(document.createTextNode(text));
}
diff --git a/index.css b/index.css
index d75bd72..522cc9a 100644
--- a/index.css
+++ b/index.css
@@ -86,6 +86,8 @@
/* Loading animation */
nav.loading {
background-image: -webkit-linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);
+ background-image: -moz-linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);
+ background-image: -ms-linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);
background-image: -o-linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);
background-image: linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);
-webkit-background-size: 40px 40px;
diff --git a/index.js b/index.js
index 924e93c..f496856 100644
--- a/index.js
+++ b/index.js
@@ -1,4 +1,4 @@
-"use strict";
+'use strict';
var ttss_refresh = 20000; // 20 seconds
@@ -76,6 +76,98 @@
function loading_end() {
nav.className = nav.className.replace(' loading', '');
+}
+
+function startTimer(date) {
+ if(date) {
+ setText(refresh_text, lang.last_refreshed.replace('$time', lang.time_now));
+ refresh_time = date;
+ }
+ if(!refresh_time) return;
+ if(refresh_timer) clearInterval(refresh_timer);
+
+ var now = new Date();
+ var ms = now.getTime() - refresh_time.getTime();
+
+ var interval = 1000;
+ if(ms >= 120000) interval = 60000;
+
+ refresh_timer = setInterval(function() {
+ var now = new Date();
+ var ms = now.getTime() - refresh_time.getTime();
+
+ if(ms >= 120000) {
+ setText(refresh_text, lang.last_refreshed.replace(
+ '$time',
+ lang.time_minutes_ago_prefix + Math.floor(ms / 60000)
+ + lang.time_minutes_ago_suffix
+ ));
+ startTimer();
+ } else {
+ setText(refresh_text, lang.last_refreshed.replace(
+ '$time',
+ lang.time_seconds_ago_prefix + Math.floor(ms / 1000)
+ + lang.time_seconds_ago_suffix
+ ));
+ }
+ }, interval);
+}
+
+function loadRoute(tripId, vehicleInfo) {
+ if(!tripId) tripId = route_id;
+ if(!tripId) return;
+
+ if(vehicleInfo === undefined) vehicleInfo = route_vehicle_info;
+
+ console.log('loadRoute(' + tripId + ')');
+
+ var prefix = tripId.substr(0, 1);
+ var trip = tripId.substr(1);
+
+ route_id = tripId;
+ route_vehicle_info = vehicleInfo;
+
+ if(route_xhr) route_xhr.abort();
+ route_xhr = $.get(
+ ttss_urls[prefix] + '/services/tripInfo/tripPassages'
+ + '?tripId=' + encodeURIComponent(trip)
+ + '&mode=departure'
+ ).done(function(data) {
+ if(!data.routeName || !data.directionText || data.old.length + data.actual.length == 0) {
+ route_id = null;
+ return;
+ }
+
+ setText(route_line, data.routeName + ' ' + data.directionText);
+
+ deleteChildren(route_vehicle);
+ if(vehicleInfo) {
+ var span = displayVehicle(vehicleInfo);
+ if(span) {
+ setText(route_vehicle, span.title);
+ }
+ route_vehicle.insertBefore(span, route_vehicle.firstChild);
+ }
+
+ deleteChildren(route_table);
+
+ var all_departures = data.old.concat(data.actual);
+ var tr;
+ for(var i = 0, il = all_departures.length; i < il; i++) {
+ tr = document.createElement('tr');
+ addCellWithText(tr, all_departures[i].actualTime || all_departures[i].plannedTime);
+ addCellWithText(tr, all_departures[i].stop_seq_num + '. ' + all_departures[i].stop.name);
+
+ if(i < data.old.length) {
+ tr.className = 'active';
+ } else if(all_departures[i].status === 'STOPPING') {
+ tr.className = 'success';
+ }
+ tr.addEventListener('click', function(stopId){ return function(){ loadTimes(stopId); } }(prefix + all_departures[i].stop.shortName) );
+ route_table.appendChild(tr);
+ }
+ }).fail(fail_ajax);
+ return route_xhr;
}
function loadTimes(stopId) {
@@ -189,98 +281,6 @@
return times_xhr;
}
-function loadRoute(tripId, vehicleInfo) {
- if(!tripId) tripId = route_id;
- if(!tripId) return;
-
- if(vehicleInfo === undefined) vehicleInfo = route_vehicle_info;
-
- console.log('loadRoute(' + tripId + ')');
-
- var prefix = tripId.substr(0, 1);
- var trip = tripId.substr(1);
-
- route_id = tripId;
- route_vehicle_info = vehicleInfo;
-
- if(route_xhr) route_xhr.abort();
- route_xhr = $.get(
- ttss_urls[prefix] + '/services/tripInfo/tripPassages'
- + '?tripId=' + encodeURIComponent(trip)
- + '&mode=departure'
- ).done(function(data) {
- if(!data.routeName || !data.directionText || data.old.length + data.actual.length == 0) {
- route_id = null;
- return;
- }
-
- setText(route_line, data.routeName + ' ' + data.directionText);
-
- deleteChildren(route_vehicle);
- if(vehicleInfo) {
- var span = displayVehicle(vehicleInfo);
- if(span) {
- setText(route_vehicle, span.title);
- }
- route_vehicle.insertBefore(span, route_vehicle.firstChild);
- }
-
- deleteChildren(route_table);
-
- var all_departures = data.old.concat(data.actual);
- var tr;
- for(var i = 0, il = all_departures.length; i < il; i++) {
- tr = document.createElement('tr');
- addCellWithText(tr, all_departures[i].actualTime || all_departures[i].plannedTime);
- addCellWithText(tr, all_departures[i].stop_seq_num + '. ' + all_departures[i].stop.name);
-
- if(i < data.old.length) {
- tr.className = 'active';
- } else if(all_departures[i].status === 'STOPPING') {
- tr.className = 'success';
- }
- tr.addEventListener('click', function(stopId){ return function(){ loadTimes(stopId); } }(prefix + all_departures[i].stop.shortName) );
- route_table.appendChild(tr);
- }
- }).fail(fail_ajax);
- return route_xhr;
-}
-
-function startTimer(date) {
- if(date) {
- setText(refresh_text, lang.last_refreshed.replace('$time', lang.time_now));
- refresh_time = date;
- }
- if(!refresh_time) return;
- if(refresh_timer) clearInterval(refresh_timer);
-
- var now = new Date();
- var ms = now.getTime() - refresh_time.getTime();
-
- var interval = 1000;
- if(ms >= 120000) interval = 60000;
-
- refresh_timer = setInterval(function() {
- var now = new Date();
- var ms = now.getTime() - refresh_time.getTime();
-
- if(ms >= 120000) {
- setText(refresh_text, lang.last_refreshed.replace(
- '$time',
- lang.time_minutes_ago_prefix + Math.floor(ms / 60000)
- + lang.time_minutes_ago_suffix
- ));
- startTimer();
- } else {
- setText(refresh_text, lang.last_refreshed.replace(
- '$time',
- lang.time_seconds_ago_prefix + Math.floor(ms / 1000)
- + lang.time_seconds_ago_suffix
- ));
- }
- }, interval);
-}
-
function translate() {
var elements = document.querySelectorAll('*[data-translate]');
@@ -343,23 +343,24 @@
return;
}
+ var stop;
if(window.location.hash.match(/^#![0-9]+$/)) {
loadTimes('t' + window.location.hash.substr(2));
} else if(window.location.hash.match(/^#![bt][0-9]+$/)) {
loadTimes(window.location.hash.substr(2));
} else if(window.location.hash.match(/^#![a-z]{2}[0-9]*$/)) {
- var stop = 't' + window.location.hash.substr(4);
- if(stop) stop_id = stop;
+ stop = window.location.hash.substr(4);
+ if(stop) stop_id = 't' + stop;
if(!change_language(window.location.hash.substr(2, 2))) {
- loadTimes(stop);
+ loadTimes();
}
} else if(window.location.hash.match(/^#![a-z]{2}[bt][0-9]*$/)) {
- var stop = window.location.hash.substr(4);
+ stop = window.location.hash.substr(4);
if(stop) stop_id = stop;
if(!change_language(window.location.hash.substr(2, 2))) {
- loadTimes(stop);
+ loadTimes();
}
}
}
@@ -384,11 +385,11 @@
}
function init() {
- lang_select.addEventListener('input', function(e) {
+ lang_select.addEventListener('input', function() {
change_language(lang_select.value);
});
- stop_name.addEventListener('input', function(e) {
+ stop_name.addEventListener('input', function() {
if(!stop_name.value) return;
if(stop_name_autocomplete_timer) clearTimeout(stop_name_autocomplete_timer);
diff --git a/map.js b/map.js
index c6f8bdc..d6b117c 100644
--- a/map.js
+++ b/map.js
@@ -1,4 +1,4 @@
-"use strict";
+'use strict';
var ttss_refresh = 10000; // 10 seconds
var ttss_position_type = 'RAW';
@@ -228,7 +228,6 @@
var feature, prefix;
for(var i = 0; i < stops.length; i++) {
- feature = null;
if(stops[i].getId) {
feature = stops[i];
} else {
@@ -310,8 +309,9 @@
function updateStopSource(stops, prefix) {
var source = stops_source[prefix];
var mapping = stops_mapping[prefix];
+ var stop;
for(var i = 0; i < stops.length; i++) {
- var stop = stops[i];
+ stop = stops[i];
if(stop.category == 'other') continue;
if(stops_ignored.includes(stop.shortName)) continue;
@@ -347,7 +347,7 @@
}).fail(fail_ajax);
}
-function vehiclePath(feature, tripId) {
+function vehiclePath(feature) {
if(path_xhr) path_xhr.abort();
var featureId = feature.getId();
@@ -484,11 +484,8 @@
return;
}
- var coordinates = feature.getGeometry().getCoordinates();
-
var div = document.createElement('div');
- var typeName;
var name = normalizeName(feature.get('name'));
var additional;
var table = document.createElement('table');
@@ -628,6 +625,8 @@
if(feature.getId()) features.push(feature);
});
+ var feature = features[0];
+
if(features.length > 1) {
featureClicked();
@@ -635,7 +634,7 @@
addParaWithText(div, lang.select_feature);
- var feature, p, a, full_type, typeName;
+ var p, a, full_type, typeName;
for(var i = 0; i < features.length; i++) {
feature = features[i];
@@ -664,7 +663,6 @@
return;
}
- var feature = features[0];
if(!feature) {
stops_type.forEach(function(type) {
if(stops_layer[type].getVisible()) {
@@ -914,7 +912,7 @@
});
// Change layer visibility on zoom
- var change_resolution = function(e) {
+ var change_resolution = function() {
stops_type.forEach(function(type) {
if(type.startsWith('p')) {
stops_layer[type].setVisible(map.getView().getZoom() >= 16);
--
Gitblit v1.9.1