diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-02-03 18:13:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-03 18:13:47 +0800 |
commit | a162e2da3e37841a4dab1b3c438992ad01af16db (patch) | |
tree | a7fb3c947a83649b978d2c0ad8e598a9d73870a6 /web | |
parent | 7b13ffa09f5d080d9a175ee3971c70e8cc07fc69 (diff) | |
parent | cad1c950fd79057ebfd89e362a2b54eb3e588a5c (diff) | |
download | trackermap-web-a162e2da3e37841a4dab1b3c438992ad01af16db.tar.gz trackermap-web-a162e2da3e37841a4dab1b3c438992ad01af16db.tar.bz2 trackermap-web-a162e2da3e37841a4dab1b3c438992ad01af16db.zip |
Merge pull request #401 from Abyss777/fix_400
Better cleanup after device remove
Diffstat (limited to 'web')
-rw-r--r-- | web/app/view/DevicesController.js | 8 | ||||
-rw-r--r-- | web/app/view/MapMarkerController.js | 9 |
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]; } } }, |