From b56be9f7fd8dc4f0a65f7606828a023d392b473e Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 31 May 2018 15:53:56 +0500 Subject: Add engine hours in milliseconds support --- web/app/store/HoursUnits.js | 43 +++++++++++++++++++++++++++++++++++++ web/app/store/PositionAttributes.js | 3 ++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 web/app/store/HoursUnits.js (limited to 'web/app/store') diff --git a/web/app/store/HoursUnits.js b/web/app/store/HoursUnits.js new file mode 100644 index 0000000..02f62c6 --- /dev/null +++ b/web/app/store/HoursUnits.js @@ -0,0 +1,43 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 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.HoursUnits', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'fullName'], + + data: [{ + key: 'h', + name: Strings.sharedHourAbbreviation, + fullName: Strings.sharedHour + }], + + convertValue: function (value, unit, back) { + return back ? value * 3600000 : value / 3600000; + }, + + formatValue: function (value, unit, convert) { + var hours, minutes; + if (convert) { + hours = Math.floor(value / 3600000); + minutes = Math.floor(value % 3600000 / 60000); + } else { + hours = Math.floor(value); + minutes = Math.floor(value % 1 * 60); + } + return hours + ' ' + Strings.sharedHourAbbreviation + ' ' + minutes + ' ' + Strings.sharedMinuteAbbreviation; + } +}); diff --git a/web/app/store/PositionAttributes.js b/web/app/store/PositionAttributes.js index c8feb0a..5b1206b 100644 --- a/web/app/store/PositionAttributes.js +++ b/web/app/store/PositionAttributes.js @@ -90,7 +90,8 @@ Ext.define('Traccar.store.PositionAttributes', { }, { key: 'hours', name: Strings.positionHours, - valueType: 'string' + valueType: 'number', + dataType: 'hours' }, { key: 'steps', name: Strings.positionSteps, -- cgit v1.2.3