diff options
Diffstat (limited to 'web/app')
-rw-r--r-- | web/app/AttributeFormatter.js | 15 | ||||
-rw-r--r-- | web/app/model/ReportSummary.js | 3 | ||||
-rw-r--r-- | web/app/view/ReportController.js | 5 |
3 files changed, 23 insertions, 0 deletions
diff --git a/web/app/AttributeFormatter.js b/web/app/AttributeFormatter.js index 3432ca1e0..7d008dc64 100644 --- a/web/app/AttributeFormatter.js +++ b/web/app/AttributeFormatter.js @@ -34,6 +34,19 @@ Ext.define('Traccar.AttributeFormatter', { return Ext.getStore('DistanceUnits').formatValue(value, Traccar.app.getPreference('distanceUnit')); }, + intervalFormatter: function (value) { + var days, hours, minutes, seconds; + seconds = Math.floor(value / 1000); + days = Math.floor(seconds / 86400); + hours = ('0' + Math.floor(seconds / 3600) % 24).slice(-2); + minutes = ('0' + Math.floor(seconds / 60) % 60).slice(-2); + seconds = ('0' + seconds % 60).slice(-2); + return (days > 0 ? days + Strings.sharedDayAbbreviation + ' ' : '') + + (hours > 0 ? hours + Strings.sharedHourAbbreviation + ' ' : '') + + (minutes > 0 ? minutes + Strings.sharedMinuteAbbreviation + ' ' : '') + + (seconds > 60 ? seconds : seconds + Strings.sharedSecondAbbreviation); + }, + defaultFormatter: function (value) { if (typeof value === 'number') { return Number(value.toFixed(Traccar.Style.numberPrecision)); @@ -58,6 +71,8 @@ Ext.define('Traccar.AttributeFormatter', { return this.courseFormatter; } else if (key === 'distance' || key === 'odometer') { return this.distanceFormatter; + } else if (key === 'interval') { + return this.intervalFormatter; } else { return this.defaultFormatter; } diff --git a/web/app/model/ReportSummary.js b/web/app/model/ReportSummary.js index 7821e1c00..2017d164a 100644 --- a/web/app/model/ReportSummary.js +++ b/web/app/model/ReportSummary.js @@ -33,5 +33,8 @@ Ext.define('Traccar.model.ReportSummary', { }, { name: 'distance', type: 'float' + }, { + name: 'motorHours', + type: 'int' }] }); diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js index ecc7b0f91..5ac84e8e2 100644 --- a/web/app/view/ReportController.js +++ b/web/app/view/ReportController.js @@ -227,6 +227,11 @@ Ext.define('Traccar.view.ReportController', { dataIndex: 'maxSpeed', flex: 1, renderer: Traccar.AttributeFormatter.getFormatter('speed') + }, { + text: Strings.reportMotorHours, + dataIndex: 'motorHours', + flex: 1, + renderer: Traccar.AttributeFormatter.getFormatter('interval') }]; if (newValue === 'route') { |