From 364ae5f1862d9d416fc27f9fc56b04c23778d612 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 21 Sep 2017 11:37:35 +0500 Subject: Implement UI setting to hide listed Position Attributes --- web/app/store/CommonUserAttributes.js | 4 ++++ web/app/view/StateController.js | 11 ++++++++++- web/l10n/en.json | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/web/app/store/CommonUserAttributes.js b/web/app/store/CommonUserAttributes.js index 1ba223f..d6b0b10 100644 --- a/web/app/store/CommonUserAttributes.js +++ b/web/app/store/CommonUserAttributes.js @@ -58,6 +58,10 @@ Ext.define('Traccar.store.CommonUserAttributes', { key: 'ui.disableCalendars', name: Strings.attributeUiDisableCalendars, valueType: 'boolean' + }, { + key: 'ui.hiddenPositionAttributes', + name: Strings.attributeUiHiddenPositionAttributes, + valueType: 'string' }, { key: 'distanceUnit', name: Strings.settingsDistanceUnit, diff --git a/web/app/view/StateController.js b/web/app/view/StateController.js index c6c1507..0ce8b1f 100644 --- a/web/app/view/StateController.js +++ b/web/app/view/StateController.js @@ -50,11 +50,20 @@ Ext.define('Traccar.view.StateController', { init: function () { + var i, hiddenAttributesPreference, attributesList; if (Traccar.app.getUser().get('admin') || !Traccar.app.getUser().get('deviceReadonly') && !Traccar.app.getPreference('readonly', false)) { this.lookupReference('computedAttributesButton').setDisabled( Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); } + hiddenAttributesPreference = Traccar.app.getAttributePreference('ui.hiddenPositionAttributes'); + this.hiddenAttributes = {}; + if (hiddenAttributesPreference) { + attributesList = hiddenAttributesPreference.split(/[ ,]+/).filter(Boolean); + for (i = 0; i < attributesList.length; i++) { + this.hiddenAttributes[attributesList[i]] = true; + } + } }, onComputedAttributesClick: function () { @@ -124,7 +133,7 @@ Ext.define('Traccar.view.StateController', { attributes = this.position.get('attributes'); if (attributes instanceof Object) { for (key in attributes) { - if (attributes.hasOwnProperty(key)) { + if (attributes.hasOwnProperty(key) && !this.hiddenAttributes[key]) { this.lookupAttribute = key; name = Ext.getStore('PositionAttributes').getAttributeName(key, true); if (this.position.get('attribute.' + key) !== undefined) { diff --git a/web/l10n/en.json b/web/l10n/en.json index 77b7d03..15d97ff 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -99,6 +99,7 @@ "attributeUiDisableDrivers": "UI: Disable Drivers", "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiHiddenPositionAttributes": "UI: Hidden Position Attributes", "errorTitle": "Error", "errorGeneral": "Invalid parameters or constraints violation", "errorConnection": "Connection error", -- cgit v1.2.3 From cd3441751d939c06390a850f3457b67abab365a9 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 21 Sep 2017 17:20:05 +0500 Subject: Rename "hidden" to "hide" --- web/app/store/CommonUserAttributes.js | 4 ++-- web/app/view/StateController.js | 14 +++++++------- web/l10n/en.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/web/app/store/CommonUserAttributes.js b/web/app/store/CommonUserAttributes.js index d6b0b10..eadb1c5 100644 --- a/web/app/store/CommonUserAttributes.js +++ b/web/app/store/CommonUserAttributes.js @@ -59,8 +59,8 @@ Ext.define('Traccar.store.CommonUserAttributes', { name: Strings.attributeUiDisableCalendars, valueType: 'boolean' }, { - key: 'ui.hiddenPositionAttributes', - name: Strings.attributeUiHiddenPositionAttributes, + key: 'ui.hidePositionAttributes', + name: Strings.attributeUiHidePositionAttributes, valueType: 'string' }, { key: 'distanceUnit', diff --git a/web/app/view/StateController.js b/web/app/view/StateController.js index 0ce8b1f..70f0228 100644 --- a/web/app/view/StateController.js +++ b/web/app/view/StateController.js @@ -50,18 +50,18 @@ Ext.define('Traccar.view.StateController', { init: function () { - var i, hiddenAttributesPreference, attributesList; + var i, hideAttributesPreference, attributesList; if (Traccar.app.getUser().get('admin') || !Traccar.app.getUser().get('deviceReadonly') && !Traccar.app.getPreference('readonly', false)) { this.lookupReference('computedAttributesButton').setDisabled( Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); } - hiddenAttributesPreference = Traccar.app.getAttributePreference('ui.hiddenPositionAttributes'); - this.hiddenAttributes = {}; - if (hiddenAttributesPreference) { - attributesList = hiddenAttributesPreference.split(/[ ,]+/).filter(Boolean); + hideAttributesPreference = Traccar.app.getAttributePreference('ui.hidePositionAttributes'); + this.hideAttributes = {}; + if (hideAttributesPreference) { + attributesList = hideAttributesPreference.split(/[ ,]+/).filter(Boolean); for (i = 0; i < attributesList.length; i++) { - this.hiddenAttributes[attributesList[i]] = true; + this.hideAttributes[attributesList[i]] = true; } } }, @@ -133,7 +133,7 @@ Ext.define('Traccar.view.StateController', { attributes = this.position.get('attributes'); if (attributes instanceof Object) { for (key in attributes) { - if (attributes.hasOwnProperty(key) && !this.hiddenAttributes[key]) { + if (attributes.hasOwnProperty(key) && !this.hideAttributes[key]) { this.lookupAttribute = key; name = Ext.getStore('PositionAttributes').getAttributeName(key, true); if (this.position.get('attribute.' + key) !== undefined) { diff --git a/web/l10n/en.json b/web/l10n/en.json index 15d97ff..91f5ca7 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -99,7 +99,7 @@ "attributeUiDisableDrivers": "UI: Disable Drivers", "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", "attributeUiDisableCalendars": "UI: Disable Calendars", - "attributeUiHiddenPositionAttributes": "UI: Hidden Position Attributes", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", "errorTitle": "Error", "errorGeneral": "Invalid parameters or constraints violation", "errorConnection": "Connection error", -- cgit v1.2.3