diff --git a/ui-ngx/src/app/modules/home/pages/rulechain/debug-duration-left.pipe.ts b/ui-ngx/src/app/modules/home/pages/rulechain/debug-duration-left.pipe.ts index 7086bb504d..d6615da476 100644 --- a/ui-ngx/src/app/modules/home/pages/rulechain/debug-duration-left.pipe.ts +++ b/ui-ngx/src/app/modules/home/pages/rulechain/debug-duration-left.pipe.ts @@ -28,12 +28,13 @@ export class DebugDurationLeftPipe implements PipeTransform { constructor(private translate: TranslateService, private millisecondsToTimeString: MillisecondsToTimeStringPipe) { } + transform(lastUpdateTs: number, maxRuleNodeDebugDurationMinutes: number): string { const time = this.millisecondsToTimeString.transform(this.getDebugTime(lastUpdateTs, maxRuleNodeDebugDurationMinutes), true, true); return `${time} ` + this.translate.instant('common.left'); } - getDebugTime(lastUpdateTs: number, maxRuleNodeDebugDurationMinutes: number): number { + private getDebugTime(lastUpdateTs: number, maxRuleNodeDebugDurationMinutes: number): number { const maxDuration = maxRuleNodeDebugDurationMinutes * MINUTE; const updateDuration = lastUpdateTs ? new Date().getTime() - lastUpdateTs : 0; const leftTime = maxDuration - updateDuration; diff --git a/ui-ngx/src/app/shared/pipe/milliseconds-to-time-string.pipe.ts b/ui-ngx/src/app/shared/pipe/milliseconds-to-time-string.pipe.ts index d7c5902898..d00fd3f3fc 100644 --- a/ui-ngx/src/app/shared/pipe/milliseconds-to-time-string.pipe.ts +++ b/ui-ngx/src/app/shared/pipe/milliseconds-to-time-string.pipe.ts @@ -16,6 +16,7 @@ import { Pipe, PipeTransform } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; +import { DAY, HOUR, MINUTE, SECOND } from '@shared/models/time/time.models'; @Pipe({ name: 'milliSecondsToTimeString' @@ -24,17 +25,18 @@ export class MillisecondsToTimeStringPipe implements PipeTransform { constructor(private translate: TranslateService) { } + transform(millseconds: number, shortFormat = false, onlyFirstDigit = false): string { const { days, hours, minutes, seconds } = this.extractTimeUnits(millseconds); return this.formatTimeString(days, hours, minutes, seconds, shortFormat, onlyFirstDigit); } private extractTimeUnits(milliseconds: number): { days: number; hours: number; minutes: number; seconds: number } { - const seconds = Math.floor(milliseconds / 1000); - const days = Math.floor(seconds / 86400); - const hours = Math.floor((seconds % 86400) / 3600); - const minutes = Math.floor(((seconds % 86400) % 3600) / 60); - return { days, hours, minutes, seconds: seconds % 60 }; + const days = Math.floor(milliseconds / DAY); + const hours = Math.floor((milliseconds % DAY) / HOUR); + const minutes = Math.floor((milliseconds % HOUR) / MINUTE); + const seconds = Math.floor((milliseconds % MINUTE) / SECOND); + return { days, hours, minutes, seconds }; } private formatTimeString(