From ab3e2b28ade7854ed1df24c1e22abfce57f476c6 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 11 May 2015 13:24:04 +1200 Subject: Split device controller --- web/app/view/device/DeviceController.js | 21 -------------- web/app/view/device/DeviceDialog.js | 8 +++-- web/app/view/device/DeviceDialogController.js | 42 +++++++++++++++++++++++++++ web/app/view/login/Login.js | 3 +- web/app/view/login/LoginController.js | 4 +++ 5 files changed, 54 insertions(+), 24 deletions(-) create mode 100644 web/app/view/device/DeviceDialogController.js (limited to 'web/app/view') diff --git a/web/app/view/device/DeviceController.js b/web/app/view/device/DeviceController.js index 460ba3f9a..82c17860f 100644 --- a/web/app/view/device/DeviceController.js +++ b/web/app/view/device/DeviceController.js @@ -64,27 +64,6 @@ Ext.define('Traccar.view.device.DeviceController', { var disabled = selected.length > 0; this.lookupReference('deviceEditButton').setDisabled(disabled); this.lookupReference('deviceRemoveButton').setDisabled(disabled); - }, - - onSaveClick: function(button) { - var dialog = button.up('window').down('form'); - dialog.updateRecord(); - var store = Ext.getStore('Devices'); - var device = dialog.getRecord(); - if (device.phantom) { - store.add(device); - } - store.sync({ - failure: function(batch) { - store.rejectChanges(); // TODO - Traccar.ErrorManager.check(true, batch.exceptions[0].getResponse()); - } - }); - button.up('window').close(); - }, - - onCancelClick: function(button) { - button.up('window').close(); } }); diff --git a/web/app/view/device/DeviceDialog.js b/web/app/view/device/DeviceDialog.js index 5e41d1ff4..7a5a192bd 100644 --- a/web/app/view/device/DeviceDialog.js +++ b/web/app/view/device/DeviceDialog.js @@ -17,8 +17,12 @@ Ext.define('Traccar.view.device.DeviceDialog', { extend: 'Ext.window.Window', xtype: 'device-dialog', - - controller: 'device', + + requires: [ + 'Traccar.view.device.DeviceDialogController' + ], + + controller: 'devicedialog', bodyPadding: styles.panel_padding, title: strings.device_dialog, diff --git a/web/app/view/device/DeviceDialogController.js b/web/app/view/device/DeviceDialogController.js new file mode 100644 index 000000000..106aee654 --- /dev/null +++ b/web/app/view/device/DeviceDialogController.js @@ -0,0 +1,42 @@ +/* + * 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.device.DeviceDialogController', { + extend: 'Ext.app.ViewController', + alias: 'controller.devicedialog', + + onSaveClick: function(button) { + var dialog = button.up('window').down('form'); + dialog.updateRecord(); + var store = Ext.getStore('Devices'); + var device = dialog.getRecord(); + if (device.phantom) { + store.add(device); + } + store.sync({ + failure: function(batch) { + store.rejectChanges(); // TODO + Traccar.ErrorManager.check(true, batch.exceptions[0].getResponse()); + } + }); + button.up('window').close(); + }, + + onCancelClick: function(button) { + button.up('window').close(); + } + +}); diff --git a/web/app/view/login/Login.js b/web/app/view/login/Login.js index 3e23c4838..c56557186 100644 --- a/web/app/view/login/Login.js +++ b/web/app/view/login/Login.js @@ -40,7 +40,8 @@ Ext.define('Traccar.view.login.Login', { allowBlank: false, enableKeyEvents: true, listeners: { - specialKey: 'onSpecialKey' + specialKey: 'onSpecialKey', + afterrender: 'onAfterRender' } }, { xtype: 'textfield', diff --git a/web/app/view/login/LoginController.js b/web/app/view/login/LoginController.js index a88fffc09..c22b0e09a 100644 --- a/web/app/view/login/LoginController.js +++ b/web/app/view/login/LoginController.js @@ -22,6 +22,10 @@ Ext.define('Traccar.view.login.LoginController', { 'Traccar.view.login.Register' ], + onAfterRender: function(field) { + field.focus(); + }, + onSpecialKey: function(field, e) { if (e.getKey() === e.ENTER) { this.doLogin(); -- cgit v1.2.3