aboutsummaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-02-03 11:59:57 +0500
committerAbyss777 <abyss@fox5.ru>2017-02-03 15:05:44 +0500
commitcad1c950fd79057ebfd89e362a2b54eb3e588a5c (patch)
tree3267602d17f689d6d0bceb24a94ae1a58863a0bb /web
parent962c40e2127f9c9a7687e4ccb7a6d4a33ac203f7 (diff)
downloadtrackermap-web-cad1c950fd79057ebfd89e362a2b54eb3e588a5c.tar.gz
trackermap-web-cad1c950fd79057ebfd89e362a2b54eb3e588a5c.tar.bz2
trackermap-web-cad1c950fd79057ebfd89e362a2b54eb3e588a5c.zip
Better cleanup after device remove
Diffstat (limited to 'web')
-rw-r--r--web/app/view/DevicesController.js8
-rw-r--r--web/app/view/MapMarkerController.js9
2 files changed, 14 insertions, 3 deletions
diff --git a/web/app/view/DevicesController.js b/web/app/view/DevicesController.js
index e856731c..cd858341 100644
--- a/web/app/view/DevicesController.js
+++ b/web/app/view/DevicesController.js
@@ -32,11 +32,11 @@ Ext.define('Traccar.view.DevicesController', {
listen: {
controller: {
'*': {
- selectreport: 'selectReport',
- deselectfeature: 'deselectFeature'
+ selectreport: 'selectReport'
},
'map': {
- selectdevice: 'selectDevice'
+ selectdevice: 'selectDevice',
+ deselectfeature: 'deselectFeature'
}
},
store: {
@@ -101,6 +101,8 @@ Ext.define('Traccar.view.DevicesController', {
this.updateButtons(selected);
if (selected.getCount() > 0) {
this.fireEvent('selectdevice', selected.getLastSelected(), true);
+ } else {
+ this.fireEvent('deselectfeature');
}
},
diff --git a/web/app/view/MapMarkerController.js b/web/app/view/MapMarkerController.js
index 5e1861c4..39517553 100644
--- a/web/app/view/MapMarkerController.js
+++ b/web/app/view/MapMarkerController.js
@@ -149,6 +149,15 @@ Ext.define('Traccar.view.MapMarkerController', {
deviceId = data[i].get('id');
if (this.latestMarkers[deviceId]) {
this.getView().getMarkersSource().removeFeature(this.latestMarkers[deviceId]);
+ delete this.latestMarkers[deviceId];
+ }
+ if (this.accuracyCircles[deviceId]) {
+ this.getView().getAccuracySource().removeFeature(this.accuracyCircles[deviceId]);
+ delete this.accuracyCircles[deviceId];
+ }
+ if (this.liveRoutes[deviceId]) {
+ this.getView().getLiveRouteSource().removeFeature(this.liveRoutes[deviceId]);
+ delete this.liveRoutes[deviceId];
}
}
},