diff options
Diffstat (limited to 'web/app/view')
-rw-r--r-- | web/app/view/AttributesAliases.js | 5 | ||||
-rw-r--r-- | web/app/view/AttributesAliasesController.js | 6 | ||||
-rw-r--r-- | web/app/view/State.js | 8 | ||||
-rw-r--r-- | web/app/view/StateController.js | 34 |
4 files changed, 27 insertions, 26 deletions
diff --git a/web/app/view/AttributesAliases.js b/web/app/view/AttributesAliases.js index b1390e45..717991dd 100644 --- a/web/app/view/AttributesAliases.js +++ b/web/app/view/AttributesAliases.js @@ -26,7 +26,7 @@ Ext.define('Traccar.view.AttributesAliases', { ], controller: 'attributesAliases', - store: 'AttributesAliases', + store: 'AttributeAliases', selType: 'rowmodel', @@ -46,8 +46,7 @@ Ext.define('Traccar.view.AttributesAliases', { }, listeners: { - selectionchange: 'onSelectionChange', - destroy: 'onClose' + selectionchange: 'onSelectionChange' }, columns: [{ diff --git a/web/app/view/AttributesAliasesController.js b/web/app/view/AttributesAliasesController.js index e848c489..cda3e338 100644 --- a/web/app/view/AttributesAliasesController.js +++ b/web/app/view/AttributesAliasesController.js @@ -90,11 +90,5 @@ Ext.define('Traccar.view.AttributesAliasesController', { } else { this.getView().getStore().loadData([], false); } - }, - - onClose: function () { - Ext.getStore('AllAttributesAliases').load(); - this.fireEvent('updatealiases'); } - }); diff --git a/web/app/view/State.js b/web/app/view/State.js index ddb9c0ea..7e9e235c 100644 --- a/web/app/view/State.js +++ b/web/app/view/State.js @@ -49,17 +49,13 @@ Ext.define('Traccar.view.State', { columns: [{ text: Strings.stateName, dataIndex: 'name', - flex: 1, - renderer: function (value, metaData, record) { - var alias = record.get('alias'); - return alias !== '' ? alias : value; - } + flex: 1 }, { text: Strings.stateValue, dataIndex: 'value', flex: 1, renderer: function (value, metaData, record) { - if (record.get('name') === 'Alarm') { + if (record.get('attribute') === 'alarm') { metaData.tdCls = 'view-color-red'; } return value; diff --git a/web/app/view/StateController.js b/web/app/view/StateController.js index b7df1e2e..7462fcc8 100644 --- a/web/app/view/StateController.js +++ b/web/app/view/StateController.js @@ -44,9 +44,13 @@ Ext.define('Traccar.view.StateController', { '#Positions': { clear: 'clearReport' }, - '#AllAttributesAliases': { + '#AllAttributeAliases': { add: 'updateAliases', update: 'updateAliases' + }, + '#AttributeAliases': { + add: 'updateAliasesRemote', + update: 'updateAliasesRemote' } } } @@ -89,7 +93,7 @@ Ext.define('Traccar.view.StateController', { }, updatePosition: function () { - var attributes, store, key, aliasesStore, attributeAlias, alias; + var attributes, store, key, aliasesStore, attributeAlias, name; store = Ext.getStore('Attributes'); store.removeAll(); @@ -103,7 +107,7 @@ Ext.define('Traccar.view.StateController', { } } - aliasesStore = Ext.getStore('AllAttributesAliases'); + aliasesStore = Ext.getStore('AllAttributeAliases'); aliasesStore.filter('deviceId', this.position.get('deviceId')); attributes = this.position.get('attributes'); @@ -112,17 +116,16 @@ Ext.define('Traccar.view.StateController', { if (attributes.hasOwnProperty(key)) { attributeAlias = aliasesStore.findRecord('attribute', key, 0, false, true, true); if (attributeAlias !== null) { - alias = attributeAlias.get('alias'); + name = attributeAlias.get('alias'); } else { - alias = ''; + name = key.replace(/^./, function (match) { + return match.toUpperCase(); + }); } store.add(Ext.create('Traccar.model.Attribute', { priority: 1024, - name: key.replace(/^./, function (match) { - return match.toUpperCase(); - }), + name: name, attribute: key, - alias: alias, value: Traccar.AttributeFormatter.getFormatter(key)(attributes[key]) })); } @@ -155,14 +158,14 @@ Ext.define('Traccar.view.StateController', { }, onSelectionChange: function (selected, records) { - var enabled = selected.getCount() > 0 && records[0].get('attribute') !== ''; + var enabled = selected.getCount() > 0 && records[0].get('priority') === 1024; this.lookupReference('aliasEditButton').setDisabled(!enabled); }, onAliasEditClick: function () { var attribute, aliasesStore, attributeAlias, dialog; attribute = this.getView().getSelectionModel().getSelection()[0]; - aliasesStore = Ext.getStore('AllAttributesAliases'); + aliasesStore = Ext.getStore('AllAttributeAliases'); attributeAlias = aliasesStore.findRecord('attribute', attribute.get('attribute'), 0, false, true, true); if (attributeAlias === null) { attributeAlias = Ext.create('Traccar.model.AttributeAlias', { @@ -180,5 +183,14 @@ Ext.define('Traccar.view.StateController', { if (this.position !== null) { this.updatePosition(); } + }, + + updateAliasesRemote: function () { + Ext.getStore('AllAttributeAliases').load({ + scope: this, + callback: function () { + this.updateAliases(); + } + }); } }); |