aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2015-06-07 16:41:46 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2015-06-07 16:41:46 +1200
commit4a91ebb7535b8e199b8c9cce041757eeedd350ce (patch)
tree2a02d2937732ba6960cf1c834192d43abbec4597
parent1680d3d0234d9d1e2152e644882a9c1fb39a8a47 (diff)
downloadtraccar-server-4a91ebb7535b8e199b8c9cce041757eeedd350ce.tar.gz
traccar-server-4a91ebb7535b8e199b8c9cce041757eeedd350ce.tar.bz2
traccar-server-4a91ebb7535b8e199b8c9cce041757eeedd350ce.zip
Add device status panel
-rw-r--r--web/app/Application.js6
-rw-r--r--web/app/Resources.js6
-rw-r--r--web/app/model/Parameter.js24
-rw-r--r--web/app/store/Parameters.js20
-rw-r--r--web/app/view/main/Main.js19
-rw-r--r--web/app/view/state/State.js35
-rw-r--r--web/app/view/state/StateController.js24
7 files changed, 129 insertions, 5 deletions
diff --git a/web/app/Application.js b/web/app/Application.js
index dbd5b1f96..7eefaced3 100644
--- a/web/app/Application.js
+++ b/web/app/Application.js
@@ -27,14 +27,16 @@ Ext.define('Traccar.Application', {
'Server',
'User',
'Device',
- 'Position'
+ 'Position',
+ 'Parameter'
],
stores: [
'Devices',
'Positions',
'LiveData',
- 'Users'
+ 'Users',
+ 'Parameters'
],
controllers: [
diff --git a/web/app/Resources.js b/web/app/Resources.js
index fa74a1e77..03993a2ec 100644
--- a/web/app/Resources.js
+++ b/web/app/Resources.js
@@ -73,7 +73,11 @@ var strings = {
dialog_delete: 'Delete',
dialog_cancel: 'Cancel',
- map_title: 'Map'
+ map_title: 'Map',
+
+ state_title: 'State',
+ state_name: 'Parameter',
+ state_value: 'Value'
};
var styles = {
diff --git a/web/app/model/Parameter.js b/web/app/model/Parameter.js
new file mode 100644
index 000000000..6310f4aee
--- /dev/null
+++ b/web/app/model/Parameter.js
@@ -0,0 +1,24 @@
+/*
+ * 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.model.Parameter', {
+ extend: 'Ext.data.Model',
+
+ fields: [
+ { name: 'name', type: 'string' },
+ { name: 'value', type: 'string' }
+ ]
+});
diff --git a/web/app/store/Parameters.js b/web/app/store/Parameters.js
new file mode 100644
index 000000000..508dabc97
--- /dev/null
+++ b/web/app/store/Parameters.js
@@ -0,0 +1,20 @@
+/*
+ * 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.store.Parameters', {
+ extend: 'Ext.data.Store',
+ model: 'Traccar.model.Parameter'
+});
diff --git a/web/app/view/main/Main.js b/web/app/view/main/Main.js
index d6a350785..e7dc5f83c 100644
--- a/web/app/view/main/Main.js
+++ b/web/app/view/main/Main.js
@@ -19,6 +19,7 @@ Ext.define('Traccar.view.main.Main', {
requires: [
'Traccar.view.device.Device',
+ 'Traccar.view.state.State',
'Traccar.view.report.Report',
'Traccar.view.map.Map'
],
@@ -32,8 +33,22 @@ Ext.define('Traccar.view.main.Main', {
items: [{
region:'west',
- xtype: 'device-view',
- width: styles.device_width
+ layout: 'border',
+ width: styles.device_width,
+ header: false,
+ defaults: {
+ split: true
+ },
+ items: [{
+ collapsible: false,
+ region: 'center',
+ xtype: 'device-view',
+ flex: 1
+ }, {
+ region: 'south',
+ xtype: 'state-view',
+ flex: 1
+ }]
}, {
region: 'south',
xtype: 'report-view',
diff --git a/web/app/view/state/State.js b/web/app/view/state/State.js
new file mode 100644
index 000000000..de7cab87f
--- /dev/null
+++ b/web/app/view/state/State.js
@@ -0,0 +1,35 @@
+/*
+ * 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.state.State', {
+ extend: 'Ext.grid.Panel',
+ xtype: 'state-view',
+
+ requires: [
+ 'Traccar.view.state.StateController'
+ ],
+
+ controller: 'state',
+ //store: 'Parameters',
+
+ title: strings.state_title,
+
+ columns: [
+ { text: strings.state_name, dataIndex: 'name', flex: 1 },
+ { text: strings.state_value, dataIndex: 'value', flex: 1 }
+ ]
+
+});
diff --git a/web/app/view/state/StateController.js b/web/app/view/state/StateController.js
new file mode 100644
index 000000000..8050bcb88
--- /dev/null
+++ b/web/app/view/state/StateController.js
@@ -0,0 +1,24 @@
+/*
+ * 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.state.StateController', {
+ extend: 'Ext.app.ViewController',
+ alias: 'controller.state',
+
+ init: function() {
+ }
+
+});