From 1bd459e27af45dda6011d113cc0e49fe79cb673d Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 21 Sep 2015 16:14:57 +1200 Subject: Refactor server dialog class --- web/app/view/BaseDialog.js | 23 +++++++ web/app/view/BaseEditDialog.js | 27 +++++++++ web/app/view/BaseEditDialogController.js | 31 ++++++++++ web/app/view/ServerDialog.js | 77 ++++++++++++++++++++++++ web/app/view/admin/ServerDialog.js | 90 ---------------------------- web/app/view/admin/ServerDialogController.js | 32 ---------- web/app/view/device/DeviceController.js | 4 +- 7 files changed, 160 insertions(+), 124 deletions(-) create mode 100644 web/app/view/BaseDialog.js create mode 100644 web/app/view/BaseEditDialog.js create mode 100644 web/app/view/BaseEditDialogController.js create mode 100644 web/app/view/ServerDialog.js delete mode 100644 web/app/view/admin/ServerDialog.js delete mode 100644 web/app/view/admin/ServerDialogController.js (limited to 'web/app') diff --git a/web/app/view/BaseDialog.js b/web/app/view/BaseDialog.js new file mode 100644 index 000000000..d875e14c9 --- /dev/null +++ b/web/app/view/BaseDialog.js @@ -0,0 +1,23 @@ +/* + * 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.BaseDialog', { + extend: 'Ext.window.Window', + + bodyPadding: styles.panelPadding, + resizable: false, + modal: true +}); diff --git a/web/app/view/BaseEditDialog.js b/web/app/view/BaseEditDialog.js new file mode 100644 index 000000000..df8bfda93 --- /dev/null +++ b/web/app/view/BaseEditDialog.js @@ -0,0 +1,27 @@ +/* + * 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.BaseEditDialog', { + extend: 'Traccar.view.BaseDialog', + + buttons: [{ + text: strings.sharedSave, + handler: 'onSaveClick' + }, { + text: strings.sharedCancel, + handler: 'onCancelClick' + }] +}); diff --git a/web/app/view/BaseEditDialogController.js b/web/app/view/BaseEditDialogController.js new file mode 100644 index 000000000..ca090f714 --- /dev/null +++ b/web/app/view/BaseEditDialogController.js @@ -0,0 +1,31 @@ +/* + * 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.BaseEditDialogController', { + extend: 'Ext.app.ViewController', + alias: 'controller.baseEditDialog', + + onSaveClick: function(button) { + var dialog = button.up('window').down('form'); + dialog.updateRecord(); + dialog.getRecord().save(); + button.up('window').close(); + }, + + onCancelClick: function(button) { + button.up('window').close(); + } +}); diff --git a/web/app/view/ServerDialog.js b/web/app/view/ServerDialog.js new file mode 100644 index 000000000..1339786ab --- /dev/null +++ b/web/app/view/ServerDialog.js @@ -0,0 +1,77 @@ +/* + * 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.ServerDialog', { + extend: 'Traccar.view.BaseEditDialog', + + requires: [ + 'Traccar.view.BaseEditDialogController' + ], + + controller: 'baseEditDialog', + title: strings.serverTitle, + + items: { + xtype: 'form', + items: [{ + xtype: 'checkboxfield', + name: 'registration', + fieldLabel: strings.serverRegistration, + allowBlank: false + }, { + xtype: 'combobox', + name: 'map', + fieldLabel: strings.mapLayer, + store: 'MapTypes', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'textfield', + name: 'bingKey', + fieldLabel: strings.mapBingKey + }, { + xtype: 'textfield', + name: 'mapUrl', + fieldLabel: strings.mapCustom + }, { + xtype: 'combobox', + name: 'distanceUnit', + fieldLabel: strings.settingsDistanceUnit, + store: 'DistanceUnits', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'combobox', + name: 'speedUnit', + fieldLabel: strings.settingsSpeedUnit, + store: 'SpeedUnits', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'numberfield', + name: 'latitude', + fieldLabel: strings.positionLatitude + }, { + xtype: 'numberfield', + name: 'longitude', + fieldLabel: strings.positionLongitude + }, { + xtype: 'numberfield', + name: 'zoom', + fieldLabel: strings.serverZoom + }] + } +}); diff --git a/web/app/view/admin/ServerDialog.js b/web/app/view/admin/ServerDialog.js deleted file mode 100644 index 080e2fcc4..000000000 --- a/web/app/view/admin/ServerDialog.js +++ /dev/null @@ -1,90 +0,0 @@ -/* - * 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.admin.ServerDialog', { - extend: 'Ext.window.Window', - - requires: [ - 'Traccar.view.admin.ServerDialogController' - ], - - controller: 'serverDialog', - - bodyPadding: styles.panelPadding, - title: strings.serverTitle, - resizable: false, - modal: true, - - items: { - xtype: 'form', - items: [{ - xtype: 'checkboxfield', - name: 'registration', - fieldLabel: strings.serverRegistration, - allowBlank: false - }, { - xtype: 'combobox', - name: 'map', - fieldLabel: strings.mapLayer, - store: 'MapTypes', - displayField: 'name', - valueField: 'key' - }, { - xtype: 'textfield', - name: 'bingKey', - fieldLabel: strings.mapBingKey - }, { - xtype: 'textfield', - name: 'mapUrl', - fieldLabel: strings.mapCustom - }, { - xtype: 'combobox', - name: 'distanceUnit', - fieldLabel: strings.settingsDistanceUnit, - store: 'DistanceUnits', - displayField: 'name', - valueField: 'key' - }, { - xtype: 'combobox', - name: 'speedUnit', - fieldLabel: strings.settingsSpeedUnit, - store: 'SpeedUnits', - displayField: 'name', - valueField: 'key' - }, { - xtype: 'numberfield', - name: 'latitude', - fieldLabel: strings.positionLatitude - }, { - xtype: 'numberfield', - name: 'longitude', - fieldLabel: strings.positionLongitude - }, { - xtype: 'numberfield', - name: 'zoom', - fieldLabel: strings.serverZoom - }] - }, - - buttons: [{ - text: strings.sharedSave, - handler: 'onSaveClick' - }, { - text: strings.sharedCancel, - handler: 'onCancelClick' - }] - -}); diff --git a/web/app/view/admin/ServerDialogController.js b/web/app/view/admin/ServerDialogController.js deleted file mode 100644 index ed1ec20f8..000000000 --- a/web/app/view/admin/ServerDialogController.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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.admin.ServerDialogController', { - extend: 'Ext.app.ViewController', - alias: 'controller.serverDialog', - - onSaveClick: function(button) { - var dialog = button.up('window').down('form'); - dialog.updateRecord(); - dialog.getRecord().save(); - button.up('window').close(); - }, - - onCancelClick: function(button) { - button.up('window').close(); - } - -}); diff --git a/web/app/view/device/DeviceController.js b/web/app/view/device/DeviceController.js index 3cfe3888d..d7cade414 100644 --- a/web/app/view/device/DeviceController.js +++ b/web/app/view/device/DeviceController.js @@ -22,7 +22,7 @@ Ext.define('Traccar.view.device.DeviceController', { 'Traccar.view.device.DeviceDialog', 'Traccar.view.command.CommandDialog', 'Traccar.view.user.UserDialog', - 'Traccar.view.admin.ServerDialog', + 'Traccar.view.ServerDialog', 'Traccar.view.user.User', 'Traccar.view.login.LoginController' ], @@ -112,7 +112,7 @@ Ext.define('Traccar.view.device.DeviceController', { }, onServerClick: function() { - var dialog = Ext.create('Traccar.view.admin.ServerDialog'); + var dialog = Ext.create('Traccar.view.ServerDialog'); dialog.down('form').loadRecord(Traccar.app.getServer()); dialog.show(); }, -- cgit v1.2.3