aboutsummaryrefslogtreecommitdiff
path: root/web/app
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2018-09-23 15:09:56 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2018-09-23 15:09:56 +1200
commit648c7684898f0056f0202b6b43ba9f5f11655703 (patch)
tree15706f0eeb2b39de63af4aa28825553d59794bf4 /web/app
parent357b4a8c8652d42bd228390bbc337003e059b04c (diff)
downloadtrackermap-web-648c7684898f0056f0202b6b43ba9f5f11655703.tar.gz
trackermap-web-648c7684898f0056f0202b6b43ba9f5f11655703.tar.bz2
trackermap-web-648c7684898f0056f0202b6b43ba9f5f11655703.zip
Implement push notifications
Diffstat (limited to 'web/app')
-rw-r--r--web/app/Application.js13
-rw-r--r--web/app/controller/Root.js8
2 files changed, 21 insertions, 0 deletions
diff --git a/web/app/Application.js b/web/app/Application.js
index d0b6713c..a4cbbf22 100644
--- a/web/app/Application.js
+++ b/web/app/Application.js
@@ -148,6 +148,19 @@ Ext.define('Traccar.Application', {
}
},
+ updateNotificationToken: function (token) {
+ var attributes = Ext.clone(this.user.get('attributes'));
+ if (!attributes.notificationTokens || attributes.notificationTokens.indexOf(token) < 0) {
+ if (!attributes.notificationTokens) {
+ attributes.notificationTokens = token;
+ } else {
+ attributes.notificationTokens += ',' + token;
+ }
+ this.user.set('attributes', attributes);
+ this.user.save();
+ }
+ },
+
setUser: function (data) {
var reader = Ext.create('Ext.data.reader.Json', {
model: 'Traccar.model.User'
diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js
index 0edc049a..7c0345ad 100644
--- a/web/app/controller/Root.js
+++ b/web/app/controller/Root.js
@@ -109,6 +109,14 @@ Ext.define('Traccar.controller.Root', {
loadApp: function () {
var attribution, eventId;
+
+ if (window.webkit && window.webkit.messageHandlers.appInterface) {
+ window.webkit.messageHandlers.appInterface.postMessage('login');
+ }
+ if (window.appInterface) {
+ window.appInterface.postMessage('login');
+ }
+
Ext.getStore('Groups').load();
Ext.getStore('Drivers').load();
Ext.getStore('Geofences').load();