@apipass/containers 1.0.95 → 1.0.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/duration/duration-progressbar/duration-progressbar.component.d.ts +2 -1
- package/duration/duration-timeline/duration-timeline.component.d.ts +2 -1
- package/esm2022/duration/duration-progressbar/duration-progressbar.component.mjs +10 -7
- package/esm2022/duration/duration-timeline/duration-timeline.component.mjs +9 -6
- package/fesm2022/apipass-containers.mjs +16 -10
- package/fesm2022/apipass-containers.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ export declare class DurationProgressbarComponent implements OnInit {
|
|
|
12
12
|
progressHeight: number;
|
|
13
13
|
runningTooltip: string;
|
|
14
14
|
progressTooltipConjunction: string;
|
|
15
|
+
timezone: string;
|
|
15
16
|
totalDurationTime: number;
|
|
16
17
|
partDurationTime: number;
|
|
17
18
|
startPercentage: number;
|
|
@@ -31,5 +32,5 @@ export declare class DurationProgressbarComponent implements OnInit {
|
|
|
31
32
|
stringToDate(date: Date | string): Date;
|
|
32
33
|
getTooltipText(): string;
|
|
33
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<DurationProgressbarComponent, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DurationProgressbarComponent, "duration-progressbar-component", never, { "barHeight": { "alias": "barHeight"; "required": false; }; "progressHeight": { "alias": "progressHeight"; "required": false; }; "runningTooltip": { "alias": "runningTooltip"; "required": false; }; "progressTooltipConjunction": { "alias": "progressTooltipConjunction"; "required": false; }; "startPartDate": { "alias": "startPartDate"; "required": false; }; "endPartDate": { "alias": "endPartDate"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DurationProgressbarComponent, "duration-progressbar-component", never, { "barHeight": { "alias": "barHeight"; "required": false; }; "progressHeight": { "alias": "progressHeight"; "required": false; }; "runningTooltip": { "alias": "runningTooltip"; "required": false; }; "progressTooltipConjunction": { "alias": "progressTooltipConjunction"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; "startPartDate": { "alias": "startPartDate"; "required": false; }; "endPartDate": { "alias": "endPartDate"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
36
|
}
|
|
@@ -9,6 +9,7 @@ export declare class DurationTimelineComponent implements OnInit {
|
|
|
9
9
|
onlyLargestUnit: boolean;
|
|
10
10
|
runningLabel: string;
|
|
11
11
|
runningTooltip: string;
|
|
12
|
+
timezone: string;
|
|
12
13
|
set startDate(date: Date | string);
|
|
13
14
|
get startDate(): Date;
|
|
14
15
|
set endDate(date: Date | string);
|
|
@@ -21,5 +22,5 @@ export declare class DurationTimelineComponent implements OnInit {
|
|
|
21
22
|
stringToDate(date: Date | string): Date;
|
|
22
23
|
getDurationWidth(): string;
|
|
23
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<DurationTimelineComponent, never>;
|
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DurationTimelineComponent, "duration-timeline-component", never, { "onlyLargestUnit": { "alias": "onlyLargestUnit"; "required": false; }; "runningLabel": { "alias": "runningLabel"; "required": false; }; "runningTooltip": { "alias": "runningTooltip"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "durationParts": { "alias": "durationParts"; "required": false; }; }, {}, never, never, false, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DurationTimelineComponent, "duration-timeline-component", never, { "onlyLargestUnit": { "alias": "onlyLargestUnit"; "required": false; }; "runningLabel": { "alias": "runningLabel"; "required": false; }; "runningTooltip": { "alias": "runningTooltip"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "durationParts": { "alias": "durationParts"; "required": false; }; }, {}, never, never, false, never>;
|
|
25
26
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { DurationPipe } from '@apipass/pipes';
|
|
3
|
-
import moment from 'moment';
|
|
3
|
+
import moment from 'moment-timezone';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@apipass/pipes";
|
|
6
6
|
import * as i2 from "@angular/common";
|
|
@@ -16,6 +16,7 @@ class DurationProgressbarComponent {
|
|
|
16
16
|
progressHeight = 18;
|
|
17
17
|
runningTooltip = 'Running';
|
|
18
18
|
progressTooltipConjunction = 'of';
|
|
19
|
+
timezone = 'America/Sao_Paulo';
|
|
19
20
|
totalDurationTime;
|
|
20
21
|
partDurationTime;
|
|
21
22
|
startPercentage;
|
|
@@ -63,8 +64,8 @@ class DurationProgressbarComponent {
|
|
|
63
64
|
this.running = true;
|
|
64
65
|
}
|
|
65
66
|
const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);
|
|
66
|
-
this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().toDate());
|
|
67
|
-
this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().toDate());
|
|
67
|
+
this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().tz(this.timezone).toDate());
|
|
68
|
+
this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().tz(this.timezone).toDate());
|
|
68
69
|
this.startPercentage = Math.round((100 * startPartGapTime) / this.totalDurationTime);
|
|
69
70
|
this.progressWidth = Math.round((100 * this.partDurationTime) / this.totalDurationTime);
|
|
70
71
|
if (this.progressWidth > 100) {
|
|
@@ -75,13 +76,13 @@ class DurationProgressbarComponent {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
getTotalDuration(startDate, endDate) {
|
|
78
|
-
return moment(endDate).diff(moment(startDate), 'milliseconds');
|
|
79
|
+
return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds');
|
|
79
80
|
}
|
|
80
81
|
stringToDate(date) {
|
|
81
82
|
if (!date) {
|
|
82
83
|
return null;
|
|
83
84
|
}
|
|
84
|
-
return
|
|
85
|
+
return moment(date).tz(this.timezone).toDate();
|
|
85
86
|
}
|
|
86
87
|
getTooltipText() {
|
|
87
88
|
if (this.running) {
|
|
@@ -90,7 +91,7 @@ class DurationProgressbarComponent {
|
|
|
90
91
|
return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressWidth.toFixed(0)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`;
|
|
91
92
|
}
|
|
92
93
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationProgressbarComponent, deps: [{ token: i1.DurationPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationProgressbarComponent, selector: "duration-progressbar-component", inputs: { barHeight: "barHeight", progressHeight: "progressHeight", runningTooltip: "runningTooltip", progressTooltipConjunction: "progressTooltipConjunction", startPartDate: "startPartDate", endPartDate: "endPartDate", startDate: "startDate", endDate: "endDate" }, ngImport: i0, template: "<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressWidth.toFixed(0)}}%)\n </span>\n </div>\n</div>\n", styles: [".duration-progressbar-component{width:100%;background:#FFF;border:1px solid #F3F5F8;box-sizing:border-box;font-size:12px;border-radius:40px;position:relative}.duration-progressbar-component .duration-current-progress{background:var(--color-primary);min-width:1%;max-width:100%;border:1px solid #F3F5F8;cursor:pointer;margin-top:-1px;border-radius:40px;filter:brightness(2);position:absolute}.duration-progressbar-component .duration-current-progress.duration-current-progress-running{background:var(--color-secondary-hover);filter:brightness(1)}.duration-progressbar-component .duration-value{position:absolute;display:block;cursor:pointer;border-radius:40px;text-overflow:ellipsis;overflow:hidden;white-space:break-spaces;text-align:center}.duration-progressbar-component .duration-value .duration-text{display:flex;justify-content:center;align-items:center;width:100%;color:#fff;text-overflow:clip;overflow:hidden;white-space:break-spaces}.duration-progressbar-component .duration-value .duration-text.duration-text-running{color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.DurationPipe, name: "durationTime" }] });
|
|
94
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationProgressbarComponent, selector: "duration-progressbar-component", inputs: { barHeight: "barHeight", progressHeight: "progressHeight", runningTooltip: "runningTooltip", progressTooltipConjunction: "progressTooltipConjunction", timezone: "timezone", startPartDate: "startPartDate", endPartDate: "endPartDate", startDate: "startDate", endDate: "endDate" }, ngImport: i0, template: "<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressWidth.toFixed(0)}}%)\n </span>\n </div>\n</div>\n", styles: [".duration-progressbar-component{width:100%;background:#FFF;border:1px solid #F3F5F8;box-sizing:border-box;font-size:12px;border-radius:40px;position:relative}.duration-progressbar-component .duration-current-progress{background:var(--color-primary);min-width:1%;max-width:100%;border:1px solid #F3F5F8;cursor:pointer;margin-top:-1px;border-radius:40px;filter:brightness(2);position:absolute}.duration-progressbar-component .duration-current-progress.duration-current-progress-running{background:var(--color-secondary-hover);filter:brightness(1)}.duration-progressbar-component .duration-value{position:absolute;display:block;cursor:pointer;border-radius:40px;text-overflow:ellipsis;overflow:hidden;white-space:break-spaces;text-align:center}.duration-progressbar-component .duration-value .duration-text{display:flex;justify-content:center;align-items:center;width:100%;color:#fff;text-overflow:clip;overflow:hidden;white-space:break-spaces}.duration-progressbar-component .duration-value .duration-text.duration-text-running{color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.DurationPipe, name: "durationTime" }] });
|
|
94
95
|
}
|
|
95
96
|
export { DurationProgressbarComponent };
|
|
96
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationProgressbarComponent, decorators: [{
|
|
@@ -104,6 +105,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
104
105
|
type: Input
|
|
105
106
|
}], progressTooltipConjunction: [{
|
|
106
107
|
type: Input
|
|
108
|
+
}], timezone: [{
|
|
109
|
+
type: Input
|
|
107
110
|
}], startPartDate: [{
|
|
108
111
|
type: Input
|
|
109
112
|
}], endPartDate: [{
|
|
@@ -113,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
113
116
|
}], endDate: [{
|
|
114
117
|
type: Input
|
|
115
118
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tcHJvZ3Jlc3NiYXIvZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tcHJvZ3Jlc3NiYXIvZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzdDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFFNUIsTUFLYSw0QkFBNEI7SUEyQlY7SUF6QnRCLE9BQU8sQ0FBUztJQUVmLFVBQVUsQ0FBTztJQUNqQixRQUFRLENBQU87SUFDZixjQUFjLENBQU87SUFDckIsWUFBWSxDQUFPO0lBR3BCLFNBQVMsR0FBVyxFQUFFLENBQUE7SUFHdEIsY0FBYyxHQUFXLEVBQUUsQ0FBQTtJQUczQixjQUFjLEdBQVcsU0FBUyxDQUFBO0lBR2xDLDBCQUEwQixHQUFHLElBQUksQ0FBQTtJQUVqQyxpQkFBaUIsQ0FBUztJQUMxQixnQkFBZ0IsQ0FBUztJQUV6QixlQUFlLENBQVM7SUFDeEIsYUFBYSxDQUFRO0lBRTVCLFlBQTZCLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ3ZELENBQUM7SUFFRCxJQUNJLGFBQWEsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElB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b25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER1cmF0aW9uUGlwZSB9IGZyb20gJ0BhcGlwYXNzL3BpcGVzJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkdXJhdGlvbi1wcm9ncmVzc2Jhci1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogJ2R1cmF0aW9uLXByb2dyZXNzYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2R1cmF0aW9uLXByb2dyZXNzYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHVyYXRpb25Qcm9ncmVzc2JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHJ1bm5pbmc6IGJvb2xlYW5cblxuICBwcml2YXRlIF9zdGFydERhdGU6IERhdGU7XG4gIHByaXZhdGUgX2VuZERhdGU6IERhdGU7XG4gIHByaXZhdGUgX3N0YXJ0UGFydERhdGU6IERhdGU7XG4gIHByaXZhdGUgX2VuZFBhcnREYXRlOiBEYXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBiYXJIZWlnaHQ6IG51bWJlciA9IDIwXG5cbiAgQElucHV0KClcbiAgcHVibGljIHByb2dyZXNzSGVpZ2h0OiBudW1iZXIgPSAxOFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBydW5uaW5nVG9vbHRpcDogc3RyaW5nID0gJ1J1bm5pbmcnXG5cbiAgQElucHV0KClcbiAgcHVibGljIHByb2dyZXNzVG9vbHRpcENvbmp1bmN0aW9uID0gJ29mJ1xuXG4gIHB1YmxpYyB0b3RhbER1cmF0aW9uVGltZTogbnVtYmVyO1xuICBwdWJsaWMgcGFydER1cmF0aW9uVGltZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBzdGFydFBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgcHVibGljIHByb2dyZXNzV2lkdGg6IG51bWJlclxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb25QaXBlOiBEdXJhdGlvblBpcGUpIHtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydFBhcnREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGFydFBhcnREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUoZGF0ZSk7XG4gICAgdGhpcy5pbml0aWFsaXplKCkudGhlbigpXG4gIH1cblxuICBnZXQgc3RhcnRQYXJ0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRQYXJ0RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBlbmRQYXJ0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fZW5kUGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBlbmRQYXJ0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kUGFydERhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc3RhcnREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBzdGFydERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBlbmREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9lbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUoZGF0ZSk7XG4gICAgdGhpcy5pbml0aWFsaXplKCkudGhlbigpXG4gIH1cblxuICBnZXQgZW5kRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kRGF0ZTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnN0YXJ0RGF0ZSB8fCAhdGhpcy5zdGFydFBhcnREYXRlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKCF0aGlzLmVuZFBhcnREYXRlKSB7XG4gICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0UGFydEdhcFRpbWUgPSB0aGlzLmdldFRvdGFsRHVyYXRpb24odGhpcy5zdGFydERhdGUsIHRoaXMuc3RhcnRQYXJ0RGF0ZSk7XG4gICAgdGhpcy50b3RhbER1cmF0aW9uVGltZSA9IHRoaXMuZ2V0VG90YWxEdXJhdGlvbih0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlIHx8IG1vbWVudCgpLnRvRGF0ZSgpKTtcbiAgICB0aGlzLnBhcnREdXJhdGlvblRpbWUgPSB0aGlzLmdldFRvdGFsRHVyYXRpb24odGhpcy5zdGFydFBhcnREYXRlLCB0aGlzLmVuZFBhcnREYXRlIHx8IG1vbWVudCgpLnRvRGF0ZSgpKTtcblxuICAgIHRoaXMuc3RhcnRQZXJjZW50YWdlID0gTWF0aC5yb3VuZCgoMTAwICogc3RhcnRQYXJ0R2FwVGltZSkgLyB0aGlzLnRvdGFsRHVyYXRpb25UaW1lKVxuICAgIHRoaXMucHJvZ3Jlc3NXaWR0aCA9IE1hdGgucm91bmQoKDEwMCAqIHRoaXMucGFydER1cmF0aW9uVGltZSkgLyB0aGlzLnRvdGFsRHVyYXRpb25UaW1lKVxuXG4gICAgaWYgKHRoaXMucHJvZ3Jlc3NXaWR0aCA+IDEwMCkge1xuICAgICAgdGhpcy5wcm9ncmVzc1dpZHRoID0gMTAwXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhcnRQZXJjZW50YWdlICsgdGhpcy5wcm9ncmVzc1dpZHRoID4gMTAwKSB7XG4gICAgICB0aGlzLnN0YXJ0UGVyY2VudGFnZSA9IDEwMCAtIHRoaXMucHJvZ3Jlc3NXaWR0aFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbER1cmF0aW9uKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChlbmREYXRlKS5kaWZmKG1vbWVudChzdGFydERhdGUpLCAnbWlsbGlzZWNvbmRzJylcbiAgfVxuXG4gIHB1YmxpYyBzdHJpbmdUb0RhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZyk6IERhdGUge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgU3RyaW5nID8gbmV3IERhdGUoZGF0ZSkgOiBkYXRlIGFzIERhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9vbHRpcFRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5ydW5uaW5nKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5ydW5uaW5nVG9vbHRpcH0gKCR7dGhpcy5kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMucGFydER1cmF0aW9uVGltZSl9KWBcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMuZHVyYXRpb25QaXBlLnRyYW5zZm9ybSh0aGlzLnBhcnREdXJhdGlvblRpbWUpfSAoJHt0aGlzLnByb2dyZXNzV2lkdGgudG9GaXhlZCgwKX0lKSAke3RoaXMucHJvZ3Jlc3NUb29sdGlwQ29uanVuY3Rpb259ICR7dGhpcy5kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMudG90YWxEdXJhdGlvblRpbWUpfWBcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHVyYXRpb24tcHJvZ3Jlc3NiYXItY29tcG9uZW50XCIgW25nQ2xhc3NdPVwieydkdXJhdGlvbi1wcm9ncmVzc2Jhci1jb21wb25lbnQtcnVubmluZyc6IHJ1bm5pbmd9XCIgW3N0eWxlLmhlaWdodC5weF09XCJiYXJIZWlnaHRcIj5cbiAgPGRpdiBjbGFzcz1cImR1cmF0aW9uLWN1cnJlbnQtcHJvZ3Jlc3NcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsnZHVyYXRpb24tY3VycmVudC1wcm9ncmVzcy1ydW5uaW5nJzogcnVubmluZ31cIlxuICAgICAgIFttYXRUb29sdGlwXT1cImdldFRvb2x0aXBUZXh0KClcIlxuICAgICAgIFtzdHlsZS5tYXJnaW4tbGVmdC4lXT1cInN0YXJ0UGVyY2VudGFnZVwiXG4gICAgICAgW3N0eWxlLndpZHRoLiVdPVwicHJvZ3Jlc3NXaWR0aFwiXG4gICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJwcm9ncmVzc0hlaWdodFwiPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImR1cmF0aW9uLXZhbHVlXCJcbiAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRUb29sdGlwVGV4dCgpXCJcbiAgICAgICBbc3R5bGUubWFyZ2luLWxlZnQuJV09XCJzdGFydFBlcmNlbnRhZ2VcIlxuICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzV2lkdGhcIlxuICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicHJvZ3Jlc3NIZWlnaHRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZHVyYXRpb24tdGV4dFwiIFtzdHlsZS5oZWlnaHQucHhdPVwicHJvZ3Jlc3NIZWlnaHRcIiBbbmdDbGFzc109XCJ7J2R1cmF0aW9uLXRleHQtcnVubmluZyc6IHJ1bm5pbmd9XCI+XG4gICAgICAgIHt7cGFydER1cmF0aW9uVGltZSB8IGR1cmF0aW9uVGltZX19ICh7e3Byb2dyZXNzV2lkdGgudG9GaXhlZCgwKX19JSlcbiAgICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tcHJvZ3Jlc3NiYXIvZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tcHJvZ3Jlc3NiYXIvZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzdDLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUVyQyxNQUthLDRCQUE0QjtJQThCVjtJQTVCdEIsT0FBTyxDQUFTO0lBRWYsVUFBVSxDQUFPO0lBQ2pCLFFBQVEsQ0FBTztJQUNmLGNBQWMsQ0FBTztJQUNyQixZQUFZLENBQU87SUFHcEIsU0FBUyxHQUFXLEVBQUUsQ0FBQTtJQUd0QixjQUFjLEdBQVcsRUFBRSxDQUFBO0lBRzNCLGNBQWMsR0FBVyxTQUFTLENBQUE7SUFHbEMsMEJBQTBCLEdBQUcsSUFBSSxDQUFBO0lBR2pDLFFBQVEsR0FBVyxtQkFBbUIsQ0FBQztJQUV2QyxpQkFBaUIsQ0FBUztJQUMxQixnQkFBZ0IsQ0FBUztJQUV6QixlQUFlLENBQVM7SUFDeEIsYUFBYSxDQUFRO0lBRTVCLFlBQTZCLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ3ZELENBQUM7SUFFRCxJQUNJLGFBQWEsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFD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LGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsMEJBQTBCO3NCQURoQyxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFhRixhQUFhO3NCQURoQixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixTQUFTO3NCQURaLEtBQUs7Z0JBV0YsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEdXJhdGlvblBpcGUgfSBmcm9tICdAYXBpcGFzcy9waXBlcydcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHVyYXRpb24tcHJvZ3Jlc3NiYXItY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdkdXJhdGlvbi1wcm9ncmVzc2Jhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkdXJhdGlvbi1wcm9ncmVzc2Jhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER1cmF0aW9uUHJvZ3Jlc3NiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBydW5uaW5nOiBib29sZWFuXG5cbiAgcHJpdmF0ZSBfc3RhcnREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9lbmREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9zdGFydFBhcnREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9lbmRQYXJ0RGF0ZTogRGF0ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYmFySGVpZ2h0OiBudW1iZXIgPSAyMFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc0hlaWdodDogbnVtYmVyID0gMThcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcnVubmluZ1Rvb2x0aXA6IHN0cmluZyA9ICdSdW5uaW5nJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc1Rvb2x0aXBDb25qdW5jdGlvbiA9ICdvZidcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbyc7XG5cbiAgcHVibGljIHRvdGFsRHVyYXRpb25UaW1lOiBudW1iZXI7XG4gIHB1YmxpYyBwYXJ0RHVyYXRpb25UaW1lOiBudW1iZXI7XG5cbiAgcHVibGljIHN0YXJ0UGVyY2VudGFnZTogbnVtYmVyO1xuICBwdWJsaWMgcHJvZ3Jlc3NXaWR0aDogbnVtYmVyXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkdXJhdGlvblBpcGU6IER1cmF0aW9uUGlwZSkge1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHN0YXJ0UGFydERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3N0YXJ0UGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBzdGFydFBhcnREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGFydFBhcnREYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGVuZFBhcnREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9lbmRQYXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKGRhdGUpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKVxuICB9XG5cbiAgZ2V0IGVuZFBhcnREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9lbmRQYXJ0RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3N0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKGRhdGUpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKVxuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnREYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGVuZERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHRoaXMuX2VuZERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBlbmREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9lbmREYXRlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMuc3RhcnREYXRlIHx8ICF0aGlzLnN0YXJ0UGFydERhdGUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoIXRoaXMuZW5kUGFydERhdGUpIHtcbiAgICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRQYXJ0R2FwVGltZSA9IHRoaXMuZ2V0VG90YWxEdXJhdGlvbih0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5zdGFydFBhcnREYXRlKTtcbiAgICB0aGlzLnRvdGFsRHVyYXRpb25UaW1lID0gdGhpcy5nZXRUb3RhbER1cmF0aW9uKHRoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGUgfHwgbW9tZW50KCkudHoodGhpcy50aW1lem9uZSkudG9EYXRlKCkpO1xuICAgIHRoaXMucGFydER1cmF0aW9uVGltZSA9IHRoaXMuZ2V0VG90YWxEdXJhdGlvbih0aGlzLnN0YXJ0UGFydERhdGUsIHRoaXMuZW5kUGFydERhdGUgfHwgbW9tZW50KCkudHoodGhpcy50aW1lem9uZSkudG9EYXRlKCkpO1xuXG4gICAgdGhpcy5zdGFydFBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKCgxMDAgKiBzdGFydFBhcnRHYXBUaW1lKSAvIHRoaXMudG90YWxEdXJhdGlvblRpbWUpXG4gICAgdGhpcy5wcm9ncmVzc1dpZHRoID0gTWF0aC5yb3VuZCgoMTAwICogdGhpcy5wYXJ0RHVyYXRpb25UaW1lKSAvIHRoaXMudG90YWxEdXJhdGlvblRpbWUpXG5cbiAgICBpZiAodGhpcy5wcm9ncmVzc1dpZHRoID4gMTAwKSB7XG4gICAgICB0aGlzLnByb2dyZXNzV2lkdGggPSAxMDBcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydFBlcmNlbnRhZ2UgKyB0aGlzLnByb2dyZXNzV2lkdGggPiAxMDApIHtcbiAgICAgIHRoaXMuc3RhcnRQZXJjZW50YWdlID0gMTAwIC0gdGhpcy5wcm9ncmVzc1dpZHRoXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRvdGFsRHVyYXRpb24oc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KGVuZERhdGUpLnR6KHRoaXMudGltZXpvbmUpLmRpZmYobW9tZW50KHN0YXJ0RGF0ZSkudHoodGhpcy50aW1lem9uZSksICdtaWxsaXNlY29uZHMnKVxuICB9XG5cbiAgcHVibGljIHN0cmluZ1RvRGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogRGF0ZSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS50eih0aGlzLnRpbWV6b25lKS50b0RhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb29sdGlwVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJ1bm5pbmcpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnJ1bm5pbmdUb29sdGlwfSAoJHt0aGlzLmR1cmF0aW9uUGlwZS50cmFuc2Zvcm0odGhpcy5wYXJ0RHVyYXRpb25UaW1lKX0pYFxuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMucGFydER1cmF0aW9uVGltZSl9ICgke3RoaXMucHJvZ3Jlc3NXaWR0aC50b0ZpeGVkKDApfSUpICR7dGhpcy5wcm9ncmVzc1Rvb2x0aXBDb25qdW5jdGlvbn0gJHt0aGlzLmR1cmF0aW9uUGlwZS50cmFuc2Zvcm0odGhpcy50b3RhbER1cmF0aW9uVGltZSl9YFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkdXJhdGlvbi1wcm9ncmVzc2Jhci1jb21wb25lbnRcIiBbbmdDbGFzc109XCJ7J2R1cmF0aW9uLXByb2dyZXNzYmFyLWNvbXBvbmVudC1ydW5uaW5nJzogcnVubmluZ31cIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImJhckhlaWdodFwiPlxuICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tY3VycmVudC1wcm9ncmVzc1wiXG4gICAgICAgW25nQ2xhc3NdPVwieydkdXJhdGlvbi1jdXJyZW50LXByb2dyZXNzLXJ1bm5pbmcnOiBydW5uaW5nfVwiXG4gICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0VG9vbHRpcFRleHQoKVwiXG4gICAgICAgW3N0eWxlLm1hcmdpbi1sZWZ0LiVdPVwic3RhcnRQZXJjZW50YWdlXCJcbiAgICAgICBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc1dpZHRoXCJcbiAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInByb2dyZXNzSGVpZ2h0XCI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tdmFsdWVcIlxuICAgICAgIFttYXRUb29sdGlwXT1cImdldFRvb2x0aXBUZXh0KClcIlxuICAgICAgIFtzdHlsZS5tYXJnaW4tbGVmdC4lXT1cInN0YXJ0UGVyY2VudGFnZVwiXG4gICAgICAgW3N0eWxlLndpZHRoLiVdPVwicHJvZ3Jlc3NXaWR0aFwiXG4gICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJwcm9ncmVzc0hlaWdodFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkdXJhdGlvbi10ZXh0XCIgW3N0eWxlLmhlaWdodC5weF09XCJwcm9ncmVzc0hlaWdodFwiIFtuZ0NsYXNzXT1cInsnZHVyYXRpb24tdGV4dC1ydW5uaW5nJzogcnVubmluZ31cIj5cbiAgICAgICAge3twYXJ0RHVyYXRpb25UaW1lIHwgZHVyYXRpb25UaW1lfX0gKHt7cHJvZ3Jlc3NXaWR0aC50b0ZpeGVkKDApfX0lKVxuICAgICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import moment from 'moment';
|
|
2
|
+
import moment from 'moment-timezone';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@angular/material/tooltip";
|
|
@@ -16,6 +16,7 @@ class DurationTimelineComponent {
|
|
|
16
16
|
onlyLargestUnit;
|
|
17
17
|
runningLabel = '---';
|
|
18
18
|
runningTooltip = 'Running';
|
|
19
|
+
timezone = 'America/Sao_Paulo';
|
|
19
20
|
set startDate(date) {
|
|
20
21
|
this._startDate = this.stringToDate(date);
|
|
21
22
|
this.initialize().then();
|
|
@@ -48,7 +49,7 @@ class DurationTimelineComponent {
|
|
|
48
49
|
if (!this.endDate) {
|
|
49
50
|
this.running = true;
|
|
50
51
|
}
|
|
51
|
-
const durationTime = this.getTotalDuration(this.endDate || moment().toDate());
|
|
52
|
+
const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());
|
|
52
53
|
if (durationTime <= 0) {
|
|
53
54
|
return;
|
|
54
55
|
}
|
|
@@ -59,19 +60,19 @@ class DurationTimelineComponent {
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
getTotalDuration(endDate) {
|
|
62
|
-
return moment(this.endDate).diff(moment(this.startDate), 'milliseconds');
|
|
63
|
+
return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds');
|
|
63
64
|
}
|
|
64
65
|
stringToDate(date) {
|
|
65
66
|
if (!date) {
|
|
66
67
|
return null;
|
|
67
68
|
}
|
|
68
|
-
return
|
|
69
|
+
return moment(date).tz(this.timezone).toDate();
|
|
69
70
|
}
|
|
70
71
|
getDurationWidth() {
|
|
71
72
|
return `${100 / this._durationParts}%`;
|
|
72
73
|
}
|
|
73
74
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationTimelineComponent, selector: "duration-timeline-component", inputs: { onlyLargestUnit: "onlyLargestUnit", runningLabel: "runningLabel", runningTooltip: "runningTooltip", startDate: "startDate", endDate: "endDate", durationParts: "durationParts" }, ngImport: i0, template: "<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n", styles: [".duration-timeline-component{width:100%;border-radius:40px;padding:2px;background:#FFF}.duration-timeline-component .duration-timeline{width:100%;border-radius:40px;background:linear-gradient(90deg,rgba(211,217,33,.4) 0%,rgba(5,207,252,.4) 50%,rgba(235,87,87,.4) 100%);display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;box-sizing:border-box}.duration-timeline-component .duration-timeline .duration-item{display:flex;justify-content:center;align-items:center;overflow:hidden;flex-wrap:nowrap;text-overflow:ellipsis;padding:3px 0;border-right:2px solid #FFF}.duration-timeline-component .duration-timeline .duration-item.duration-item-last{border-right:none}.duration-timeline-component .duration-timeline .duration-item .duration-label{width:100%;text-overflow:ellipsis;overflow:hidden;font-size:12px;font-weight:400;text-align:center;white-space:pre;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.DurationPipe, name: "durationTime" }] });
|
|
75
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationTimelineComponent, selector: "duration-timeline-component", inputs: { onlyLargestUnit: "onlyLargestUnit", runningLabel: "runningLabel", runningTooltip: "runningTooltip", timezone: "timezone", startDate: "startDate", endDate: "endDate", durationParts: "durationParts" }, ngImport: i0, template: "<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n", styles: [".duration-timeline-component{width:100%;border-radius:40px;padding:2px;background:#FFF}.duration-timeline-component .duration-timeline{width:100%;border-radius:40px;background:linear-gradient(90deg,rgba(211,217,33,.4) 0%,rgba(5,207,252,.4) 50%,rgba(235,87,87,.4) 100%);display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;box-sizing:border-box}.duration-timeline-component .duration-timeline .duration-item{display:flex;justify-content:center;align-items:center;overflow:hidden;flex-wrap:nowrap;text-overflow:ellipsis;padding:3px 0;border-right:2px solid #FFF}.duration-timeline-component .duration-timeline .duration-item.duration-item-last{border-right:none}.duration-timeline-component .duration-timeline .duration-item .duration-label{width:100%;text-overflow:ellipsis;overflow:hidden;font-size:12px;font-weight:400;text-align:center;white-space:pre;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.DurationPipe, name: "durationTime" }] });
|
|
75
76
|
}
|
|
76
77
|
export { DurationTimelineComponent };
|
|
77
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, decorators: [{
|
|
@@ -83,6 +84,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
83
84
|
type: Input
|
|
84
85
|
}], runningTooltip: [{
|
|
85
86
|
type: Input
|
|
87
|
+
}], timezone: [{
|
|
88
|
+
type: Input
|
|
86
89
|
}], startDate: [{
|
|
87
90
|
type: Input
|
|
88
91
|
}], endDate: [{
|
|
@@ -90,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
90
93
|
}], durationParts: [{
|
|
91
94
|
type: Input
|
|
92
95
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRXJDLE1BS2EseUJBQXlCO0lBRTdCLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFTO0lBRWYsVUFBVSxDQUFPO0lBQ2pCLFFBQVEsQ0FBTztJQUNmLGNBQWMsR0FBVyxDQUFDLENBQUE7SUFFbEM7O09BRUc7SUFFSSxlQUFlLENBQVM7SUFHeEIsWUFBWSxHQUFXLEtBQUssQ0FBQTtJQUc1QixjQUFjLEdBQVcsU0FBUyxDQUFBO0lBR2xDLFFBQVEsR0FBVyxtQkFBbUIsQ0FBQztJQUU5QyxJQUNJLFNBQVMsQ0FBQyxJQUFtQjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ0ksT0FBTyxDQUFDLElBQW1CO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxhQUFhLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzFDLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLElBQUksWUFBWSxJQUFJLENBQUMsRUFBRTtZQUNyQixPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixNQUFNLGVBQWUsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFhO1FBQ25DLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDOUcsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFtQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDaEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFBO0lBQ3hDLENBQUM7dUdBM0ZVLHlCQUF5QjsyRkFBekIseUJBQXlCLHFSQ1J0QywrdEJBZUE7O1NEUGEseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNkJBQTZCOzhCQWlCaEMsZUFBZTtzQkFEckIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlGLFNBQVM7c0JBRFosS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBV0ssYUFBYTtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkdXJhdGlvbi10aW1lbGluZS1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogJ2R1cmF0aW9uLXRpbWVsaW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2R1cmF0aW9uLXRpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHVyYXRpb25UaW1lbGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHRpbWVMaW5lUGFydHM6IG51bWJlcltdID0gW107XG4gIHB1YmxpYyBydW5uaW5nOiBib29sZWFuXG5cbiAgcHJpdmF0ZSBfc3RhcnREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9lbmREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9kdXJhdGlvblBhcnRzOiBudW1iZXIgPSAwXG5cbiAgLypcbiAgICogSWYgdGhpcyBvcHRpb24gaXMgdHJ1ZSwgZGVwZW5kaW5nIG9uIHRoZSB0b3RhbCBkdXJhdGlvbiB0aW1lIGFuZCBudW1iZXJzIG9mIHRoZSBkdXJhdGlvbiBwYXJ0cywgbnVtYmVycyBjYW4gYmUgcmVwZWF0ZWQgb24gdGltZWxpbmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgb25seUxhcmdlc3RVbml0OiBib29sZWFuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHJ1bm5pbmdMYWJlbDogc3RyaW5nID0gJy0tLSdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcnVubmluZ1Rvb2x0aXA6IHN0cmluZyA9ICdSdW5uaW5nJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lem9uZTogc3RyaW5nID0gJ0FtZXJpY2EvU2FvX1BhdWxvJztcblxuICBASW5wdXQoKVxuICBzZXQgc3RhcnREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBzdGFydERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBlbmREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9lbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUoZGF0ZSk7XG4gICAgdGhpcy5pbml0aWFsaXplKCkudGhlbigpXG4gIH1cblxuICBnZXQgZW5kRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kRGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZHVyYXRpb25QYXJ0cyhwYXJ0czogbnVtYmVyKSB7XG4gICAgdGhpcy5fZHVyYXRpb25QYXJ0cyA9IHBhcnRzO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKVxuICB9XG5cbiAgZ2V0IGR1cmF0aW9uUGFydHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZHVyYXRpb25QYXJ0cztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnN0YXJ0RGF0ZSB8fCAhdGhpcy5kdXJhdGlvblBhcnRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKCF0aGlzLmVuZERhdGUpIHtcbiAgICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyYXRpb25UaW1lID0gdGhpcy5nZXRUb3RhbER1cmF0aW9uKHRoaXMuZW5kRGF0ZSB8fCBtb21lbnQoKS50eih0aGlzLnRpbWV6b25lKS50b0RhdGUoKSk7XG4gICAgaWYgKGR1cmF0aW9uVGltZSA8PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy50aW1lTGluZVBhcnRzID0gW107XG4gICAgY29uc3QgdGltZUFnZ3JlZ2F0aW9uID0gZHVyYXRpb25UaW1lIC8gdGhpcy5kdXJhdGlvblBhcnRzO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kdXJhdGlvblBhcnRzOyBpKyspIHtcbiAgICAgIHRoaXMudGltZUxpbmVQYXJ0cy5wdXNoKHRpbWVBZ2dyZWdhdGlvbiAqIChpICsgMSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbER1cmF0aW9uKGVuZERhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQodGhpcy5lbmREYXRlKS50eih0aGlzLnRpbWV6b25lKS5kaWZmKG1vbWVudCh0aGlzLnN0YXJ0RGF0ZSkudHoodGhpcy50aW1lem9uZSksICdtaWxsaXNlY29uZHMnKVxuICB9XG5cbiAgcHVibGljIHN0cmluZ1RvRGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogRGF0ZSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS50eih0aGlzLnRpbWV6b25lKS50b0RhdGUoKVxuICB9XG5cbiAgZ2V0RHVyYXRpb25XaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHsxMDAgLyB0aGlzLl9kdXJhdGlvblBhcnRzfSVgXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImR1cmF0aW9uLXRpbWVsaW5lLWNvbXBvbmVudFwiICpuZ0lmPVwidGltZUxpbmVQYXJ0cz8ubGVuZ3RoID4gMFwiPlxuICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tdGltZWxpbmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24taXRlbVwiXG4gICAgICAgICBbc3R5bGUud2lkdGhdPVwiZ2V0RHVyYXRpb25XaWR0aCgpXCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2R1cmF0aW9uLWl0ZW0tZmlyc3QnIDogZmlyc3QsICdkdXJhdGlvbi1pdGVtLWxhc3QnIDogbGFzdCB9XCJcbiAgICAgICAgICpuZ0Zvcj1cImxldCBkdXJhdGlvbiBvZiB0aW1lTGluZVBhcnRzOyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJkdXJhdGlvbi1sYWJlbFwiIFttYXRUb29sdGlwXT1cImR1cmF0aW9uIHwgZHVyYXRpb25UaW1lOiB7IG9ubHlMYXJnZXN0VW5pdCB9XCIgKm5nSWY9XCIhcnVubmluZyB8fCAhbGFzdFwiPlxuICAgICAge3tkdXJhdGlvbiB8IGR1cmF0aW9uVGltZTogeyBvbmx5TGFyZ2VzdFVuaXQgfSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImR1cmF0aW9uLWxhYmVsXCIgW21hdFRvb2x0aXBdPVwicnVubmluZ1Rvb2x0aXBcIiAqbmdJZj1cInJ1bm5pbmcgJiYgbGFzdFwiPlxuICAgICAge3tydW5uaW5nTGFiZWx9fVxuICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -24,7 +24,7 @@ import * as i3$2 from '@apipass/buttons';
|
|
|
24
24
|
import { ButtonsModule } from '@apipass/buttons';
|
|
25
25
|
import * as i1$1 from '@apipass/pipes';
|
|
26
26
|
import { PipeModule } from '@apipass/pipes';
|
|
27
|
-
import moment from 'moment';
|
|
27
|
+
import moment from 'moment-timezone';
|
|
28
28
|
import * as i2$2 from '@angular/material/tooltip';
|
|
29
29
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
30
30
|
|
|
@@ -172,6 +172,7 @@ class DurationTimelineComponent {
|
|
|
172
172
|
onlyLargestUnit;
|
|
173
173
|
runningLabel = '---';
|
|
174
174
|
runningTooltip = 'Running';
|
|
175
|
+
timezone = 'America/Sao_Paulo';
|
|
175
176
|
set startDate(date) {
|
|
176
177
|
this._startDate = this.stringToDate(date);
|
|
177
178
|
this.initialize().then();
|
|
@@ -204,7 +205,7 @@ class DurationTimelineComponent {
|
|
|
204
205
|
if (!this.endDate) {
|
|
205
206
|
this.running = true;
|
|
206
207
|
}
|
|
207
|
-
const durationTime = this.getTotalDuration(this.endDate || moment().toDate());
|
|
208
|
+
const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());
|
|
208
209
|
if (durationTime <= 0) {
|
|
209
210
|
return;
|
|
210
211
|
}
|
|
@@ -215,19 +216,19 @@ class DurationTimelineComponent {
|
|
|
215
216
|
}
|
|
216
217
|
}
|
|
217
218
|
getTotalDuration(endDate) {
|
|
218
|
-
return moment(this.endDate).diff(moment(this.startDate), 'milliseconds');
|
|
219
|
+
return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds');
|
|
219
220
|
}
|
|
220
221
|
stringToDate(date) {
|
|
221
222
|
if (!date) {
|
|
222
223
|
return null;
|
|
223
224
|
}
|
|
224
|
-
return
|
|
225
|
+
return moment(date).tz(this.timezone).toDate();
|
|
225
226
|
}
|
|
226
227
|
getDurationWidth() {
|
|
227
228
|
return `${100 / this._durationParts}%`;
|
|
228
229
|
}
|
|
229
230
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
230
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationTimelineComponent, selector: "duration-timeline-component", inputs: { onlyLargestUnit: "onlyLargestUnit", runningLabel: "runningLabel", runningTooltip: "runningTooltip", startDate: "startDate", endDate: "endDate", durationParts: "durationParts" }, ngImport: i0, template: "<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n", styles: [".duration-timeline-component{width:100%;border-radius:40px;padding:2px;background:#FFF}.duration-timeline-component .duration-timeline{width:100%;border-radius:40px;background:linear-gradient(90deg,rgba(211,217,33,.4) 0%,rgba(5,207,252,.4) 50%,rgba(235,87,87,.4) 100%);display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;box-sizing:border-box}.duration-timeline-component .duration-timeline .duration-item{display:flex;justify-content:center;align-items:center;overflow:hidden;flex-wrap:nowrap;text-overflow:ellipsis;padding:3px 0;border-right:2px solid #FFF}.duration-timeline-component .duration-timeline .duration-item.duration-item-last{border-right:none}.duration-timeline-component .duration-timeline .duration-item .duration-label{width:100%;text-overflow:ellipsis;overflow:hidden;font-size:12px;font-weight:400;text-align:center;white-space:pre;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1$1.DurationPipe, name: "durationTime" }] });
|
|
231
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationTimelineComponent, selector: "duration-timeline-component", inputs: { onlyLargestUnit: "onlyLargestUnit", runningLabel: "runningLabel", runningTooltip: "runningTooltip", timezone: "timezone", startDate: "startDate", endDate: "endDate", durationParts: "durationParts" }, ngImport: i0, template: "<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n", styles: [".duration-timeline-component{width:100%;border-radius:40px;padding:2px;background:#FFF}.duration-timeline-component .duration-timeline{width:100%;border-radius:40px;background:linear-gradient(90deg,rgba(211,217,33,.4) 0%,rgba(5,207,252,.4) 50%,rgba(235,87,87,.4) 100%);display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;box-sizing:border-box}.duration-timeline-component .duration-timeline .duration-item{display:flex;justify-content:center;align-items:center;overflow:hidden;flex-wrap:nowrap;text-overflow:ellipsis;padding:3px 0;border-right:2px solid #FFF}.duration-timeline-component .duration-timeline .duration-item.duration-item-last{border-right:none}.duration-timeline-component .duration-timeline .duration-item .duration-label{width:100%;text-overflow:ellipsis;overflow:hidden;font-size:12px;font-weight:400;text-align:center;white-space:pre;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1$1.DurationPipe, name: "durationTime" }] });
|
|
231
232
|
}
|
|
232
233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, decorators: [{
|
|
233
234
|
type: Component,
|
|
@@ -238,6 +239,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
238
239
|
type: Input
|
|
239
240
|
}], runningTooltip: [{
|
|
240
241
|
type: Input
|
|
242
|
+
}], timezone: [{
|
|
243
|
+
type: Input
|
|
241
244
|
}], startDate: [{
|
|
242
245
|
type: Input
|
|
243
246
|
}], endDate: [{
|
|
@@ -257,6 +260,7 @@ class DurationProgressbarComponent {
|
|
|
257
260
|
progressHeight = 18;
|
|
258
261
|
runningTooltip = 'Running';
|
|
259
262
|
progressTooltipConjunction = 'of';
|
|
263
|
+
timezone = 'America/Sao_Paulo';
|
|
260
264
|
totalDurationTime;
|
|
261
265
|
partDurationTime;
|
|
262
266
|
startPercentage;
|
|
@@ -304,8 +308,8 @@ class DurationProgressbarComponent {
|
|
|
304
308
|
this.running = true;
|
|
305
309
|
}
|
|
306
310
|
const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);
|
|
307
|
-
this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().toDate());
|
|
308
|
-
this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().toDate());
|
|
311
|
+
this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().tz(this.timezone).toDate());
|
|
312
|
+
this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().tz(this.timezone).toDate());
|
|
309
313
|
this.startPercentage = Math.round((100 * startPartGapTime) / this.totalDurationTime);
|
|
310
314
|
this.progressWidth = Math.round((100 * this.partDurationTime) / this.totalDurationTime);
|
|
311
315
|
if (this.progressWidth > 100) {
|
|
@@ -316,13 +320,13 @@ class DurationProgressbarComponent {
|
|
|
316
320
|
}
|
|
317
321
|
}
|
|
318
322
|
getTotalDuration(startDate, endDate) {
|
|
319
|
-
return moment(endDate).diff(moment(startDate), 'milliseconds');
|
|
323
|
+
return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds');
|
|
320
324
|
}
|
|
321
325
|
stringToDate(date) {
|
|
322
326
|
if (!date) {
|
|
323
327
|
return null;
|
|
324
328
|
}
|
|
325
|
-
return
|
|
329
|
+
return moment(date).tz(this.timezone).toDate();
|
|
326
330
|
}
|
|
327
331
|
getTooltipText() {
|
|
328
332
|
if (this.running) {
|
|
@@ -331,7 +335,7 @@ class DurationProgressbarComponent {
|
|
|
331
335
|
return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressWidth.toFixed(0)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`;
|
|
332
336
|
}
|
|
333
337
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationProgressbarComponent, deps: [{ token: i1$1.DurationPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
334
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationProgressbarComponent, selector: "duration-progressbar-component", inputs: { barHeight: "barHeight", progressHeight: "progressHeight", runningTooltip: "runningTooltip", progressTooltipConjunction: "progressTooltipConjunction", startPartDate: "startPartDate", endPartDate: "endPartDate", startDate: "startDate", endDate: "endDate" }, ngImport: i0, template: "<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressWidth.toFixed(0)}}%)\n </span>\n </div>\n</div>\n", styles: [".duration-progressbar-component{width:100%;background:#FFF;border:1px solid #F3F5F8;box-sizing:border-box;font-size:12px;border-radius:40px;position:relative}.duration-progressbar-component .duration-current-progress{background:var(--color-primary);min-width:1%;max-width:100%;border:1px solid #F3F5F8;cursor:pointer;margin-top:-1px;border-radius:40px;filter:brightness(2);position:absolute}.duration-progressbar-component .duration-current-progress.duration-current-progress-running{background:var(--color-secondary-hover);filter:brightness(1)}.duration-progressbar-component .duration-value{position:absolute;display:block;cursor:pointer;border-radius:40px;text-overflow:ellipsis;overflow:hidden;white-space:break-spaces;text-align:center}.duration-progressbar-component .duration-value .duration-text{display:flex;justify-content:center;align-items:center;width:100%;color:#fff;text-overflow:clip;overflow:hidden;white-space:break-spaces}.duration-progressbar-component .duration-value .duration-text.duration-text-running{color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1$1.DurationPipe, name: "durationTime" }] });
|
|
338
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: DurationProgressbarComponent, selector: "duration-progressbar-component", inputs: { barHeight: "barHeight", progressHeight: "progressHeight", runningTooltip: "runningTooltip", progressTooltipConjunction: "progressTooltipConjunction", timezone: "timezone", startPartDate: "startPartDate", endPartDate: "endPartDate", startDate: "startDate", endDate: "endDate" }, ngImport: i0, template: "<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressWidth.toFixed(0)}}%)\n </span>\n </div>\n</div>\n", styles: [".duration-progressbar-component{width:100%;background:#FFF;border:1px solid #F3F5F8;box-sizing:border-box;font-size:12px;border-radius:40px;position:relative}.duration-progressbar-component .duration-current-progress{background:var(--color-primary);min-width:1%;max-width:100%;border:1px solid #F3F5F8;cursor:pointer;margin-top:-1px;border-radius:40px;filter:brightness(2);position:absolute}.duration-progressbar-component .duration-current-progress.duration-current-progress-running{background:var(--color-secondary-hover);filter:brightness(1)}.duration-progressbar-component .duration-value{position:absolute;display:block;cursor:pointer;border-radius:40px;text-overflow:ellipsis;overflow:hidden;white-space:break-spaces;text-align:center}.duration-progressbar-component .duration-value .duration-text{display:flex;justify-content:center;align-items:center;width:100%;color:#fff;text-overflow:clip;overflow:hidden;white-space:break-spaces}.duration-progressbar-component .duration-value .duration-text.duration-text-running{color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1$1.DurationPipe, name: "durationTime" }] });
|
|
335
339
|
}
|
|
336
340
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationProgressbarComponent, decorators: [{
|
|
337
341
|
type: Component,
|
|
@@ -344,6 +348,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
344
348
|
type: Input
|
|
345
349
|
}], progressTooltipConjunction: [{
|
|
346
350
|
type: Input
|
|
351
|
+
}], timezone: [{
|
|
352
|
+
type: Input
|
|
347
353
|
}], startPartDate: [{
|
|
348
354
|
type: Input
|
|
349
355
|
}], endPartDate: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apipass-containers.mjs","sources":["../../../projects/containers/src/centralized-container/centralized-container.component.ts","../../../projects/containers/src/centralized-container/centralized-container.component.html","../../../projects/containers/src/configuration-page-content/configuration-page.component.ts","../../../projects/containers/src/configuration-page-content/configuration-page.component.html","../../../projects/containers/src/breadcrumb/breadcrumb.component.ts","../../../projects/containers/src/breadcrumb/breadcrumb.component.html","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.ts","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.html","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.ts","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.html","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.ts","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.html","../../../projects/containers/src/containers.module.ts","../../../projects/containers/src/apipass-containers.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\n\n@Component({\n selector: 'centralized-container',\n templateUrl: 'centralized-container.component.html',\n styleUrls: ['centralized-container.component.scss']\n})\nexport class CentralizedContainerComponent {\n\n public searchTerm = ''\n\n @Input() public searchLabel: string\n @Input() public hasSearch = true\n @Input() public ignoreZoom = false\n\n @Output()\n public searchChanged = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n public searchTermChanged (): void {\n this.searchChanged.emit(this.searchTerm)\n }\n\n}\n","<div class=\"centralized-container\" [ngClass]=\"{'centralized-container-zoom': !ignoreZoom}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field>\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchTermChanged()\" />\n <mat-icon class=\"search-icon\" matSuffix>search</mat-icon>\n </mat-form-field>\n </div>\n <ng-content></ng-content>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\nimport { Subject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\n\n@Component({\n selector: 'configuration-page-container',\n templateUrl: 'configuration-page.component.html',\n styleUrls: ['configuration-page.component.scss']\n})\nexport class ConfigurationPageComponent {\n\n public searchTerm = ''\n\n @Input() public verticalSeparate = false\n @Input() public footerPaginator = false\n @Input() public hasSearch = true\n @Input() public searchDebounceTime = 1000\n @Input() public searchLabel = ''\n\n txtQueryChanged: Subject<string> = new Subject<string>()\n\n @Output() public searchChanged = new EventEmitter<string>()\n @Output() public searchClick = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n constructor () {\n this.txtQueryChanged.pipe(\n debounceTime(this.searchDebounceTime),\n distinctUntilChanged()).subscribe(model => { this.searchChanged.next(model) }\n )\n }\n\n public searchTermChanged (): void {\n this.txtQueryChanged.next(this.searchTerm)\n }\n\n public searchIconClick (): void {\n this.searchClick.next(this.searchTerm)\n }\n\n}\n","<div class=\"configuration-page-container\" [ngClass]=\"{'footer-paginator': footerPaginator}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field class=\"apipass-search-input-text search-input-item small-text\"\n [ngClass]=\"{'label-input': searchLabel}\"\n appearance=\"outline\">\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" class=\"search-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"searchTermChanged()\"\n />\n <mat-icon class=\"search-icon\" matSuffix (click)=\"searchIconClick()\">search</mat-icon>\n </mat-form-field>\n </div>\n\n <div class=\"container-content\" [ngClass]=\"{'vertical-separate': verticalSeparate}\">\n <ng-content></ng-content>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'breadcrumb-component',\n templateUrl: 'breadcrumb.component.html',\n styleUrls: ['breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n @Input() public icon = 'keyboard_arrow_right'\n @Input() public items: any = []\n @Input() public labelProperty = 'label'\n @Output() itemClick = new EventEmitter<{ index: number, item: any }>()\n\n public eventClick (index: number, item: any): any {\n this.items.splice(index + 1, this.items.length - 1)\n this.itemClick.emit({ index, item })\n }\n\n}\n","<mat-toolbar *ngIf=\"items.length > 0\" color=\"primary\">\n <span *ngFor=\"let header of items; let indx = index\">\n <a mat-button (click)=\"eventClick(indx, header)\">{{header[labelProperty]}}\n <mat-icon>{{icon}}</mat-icon>\n </a>\n </span>\n</mat-toolbar>","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'configuration-page-title',\n templateUrl: 'configuration-page-title.component.html',\n styleUrls: ['configuration-page-title.component.scss']\n})\nexport class ConfigurationPageTitleComponent {\n\n @Input() public icon: string;\n @Input() public isMaterialIcon = false;\n @Input() public materialOutline = false;\n\n @Input() public title: string;\n @Input() public buttonText: string;\n @Input() public buttonIcon: string;\n\n @Output() public onNewButtonClick = new EventEmitter<boolean>();\n\n public newButtonClick(): void {\n this.onNewButtonClick.emit(true);\n }\n\n}\n","<div class=\"configuration-title\">\n\n <div class=\"text\">\n <icon *ngIf=\"icon\"\n [ngClass]=\"{'title-icon-material': isMaterialIcon}\"\n [isMaterialIcon]=\"isMaterialIcon\"\n [materialOutline]=\"materialOutline\"\n [type]=\"'configuration-icon'\"\n [name]=\"icon\">\n </icon>\n {{title}}\n </div>\n\n <div class=\"button\" *ngIf=\"buttonText\">\n <secondary-button\n [btnClass]=\"'font-black'\"\n [icon]=\"buttonIcon\"\n [label]=\"buttonText\"\n (onClick)=\"newButtonClick()\">\n </secondary-button>\n </div>\n\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport moment from 'moment';\n\n@Component({\n selector: 'duration-timeline-component',\n templateUrl: 'duration-timeline.component.html',\n styleUrls: ['duration-timeline.component.scss']\n})\nexport class DurationTimelineComponent implements OnInit {\n\n public timeLineParts: number[] = [];\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _durationParts: number = 0\n\n /*\n * If this option is true, depending on the total duration time and numbers of the duration parts, numbers can be repeated on timeline.\n */\n @Input()\n public onlyLargestUnit: boolean\n\n @Input()\n public runningLabel: string = '---'\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n @Input()\n public set durationParts(parts: number) {\n this._durationParts = parts;\n this.initialize().then()\n }\n\n get durationParts(): number {\n return this._durationParts;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.durationParts) {\n return\n }\n if (!this.endDate) {\n this.running = true;\n }\n\n const durationTime = this.getTotalDuration(this.endDate || moment().toDate());\n if (durationTime <= 0) {\n return\n }\n this.timeLineParts = [];\n const timeAggregation = durationTime / this.durationParts;\n for (let i = 0; i < this.durationParts; i++) {\n this.timeLineParts.push(timeAggregation * (i + 1));\n }\n }\n\n public getTotalDuration(endDate: Date): number {\n return moment(this.endDate).diff(moment(this.startDate), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return date instanceof String ? new Date(date) : date as Date;\n }\n\n getDurationWidth(): string {\n return `${100 / this._durationParts}%`\n }\n\n}\n","<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { DurationPipe } from '@apipass/pipes'\nimport moment from 'moment';\n\n@Component({\n selector: 'duration-progressbar-component',\n templateUrl: 'duration-progressbar.component.html',\n styleUrls: ['duration-progressbar.component.scss']\n})\nexport class DurationProgressbarComponent implements OnInit {\n\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _startPartDate: Date;\n private _endPartDate: Date;\n\n @Input()\n public barHeight: number = 20\n\n @Input()\n public progressHeight: number = 18\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public progressTooltipConjunction = 'of'\n\n public totalDurationTime: number;\n public partDurationTime: number;\n\n public startPercentage: number;\n public progressWidth: number\n\n constructor(private readonly durationPipe: DurationPipe) {\n }\n\n @Input()\n set startPartDate(date: Date | string) {\n this._startPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startPartDate(): Date {\n return this._startPartDate;\n }\n\n @Input()\n set endPartDate(date: Date | string) {\n this._endPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endPartDate(): Date {\n return this._endPartDate;\n }\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.startPartDate) {\n return\n }\n if (!this.endPartDate) {\n this.running = true;\n }\n\n const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);\n this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().toDate());\n this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().toDate());\n\n this.startPercentage = Math.round((100 * startPartGapTime) / this.totalDurationTime)\n this.progressWidth = Math.round((100 * this.partDurationTime) / this.totalDurationTime)\n\n if (this.progressWidth > 100) {\n this.progressWidth = 100\n }\n\n if (this.startPercentage + this.progressWidth > 100) {\n this.startPercentage = 100 - this.progressWidth\n }\n }\n\n public getTotalDuration(startDate: Date, endDate: Date): number {\n return moment(endDate).diff(moment(startDate), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return date instanceof String ? new Date(date) : date as Date;\n }\n\n public getTooltipText(): string {\n if (this.running) {\n return `${this.runningTooltip} (${this.durationPipe.transform(this.partDurationTime)})`\n }\n return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressWidth.toFixed(0)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`\n }\n\n}\n","<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressWidth.toFixed(0)}}%)\n </span>\n </div>\n</div>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { CentralizedContainerComponent } from './centralized-container/centralized-container.component'\nimport { ConfigurationPageComponent } from './configuration-page-content/configuration-page.component'\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component'\nimport { NgScrollbarModule } from 'ngx-scrollbar'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { IconsModule } from '@apipass/icons'\nimport { ButtonsModule } from '@apipass/buttons'\nimport { PipeModule } from '@apipass/pipes'\nimport { MatToolbarModule } from '@angular/material/toolbar'\nimport { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.component'\nimport { DurationTimelineComponent } from './duration/duration-timeline/duration-timeline.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DurationProgressbarComponent } from './duration/duration-progressbar/duration-progressbar.component';\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n IconsModule,\n ButtonsModule,\n NgScrollbarModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatToolbarModule,\n PipeModule,\n MatTooltipModule\n ],\n declarations: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent\n ],\n exports: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent\n ],\n providers: []\n})\nexport class ContainersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apipass-containers.mjs","sources":["../../../projects/containers/src/centralized-container/centralized-container.component.ts","../../../projects/containers/src/centralized-container/centralized-container.component.html","../../../projects/containers/src/configuration-page-content/configuration-page.component.ts","../../../projects/containers/src/configuration-page-content/configuration-page.component.html","../../../projects/containers/src/breadcrumb/breadcrumb.component.ts","../../../projects/containers/src/breadcrumb/breadcrumb.component.html","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.ts","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.html","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.ts","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.html","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.ts","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.html","../../../projects/containers/src/containers.module.ts","../../../projects/containers/src/apipass-containers.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\n\n@Component({\n selector: 'centralized-container',\n templateUrl: 'centralized-container.component.html',\n styleUrls: ['centralized-container.component.scss']\n})\nexport class CentralizedContainerComponent {\n\n public searchTerm = ''\n\n @Input() public searchLabel: string\n @Input() public hasSearch = true\n @Input() public ignoreZoom = false\n\n @Output()\n public searchChanged = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n public searchTermChanged (): void {\n this.searchChanged.emit(this.searchTerm)\n }\n\n}\n","<div class=\"centralized-container\" [ngClass]=\"{'centralized-container-zoom': !ignoreZoom}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field>\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchTermChanged()\" />\n <mat-icon class=\"search-icon\" matSuffix>search</mat-icon>\n </mat-form-field>\n </div>\n <ng-content></ng-content>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\nimport { Subject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\n\n@Component({\n selector: 'configuration-page-container',\n templateUrl: 'configuration-page.component.html',\n styleUrls: ['configuration-page.component.scss']\n})\nexport class ConfigurationPageComponent {\n\n public searchTerm = ''\n\n @Input() public verticalSeparate = false\n @Input() public footerPaginator = false\n @Input() public hasSearch = true\n @Input() public searchDebounceTime = 1000\n @Input() public searchLabel = ''\n\n txtQueryChanged: Subject<string> = new Subject<string>()\n\n @Output() public searchChanged = new EventEmitter<string>()\n @Output() public searchClick = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n constructor () {\n this.txtQueryChanged.pipe(\n debounceTime(this.searchDebounceTime),\n distinctUntilChanged()).subscribe(model => { this.searchChanged.next(model) }\n )\n }\n\n public searchTermChanged (): void {\n this.txtQueryChanged.next(this.searchTerm)\n }\n\n public searchIconClick (): void {\n this.searchClick.next(this.searchTerm)\n }\n\n}\n","<div class=\"configuration-page-container\" [ngClass]=\"{'footer-paginator': footerPaginator}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field class=\"apipass-search-input-text search-input-item small-text\"\n [ngClass]=\"{'label-input': searchLabel}\"\n appearance=\"outline\">\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" class=\"search-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"searchTermChanged()\"\n />\n <mat-icon class=\"search-icon\" matSuffix (click)=\"searchIconClick()\">search</mat-icon>\n </mat-form-field>\n </div>\n\n <div class=\"container-content\" [ngClass]=\"{'vertical-separate': verticalSeparate}\">\n <ng-content></ng-content>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'breadcrumb-component',\n templateUrl: 'breadcrumb.component.html',\n styleUrls: ['breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n @Input() public icon = 'keyboard_arrow_right'\n @Input() public items: any = []\n @Input() public labelProperty = 'label'\n @Output() itemClick = new EventEmitter<{ index: number, item: any }>()\n\n public eventClick (index: number, item: any): any {\n this.items.splice(index + 1, this.items.length - 1)\n this.itemClick.emit({ index, item })\n }\n\n}\n","<mat-toolbar *ngIf=\"items.length > 0\" color=\"primary\">\n <span *ngFor=\"let header of items; let indx = index\">\n <a mat-button (click)=\"eventClick(indx, header)\">{{header[labelProperty]}}\n <mat-icon>{{icon}}</mat-icon>\n </a>\n </span>\n</mat-toolbar>","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'configuration-page-title',\n templateUrl: 'configuration-page-title.component.html',\n styleUrls: ['configuration-page-title.component.scss']\n})\nexport class ConfigurationPageTitleComponent {\n\n @Input() public icon: string;\n @Input() public isMaterialIcon = false;\n @Input() public materialOutline = false;\n\n @Input() public title: string;\n @Input() public buttonText: string;\n @Input() public buttonIcon: string;\n\n @Output() public onNewButtonClick = new EventEmitter<boolean>();\n\n public newButtonClick(): void {\n this.onNewButtonClick.emit(true);\n }\n\n}\n","<div class=\"configuration-title\">\n\n <div class=\"text\">\n <icon *ngIf=\"icon\"\n [ngClass]=\"{'title-icon-material': isMaterialIcon}\"\n [isMaterialIcon]=\"isMaterialIcon\"\n [materialOutline]=\"materialOutline\"\n [type]=\"'configuration-icon'\"\n [name]=\"icon\">\n </icon>\n {{title}}\n </div>\n\n <div class=\"button\" *ngIf=\"buttonText\">\n <secondary-button\n [btnClass]=\"'font-black'\"\n [icon]=\"buttonIcon\"\n [label]=\"buttonText\"\n (onClick)=\"newButtonClick()\">\n </secondary-button>\n </div>\n\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport moment from 'moment-timezone';\n\n@Component({\n selector: 'duration-timeline-component',\n templateUrl: 'duration-timeline.component.html',\n styleUrls: ['duration-timeline.component.scss']\n})\nexport class DurationTimelineComponent implements OnInit {\n\n public timeLineParts: number[] = [];\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _durationParts: number = 0\n\n /*\n * If this option is true, depending on the total duration time and numbers of the duration parts, numbers can be repeated on timeline.\n */\n @Input()\n public onlyLargestUnit: boolean\n\n @Input()\n public runningLabel: string = '---'\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public timezone: string = 'America/Sao_Paulo';\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n @Input()\n public set durationParts(parts: number) {\n this._durationParts = parts;\n this.initialize().then()\n }\n\n get durationParts(): number {\n return this._durationParts;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.durationParts) {\n return\n }\n if (!this.endDate) {\n this.running = true;\n }\n\n const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());\n if (durationTime <= 0) {\n return\n }\n this.timeLineParts = [];\n const timeAggregation = durationTime / this.durationParts;\n for (let i = 0; i < this.durationParts; i++) {\n this.timeLineParts.push(timeAggregation * (i + 1));\n }\n }\n\n public getTotalDuration(endDate: Date): number {\n return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return moment(date).tz(this.timezone).toDate()\n }\n\n getDurationWidth(): string {\n return `${100 / this._durationParts}%`\n }\n\n}\n","<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { DurationPipe } from '@apipass/pipes'\nimport moment from 'moment-timezone';\n\n@Component({\n selector: 'duration-progressbar-component',\n templateUrl: 'duration-progressbar.component.html',\n styleUrls: ['duration-progressbar.component.scss']\n})\nexport class DurationProgressbarComponent implements OnInit {\n\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _startPartDate: Date;\n private _endPartDate: Date;\n\n @Input()\n public barHeight: number = 20\n\n @Input()\n public progressHeight: number = 18\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public progressTooltipConjunction = 'of'\n\n @Input()\n public timezone: string = 'America/Sao_Paulo';\n\n public totalDurationTime: number;\n public partDurationTime: number;\n\n public startPercentage: number;\n public progressWidth: number\n\n constructor(private readonly durationPipe: DurationPipe) {\n }\n\n @Input()\n set startPartDate(date: Date | string) {\n this._startPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startPartDate(): Date {\n return this._startPartDate;\n }\n\n @Input()\n set endPartDate(date: Date | string) {\n this._endPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endPartDate(): Date {\n return this._endPartDate;\n }\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.startPartDate) {\n return\n }\n if (!this.endPartDate) {\n this.running = true;\n }\n\n const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);\n this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().tz(this.timezone).toDate());\n this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().tz(this.timezone).toDate());\n\n this.startPercentage = Math.round((100 * startPartGapTime) / this.totalDurationTime)\n this.progressWidth = Math.round((100 * this.partDurationTime) / this.totalDurationTime)\n\n if (this.progressWidth > 100) {\n this.progressWidth = 100\n }\n\n if (this.startPercentage + this.progressWidth > 100) {\n this.startPercentage = 100 - this.progressWidth\n }\n }\n\n public getTotalDuration(startDate: Date, endDate: Date): number {\n return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return moment(date).tz(this.timezone).toDate();\n }\n\n public getTooltipText(): string {\n if (this.running) {\n return `${this.runningTooltip} (${this.durationPipe.transform(this.partDurationTime)})`\n }\n return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressWidth.toFixed(0)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`\n }\n\n}\n","<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressWidth.toFixed(0)}}%)\n </span>\n </div>\n</div>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { CentralizedContainerComponent } from './centralized-container/centralized-container.component'\nimport { ConfigurationPageComponent } from './configuration-page-content/configuration-page.component'\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component'\nimport { NgScrollbarModule } from 'ngx-scrollbar'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { IconsModule } from '@apipass/icons'\nimport { ButtonsModule } from '@apipass/buttons'\nimport { PipeModule } from '@apipass/pipes'\nimport { MatToolbarModule } from '@angular/material/toolbar'\nimport { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.component'\nimport { DurationTimelineComponent } from './duration/duration-timeline/duration-timeline.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DurationProgressbarComponent } from './duration/duration-progressbar/duration-progressbar.component';\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n IconsModule,\n ButtonsModule,\n NgScrollbarModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatToolbarModule,\n PipeModule,\n MatTooltipModule\n ],\n declarations: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent\n ],\n exports: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent\n ],\n providers: []\n})\nexport class ContainersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1"],"mappings":"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"}
|