aboutsummaryrefslogtreecommitdiff
path: root/web/app/view
diff options
context:
space:
mode:
Diffstat (limited to 'web/app/view')
-rw-r--r--web/app/view/AttributesAliases.js5
-rw-r--r--web/app/view/AttributesAliasesController.js6
-rw-r--r--web/app/view/State.js8
-rw-r--r--web/app/view/StateController.js34
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();
+ }
+ });
}
});