diff options
Diffstat (limited to 'web/app/controller/Root.js')
-rw-r--r-- | web/app/controller/Root.js | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index bb65e0048..3e2358c8d 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -114,7 +114,7 @@ Ext.define('Traccar.controller.Root', { } } - if (data.positions) { + if (data.positions && !data.events) { array = data.positions; store = Ext.getStore('LatestPositions'); for (i = 0; i < array.length; i++) { @@ -126,6 +126,35 @@ Ext.define('Traccar.controller.Root', { } } } + + if (data.events) { + array = data.events; + store = Ext.getStore('Events'); + for (i = 0; i < array.length; i++) { + store.add(array[i]); + var text; + if (array[i].type === 'commandResult' && data.positions) { + var j; + for (j = 0; j < data.positions.length; j++) { + if (data.positions[j].id == array[i].positionId) { + text = data.positions[j].attributes.result; + break; + } + } + text = Strings.eventCommandResult + text; + } else { + var typeKey = 'event' + array[i].type.charAt(0).toUpperCase() + array[i].type.slice(1); + var text = Strings[typeKey]; + if (typeof text == "undefined") { + text = typeKey; + } + } + var device = Ext.getStore('Devices').getById(array[i].deviceId); + if (typeof device != "undefined") { + Ext.toast(text, device.getData().name); + } + } + } }; } }); |