show daily sum in calendar week and day view (#2519)

This commit is contained in:
Kevin Papst
2021-04-21 16:11:31 +02:00
committed by GitHub
parent 09c9a95fcf
commit 305a2fd4f6
11 changed files with 158 additions and 95 deletions

View File

@@ -26,4 +26,39 @@ export default class KimaiDateUtils extends KimaiPlugin {
return moment.localeData().months();
}
formatDuration(since) {
const duration = moment.duration(moment(new Date()).diff(moment(since)));
return this.formatMomentDuration(duration);
}
formatSeconds(seconds) {
const duration = moment.duration('PT' + seconds + 'S');
return this.formatMomentDuration(duration);
}
formatMomentDuration(duration) {
const hours = parseInt(duration.asHours()).toString();
const minutes = duration.minutes();
const seconds = duration.seconds();
return this.formatTime(hours, minutes, seconds);
}
formatTime(hours, minutes, seconds) {
if (hours < 0 || minutes < 0 || seconds < 0) {
return '?';
}
// special case for hours, as they can overflow the 24h barrier - Kimai does not support days as duration unit
if (hours.length === 1) {
hours = '0' + hours;
}
const format = this.getConfiguration('formatDuration');
return format.replace('%h', hours).replace('%m', ('0'+minutes).substr(-2)).replace('%s', ('0'+seconds).substr(-2));
}
}