aboutsummaryrefslogtreecommitdiff
path: root/web/app/view
diff options
context:
space:
mode:
Diffstat (limited to 'web/app/view')
-rw-r--r--web/app/view/Device.js26
-rw-r--r--web/app/view/DeviceController.js39
-rw-r--r--web/app/view/EditToolbar.js (renamed from web/app/view/BaseEditToolbar.js)4
-rw-r--r--web/app/view/SettingsMenu.js50
-rw-r--r--web/app/view/SettingsMenuController.js60
-rw-r--r--web/app/view/User.js4
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,