From 37c1c6a786e4ca385e373c645654663e38701e7c Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Fri, 24 Mar 2017 17:21:16 +0500 Subject: Use cookies to save buttons state instead of User/Server attributes --- web/app/view/Map.js | 38 +++++++++++++++++++------------ web/app/view/MapController.js | 18 --------------- web/app/view/MapPickerDialogController.js | 12 +--------- web/app/view/ServerDialog.js | 6 ----- web/app/view/UserDialog.js | 6 ----- web/l10n/en.json | 1 - 6 files changed, 24 insertions(+), 57 deletions(-) (limited to 'web') diff --git a/web/app/view/Map.js b/web/app/view/Map.js index ebc6bbb0..f9bb6250 100644 --- a/web/app/view/Map.js +++ b/web/app/view/Map.js @@ -29,6 +29,15 @@ Ext.define('Traccar.view.Map', { title: Strings.mapTitle, tbar: { componentCls: 'toolbar-header-style', + defaults: { + xtype: 'button', + tooltipType: 'title', + stateEvents: ['toggle'], + enableToggle: true, + stateful: { + pressed: true + } + }, items: [{ xtype: 'tbtext', html: Strings.mapTitle, @@ -36,41 +45,37 @@ Ext.define('Traccar.view.Map', { }, { xtype: 'tbfill' }, { - xtype: 'button', - tooltipType: 'title', handler: 'showReports', reference: 'showReportsButton', glyph: 'xf0f6@FontAwesome', + stateful: false, + enableToggle: false, tooltip: Strings.reportTitle }, { - xtype: 'button', - tooltipType: 'title', handler: 'updateGeofences', reference: 'showGeofencesButton', glyph: 'xf21d@FontAwesome', - enableToggle: true, + pressed: true, + stateId: 'show-geofences-button', tooltip: Strings.sharedGeofences }, { - xtype: 'button', - tooltipType: 'title', handler: 'showLiveRoutes', reference: 'showLiveRoutes', glyph: 'xf1b0@FontAwesome', - enableToggle: true, + stateId: 'show-live-routes-button', tooltip: Strings.mapLiveRoutes }, { reference: 'deviceFollowButton', glyph: 'xf05b@FontAwesome', tooltip: Strings.deviceFollow, - tooltipType: 'title', - enableToggle: true, + stateId: 'device-follow-button', toggleHandler: 'onFollowClick' }, { id: 'muteButton', glyph: 'xf1f7@FontAwesome', tooltip: Strings.sharedMute, - tooltipType: 'title', - enableToggle: true, + pressed: true, + stateId: 'mute-button', listeners: { toggle: function (button, pressed) { if (pressed) { @@ -78,11 +83,14 @@ Ext.define('Traccar.view.Map', { } else { button.setGlyph('xf0a2@FontAwesome'); } - }, - scope: this + } + }, + applyState: function (state) { + this.toggle(state.pressed); } }, { - xtype: 'settingsMenu' + xtype: 'settingsMenu', + enableToggle: false }] }, diff --git a/web/app/view/MapController.js b/web/app/view/MapController.js index 57727f20..04e8c448 100644 --- a/web/app/view/MapController.js +++ b/web/app/view/MapController.js @@ -28,7 +28,6 @@ Ext.define('Traccar.view.MapController', { controller: { '*': { mapstaterequest: 'getMapState', - togglestaterequest: 'getToggleState', zoomtoalldevices: 'zoomToAllDevices' } }, @@ -46,14 +45,6 @@ Ext.define('Traccar.view.MapController', { init: function () { this.callParent(); this.lookupReference('showReportsButton').setVisible(Traccar.app.isMobile()); - this.lookupReference('deviceFollowButton').setPressed( - Traccar.app.getAttributePreference('web.followToggle', 'false') === 'true'); - this.lookupReference('showGeofencesButton').setPressed( - Traccar.app.getAttributePreference('web.geofenceToggle', 'true') === 'true'); - this.lookupReference('showLiveRoutes').setPressed( - Traccar.app.getAttributePreference('web.liveRouteToggle', 'false') === 'true'); - Ext.getCmp('muteButton').setPressed( - Traccar.app.getAttributePreference('web.muteToggle', 'true') === 'true'); }, showReports: function () { @@ -78,15 +69,6 @@ Ext.define('Traccar.view.MapController', { this.fireEvent('mapstate', center[1], center[0], zoom); }, - getToggleState: function () { - var state = {}; - state['web.followToggle'] = this.lookupReference('deviceFollowButton').pressed.toString(); - state['web.geofenceToggle'] = this.lookupReference('showGeofencesButton').pressed.toString(); - state['web.liveRouteToggle'] = this.lookupReference('showLiveRoutes').pressed.toString(); - state['web.muteToggle'] = Ext.getCmp('muteButton').pressed.toString(); - this.fireEvent('togglestate', state); - }, - updateGeofences: function () { this.getView().getGeofencesSource().clear(); if (this.lookupReference('showGeofencesButton').pressed) { diff --git a/web/app/view/MapPickerDialogController.js b/web/app/view/MapPickerDialogController.js index 6a3b1a51..1dc48ea0 100644 --- a/web/app/view/MapPickerDialogController.js +++ b/web/app/view/MapPickerDialogController.js @@ -24,8 +24,7 @@ Ext.define('Traccar.view.MapPickerDialogController', { listen: { controller: { '*': { - mapstate: 'setMapState', - togglestate: 'setToggleState' + mapstate: 'setMapState' } } } @@ -35,18 +34,9 @@ Ext.define('Traccar.view.MapPickerDialogController', { this.fireEvent('mapstaterequest'); }, - getToggleState: function (button) { - this.fireEvent('togglestaterequest'); - }, - setMapState: function (lat, lon, zoom) { this.lookupReference('latitude').setValue(lat); this.lookupReference('longitude').setValue(lon); this.lookupReference('zoom').setValue(zoom); - }, - - setToggleState: function (state) { - var record = this.getView().down('form').getRecord(); - record.set('attributes', Ext.merge(record.get('attributes'), state)); } }); diff --git a/web/app/view/ServerDialog.js b/web/app/view/ServerDialog.js index bba5e729..13ddcb31 100644 --- a/web/app/view/ServerDialog.js +++ b/web/app/view/ServerDialog.js @@ -149,12 +149,6 @@ Ext.define('Traccar.view.ServerDialog', { handler: 'getMapState', tooltip: Strings.sharedGetMapState, tooltipType: 'title' - }, { - glyph: 'xf205@FontAwesome', - minWidth: 0, - handler: 'getToggleState', - tooltip: Strings.sharedGetToggleState, - tooltipType: 'title' }, { xtype: 'tbfill' }, { diff --git a/web/app/view/UserDialog.js b/web/app/view/UserDialog.js index 874f9f00..8df7f2ff 100644 --- a/web/app/view/UserDialog.js +++ b/web/app/view/UserDialog.js @@ -201,12 +201,6 @@ Ext.define('Traccar.view.UserDialog', { handler: 'getMapState', tooltip: Strings.sharedGetMapState, tooltipType: 'title' - }, { - glyph: 'xf205@FontAwesome', - minWidth: 0, - handler: 'getToggleState', - tooltip: Strings.sharedGetToggleState, - tooltipType: 'title' }, { glyph: 'xf003@FontAwesome', minWidth: 0, diff --git a/web/l10n/en.json b/web/l10n/en.json index 4b06735c..107f970d 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -35,7 +35,6 @@ "sharedHourAbbreviation": "h", "sharedMinuteAbbreviation": "m", "sharedGetMapState": "Get Map State", - "sharedGetToggleState": "Get Toggle State", "sharedAttributeAlias": "Attribute Alias", "sharedAttributeAliases": "Attribute Aliases", "sharedAlias": "Alias", -- cgit v1.2.3 From 97ea2529c8911d389ee1a26cc6ae43ae7dbc54fb Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Sat, 25 Mar 2017 08:40:40 +0500 Subject: Change "Mute" logic --- web/app/controller/Root.js | 8 ++++---- web/app/view/Map.js | 21 ++++----------------- web/l10n/en.json | 2 +- 3 files changed, 9 insertions(+), 22 deletions(-) (limited to 'web') diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index e8d4f0ff..673f7fb3 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -114,9 +114,9 @@ Ext.define('Traccar.controller.Root', { this.beepSound.play(); }, - mutePressed: function () { - var muteButton = Ext.getCmp('muteButton'); - return muteButton && !muteButton.pressed; + soundPressed: function () { + var soundButton = Ext.getCmp('soundButton'); + return soundButton && soundButton.pressed; }, removeUrlParameter: function (param) { @@ -231,7 +231,7 @@ Ext.define('Traccar.controller.Root', { } device = Ext.getStore('Devices').getById(array[i].deviceId); if (device) { - if (this.mutePressed()) { + if (this.soundPressed()) { this.beep(); } Ext.toast(text, device.get('name'), 'br'); diff --git a/web/app/view/Map.js b/web/app/view/Map.js index f9bb6250..a3879ab9 100644 --- a/web/app/view/Map.js +++ b/web/app/view/Map.js @@ -71,23 +71,10 @@ Ext.define('Traccar.view.Map', { stateId: 'device-follow-button', toggleHandler: 'onFollowClick' }, { - id: 'muteButton', - glyph: 'xf1f7@FontAwesome', - tooltip: Strings.sharedMute, - pressed: true, - stateId: 'mute-button', - listeners: { - toggle: function (button, pressed) { - if (pressed) { - button.setGlyph('xf1f7@FontAwesome'); - } else { - button.setGlyph('xf0a2@FontAwesome'); - } - } - }, - applyState: function (state) { - this.toggle(state.pressed); - } + id: 'soundButton', + glyph: 'xf0a2@FontAwesome', + tooltip: Strings.sharedSound, + stateId: 'sound-button' }, { xtype: 'settingsMenu', enableToggle: false diff --git a/web/l10n/en.json b/web/l10n/en.json index 107f970d..c8f8d273 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -29,7 +29,7 @@ "sharedAttributes": "Attributes", "sharedAttribute": "Attribute", "sharedArea": "Area", - "sharedMute": "Mute", + "sharedSound": "Play Sound", "sharedType": "Type", "sharedDistance": "Distance", "sharedHourAbbreviation": "h", -- cgit v1.2.3 From d1a21515aec2d8b6c0ecbc4ca10c54f594e4820e Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Sat, 25 Mar 2017 09:12:45 +0500 Subject: Change sound string --- web/l10n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'web') diff --git a/web/l10n/en.json b/web/l10n/en.json index c8f8d273..dc243331 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -29,7 +29,7 @@ "sharedAttributes": "Attributes", "sharedAttribute": "Attribute", "sharedArea": "Area", - "sharedSound": "Play Sound", + "sharedSound": "Notification Sound", "sharedType": "Type", "sharedDistance": "Distance", "sharedHourAbbreviation": "h", -- cgit v1.2.3