diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-06-07 08:21:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-07 08:21:06 -0700 |
commit | a330ae09293c62aae381cb2c7f36cfa76b86e813 (patch) | |
tree | 26478c08fc6f7136ec8355d13af2a1bbf97207dc /web/app/controller/Root.js | |
parent | b6f2faab0d35d54189fefd7567b6310023c3ad7b (diff) | |
parent | e04a02921ea015d4f4fe69c1c3f1813a07be9cf4 (diff) | |
download | trackermap-web-a330ae09293c62aae381cb2c7f36cfa76b86e813.tar.gz trackermap-web-a330ae09293c62aae381cb2c7f36cfa76b86e813.tar.bz2 trackermap-web-a330ae09293c62aae381cb2c7f36cfa76b86e813.zip |
Merge pull request #501 from Abyss777/position_attributes_reports
Known position attributes for reports and charts
Diffstat (limited to 'web/app/controller/Root.js')
-rw-r--r-- | web/app/controller/Root.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index 8d604b62..5d22a74a 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -26,7 +26,31 @@ Ext.define('Traccar.controller.Root', { ], init: function () { + var i, data, attribute, chartTypesStore = Ext.getStore('ReportChartTypes'); Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); + data = Ext.getStore('PositionAttributes').getData().items; + for (i = 0; i < data.length; i++) { + attribute = data[i]; + Traccar.model.Position.addFields([{ + name: 'attribute.' + attribute.get('key'), + attributeKey: attribute.get('key'), + calculate: this.calculateAttribute, + persist: false + }]); + if (attribute.get('valueType') === 'number') { + chartTypesStore.add({ + key: 'attribute.' + attribute.get('key'), + name: attribute.get('name') + }); + } + } + }, + + calculateAttribute: function (data) { + var value = data.attributes[this.attributeKey]; + if (value !== undefined) { + return Traccar.AttributeFormatter.getAttributeConverter(this.attributeKey)(value); + } }, onLaunch: function () { |