From 557ffa7f106e44a09a99746dcd8e4f369ea4730d Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 26 Dec 2016 18:06:48 +0500 Subject: Charts implementation --- web/app/store/DistanceUnits.js | 9 +++++++++ web/app/store/ReportChartTypes.js | 30 ++++++++++++++++++++++++++++++ web/app/store/ReportTypes.js | 3 +++ web/app/store/SpeedUnits.js | 11 ++++++++++- 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 web/app/store/ReportChartTypes.js (limited to 'web/app/store') diff --git a/web/app/store/DistanceUnits.js b/web/app/store/DistanceUnits.js index cc9f1e92..57d15fc8 100644 --- a/web/app/store/DistanceUnits.js +++ b/web/app/store/DistanceUnits.js @@ -33,6 +33,15 @@ Ext.define('Traccar.store.DistanceUnits', { factor: 0.000539957 }], + convertValue: function (value, unit) { + var model; + if (!unit) { + unit = 'km'; + } + model = this.findRecord('key', unit); + return value * model.get('factor'); + }, + formatValue: function (value, unit) { var model; if (!unit) { diff --git a/web/app/store/ReportChartTypes.js b/web/app/store/ReportChartTypes.js new file mode 100644 index 00000000..7a63fd08 --- /dev/null +++ b/web/app/store/ReportChartTypes.js @@ -0,0 +1,30 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +Ext.define('Traccar.store.ReportChartTypes', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'speedConverted', + name: Strings.positionSpeed + }, { + key: 'distanceConverted', + name: Strings.positionDistance + }] +}); diff --git a/web/app/store/ReportTypes.js b/web/app/store/ReportTypes.js index 18b0c74a..3305a10c 100644 --- a/web/app/store/ReportTypes.js +++ b/web/app/store/ReportTypes.js @@ -31,5 +31,8 @@ Ext.define('Traccar.store.ReportTypes', { }, { key: 'summary', name: Strings.reportSummary + }, { + key: 'charts', + name: Strings.reportCharts }] }); diff --git a/web/app/store/SpeedUnits.js b/web/app/store/SpeedUnits.js index e29a42c7..0480ad42 100644 --- a/web/app/store/SpeedUnits.js +++ b/web/app/store/SpeedUnits.js @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton@traccar.org) + * Copyright 2015 - 2016 Anton Tananaev (anton@traccar.org) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -33,6 +33,15 @@ Ext.define('Traccar.store.SpeedUnits', { factor: 1.15078 }], + convertValue: function (value, unit) { + var model; + if (!unit) { + unit = 'kn'; + } + model = this.findRecord('key', unit); + return value * model.get('factor'); + }, + formatValue: function (value, unit) { var model; if (!unit) { -- cgit v1.2.3 From 3e19bbcd0d871db4c38d9f44c3ae29bafdff5a9d Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Tue, 27 Dec 2016 10:08:43 +0500 Subject: Reuse convertValue functions --- web/app/store/DistanceUnits.js | 4 ++-- web/app/store/SpeedUnits.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'web/app/store') diff --git a/web/app/store/DistanceUnits.js b/web/app/store/DistanceUnits.js index 57d15fc8..0dcddbea 100644 --- a/web/app/store/DistanceUnits.js +++ b/web/app/store/DistanceUnits.js @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton@traccar.org) + * Copyright 2015 - 2016 Anton Tananaev (anton@traccar.org) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -48,6 +48,6 @@ Ext.define('Traccar.store.DistanceUnits', { unit = 'km'; } model = this.findRecord('key', unit); - return (value * model.get('factor')).toFixed(2) + ' ' + model.get('name'); + return this.convertValue(value, unit).toFixed(2) + ' ' + model.get('name'); } }); diff --git a/web/app/store/SpeedUnits.js b/web/app/store/SpeedUnits.js index 0480ad42..a14ab22d 100644 --- a/web/app/store/SpeedUnits.js +++ b/web/app/store/SpeedUnits.js @@ -48,6 +48,6 @@ Ext.define('Traccar.store.SpeedUnits', { unit = 'kn'; } model = this.findRecord('key', unit); - return (value * model.get('factor')).toFixed(1) + ' ' + model.get('name'); + return this.convertValue(value, unit).toFixed(1) + ' ' + model.get('name'); } }); -- cgit v1.2.3