make it possible to search tracks by file name
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
This commit is contained in:
Родитель
ec25841d9b
Коммит
7c744e5c3b
15
js/script.js
15
js/script.js
|
@ -1275,6 +1275,9 @@
|
|||
// get contacts
|
||||
var contactData = contactsController.getAutocompData();
|
||||
data.push(...contactData);
|
||||
// get tracks
|
||||
var trackData = tracksController.getAutocompData();
|
||||
data.push(...trackData);
|
||||
// get devices
|
||||
var devData = devicesController.getAutocompData();
|
||||
data.push(...devData);
|
||||
|
@ -1290,6 +1293,15 @@
|
|||
else if (it.type === 'contact') {
|
||||
that.map.setView([it.lat, it.lng], 15);
|
||||
}
|
||||
else if (it.type === 'track') {
|
||||
if (tracksController.isTrackEnabled(it.id)) {
|
||||
tracksController.zoomOnTrack(it.id);
|
||||
tracksController.showTrackElevation(it.id);
|
||||
}
|
||||
else {
|
||||
tracksController.toggleTrack(it.id, true, false, true);
|
||||
}
|
||||
}
|
||||
else if (it.type === 'device') {
|
||||
devicesController.zoomOnDevice(it.id);
|
||||
}
|
||||
|
@ -1343,6 +1355,9 @@
|
|||
if (item.type === 'favorite') {
|
||||
iconClass = 'icon-favorite';
|
||||
}
|
||||
else if (item.type === 'track') {
|
||||
iconClass = 'icon-category-monitoring';
|
||||
}
|
||||
else if (item.type === 'contact') {
|
||||
iconClass = 'icon-group';
|
||||
}
|
||||
|
|
|
@ -530,6 +530,11 @@ TracksController.prototype = {
|
|||
});
|
||||
},
|
||||
|
||||
isTrackEnabled: function(id) {
|
||||
var mapTrackLayer = this.mapTrackLayers[id];
|
||||
return (this.mainLayer.hasLayer(mapTrackLayer));
|
||||
},
|
||||
|
||||
toggleTrack: function(id, save=false, pageLoad=false, zoom=false) {
|
||||
var trackLayer = this.trackLayers[id];
|
||||
if (!trackLayer.loaded) {
|
||||
|
@ -1177,4 +1182,23 @@ TracksController.prototype = {
|
|||
}
|
||||
},
|
||||
|
||||
getAutocompData: function() {
|
||||
var that = this;
|
||||
var marker, devid;
|
||||
var data = [];
|
||||
if (this.map.hasLayer(this.mainLayer)) {
|
||||
for (trackid in this.tracks) {
|
||||
// no need for lat/lng here, track will just be enabled or zoomed
|
||||
track = this.tracks[trackid];
|
||||
data.push({
|
||||
type: 'track',
|
||||
id: trackid,
|
||||
label: track.file_name,
|
||||
value: track.file_name
|
||||
});
|
||||
}
|
||||
}
|
||||
return data;
|
||||
},
|
||||
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче