diff options
Diffstat (limited to 'web/app/view/device')
-rw-r--r-- | web/app/view/device/DeviceController.js | 21 | ||||
-rw-r--r-- | web/app/view/device/DeviceDialog.js | 8 | ||||
-rw-r--r-- | web/app/view/device/DeviceDialogController.js | 42 |
3 files changed, 48 insertions, 23 deletions
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(); + } + +}); |