diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-06-07 16:41:46 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-06-07 16:41:46 +1200 |
commit | 4a91ebb7535b8e199b8c9cce041757eeedd350ce (patch) | |
tree | 2a02d2937732ba6960cf1c834192d43abbec4597 | |
parent | 1680d3d0234d9d1e2152e644882a9c1fb39a8a47 (diff) | |
download | trackermap-server-4a91ebb7535b8e199b8c9cce041757eeedd350ce.tar.gz trackermap-server-4a91ebb7535b8e199b8c9cce041757eeedd350ce.tar.bz2 trackermap-server-4a91ebb7535b8e199b8c9cce041757eeedd350ce.zip |
Add device status panel
-rw-r--r-- | web/app/Application.js | 6 | ||||
-rw-r--r-- | web/app/Resources.js | 6 | ||||
-rw-r--r-- | web/app/model/Parameter.js | 24 | ||||
-rw-r--r-- | web/app/store/Parameters.js | 20 | ||||
-rw-r--r-- | web/app/view/main/Main.js | 19 | ||||
-rw-r--r-- | web/app/view/state/State.js | 35 | ||||
-rw-r--r-- | web/app/view/state/StateController.js | 24 |
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() { + } + +}); |