diff options
Diffstat (limited to 'web/app/view')
-rw-r--r-- | web/app/view/Device.js | 26 | ||||
-rw-r--r-- | web/app/view/DeviceController.js | 39 | ||||
-rw-r--r-- | web/app/view/EditToolbar.js (renamed from web/app/view/BaseEditToolbar.js) | 4 | ||||
-rw-r--r-- | web/app/view/SettingsMenu.js | 50 | ||||
-rw-r--r-- | web/app/view/SettingsMenuController.js | 60 | ||||
-rw-r--r-- | web/app/view/User.js | 4 |
6 files changed, 119 insertions, 64 deletions
diff --git a/web/app/view/Device.js b/web/app/view/Device.js index ad338c648..e23151100 100644 --- a/web/app/view/Device.js +++ b/web/app/view/Device.js @@ -20,7 +20,8 @@ Ext.define('Traccar.view.Device', { requires: [ 'Traccar.view.DeviceController', - 'Traccar.view.BaseEditToolbar' + 'Traccar.view.EditToolbar', + 'Traccar.view.SettingsMenu' ], controller: 'device', @@ -30,7 +31,7 @@ Ext.define('Traccar.view.Device', { selType: 'rowmodel', tbar: { - xtype: 'baseEditToolbar', + xtype: 'editToolbar', items: [{ disabled: true, handler: 'onCommandClick', @@ -41,26 +42,7 @@ Ext.define('Traccar.view.Device', { }, { xtype: 'tbfill' }, { - glyph: 'xf013@FontAwesome', - tooltip: Strings.settingsTitle, - tooltipType: 'title', - menu: [{ - text: Strings.settingsUser, - handler: 'onUserClick' - }, { - text: Strings.settingsServer, - hidden: true, - handler: 'onServerClick', - reference: 'settingsServerButton' - }, { - text: Strings.settingsUsers, - hidden: true, - handler: 'onUsersClick', - reference: 'settingsUsersButton' - }, { - text: Strings.loginLogout, - handler: 'onLogoutClick' - }] + xtype: 'settingsMenu' }] }, diff --git a/web/app/view/DeviceController.js b/web/app/view/DeviceController.js index c3d1d4787..a7e90da40 100644 --- a/web/app/view/DeviceController.js +++ b/web/app/view/DeviceController.js @@ -22,8 +22,7 @@ Ext.define('Traccar.view.DeviceController', { 'Traccar.view.CommandDialog', 'Traccar.view.DeviceDialog', 'Traccar.view.UserDialog', - 'Traccar.view.User', - 'Traccar.view.LoginController' + 'Traccar.view.User' ], config: { @@ -36,17 +35,6 @@ Ext.define('Traccar.view.DeviceController', { } }, - init: function () { - if (Traccar.app.getUser().get('admin')) { - this.lookupReference('settingsServerButton').setHidden(false); - this.lookupReference('settingsUsersButton').setHidden(false); - } - }, - - onLogoutClick: function () { - Ext.create('Traccar.view.LoginController').logout(); - }, - onAddClick: function () { var device, dialog; device = Ext.create('Traccar.model.Device'); @@ -105,31 +93,6 @@ Ext.define('Traccar.view.DeviceController', { } }, - onUserClick: function () { - var dialog = Ext.create('Traccar.view.UserDialog'); - dialog.down('form').loadRecord(Traccar.app.getUser()); - dialog.show(); - }, - - onServerClick: function () { - var dialog = Ext.create('Traccar.view.ServerDialog'); - dialog.down('form').loadRecord(Traccar.app.getServer()); - dialog.show(); - }, - - onUsersClick: function () { - Ext.create('Ext.window.Window', { - title: Strings.settingsUsers, - width: Traccar.Style.windowWidth, - height: Traccar.Style.windowHeight, - layout: 'fit', - modal: true, - items: { - xtype: 'userView' - } - }).show(); - }, - selectReport: function (position) { if (position !== undefined) { this.getView().getSelectionModel().deselectAll(); diff --git a/web/app/view/BaseEditToolbar.js b/web/app/view/EditToolbar.js index 2eb76ef36..523d27e49 100644 --- a/web/app/view/BaseEditToolbar.js +++ b/web/app/view/EditToolbar.js @@ -14,9 +14,9 @@ * limitations under the License. */ -Ext.define('Traccar.view.BaseEditToolbar', { +Ext.define('Traccar.view.EditToolbar', { extend: 'Ext.toolbar.Toolbar', - xtype: 'baseEditToolbar', + xtype: 'editToolbar', initComponent: function () { this.callParent(arguments); diff --git a/web/app/view/SettingsMenu.js b/web/app/view/SettingsMenu.js new file mode 100644 index 000000000..8b9c15924 --- /dev/null +++ b/web/app/view/SettingsMenu.js @@ -0,0 +1,50 @@ +/* + * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Ext.define('Traccar.view.SettingsMenu', { + extend: 'Ext.button.Button', + xtype: 'settingsMenu', + + requires: [ + 'Traccar.view.SettingsMenuController' + ], + + glyph: 'xf013@FontAwesome', + tooltip: Strings.settingsTitle, + tooltipType: 'title', + + menu: { + controller: 'settings', + + items: [{ + text: Strings.settingsUser, + handler: 'onUserClick' + }, { + text: Strings.settingsServer, + hidden: true, + handler: 'onServerClick', + reference: 'settingsServerButton' + }, { + text: Strings.settingsUsers, + hidden: true, + handler: 'onUsersClick', + reference: 'settingsUsersButton' + }, { + text: Strings.loginLogout, + handler: 'onLogoutClick' + }] + } +}); diff --git a/web/app/view/SettingsMenuController.js b/web/app/view/SettingsMenuController.js new file mode 100644 index 000000000..b63cf42f8 --- /dev/null +++ b/web/app/view/SettingsMenuController.js @@ -0,0 +1,60 @@ +/* + * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Ext.define('Traccar.view.SettingsMenuController', { + extend: 'Ext.app.ViewController', + alias: 'controller.settings', + + requires: [ + 'Traccar.view.LoginController' + ], + + init: function () { + if (Traccar.app.getUser().get('admin')) { + this.lookupReference('settingsServerButton').setHidden(false); + this.lookupReference('settingsUsersButton').setHidden(false); + } + }, + + onUserClick: function () { + var dialog = Ext.create('Traccar.view.UserDialog'); + dialog.down('form').loadRecord(Traccar.app.getUser()); + dialog.show(); + }, + + onServerClick: function () { + var dialog = Ext.create('Traccar.view.ServerDialog'); + dialog.down('form').loadRecord(Traccar.app.getServer()); + dialog.show(); + }, + + onUsersClick: function () { + Ext.create('Ext.window.Window', { + title: Strings.settingsUsers, + width: Traccar.Style.windowWidth, + height: Traccar.Style.windowHeight, + layout: 'fit', + modal: true, + items: { + xtype: 'userView' + } + }).show(); + }, + + onLogoutClick: function () { + Ext.create('Traccar.view.LoginController').logout(); + } +}); diff --git a/web/app/view/User.js b/web/app/view/User.js index 0a833e5c9..67a290f73 100644 --- a/web/app/view/User.js +++ b/web/app/view/User.js @@ -20,7 +20,7 @@ Ext.define('Traccar.view.User', { requires: [ 'Traccar.view.UserController', - 'Traccar.view.BaseEditToolbar' + 'Traccar.view.EditToolbar' ], controller: 'user', @@ -29,7 +29,7 @@ Ext.define('Traccar.view.User', { selType: 'rowmodel', tbar: { - xtype: 'baseEditToolbar', + xtype: 'editToolbar', items: [{ text: Strings.deviceTitle, disabled: true, |