diff options
author | Abyss777 <abyss@fox5.ru> | 2017-08-09 16:04:20 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-08-09 16:04:20 +0500 |
commit | fd4029af507afac83fa5db4b863b26ac2e205bd3 (patch) | |
tree | ec17e8d1c251817f06b3d2ee043fe2f288c52089 /web/app/controller | |
parent | c7888fcf5e92280ed4573ee0973872a59451ac52 (diff) | |
download | trackermap-web-fd4029af507afac83fa5db4b863b26ac2e205bd3.tar.gz trackermap-web-fd4029af507afac83fa5db4b863b26ac2e205bd3.tar.bz2 trackermap-web-fd4029af507afac83fa5db4b863b26ac2e205bd3.zip |
Select device on load if there is deviceId url parameter
Diffstat (limited to 'web/app/controller')
-rw-r--r-- | web/app/controller/Root.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index d85102a7..902ef215 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -17,6 +17,7 @@ Ext.define('Traccar.controller.Root', { extend: 'Ext.app.Controller', + alias: 'controller.root', requires: [ 'Traccar.view.dialog.Login', @@ -225,7 +226,7 @@ Ext.define('Traccar.controller.Root', { }, updatePositions: function (array, first) { - var i, store, entity; + var i, store, entity, deviceId, device; store = Ext.getStore('LatestPositions'); for (i = 0; i < array.length; i++) { entity = store.findRecord('deviceId', array[i].deviceId, 0, false, false, true); @@ -239,7 +240,16 @@ Ext.define('Traccar.controller.Root', { } } if (first) { - this.zoomToAllDevices(); + deviceId = Ext.Object.fromQueryString(window.location.search).deviceId; + if (deviceId) { + device = Ext.getStore('Devices').getById(deviceId); + if (device) { + this.fireEvent('selectdevice', device, true); + } + } + if (!device) { + this.zoomToAllDevices(); + } } }, |