aboutsummaryrefslogtreecommitdiff
path: root/web/app
diff options
context:
space:
mode:
Diffstat (limited to 'web/app')
-rw-r--r--web/app/AttributeFormatter.js15
-rw-r--r--web/app/model/ReportSummary.js3
-rw-r--r--web/app/view/ReportController.js5
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') {