Browse Source

refactoring

pull/11861/head
mpetrov 2 years ago
parent
commit
107c95fbe2
  1. 3
      ui-ngx/src/app/modules/home/pages/rulechain/debug-duration-left.pipe.ts
  2. 12
      ui-ngx/src/app/shared/pipe/milliseconds-to-time-string.pipe.ts

3
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) { constructor(private translate: TranslateService, private millisecondsToTimeString: MillisecondsToTimeStringPipe) {
} }
transform(lastUpdateTs: number, maxRuleNodeDebugDurationMinutes: number): string { transform(lastUpdateTs: number, maxRuleNodeDebugDurationMinutes: number): string {
const time = this.millisecondsToTimeString.transform(this.getDebugTime(lastUpdateTs, maxRuleNodeDebugDurationMinutes), true, true); const time = this.millisecondsToTimeString.transform(this.getDebugTime(lastUpdateTs, maxRuleNodeDebugDurationMinutes), true, true);
return `${time} ` + this.translate.instant('common.left'); 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 maxDuration = maxRuleNodeDebugDurationMinutes * MINUTE;
const updateDuration = lastUpdateTs ? new Date().getTime() - lastUpdateTs : 0; const updateDuration = lastUpdateTs ? new Date().getTime() - lastUpdateTs : 0;
const leftTime = maxDuration - updateDuration; const leftTime = maxDuration - updateDuration;

12
ui-ngx/src/app/shared/pipe/milliseconds-to-time-string.pipe.ts

@ -16,6 +16,7 @@
import { Pipe, PipeTransform } from '@angular/core'; import { Pipe, PipeTransform } from '@angular/core';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { DAY, HOUR, MINUTE, SECOND } from '@shared/models/time/time.models';
@Pipe({ @Pipe({
name: 'milliSecondsToTimeString' name: 'milliSecondsToTimeString'
@ -24,17 +25,18 @@ export class MillisecondsToTimeStringPipe implements PipeTransform {
constructor(private translate: TranslateService) { constructor(private translate: TranslateService) {
} }
transform(millseconds: number, shortFormat = false, onlyFirstDigit = false): string { transform(millseconds: number, shortFormat = false, onlyFirstDigit = false): string {
const { days, hours, minutes, seconds } = this.extractTimeUnits(millseconds); const { days, hours, minutes, seconds } = this.extractTimeUnits(millseconds);
return this.formatTimeString(days, hours, minutes, seconds, shortFormat, onlyFirstDigit); return this.formatTimeString(days, hours, minutes, seconds, shortFormat, onlyFirstDigit);
} }
private extractTimeUnits(milliseconds: number): { days: number; hours: number; minutes: number; seconds: number } { private extractTimeUnits(milliseconds: number): { days: number; hours: number; minutes: number; seconds: number } {
const seconds = Math.floor(milliseconds / 1000); const days = Math.floor(milliseconds / DAY);
const days = Math.floor(seconds / 86400); const hours = Math.floor((milliseconds % DAY) / HOUR);
const hours = Math.floor((seconds % 86400) / 3600); const minutes = Math.floor((milliseconds % HOUR) / MINUTE);
const minutes = Math.floor(((seconds % 86400) % 3600) / 60); const seconds = Math.floor((milliseconds % MINUTE) / SECOND);
return { days, hours, minutes, seconds: seconds % 60 }; return { days, hours, minutes, seconds };
} }
private formatTimeString( private formatTimeString(

Loading…
Cancel
Save