refact: use shorthand method and property syntax
This commit is contained in:
parent
babd154596
commit
76f31aeb2b
44 changed files with 520 additions and 514 deletions
|
|
@ -1,5 +1,5 @@
|
|||
BR.ControlLayers = L.Control.Layers.extend({
|
||||
getActiveLayers: function () {
|
||||
getActiveLayers() {
|
||||
var result = [];
|
||||
|
||||
for (var i = 0; i < this._layers.length; i++) {
|
||||
|
|
@ -16,7 +16,7 @@ BR.ControlLayers = L.Control.Layers.extend({
|
|||
return result;
|
||||
},
|
||||
|
||||
getActiveBaseLayer: function () {
|
||||
getActiveBaseLayer() {
|
||||
var activeLayers = this.getActiveLayers();
|
||||
for (var i = 0; i < activeLayers.length; i++) {
|
||||
var obj = activeLayers[i];
|
||||
|
|
@ -28,7 +28,7 @@ BR.ControlLayers = L.Control.Layers.extend({
|
|||
return null;
|
||||
},
|
||||
|
||||
removeActiveLayers: function () {
|
||||
removeActiveLayers() {
|
||||
var removed = [];
|
||||
|
||||
for (var i = 0; i < this._layers.length; i++) {
|
||||
|
|
@ -42,7 +42,7 @@ BR.ControlLayers = L.Control.Layers.extend({
|
|||
return removed;
|
||||
},
|
||||
|
||||
getLayer: function (name) {
|
||||
getLayer(name) {
|
||||
for (var i = 0; i < this._layers.length; i++) {
|
||||
var obj = this._layers[i];
|
||||
if (obj.name === name) {
|
||||
|
|
@ -53,19 +53,19 @@ BR.ControlLayers = L.Control.Layers.extend({
|
|||
return null;
|
||||
},
|
||||
|
||||
getBaseLayers: function () {
|
||||
getBaseLayers() {
|
||||
return this._layers.filter(function (obj) {
|
||||
return !obj.overlay;
|
||||
});
|
||||
},
|
||||
|
||||
activateLayer: function (obj) {
|
||||
activateLayer(obj) {
|
||||
if (!this._map.hasLayer(obj.layer)) {
|
||||
this._map.addLayer(obj.layer);
|
||||
}
|
||||
},
|
||||
|
||||
activateFirstLayer: function () {
|
||||
activateFirstLayer() {
|
||||
for (var i = 0; i < this._layers.length; i++) {
|
||||
var obj = this._layers[i];
|
||||
if (!obj.overlay) {
|
||||
|
|
@ -75,14 +75,14 @@ BR.ControlLayers = L.Control.Layers.extend({
|
|||
}
|
||||
},
|
||||
|
||||
activateBaseLayerIndex: function (index) {
|
||||
activateBaseLayerIndex(index) {
|
||||
var baseLayers = this.getBaseLayers();
|
||||
var obj = baseLayers[index];
|
||||
|
||||
this.activateLayer(obj);
|
||||
},
|
||||
|
||||
_addLayer: function (layer, name, overlay) {
|
||||
_addLayer(layer, name, overlay) {
|
||||
L.Control.Layers.prototype._addLayer.call(this, layer, name, overlay);
|
||||
|
||||
// override z-index assignment to fix that base layers added later
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ BR.Export = L.Class.extend({
|
|||
},
|
||||
},
|
||||
|
||||
initialize: function (router, pois, profile) {
|
||||
initialize(router, pois, profile) {
|
||||
this.router = router;
|
||||
this.pois = pois;
|
||||
this.profile = profile;
|
||||
|
|
@ -38,7 +38,7 @@ BR.Export = L.Class.extend({
|
|||
this.update([]);
|
||||
},
|
||||
|
||||
update: function (latLngs, segments) {
|
||||
update(latLngs, segments) {
|
||||
this.latLngs = latLngs;
|
||||
this.segments = segments;
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ BR.Export = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_warnDownload: function () {
|
||||
_warnDownload() {
|
||||
const hasBeeline = BR.Routing.hasBeeline(this.segments);
|
||||
const isFit = $('#format-fit').prop('checked');
|
||||
$('#export-download-warning').prop('hidden', !hasBeeline && !isFit);
|
||||
|
|
@ -63,14 +63,14 @@ BR.Export = L.Class.extend({
|
|||
document.getElementById('serverExport').title = title;
|
||||
},
|
||||
|
||||
_turnInstructionInfo: function () {
|
||||
_turnInstructionInfo() {
|
||||
const turnInstructionMode = +this.profile.getProfileVar('turnInstructionMode');
|
||||
$('.format-turns-enabled')
|
||||
.prop('hidden', turnInstructionMode <= 1)
|
||||
.attr('title', i18next.t('export.turns_enabled'));
|
||||
},
|
||||
|
||||
_getMimeType: function (format) {
|
||||
_getMimeType(format) {
|
||||
const mimeTypeMap = {
|
||||
gpx: 'application/gpx+xml;charset=utf-8',
|
||||
kml: 'application/vnd.google-earth.kml+xml;charset=utf-8',
|
||||
|
|
@ -82,7 +82,7 @@ BR.Export = L.Class.extend({
|
|||
return mimeTypeMap[format];
|
||||
},
|
||||
|
||||
_triggerDownload: function (url, name) {
|
||||
_triggerDownload(url, name) {
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
if (name) {
|
||||
|
|
@ -95,11 +95,11 @@ BR.Export = L.Class.extend({
|
|||
link.remove();
|
||||
},
|
||||
|
||||
_exportServer: function (e) {
|
||||
_exportServer(e) {
|
||||
this._export(e, true);
|
||||
},
|
||||
|
||||
_export: function (e, server = false) {
|
||||
_export(e, server = false) {
|
||||
var exportForm = document.forms['export'];
|
||||
var format = exportForm['format'].value || $('#export-format input:radio:checked').val();
|
||||
var name = exportForm['trackname'].value;
|
||||
|
|
@ -138,7 +138,7 @@ BR.Export = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_formatTrack: function (format, name, includeWaypoints) {
|
||||
_formatTrack(format, name, includeWaypoints) {
|
||||
const track = BR.Export._concatTotalTrack(this.segments);
|
||||
if (name) {
|
||||
track.features[0].properties.name = name;
|
||||
|
|
@ -166,7 +166,7 @@ BR.Export = L.Class.extend({
|
|||
console.error('Export format not implemented: ' + format);
|
||||
},
|
||||
|
||||
_addPois: function (track) {
|
||||
_addPois(track) {
|
||||
const markers = this.pois.getMarkers();
|
||||
for (const poi of markers) {
|
||||
const properties = { name: poi.name, type: 'poi' };
|
||||
|
|
@ -175,7 +175,7 @@ BR.Export = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_addRouteWaypoints: function (track) {
|
||||
_addRouteWaypoints(track) {
|
||||
for (const [i, latLng] of this.latLngs.entries()) {
|
||||
let name = 'via' + i;
|
||||
let type = 'via';
|
||||
|
|
@ -192,7 +192,7 @@ BR.Export = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_validationMessage: function () {
|
||||
_validationMessage() {
|
||||
var trackname = this.trackname;
|
||||
var replaceRegex = new RegExp('[^' + this.tracknameAllowedChars + ']', 'g');
|
||||
|
||||
|
|
@ -205,11 +205,11 @@ BR.Export = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_selectTrackname: function () {
|
||||
_selectTrackname() {
|
||||
trackname.setSelectionRange(0, trackname.value.lastIndexOf(BR.Browser.download ? ' (' : ' - '));
|
||||
},
|
||||
|
||||
_generateTrackname: function () {
|
||||
_generateTrackname() {
|
||||
var trackname = this.trackname;
|
||||
this._getCityAtPosition(
|
||||
this.latLngs[0],
|
||||
|
|
@ -225,14 +225,14 @@ BR.Export = L.Class.extend({
|
|||
trackname.value = null;
|
||||
} else if (from === to) {
|
||||
trackname.value = i18next.t('export.route-loop', {
|
||||
from: from,
|
||||
distance: distance,
|
||||
from,
|
||||
distance,
|
||||
});
|
||||
} else {
|
||||
trackname.value = i18next.t('export.route-from-to', {
|
||||
from: from,
|
||||
to: to,
|
||||
distance: distance,
|
||||
from,
|
||||
to,
|
||||
distance,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -249,7 +249,7 @@ BR.Export = L.Class.extend({
|
|||
);
|
||||
},
|
||||
|
||||
_getCityAtPosition: function (lonlat, cb) {
|
||||
_getCityAtPosition(lonlat, cb) {
|
||||
var url = L.Util.template(
|
||||
'https://nominatim.openstreetmap.org/reverse?lon={lng}&lat={lat}&format=json',
|
||||
lonlat
|
||||
|
|
@ -268,7 +268,7 @@ BR.Export = L.Class.extend({
|
|||
);
|
||||
},
|
||||
|
||||
_keydownListener: function (e) {
|
||||
_keydownListener(e) {
|
||||
if (
|
||||
BR.Util.keyboardShortcutsAllowed(e) &&
|
||||
e.keyCode === this.options.shortcut.export &&
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
BR.Itinerary = L.Class.extend({
|
||||
initialize: function () {
|
||||
initialize() {
|
||||
this._content = document.getElementById('itinerary');
|
||||
this.update();
|
||||
},
|
||||
|
||||
update: function (polyline, segments) {
|
||||
update(polyline, segments) {
|
||||
var i,
|
||||
j,
|
||||
iter,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
BR.Layers = L.Class.extend({
|
||||
_loadLayers: function () {
|
||||
_loadLayers() {
|
||||
this._customLayers = {};
|
||||
|
||||
if (BR.Util.localStorageAvailable()) {
|
||||
|
|
@ -28,7 +28,7 @@ BR.Layers = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_loadTable: function () {
|
||||
_loadTable() {
|
||||
var layersData = [];
|
||||
for (layer in this._customLayers) {
|
||||
var layerProps = this._customLayers[layer].layerData.properties;
|
||||
|
|
@ -65,7 +65,7 @@ BR.Layers = L.Class.extend({
|
|||
});
|
||||
},
|
||||
|
||||
init: function (map, layersControl, baseLayers, overlays) {
|
||||
init(map, layersControl, baseLayers, overlays) {
|
||||
this._layersControl = layersControl;
|
||||
this._map = map;
|
||||
this._layers = {};
|
||||
|
|
@ -95,7 +95,7 @@ BR.Layers = L.Class.extend({
|
|||
};
|
||||
},
|
||||
|
||||
_remove: function (evt) {
|
||||
_remove(evt) {
|
||||
var row = this._layersTable.row('.selected').data();
|
||||
if (row != null) {
|
||||
var name = row[0];
|
||||
|
|
@ -107,7 +107,7 @@ BR.Layers = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_addFromInput: function (layerProps) {
|
||||
_addFromInput(layerProps) {
|
||||
var layer_name = L.DomUtil.get('layer_name').value;
|
||||
var layer_url = L.DomUtil.get('layer_url').value;
|
||||
|
||||
|
|
@ -123,14 +123,14 @@ BR.Layers = L.Class.extend({
|
|||
if (layer_name.length > 0 && layer_url.length > 0) this._addLayer(layerData);
|
||||
},
|
||||
|
||||
_addBaseLayer: function (evt) {
|
||||
_addBaseLayer(evt) {
|
||||
var layerProps = {
|
||||
type: 'tms',
|
||||
url: L.DomUtil.get('layer_url').value,
|
||||
};
|
||||
this._addFromInput(layerProps);
|
||||
},
|
||||
_addOverlay: function (evt) {
|
||||
_addOverlay(evt) {
|
||||
var layerProps = {
|
||||
type: 'tms',
|
||||
url: L.DomUtil.get('layer_url').value,
|
||||
|
|
@ -138,7 +138,7 @@ BR.Layers = L.Class.extend({
|
|||
};
|
||||
this._addFromInput(layerProps);
|
||||
},
|
||||
_addOverpassQuery: function (evt) {
|
||||
_addOverpassQuery(evt) {
|
||||
var layerProps = {
|
||||
overlay: true,
|
||||
dataSource: 'OverpassAPI',
|
||||
|
|
@ -147,7 +147,7 @@ BR.Layers = L.Class.extend({
|
|||
this._addFromInput(layerProps);
|
||||
},
|
||||
|
||||
_createTmsProps: function (props) {
|
||||
_createTmsProps(props) {
|
||||
var tmsProps = {
|
||||
type: 'tms',
|
||||
...props,
|
||||
|
|
@ -155,7 +155,7 @@ BR.Layers = L.Class.extend({
|
|||
return tmsProps;
|
||||
},
|
||||
|
||||
_addLayer: function (layerData) {
|
||||
_addLayer(layerData) {
|
||||
var props = layerData.properties;
|
||||
var layerName = props.name;
|
||||
|
||||
|
|
@ -167,8 +167,8 @@ BR.Layers = L.Class.extend({
|
|||
var layer = this._layersControl.layersConfig.createLayer(layerData);
|
||||
|
||||
this._customLayers[layerName] = {
|
||||
layer: layer,
|
||||
layerData: layerData,
|
||||
layer,
|
||||
layerData,
|
||||
};
|
||||
|
||||
if (props.overlay) {
|
||||
|
|
@ -185,7 +185,7 @@ BR.Layers = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_sync: function () {
|
||||
_sync() {
|
||||
if (BR.Util.localStorageAvailable()) {
|
||||
var geojson = {
|
||||
type: 'FeatureCollection',
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
previewBounds: null,
|
||||
saveLayers: [],
|
||||
|
||||
initialize: function (layersConfig, baseLayers, overlays, options) {
|
||||
initialize(layersConfig, baseLayers, overlays, options) {
|
||||
L.Control.Layers.prototype.initialize.call(this, baseLayers, overlays, options);
|
||||
|
||||
this.layersConfig = layersConfig;
|
||||
},
|
||||
|
||||
addTo: function (map) {
|
||||
addTo(map) {
|
||||
this._map = map;
|
||||
this.onAdd(map);
|
||||
|
||||
|
|
@ -22,21 +22,21 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
return this;
|
||||
},
|
||||
|
||||
onAdd: function (map) {
|
||||
onAdd(map) {
|
||||
BR.ControlLayers.prototype.onAdd.call(this, map);
|
||||
|
||||
map.on('baselayerchange overlayadd overlayremove', this.storeActiveLayers, this);
|
||||
map.on('overlayadd overlayremove', this.updateOpacityLabel, this);
|
||||
},
|
||||
|
||||
onRemove: function (map) {
|
||||
onRemove(map) {
|
||||
BR.ControlLayers.prototype.onRemove.call(this, map);
|
||||
|
||||
map.off('baselayerchange overlayadd overlayremove', this.storeActiveLayers, this);
|
||||
map.off('overlayadd overlayremove', this.updateOpacityLabel, this);
|
||||
},
|
||||
|
||||
initOpacitySlider: function (map) {
|
||||
initOpacitySlider(map) {
|
||||
var self = this;
|
||||
var overlayOpacitySlider = new BR.OpacitySlider({
|
||||
id: 'overlay',
|
||||
|
|
@ -44,7 +44,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
orientation: 'horizontal',
|
||||
defaultValue: 1,
|
||||
title: i18next.t('layers.opacity-slider'),
|
||||
callback: function (opacity) {
|
||||
callback(opacity) {
|
||||
for (var i = 0; i < self._layers.length; i++) {
|
||||
const layer = self._layers[i].layer;
|
||||
if (!self._layers[i].overlay || !map.hasLayer(layer)) {
|
||||
|
|
@ -53,7 +53,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
if (layer.setOpacity) {
|
||||
layer.setOpacity(opacity);
|
||||
} else if (layer.setStyle) {
|
||||
layer.setStyle({ opacity: opacity });
|
||||
layer.setStyle({ opacity });
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -61,7 +61,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
L.DomUtil.get('leaflet-control-layers-overlays-opacity-slider').appendChild(overlayOpacitySlider.getElement());
|
||||
},
|
||||
|
||||
initButtons: function () {
|
||||
initButtons() {
|
||||
var expandTree = function (e) {
|
||||
this.jstree.open_all();
|
||||
};
|
||||
|
|
@ -89,7 +89,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
L.DomUtil.get('optional_layers_button').onclick = L.bind(toggleOptionalLayers, this);
|
||||
},
|
||||
|
||||
initJsTree: function () {
|
||||
initJsTree() {
|
||||
var layerIndex = BR.layerIndex;
|
||||
var treeData = this.toJsTree(BR.confLayers.tree);
|
||||
var oldSelected = null;
|
||||
|
|
@ -180,7 +180,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
this.jstree = $('#optional-layers-tree').jstree(true);
|
||||
},
|
||||
|
||||
toJsTree: function (layerTree) {
|
||||
toJsTree(layerTree) {
|
||||
var data = {
|
||||
children: [],
|
||||
};
|
||||
|
|
@ -218,7 +218,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
// when key required only add if configured
|
||||
if (!keyObj || (keyObj && BR.keys[keyObj.name])) {
|
||||
childNode = {
|
||||
id: id,
|
||||
id,
|
||||
text: getText(props, parent),
|
||||
icon: self.layersConfig.getOverpassIconUrl(props.icon) || false,
|
||||
state: {
|
||||
|
|
@ -262,12 +262,13 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
walkObject(inTree);
|
||||
}
|
||||
}
|
||||
|
||||
walkTree(layerTree, data);
|
||||
|
||||
return data.children;
|
||||
},
|
||||
|
||||
storeDefaultLayers: function () {
|
||||
storeDefaultLayers() {
|
||||
var baseLayers = [];
|
||||
var overlays = [];
|
||||
|
||||
|
|
@ -289,7 +290,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
this.layersConfig.storeDefaultLayers(baseLayers, overlays);
|
||||
},
|
||||
|
||||
createLayer: function (layerData) {
|
||||
createLayer(layerData) {
|
||||
var layer = this.layersConfig.createLayer(layerData);
|
||||
var overlay = layerData.properties.overlay;
|
||||
|
||||
|
|
@ -299,7 +300,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
return layer;
|
||||
},
|
||||
|
||||
getLayerById: function (id) {
|
||||
getLayerById(id) {
|
||||
for (var i = 0; i < this._layers.length; i++) {
|
||||
var obj = this._layers[i];
|
||||
if (obj.layer.id === id) {
|
||||
|
|
@ -310,7 +311,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
return null;
|
||||
},
|
||||
|
||||
getLayerByLegacyName: function (legacyName) {
|
||||
getLayerByLegacyName(legacyName) {
|
||||
var obj = null;
|
||||
var id = this.layersConfig.legacyNameToIdMap[legacyName];
|
||||
|
||||
|
|
@ -321,7 +322,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
return obj;
|
||||
},
|
||||
|
||||
activateDefaultBaseLayer: function () {
|
||||
activateDefaultBaseLayer() {
|
||||
var index = BR.conf.defaultBaseLayerIndex || 0;
|
||||
var activeBaseLayer = this.getActiveBaseLayer();
|
||||
if (!activeBaseLayer) {
|
||||
|
|
@ -329,11 +330,11 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
}
|
||||
},
|
||||
|
||||
saveRemoveActiveLayers: function () {
|
||||
saveRemoveActiveLayers() {
|
||||
this.saveLayers = this.removeActiveLayers();
|
||||
},
|
||||
|
||||
restoreActiveLayers: function (overlaysOnly) {
|
||||
restoreActiveLayers(overlaysOnly) {
|
||||
for (var i = 0; i < this.saveLayers.length; i++) {
|
||||
var obj = this.saveLayers[i];
|
||||
|
||||
|
|
@ -350,7 +351,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
this.saveLayers = [];
|
||||
},
|
||||
|
||||
removePreviewLayer: function () {
|
||||
removePreviewLayer() {
|
||||
if (this.previewLayer && this._map.hasLayer(this.previewLayer)) {
|
||||
this._map.removeLayer(this.previewLayer);
|
||||
this.previewLayer = null;
|
||||
|
|
@ -359,7 +360,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
return false;
|
||||
},
|
||||
|
||||
showPreviewBounds: function (layerData) {
|
||||
showPreviewBounds(layerData) {
|
||||
if (layerData.geometry) {
|
||||
this.previewBounds = L.geoJson(layerData.geometry, {
|
||||
// fill/mask outside of bounds polygon with Leaflet.snogylop
|
||||
|
|
@ -373,21 +374,21 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
}
|
||||
},
|
||||
|
||||
removePreviewBounds: function () {
|
||||
removePreviewBounds() {
|
||||
if (this.previewBounds && this._map.hasLayer(this.previewBounds)) {
|
||||
this._map.removeLayer(this.previewBounds);
|
||||
this.previewBounds = null;
|
||||
}
|
||||
},
|
||||
|
||||
deselectNode: function () {
|
||||
deselectNode() {
|
||||
var selected = this.jstree.get_selected();
|
||||
if (selected.length > 0) {
|
||||
this.jstree.deselect_node(selected[0]);
|
||||
}
|
||||
},
|
||||
|
||||
onBaselayerchange: function () {
|
||||
onBaselayerchange() {
|
||||
// execute after current input click handler,
|
||||
// otherwise added overlay checkbox state doesn't update
|
||||
setTimeout(
|
||||
|
|
@ -401,7 +402,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
);
|
||||
},
|
||||
|
||||
showPreview: function (layerData) {
|
||||
showPreview(layerData) {
|
||||
var layer = this.createLayer(layerData);
|
||||
this._map.addLayer(layer);
|
||||
this.removePreviewBounds();
|
||||
|
|
@ -416,7 +417,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
L.DomUtil.get('preview').hidden = false;
|
||||
},
|
||||
|
||||
hidePreview: function (layer) {
|
||||
hidePreview(layer) {
|
||||
this._map.off('baselayerchange', this.onBaselayerchange, this);
|
||||
this.removePreviewBounds();
|
||||
this.removePreviewLayer();
|
||||
|
|
@ -425,11 +426,11 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
L.DomUtil.get('preview').hidden = true;
|
||||
},
|
||||
|
||||
toLayerString: function (obj) {
|
||||
toLayerString(obj) {
|
||||
return obj.layer.id ? obj.layer.id : obj.name;
|
||||
},
|
||||
|
||||
getLayerFromString: function (layerString) {
|
||||
getLayerFromString(layerString) {
|
||||
var obj = this.getLayerById(layerString);
|
||||
|
||||
if (!obj) {
|
||||
|
|
@ -445,7 +446,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
return obj;
|
||||
},
|
||||
|
||||
storeActiveLayers: function () {
|
||||
storeActiveLayers() {
|
||||
if (BR.Util.localStorageAvailable()) {
|
||||
var objList = this.getActiveLayers();
|
||||
var idList = objList.map(
|
||||
|
|
@ -459,7 +460,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
}
|
||||
},
|
||||
|
||||
loadActiveLayers: function () {
|
||||
loadActiveLayers() {
|
||||
if (BR.Util.localStorageAvailable()) {
|
||||
var item = localStorage.getItem('map/activeLayers');
|
||||
|
||||
|
|
@ -478,7 +479,7 @@ BR.LayersTab = BR.ControlLayers.extend({
|
|||
}
|
||||
},
|
||||
|
||||
updateOpacityLabel: function () {
|
||||
updateOpacityLabel() {
|
||||
var slider = $('#leaflet-control-layers-overlays-opacity-slider');
|
||||
var overlaysCount = this.getActiveLayers().length - 1;
|
||||
if (overlaysCount === 0) {
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@ BR.Message = L.Class.extend({
|
|||
onClosed: null,
|
||||
},
|
||||
|
||||
initialize: function (id, options) {
|
||||
initialize(id, options) {
|
||||
L.setOptions(this, options);
|
||||
this.id = id;
|
||||
},
|
||||
|
||||
_show: function (msg, type) {
|
||||
_show(msg, type) {
|
||||
var ele = L.DomUtil.get(this.id),
|
||||
iconClass,
|
||||
alertClass;
|
||||
|
|
@ -59,11 +59,11 @@ BR.Message = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
hide: function () {
|
||||
hide() {
|
||||
$('#' + this.id + ' .alert').alert('close');
|
||||
},
|
||||
|
||||
showError: function (err) {
|
||||
showError(err) {
|
||||
if (err && err.message) err = err.message;
|
||||
|
||||
if (err == 'target island detected for section 0\n') {
|
||||
|
|
@ -80,15 +80,15 @@ BR.Message = L.Class.extend({
|
|||
this._show(err, 'error');
|
||||
},
|
||||
|
||||
showWarning: function (msg) {
|
||||
showWarning(msg) {
|
||||
this._show(msg, 'warning');
|
||||
},
|
||||
|
||||
showInfo: function (msg) {
|
||||
showInfo(msg) {
|
||||
this._show(msg, 'info');
|
||||
},
|
||||
|
||||
showLoading: function (msg) {
|
||||
showLoading(msg) {
|
||||
this._show(msg, 'loading');
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ BR.OpacitySlider = L.Class.extend({
|
|||
orientation: 'vertical',
|
||||
defaultValue: BR.conf.defaultOpacity,
|
||||
title: '',
|
||||
callback: function (opacity) {},
|
||||
callback(opacity) {},
|
||||
},
|
||||
|
||||
initialize: function (options) {
|
||||
initialize(options) {
|
||||
L.setOptions(this, options);
|
||||
|
||||
var input = (this.input = $('<input id="slider-' + this.options.id + '" type="text"/>')),
|
||||
|
|
@ -26,7 +26,7 @@ BR.OpacitySlider = L.Class.extend({
|
|||
min: 0,
|
||||
max: 100,
|
||||
step: 1,
|
||||
value: value,
|
||||
value,
|
||||
orientation: this.options.orientation,
|
||||
reversed: this.options.reversed,
|
||||
selection: this.options.reversed ? 'before' : 'after', // inverted, serves as track style, see css
|
||||
|
|
@ -51,19 +51,19 @@ BR.OpacitySlider = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_keydownListener: function (e) {
|
||||
_keydownListener(e) {
|
||||
if (BR.Util.keyboardShortcutsAllowed(e) && e.keyCode === this.options.muteKeyCode) {
|
||||
this.options.callback(0);
|
||||
}
|
||||
},
|
||||
|
||||
_keyupListener: function (e) {
|
||||
_keyupListener(e) {
|
||||
if (BR.Util.keyboardShortcutsAllowed(e) && e.keyCode === this.options.muteKeyCode) {
|
||||
this.options.callback(this.input.val() / 100);
|
||||
}
|
||||
},
|
||||
|
||||
getElement: function () {
|
||||
getElement() {
|
||||
return this.input.slider('getElement');
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ BR.OpacitySliderControl = L.Control.extend({
|
|||
position: 'topleft',
|
||||
},
|
||||
|
||||
onAdd: function (map) {
|
||||
onAdd(map) {
|
||||
var container = L.DomUtil.create('div', 'leaflet-bar control-slider');
|
||||
|
||||
// prevent also dragging map in Chrome
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ BR.Profile = L.Evented.extend({
|
|||
cache: {},
|
||||
saveWarningShown: false,
|
||||
|
||||
initialize: function () {
|
||||
initialize() {
|
||||
var textArea = L.DomUtil.get('profile_upload');
|
||||
this.editor = CodeMirror.fromTextArea(textArea, {
|
||||
lineNumbers: true,
|
||||
|
|
@ -26,7 +26,7 @@ BR.Profile = L.Evented.extend({
|
|||
});
|
||||
},
|
||||
|
||||
clear: function (evt) {
|
||||
clear(evt) {
|
||||
var button = evt.target || evt.srcElement;
|
||||
|
||||
evt.preventDefault();
|
||||
|
|
@ -38,7 +38,7 @@ BR.Profile = L.Evented.extend({
|
|||
button.blur();
|
||||
},
|
||||
|
||||
update: function (options, cb) {
|
||||
update(options, cb) {
|
||||
var profileName = options.profile,
|
||||
profileUrl,
|
||||
loading = false;
|
||||
|
|
@ -75,17 +75,17 @@ BR.Profile = L.Evented.extend({
|
|||
if (cb && !loading) cb();
|
||||
},
|
||||
|
||||
show: function () {
|
||||
show() {
|
||||
this.editor.refresh();
|
||||
},
|
||||
|
||||
onResize: function () {
|
||||
onResize() {
|
||||
this.editor.refresh();
|
||||
},
|
||||
|
||||
// Returns the initial value of the given profile variable as String, as defined by the assign statement.
|
||||
// Intended for all assigned variables, not just parameters with a comment declaration, i.e. no type information used.
|
||||
getProfileVar: function (name) {
|
||||
getProfileVar(name) {
|
||||
let value;
|
||||
if (this._isParamsFormActive()) {
|
||||
const formValues = this._getFormValues();
|
||||
|
|
@ -106,13 +106,13 @@ BR.Profile = L.Evented.extend({
|
|||
},
|
||||
|
||||
// Returns car|bike|foot, default is foot
|
||||
getTransportMode: function () {
|
||||
getTransportMode() {
|
||||
const isCar = !!this.getProfileVar('validForCars');
|
||||
const isBike = !!this.getProfileVar('validForBikes');
|
||||
return isCar ? 'car' : isBike ? 'bike' : 'foot';
|
||||
},
|
||||
|
||||
_upload: function (evt) {
|
||||
_upload(evt) {
|
||||
var button = evt.target || evt.srcElement,
|
||||
profile = this._getProfileText();
|
||||
|
||||
|
|
@ -136,7 +136,7 @@ BR.Profile = L.Evented.extend({
|
|||
});
|
||||
},
|
||||
|
||||
_buildCustomProfile: function (profileText) {
|
||||
_buildCustomProfile(profileText) {
|
||||
const formValues = this._getFormValues();
|
||||
Object.keys(formValues).forEach((name) => {
|
||||
const value = formValues[name];
|
||||
|
|
@ -152,7 +152,7 @@ BR.Profile = L.Evented.extend({
|
|||
return profileText;
|
||||
},
|
||||
|
||||
_getFormValues: function () {
|
||||
_getFormValues() {
|
||||
const obj = {};
|
||||
document.querySelectorAll('#profile_params input, #profile_params select').forEach((input) => {
|
||||
const name = input.name;
|
||||
|
|
@ -167,12 +167,12 @@ BR.Profile = L.Evented.extend({
|
|||
return obj;
|
||||
},
|
||||
|
||||
_save: function (evt) {
|
||||
_save(evt) {
|
||||
var profileText = this._buildCustomProfile(this._getProfileText());
|
||||
var that = this;
|
||||
this.fire('update', {
|
||||
profileText: profileText,
|
||||
callback: function (err, profileId, profileText) {
|
||||
profileText,
|
||||
callback(err, profileId, profileText) {
|
||||
if (!err) {
|
||||
that.profileName = profileId;
|
||||
that.cache[profileId] = profileText;
|
||||
|
|
@ -181,7 +181,7 @@ BR.Profile = L.Evented.extend({
|
|||
});
|
||||
},
|
||||
|
||||
_updateProfile: function (profileName, profileText) {
|
||||
_updateProfile(profileName, profileText) {
|
||||
const empty = !this.editor.getValue();
|
||||
const clean = this.editor.isClean();
|
||||
|
||||
|
|
@ -201,7 +201,7 @@ BR.Profile = L.Evented.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_setValue: function (profileText) {
|
||||
_setValue(profileText) {
|
||||
profileText = profileText || '';
|
||||
|
||||
var clean = this.editor.isClean();
|
||||
|
|
@ -220,7 +220,7 @@ BR.Profile = L.Evented.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_buildParamsForm: function (profileText) {
|
||||
_buildParamsForm(profileText) {
|
||||
if (!profileText) return;
|
||||
|
||||
// Otherwise, create user friendly form
|
||||
|
|
@ -278,9 +278,9 @@ BR.Profile = L.Evented.extend({
|
|||
}
|
||||
|
||||
params[name] = {
|
||||
description: description,
|
||||
description,
|
||||
type: paramType,
|
||||
value: value,
|
||||
value,
|
||||
possible_values: paramValues,
|
||||
};
|
||||
}
|
||||
|
|
@ -359,11 +359,11 @@ BR.Profile = L.Evented.extend({
|
|||
});
|
||||
},
|
||||
|
||||
_isParamsFormActive: function () {
|
||||
_isParamsFormActive() {
|
||||
return L.DomUtil.get('profile_params_container').classList.contains('active');
|
||||
},
|
||||
|
||||
_activateSecondaryTab: function () {
|
||||
_activateSecondaryTab() {
|
||||
var profileText = this._getProfileText();
|
||||
|
||||
if (this._isParamsFormActive()) {
|
||||
|
|
@ -373,11 +373,11 @@ BR.Profile = L.Evented.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_getProfileText: function () {
|
||||
_getProfileText() {
|
||||
return this.editor.getValue();
|
||||
},
|
||||
|
||||
_getSelectedProfileText: function () {
|
||||
_getSelectedProfileText() {
|
||||
return this.cache[this.selectedProfileName] ?? this.editor.getValue();
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
},
|
||||
},
|
||||
|
||||
initialize: function () {
|
||||
initialize() {
|
||||
$('#profile-alternative').on('changed.bs.select', this._getChangeHandler());
|
||||
|
||||
var remembered_profile = this.getRememberedProfile();
|
||||
|
|
@ -35,7 +35,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
L.DomEvent.addListener(document, 'keydown', this._keydownListener, this);
|
||||
},
|
||||
|
||||
refreshUI: function () {
|
||||
refreshUI() {
|
||||
// we do not allow to select more than one profile and/or alternative at a time
|
||||
// so we disable the current selected items
|
||||
$('#profile-alternative')
|
||||
|
|
@ -61,7 +61,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
button.title = button.title + i18next.t('navbar.profile-tooltip', { key: 'G' });
|
||||
},
|
||||
|
||||
getOptions: function () {
|
||||
getOptions() {
|
||||
var profile = $('#profile option:selected'),
|
||||
alternative = $('#alternative option:selected');
|
||||
this.refreshUI();
|
||||
|
|
@ -72,7 +72,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
};
|
||||
},
|
||||
|
||||
setOptions: function (options) {
|
||||
setOptions(options) {
|
||||
var values = [
|
||||
options.profile ? options.profile : $('#profile option:selected').val(),
|
||||
options.alternative ? options.alternative : $('#alternative option:selected').val(),
|
||||
|
|
@ -86,7 +86,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
}
|
||||
},
|
||||
|
||||
setCustomProfile: function (profile, noUpdate) {
|
||||
setCustomProfile(profile, noUpdate) {
|
||||
var profiles_grp, option;
|
||||
|
||||
profiles_grp = L.DomUtil.get('profile');
|
||||
|
|
@ -112,7 +112,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
}
|
||||
},
|
||||
|
||||
getCustomProfile: function () {
|
||||
getCustomProfile() {
|
||||
var profiles_grp = L.DomUtil.get('profile'),
|
||||
option = profiles_grp.children[0],
|
||||
profile = null;
|
||||
|
|
@ -123,7 +123,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
return profile;
|
||||
},
|
||||
|
||||
rememberProfile: function (profile) {
|
||||
rememberProfile(profile) {
|
||||
if (!BR.Util.localStorageAvailable()) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -135,7 +135,7 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
localStorage.setItem('routingprofile', profile);
|
||||
},
|
||||
|
||||
getRememberedProfile: function () {
|
||||
getRememberedProfile() {
|
||||
if (!BR.Util.localStorageAvailable()) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -143,14 +143,14 @@ BR.RoutingOptions = L.Evented.extend({
|
|||
return localStorage.getItem('routingprofile');
|
||||
},
|
||||
|
||||
_getChangeHandler: function () {
|
||||
_getChangeHandler() {
|
||||
return L.bind(function (evt) {
|
||||
this.rememberProfile(evt.target.options[evt.target.options.selectedIndex].value);
|
||||
this.fire('update', { options: this.getOptions() });
|
||||
}, this);
|
||||
},
|
||||
|
||||
_keydownListener: function (e) {
|
||||
_keydownListener(e) {
|
||||
if (BR.Util.keyboardShortcutsAllowed(e) && e.keyCode === this.options.shortcut.switch) {
|
||||
if (!$('#profile-alternative-form .dropdown').hasClass('show')) {
|
||||
$('#profile-alternative-form button').click();
|
||||
|
|
|
|||
|
|
@ -8,18 +8,18 @@ BR.ShareRoute = L.Class.extend({
|
|||
},
|
||||
},
|
||||
|
||||
initialize: function () {
|
||||
initialize() {
|
||||
L.DomUtil.get('shareButton').onclick = L.bind(this.share, this);
|
||||
L.DomEvent.addListener(document, 'keydown', this._keydownListener, this);
|
||||
},
|
||||
|
||||
share: function (event) {
|
||||
share(event) {
|
||||
event.preventDefault();
|
||||
this.services();
|
||||
this.qrcode();
|
||||
},
|
||||
|
||||
services: function () {
|
||||
services() {
|
||||
const self = this;
|
||||
|
||||
$('.share-copy-link').on('click', function () {
|
||||
|
|
@ -68,7 +68,7 @@ BR.ShareRoute = L.Class.extend({
|
|||
* to the length of the URL
|
||||
* - displays buttons to change the size of the QR Code (small, medium, large)
|
||||
*/
|
||||
qrcode: function () {
|
||||
qrcode() {
|
||||
const exportUrl = this.createQrCodeUrl();
|
||||
|
||||
this.renderQrCode('share-qrcode-img', exportUrl, this.getQrCodeSizeForUrl(exportUrl));
|
||||
|
|
@ -78,7 +78,7 @@ BR.ShareRoute = L.Class.extend({
|
|||
});
|
||||
},
|
||||
|
||||
getQrCodeSizeForUrl: function (url) {
|
||||
getQrCodeSizeForUrl(url) {
|
||||
if (url.length < 500) {
|
||||
return 256;
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@ BR.ShareRoute = L.Class.extend({
|
|||
return 512;
|
||||
},
|
||||
|
||||
renderQrCode: function (elementId, url, size) {
|
||||
renderQrCode(elementId, url, size) {
|
||||
$('#share-qrcode-img').empty();
|
||||
$('#qrcode-buttons').show();
|
||||
$('#qrcode-msg-unknown-error').hide();
|
||||
|
|
@ -119,7 +119,7 @@ BR.ShareRoute = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
createQrCodeUrl: function () {
|
||||
createQrCodeUrl() {
|
||||
// We work on a copy of the current location instance to avoid
|
||||
// reloading the page (which will happen when the `export` query
|
||||
// parameter is added to the actual location object):
|
||||
|
|
@ -137,7 +137,7 @@ BR.ShareRoute = L.Class.extend({
|
|||
return exportLocation.toString();
|
||||
},
|
||||
|
||||
getShareUrl: function () {
|
||||
getShareUrl() {
|
||||
const exportLocation = new URL(document.location.href);
|
||||
const searchParams = new URLSearchParams(exportLocation.search);
|
||||
searchParams.delete('export');
|
||||
|
|
@ -146,7 +146,7 @@ BR.ShareRoute = L.Class.extend({
|
|||
return exportLocation.toString();
|
||||
},
|
||||
|
||||
_keydownListener: function (event) {
|
||||
_keydownListener(event) {
|
||||
if (
|
||||
BR.Util.keyboardShortcutsAllowed(event) &&
|
||||
event.keyCode === this.options.shortcut.share_action &&
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param {Map} map
|
||||
* @param {object} options
|
||||
*/
|
||||
initialize: function (map, options) {
|
||||
initialize(map, options) {
|
||||
this.map = map;
|
||||
L.setOptions(this, options);
|
||||
},
|
||||
|
|
@ -60,7 +60,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
/**
|
||||
* Called by BR.Sidebar when tab is activated
|
||||
*/
|
||||
show: function () {
|
||||
show() {
|
||||
this.active = true;
|
||||
this.options.requestUpdate(this);
|
||||
},
|
||||
|
|
@ -68,7 +68,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
/**
|
||||
* Called by BR.Sidebar when tab is deactivated
|
||||
*/
|
||||
hide: function () {
|
||||
hide() {
|
||||
this.active = false;
|
||||
},
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param {Polyline} polyline
|
||||
* @param {Array} segments
|
||||
*/
|
||||
update: function (polyline, segments) {
|
||||
update(polyline, segments) {
|
||||
if (!this.active) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param segments
|
||||
* @returns {Object}
|
||||
*/
|
||||
calcStats: function (polyline, segments) {
|
||||
calcStats(polyline, segments) {
|
||||
const analysis = {
|
||||
highway: {},
|
||||
surface: {},
|
||||
|
|
@ -213,7 +213,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param routingType currently only 'cycling' is supported, can be extended in the future (walking, driving, etc.)
|
||||
* @returns {*[]}
|
||||
*/
|
||||
normalizeWayTags: function (wayTags, routingType) {
|
||||
normalizeWayTags(wayTags, routingType) {
|
||||
let normalizedWayTags = {};
|
||||
let surfaceTags = {};
|
||||
let smoothnessTags = {};
|
||||
|
|
@ -278,7 +278,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
*
|
||||
* @returns {Object}
|
||||
*/
|
||||
sortAnalysisData: function (analysis) {
|
||||
sortAnalysisData(analysis) {
|
||||
var analysisSortable = {};
|
||||
var result = {};
|
||||
|
||||
|
|
@ -316,7 +316,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param {string[]} wayTags
|
||||
* @returns {string}
|
||||
*/
|
||||
getTrackType: function (wayTags) {
|
||||
getTrackType(wayTags) {
|
||||
for (var i = 0; i < wayTags.length; i++) {
|
||||
var wayTagParts = wayTags[i].split('=');
|
||||
if (wayTagParts[0] === 'tracktype') {
|
||||
|
|
@ -330,7 +330,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
/**
|
||||
* @param {Object} analysis
|
||||
*/
|
||||
render: function (analysis) {
|
||||
render(analysis) {
|
||||
var $content = $('#track_statistics');
|
||||
|
||||
$content.html('');
|
||||
|
|
@ -355,7 +355,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param {Array} data
|
||||
* @returns {jQuery}
|
||||
*/
|
||||
renderTable: function (type, data) {
|
||||
renderTable(type, data) {
|
||||
var index;
|
||||
var $table = $(
|
||||
'<table data-type="' + type + '" class="mini cell-border stripe dataTable track-analysis-table"></table>'
|
||||
|
|
@ -446,11 +446,11 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
* @param {number} meters
|
||||
* @returns {string}
|
||||
*/
|
||||
formatDistance: function (meters) {
|
||||
formatDistance(meters) {
|
||||
return (meters / 1000).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
},
|
||||
|
||||
handleHover: function (event) {
|
||||
handleHover(event) {
|
||||
var $tableRow = $(event.currentTarget);
|
||||
var $table = $tableRow.parents('table').first();
|
||||
var dataType = $table.data('type');
|
||||
|
|
@ -462,11 +462,11 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
this.highlightedSegments = L.layerGroup(polylinesForDataType).addTo(this.map);
|
||||
},
|
||||
|
||||
handleHoverOut: function () {
|
||||
handleHoverOut() {
|
||||
this.map.removeLayer(this.highlightedSegments);
|
||||
},
|
||||
|
||||
toggleSelected: function (event) {
|
||||
toggleSelected(event) {
|
||||
var tableRow = event.currentTarget;
|
||||
var $table = $(tableRow).parents('table').first();
|
||||
var dataType = $table.data('type');
|
||||
|
|
@ -504,7 +504,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
*
|
||||
* @returns {Polyline[]}
|
||||
*/
|
||||
getPolylinesForDataType: function (dataType, dataName, trackType) {
|
||||
getPolylinesForDataType(dataType, dataName, trackType) {
|
||||
var polylines = [];
|
||||
var trackLatLngs = this.trackPolyline.getLatLngs();
|
||||
|
||||
|
|
@ -539,7 +539,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
*
|
||||
* @returns {boolean}
|
||||
*/
|
||||
wayTagsMatchesData: function (wayTags, dataType, dataName, trackType) {
|
||||
wayTagsMatchesData(wayTags, dataType, dataName, trackType) {
|
||||
const parsed = this.wayTagsToObject(wayTags);
|
||||
|
||||
switch (dataType) {
|
||||
|
|
@ -564,7 +564,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
return false;
|
||||
},
|
||||
|
||||
singleWayTagMatchesData: function (category, parsedData, lookupValue) {
|
||||
singleWayTagMatchesData(category, parsedData, lookupValue) {
|
||||
var foundValue = null;
|
||||
|
||||
for (var iterationKey in parsedData) {
|
||||
|
|
@ -591,7 +591,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
*
|
||||
* @returns {object}
|
||||
*/
|
||||
wayTagsToObject: function (wayTags) {
|
||||
wayTagsToObject(wayTags) {
|
||||
let result = {};
|
||||
const wayTagPairs = wayTags.feature.wayTags.split(' ');
|
||||
|
||||
|
|
@ -612,7 +612,7 @@ BR.TrackAnalysis = L.Class.extend({
|
|||
*
|
||||
* @returns {object}
|
||||
*/
|
||||
wayTagsToArray: function (wayTags) {
|
||||
wayTagsToArray(wayTags) {
|
||||
let wayTagsArray = [];
|
||||
for (let wayTagKey in wayTags) {
|
||||
wayTagsArray.push(wayTagKey + '=' + wayTags[wayTagKey]);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
|
||||
segments: null,
|
||||
|
||||
initialize: function (map, options) {
|
||||
initialize(map, options) {
|
||||
L.setOptions(this, options);
|
||||
this._map = map;
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
this._mapMouseOutHandlerBound = this.mapMouseOutHandler.bind(this);
|
||||
},
|
||||
|
||||
update: function (polyline, segments, layer) {
|
||||
update(polyline, segments, layer) {
|
||||
var i,
|
||||
messages,
|
||||
columns,
|
||||
|
|
@ -89,8 +89,8 @@ BR.TrackMessages = L.Class.extend({
|
|||
|
||||
this._table = $('#datatable').DataTable({
|
||||
destroy: true,
|
||||
data: data,
|
||||
columns: columns,
|
||||
data,
|
||||
columns,
|
||||
paging: false,
|
||||
searching: false,
|
||||
info: false,
|
||||
|
|
@ -109,7 +109,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
this.listenMapEvents(layer, true);
|
||||
},
|
||||
|
||||
listenMapEvents: function (layer, on) {
|
||||
listenMapEvents(layer, on) {
|
||||
if (layer) {
|
||||
if (on) {
|
||||
layer.on('mousemove', this._mapMouseMoveHandlerBound);
|
||||
|
|
@ -121,16 +121,16 @@ BR.TrackMessages = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
show: function () {
|
||||
show() {
|
||||
this.active = true;
|
||||
this.options.requestUpdate(this);
|
||||
},
|
||||
|
||||
hide: function () {
|
||||
hide() {
|
||||
this.active = false;
|
||||
},
|
||||
|
||||
_destroyTable: function () {
|
||||
_destroyTable() {
|
||||
var ele;
|
||||
|
||||
if ($.fn.DataTable.isDataTable('#datatable')) {
|
||||
|
|
@ -147,7 +147,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
return ele || document.getElementById('datatable');
|
||||
},
|
||||
|
||||
_destroyEdges: function () {
|
||||
_destroyEdges() {
|
||||
if (this._selectedEdge) {
|
||||
this._map.removeLayer(this._selectedEdge);
|
||||
this._selectedEdge = null;
|
||||
|
|
@ -158,7 +158,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_getColumns: function (headings, data) {
|
||||
_getColumns(headings, data) {
|
||||
var columns = [],
|
||||
defaultOptions,
|
||||
options,
|
||||
|
|
@ -175,7 +175,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
return columns;
|
||||
},
|
||||
|
||||
_getEmptyColumns: function (data) {
|
||||
_getEmptyColumns(data) {
|
||||
var empty = new Array(data[0].length),
|
||||
i;
|
||||
|
||||
|
|
@ -192,7 +192,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
return empty;
|
||||
},
|
||||
|
||||
_getRowEdge: function (tr) {
|
||||
_getRowEdge(tr) {
|
||||
var row = this._table.row($(tr)),
|
||||
trackLatLngs = this.trackPolyline.getLatLngs(),
|
||||
startIndex = row.index() > 0 ? this.trackEdges.edges[row.index() - 1] : 0,
|
||||
|
|
@ -202,7 +202,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
return L.polyline(edgeLatLngs, this.options.edgeStyle);
|
||||
},
|
||||
|
||||
_handleHover: function (evt) {
|
||||
_handleHover(evt) {
|
||||
var tr = evt.currentTarget;
|
||||
|
||||
this._hoveredEdge = this._getRowEdge(tr).addTo(this._map);
|
||||
|
|
@ -211,12 +211,12 @@ BR.TrackMessages = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_handleHoverOut: function (evt) {
|
||||
_handleHoverOut(evt) {
|
||||
this._map.removeLayer(this._hoveredEdge);
|
||||
this._hoveredEdge = null;
|
||||
},
|
||||
|
||||
_toggleSelected: function (evt) {
|
||||
_toggleSelected(evt) {
|
||||
var tr = evt.currentTarget;
|
||||
|
||||
if (tr.classList.toggle('selected')) {
|
||||
|
|
@ -237,14 +237,14 @@ BR.TrackMessages = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
_toggleSyncMap: function (evt) {
|
||||
_toggleSyncMap(evt) {
|
||||
var button = evt.currentTarget;
|
||||
|
||||
button.classList.toggle('active');
|
||||
this.options.syncMap = !this.options.syncMap;
|
||||
},
|
||||
|
||||
mapMouseMoveHandler: function (evt) {
|
||||
mapMouseMoveHandler(evt) {
|
||||
// initialize the vars for the closest item calculation
|
||||
let closestPointIdx = null;
|
||||
// large enough to be trumped by any point on the chart
|
||||
|
|
@ -292,7 +292,7 @@ BR.TrackMessages = L.Class.extend({
|
|||
}
|
||||
},
|
||||
|
||||
mapMouseOutHandler: function () {
|
||||
mapMouseOutHandler() {
|
||||
if (this._mapHoveredRow) {
|
||||
this._mapHoveredRow.classList.remove('hoverRoute');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
BR.TrackStats = L.Class.extend({
|
||||
update: function (polyline, segments) {
|
||||
update(polyline, segments) {
|
||||
if (segments.length == 0) {
|
||||
$('#stats-container').hide();
|
||||
$('#stats-info').show();
|
||||
|
|
@ -44,7 +44,7 @@ BR.TrackStats = L.Class.extend({
|
|||
$('#meanenergy').html(meanEnergy);
|
||||
},
|
||||
|
||||
calcStats: function (polyline, segments) {
|
||||
calcStats(polyline, segments) {
|
||||
var stats = {
|
||||
trackLength: 0,
|
||||
filteredAscend: 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue