diff options
Diffstat (limited to 'web/app/view/DeviceController.js')
-rw-r--r-- | web/app/view/DeviceController.js | 222 |
1 files changed, 113 insertions, 109 deletions
diff --git a/web/app/view/DeviceController.js b/web/app/view/DeviceController.js index 2e2fdb2a6..748ebabe6 100644 --- a/web/app/view/DeviceController.js +++ b/web/app/view/DeviceController.js @@ -13,126 +13,130 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +(function () { + 'use strict'; -Ext.define('Traccar.view.DeviceController', { - extend: 'Ext.app.ViewController', - alias: 'controller.device', - - requires: [ - 'Traccar.view.CommandDialog', - 'Traccar.view.DeviceDialog', - 'Traccar.view.UserDialog', - 'Traccar.view.User', - 'Traccar.view.LoginController' - ], + Ext.define('Traccar.view.DeviceController', { + extend: 'Ext.app.ViewController', + alias: 'controller.device', - config: { - listen: { - controller: { - '*': { - selectReport: 'selectReport' + requires: [ + 'Traccar.view.CommandDialog', + 'Traccar.view.DeviceDialog', + 'Traccar.view.UserDialog', + 'Traccar.view.User', + 'Traccar.view.LoginController' + ], + + config: { + listen: { + controller: { + '*': { + selectReport: 'selectReport' + } } } - } - }, + }, - 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'); - device.store = this.getView().getStore(); - dialog = Ext.create('Traccar.view.DeviceDialog'); - dialog.down('form').loadRecord(device); - dialog.show(); - }, - - onEditClick: function () { - var device, dialog; - device = this.getView().getSelectionModel().getSelection()[0]; - dialog = Ext.create('Traccar.view.DeviceDialog'); - dialog.down('form').loadRecord(device); - dialog.show(); - }, - - onRemoveClick: function () { - var device = this.getView().getSelectionModel().getSelection()[0]; - Ext.Msg.show({ - title: strings.deviceDialog, - message: strings.sharedRemoveConfirm, - buttons: Ext.Msg.YESNO, - buttonText: { - yes: strings.sharedRemove, - no: strings.sharedCancel - }, - fn: function (btn) { - var store; - if (btn === 'yes') { - store = Ext.getStore('Devices'); - store.remove(device); - store.sync(); - } + init: function () { + if (Traccar.app.getUser().get('admin')) { + this.lookupReference('settingsServerButton').setHidden(false); + this.lookupReference('settingsUsersButton').setHidden(false); } - }); - }, + }, - onCommandClick: function () { - var device, command, dialog; - device = this.getView().getSelectionModel().getSelection()[0]; - command = Ext.create('Traccar.model.Command'); - command.set('deviceId', device.get('id')); - dialog = Ext.create('Traccar.view.CommandDialog'); - dialog.down('form').loadRecord(command); - dialog.show(); - }, + onLogoutClick: function () { + Ext.create('Traccar.view.LoginController').logout(); + }, - onSelectionChange: function (selected) { - var empty = selected.getCount() === 0; - this.lookupReference('deviceEditButton').setDisabled(empty); - this.lookupReference('deviceRemoveButton').setDisabled(empty); - this.lookupReference('deviceCommandButton').setDisabled(empty); - if (!empty) { - this.fireEvent("selectDevice", selected.getLastSelected()); - } - }, + onAddClick: function () { + var device, dialog; + device = Ext.create('Traccar.model.Device'); + device.store = this.getView().getStore(); + dialog = Ext.create('Traccar.view.DeviceDialog'); + dialog.down('form').loadRecord(device); + dialog.show(); + }, + + onEditClick: function () { + var device, dialog; + device = this.getView().getSelectionModel().getSelection()[0]; + dialog = Ext.create('Traccar.view.DeviceDialog'); + dialog.down('form').loadRecord(device); + dialog.show(); + }, - onUserClick: function () { - var dialog = Ext.create('Traccar.view.UserDialog'); - dialog.down('form').loadRecord(Traccar.app.getUser()); - dialog.show(); - }, + onRemoveClick: function () { + var device = this.getView().getSelectionModel().getSelection()[0]; + Ext.Msg.show({ + title: strings.deviceDialog, + message: strings.sharedRemoveConfirm, + buttons: Ext.Msg.YESNO, + buttonText: { + yes: strings.sharedRemove, + no: strings.sharedCancel + }, + fn: function (btn) { + var store; + if (btn === 'yes') { + store = Ext.getStore('Devices'); + store.remove(device); + store.sync(); + } + } + }); + }, - onServerClick: function () { - var dialog = Ext.create('Traccar.view.ServerDialog'); - dialog.down('form').loadRecord(Traccar.app.getServer()); - dialog.show(); - }, + onCommandClick: function () { + var device, command, dialog; + device = this.getView().getSelectionModel().getSelection()[0]; + command = Ext.create('Traccar.model.Command'); + command.set('deviceId', device.get('id')); + dialog = Ext.create('Traccar.view.CommandDialog'); + dialog.down('form').loadRecord(command); + dialog.show(); + }, - onUsersClick: function () { - Ext.create('Ext.window.Window', { - title: strings.settingsUsers, - width: styles.windowWidth, - height: styles.windowHeight, - layout: 'fit', - modal: true, - items: { - xtype: 'userView' + onSelectionChange: function (selected) { + var empty = selected.getCount() === 0; + this.lookupReference('deviceEditButton').setDisabled(empty); + this.lookupReference('deviceRemoveButton').setDisabled(empty); + this.lookupReference('deviceCommandButton').setDisabled(empty); + if (!empty) { + this.fireEvent("selectDevice", selected.getLastSelected()); } - }).show(); - }, + }, - selectReport: function (position) { - if (position !== undefined) { - this.getView().getSelectionModel().deselectAll(); + 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: styles.windowWidth, + height: styles.windowHeight, + layout: 'fit', + modal: true, + items: { + xtype: 'userView' + } + }).show(); + }, + + selectReport: function (position) { + if (position !== undefined) { + this.getView().getSelectionModel().deselectAll(); + } } - } -}); + }); + +})(); |