@apipass/containers 1.0.92 → 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/containers.module.d.ts +15 -11
- package/duration/duration-progressbar/duration-progressbar.component.d.ts +36 -0
- package/duration/duration-timeline/duration-timeline.component.d.ts +26 -0
- package/duration/public-api.d.ts +2 -0
- package/esm2022/containers.module.mjs +26 -8
- package/esm2022/duration/duration-progressbar/duration-progressbar.component.mjs +119 -0
- package/esm2022/duration/duration-timeline/duration-timeline.component.mjs +96 -0
- package/esm2022/duration/public-api.mjs +3 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/apipass-containers.mjs +227 -8
- package/fesm2022/apipass-containers.mjs.map +1 -1
- package/package.json +6 -3
- package/public-api.d.ts +1 -0
package/containers.module.d.ts
CHANGED
|
@@ -3,18 +3,22 @@ import * as i1 from "./centralized-container/centralized-container.component";
|
|
|
3
3
|
import * as i2 from "./configuration-page-content/configuration-page.component";
|
|
4
4
|
import * as i3 from "./breadcrumb/breadcrumb.component";
|
|
5
5
|
import * as i4 from "./configuration-page-title/configuration-page-title.component";
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "@angular/
|
|
9
|
-
import * as i8 from "@
|
|
10
|
-
import * as i9 from "@
|
|
11
|
-
import * as i10 from "
|
|
12
|
-
import * as i11 from "@
|
|
13
|
-
import * as i12 from "
|
|
14
|
-
import * as i13 from "@angular/material/
|
|
15
|
-
import * as i14 from "@angular/material/
|
|
6
|
+
import * as i5 from "./duration/duration-timeline/duration-timeline.component";
|
|
7
|
+
import * as i6 from "./duration/duration-progressbar/duration-progressbar.component";
|
|
8
|
+
import * as i7 from "@angular/common";
|
|
9
|
+
import * as i8 from "@angular/router";
|
|
10
|
+
import * as i9 from "@angular/forms";
|
|
11
|
+
import * as i10 from "@apipass/icons";
|
|
12
|
+
import * as i11 from "@apipass/buttons";
|
|
13
|
+
import * as i12 from "ngx-scrollbar";
|
|
14
|
+
import * as i13 from "@angular/material/form-field";
|
|
15
|
+
import * as i14 from "@angular/material/icon";
|
|
16
|
+
import * as i15 from "@angular/material/input";
|
|
17
|
+
import * as i16 from "@angular/material/toolbar";
|
|
18
|
+
import * as i17 from "@apipass/pipes";
|
|
19
|
+
import * as i18 from "@angular/material/tooltip";
|
|
16
20
|
export declare class ContainersModule {
|
|
17
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContainersModule, never>;
|
|
18
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ContainersModule, [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent], [typeof
|
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ContainersModule, [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent, typeof i5.DurationTimelineComponent, typeof i6.DurationProgressbarComponent], [typeof i7.CommonModule, typeof i8.RouterModule, typeof i9.FormsModule, typeof i9.ReactiveFormsModule, typeof i10.IconsModule, typeof i11.ButtonsModule, typeof i12.NgScrollbarModule, typeof i13.MatFormFieldModule, typeof i14.MatIconModule, typeof i15.MatInputModule, typeof i16.MatToolbarModule, typeof i17.PipeModule, typeof i18.MatTooltipModule], [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent, typeof i5.DurationTimelineComponent, typeof i6.DurationProgressbarComponent]>;
|
|
19
23
|
static ɵinj: i0.ɵɵInjectorDeclaration<ContainersModule>;
|
|
20
24
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { DurationPipe } from '@apipass/pipes';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class DurationProgressbarComponent implements OnInit {
|
|
5
|
+
private readonly durationPipe;
|
|
6
|
+
running: boolean;
|
|
7
|
+
private _startDate;
|
|
8
|
+
private _endDate;
|
|
9
|
+
private _startPartDate;
|
|
10
|
+
private _endPartDate;
|
|
11
|
+
barHeight: number;
|
|
12
|
+
progressHeight: number;
|
|
13
|
+
runningTooltip: string;
|
|
14
|
+
progressTooltipConjunction: string;
|
|
15
|
+
timezone: string;
|
|
16
|
+
totalDurationTime: number;
|
|
17
|
+
partDurationTime: number;
|
|
18
|
+
startPercentage: number;
|
|
19
|
+
progressWidth: number;
|
|
20
|
+
constructor(durationPipe: DurationPipe);
|
|
21
|
+
set startPartDate(date: Date | string);
|
|
22
|
+
get startPartDate(): Date;
|
|
23
|
+
set endPartDate(date: Date | string);
|
|
24
|
+
get endPartDate(): Date;
|
|
25
|
+
set startDate(date: Date | string);
|
|
26
|
+
get startDate(): Date;
|
|
27
|
+
set endDate(date: Date | string);
|
|
28
|
+
get endDate(): Date;
|
|
29
|
+
ngOnInit(): Promise<void>;
|
|
30
|
+
initialize(): Promise<void>;
|
|
31
|
+
getTotalDuration(startDate: Date, endDate: Date): number;
|
|
32
|
+
stringToDate(date: Date | string): Date;
|
|
33
|
+
getTooltipText(): string;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DurationProgressbarComponent, 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>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class DurationTimelineComponent implements OnInit {
|
|
4
|
+
timeLineParts: number[];
|
|
5
|
+
running: boolean;
|
|
6
|
+
private _startDate;
|
|
7
|
+
private _endDate;
|
|
8
|
+
private _durationParts;
|
|
9
|
+
onlyLargestUnit: boolean;
|
|
10
|
+
runningLabel: string;
|
|
11
|
+
runningTooltip: string;
|
|
12
|
+
timezone: string;
|
|
13
|
+
set startDate(date: Date | string);
|
|
14
|
+
get startDate(): Date;
|
|
15
|
+
set endDate(date: Date | string);
|
|
16
|
+
get endDate(): Date;
|
|
17
|
+
set durationParts(parts: number);
|
|
18
|
+
get durationParts(): number;
|
|
19
|
+
ngOnInit(): Promise<void>;
|
|
20
|
+
initialize(): Promise<void>;
|
|
21
|
+
getTotalDuration(endDate: Date): number;
|
|
22
|
+
stringToDate(date: Date | string): Date;
|
|
23
|
+
getDurationWidth(): string;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DurationTimelineComponent, 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>;
|
|
26
|
+
}
|
|
@@ -11,15 +11,21 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
11
11
|
import { MatInputModule } from '@angular/material/input';
|
|
12
12
|
import { IconsModule } from '@apipass/icons';
|
|
13
13
|
import { ButtonsModule } from '@apipass/buttons';
|
|
14
|
+
import { PipeModule } from '@apipass/pipes';
|
|
14
15
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
15
16
|
import { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.component';
|
|
17
|
+
import { DurationTimelineComponent } from './duration/duration-timeline/duration-timeline.component';
|
|
18
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
19
|
+
import { DurationProgressbarComponent } from './duration/duration-progressbar/duration-progressbar.component';
|
|
16
20
|
import * as i0 from "@angular/core";
|
|
17
21
|
class ContainersModule {
|
|
18
22
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
23
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, declarations: [CentralizedContainerComponent,
|
|
20
24
|
ConfigurationPageComponent,
|
|
21
25
|
BreadcrumbComponent,
|
|
22
|
-
ConfigurationPageTitleComponent
|
|
26
|
+
ConfigurationPageTitleComponent,
|
|
27
|
+
DurationTimelineComponent,
|
|
28
|
+
DurationProgressbarComponent], imports: [CommonModule,
|
|
23
29
|
RouterModule,
|
|
24
30
|
FormsModule,
|
|
25
31
|
ReactiveFormsModule,
|
|
@@ -29,10 +35,14 @@ class ContainersModule {
|
|
|
29
35
|
MatFormFieldModule,
|
|
30
36
|
MatIconModule,
|
|
31
37
|
MatInputModule,
|
|
32
|
-
MatToolbarModule
|
|
38
|
+
MatToolbarModule,
|
|
39
|
+
PipeModule,
|
|
40
|
+
MatTooltipModule], exports: [CentralizedContainerComponent,
|
|
33
41
|
ConfigurationPageComponent,
|
|
34
42
|
BreadcrumbComponent,
|
|
35
|
-
ConfigurationPageTitleComponent
|
|
43
|
+
ConfigurationPageTitleComponent,
|
|
44
|
+
DurationTimelineComponent,
|
|
45
|
+
DurationProgressbarComponent] });
|
|
36
46
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, imports: [CommonModule,
|
|
37
47
|
RouterModule,
|
|
38
48
|
FormsModule,
|
|
@@ -43,7 +53,9 @@ class ContainersModule {
|
|
|
43
53
|
MatFormFieldModule,
|
|
44
54
|
MatIconModule,
|
|
45
55
|
MatInputModule,
|
|
46
|
-
MatToolbarModule
|
|
56
|
+
MatToolbarModule,
|
|
57
|
+
PipeModule,
|
|
58
|
+
MatTooltipModule] });
|
|
47
59
|
}
|
|
48
60
|
export { ContainersModule };
|
|
49
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, decorators: [{
|
|
@@ -60,21 +72,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
60
72
|
MatFormFieldModule,
|
|
61
73
|
MatIconModule,
|
|
62
74
|
MatInputModule,
|
|
63
|
-
MatToolbarModule
|
|
75
|
+
MatToolbarModule,
|
|
76
|
+
PipeModule,
|
|
77
|
+
MatTooltipModule
|
|
64
78
|
],
|
|
65
79
|
declarations: [
|
|
66
80
|
CentralizedContainerComponent,
|
|
67
81
|
ConfigurationPageComponent,
|
|
68
82
|
BreadcrumbComponent,
|
|
69
|
-
ConfigurationPageTitleComponent
|
|
83
|
+
ConfigurationPageTitleComponent,
|
|
84
|
+
DurationTimelineComponent,
|
|
85
|
+
DurationProgressbarComponent
|
|
70
86
|
],
|
|
71
87
|
exports: [
|
|
72
88
|
CentralizedContainerComponent,
|
|
73
89
|
ConfigurationPageComponent,
|
|
74
90
|
BreadcrumbComponent,
|
|
75
|
-
ConfigurationPageTitleComponent
|
|
91
|
+
ConfigurationPageTitleComponent,
|
|
92
|
+
DurationTimelineComponent,
|
|
93
|
+
DurationProgressbarComponent
|
|
76
94
|
],
|
|
77
95
|
providers: []
|
|
78
96
|
}]
|
|
79
97
|
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb250YWluZXJzL3NyYy9jb250YWluZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFBO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQy9HLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOztBQUM5RyxNQWtDYSxnQkFBZ0I7dUdBQWhCLGdCQUFnQjt3R0FBaEIsZ0JBQWdCLGlCQWpCekIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIsK0JBQStCO1lBQy9CLHlCQUF5QjtZQUN6Qiw0QkFBNEIsYUFwQjVCLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsVUFBVTtZQUNWLGdCQUFnQixhQVdoQiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLG1CQUFtQjtZQUNuQiwrQkFBK0I7WUFDL0IseUJBQXlCO1lBQ3pCLDRCQUE0Qjt3R0FJbkIsZ0JBQWdCLFlBaEN6QixZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFVBQVU7WUFDVixnQkFBZ0I7O1NBb0JQLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQWxDNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLCtCQUErQjt3QkFDL0IseUJBQXlCO3dCQUN6Qiw0QkFBNEI7cUJBQzdCO29CQUNELFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IENlbnRyYWxpemVkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jZW50cmFsaXplZC1jb250YWluZXIvY2VudHJhbGl6ZWQtY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXBhZ2UtY29udGVudC9jb25maWd1cmF0aW9uLXBhZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnbmd4LXNjcm9sbGJhcidcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBJY29uc01vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL2ljb25zJ1xuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL2J1dHRvbnMnXG5pbXBvcnQgeyBQaXBlTW9kdWxlIH0gZnJvbSAnQGFwaXBhc3MvcGlwZXMnXG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcidcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcGFnZS10aXRsZS9jb25maWd1cmF0aW9uLXBhZ2UtdGl0bGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRHVyYXRpb25UaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IER1cmF0aW9uUHJvZ3Jlc3NiYXJDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2R1cmF0aW9uLXByb2dyZXNzYmFyL2R1cmF0aW9uLXByb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEljb25zTW9kdWxlLFxuICAgIEJ1dHRvbnNNb2R1bGUsXG4gICAgTmdTY3JvbGxiYXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBQaXBlTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ2VudHJhbGl6ZWRDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblBhZ2VDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uUGFnZVRpdGxlQ29tcG9uZW50LFxuICAgIER1cmF0aW9uVGltZWxpbmVDb21wb25lbnQsXG4gICAgRHVyYXRpb25Qcm9ncmVzc2JhckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ2VudHJhbGl6ZWRDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblBhZ2VDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uUGFnZVRpdGxlQ29tcG9uZW50LFxuICAgIER1cmF0aW9uVGltZWxpbmVDb21wb25lbnQsXG4gICAgRHVyYXRpb25Qcm9ncmVzc2JhckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lcnNNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { DurationPipe } from '@apipass/pipes';
|
|
3
|
+
import moment from 'moment-timezone';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@apipass/pipes";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/material/tooltip";
|
|
8
|
+
class DurationProgressbarComponent {
|
|
9
|
+
durationPipe;
|
|
10
|
+
running;
|
|
11
|
+
_startDate;
|
|
12
|
+
_endDate;
|
|
13
|
+
_startPartDate;
|
|
14
|
+
_endPartDate;
|
|
15
|
+
barHeight = 20;
|
|
16
|
+
progressHeight = 18;
|
|
17
|
+
runningTooltip = 'Running';
|
|
18
|
+
progressTooltipConjunction = 'of';
|
|
19
|
+
timezone = 'America/Sao_Paulo';
|
|
20
|
+
totalDurationTime;
|
|
21
|
+
partDurationTime;
|
|
22
|
+
startPercentage;
|
|
23
|
+
progressWidth;
|
|
24
|
+
constructor(durationPipe) {
|
|
25
|
+
this.durationPipe = durationPipe;
|
|
26
|
+
}
|
|
27
|
+
set startPartDate(date) {
|
|
28
|
+
this._startPartDate = this.stringToDate(date);
|
|
29
|
+
this.initialize().then();
|
|
30
|
+
}
|
|
31
|
+
get startPartDate() {
|
|
32
|
+
return this._startPartDate;
|
|
33
|
+
}
|
|
34
|
+
set endPartDate(date) {
|
|
35
|
+
this._endPartDate = this.stringToDate(date);
|
|
36
|
+
this.initialize().then();
|
|
37
|
+
}
|
|
38
|
+
get endPartDate() {
|
|
39
|
+
return this._endPartDate;
|
|
40
|
+
}
|
|
41
|
+
set startDate(date) {
|
|
42
|
+
this._startDate = this.stringToDate(date);
|
|
43
|
+
this.initialize().then();
|
|
44
|
+
}
|
|
45
|
+
get startDate() {
|
|
46
|
+
return this._startDate;
|
|
47
|
+
}
|
|
48
|
+
set endDate(date) {
|
|
49
|
+
this._endDate = this.stringToDate(date);
|
|
50
|
+
this.initialize().then();
|
|
51
|
+
}
|
|
52
|
+
get endDate() {
|
|
53
|
+
return this._endDate;
|
|
54
|
+
}
|
|
55
|
+
async ngOnInit() {
|
|
56
|
+
await this.initialize();
|
|
57
|
+
}
|
|
58
|
+
async initialize() {
|
|
59
|
+
this.running = false;
|
|
60
|
+
if (!this.startDate || !this.startPartDate) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!this.endPartDate) {
|
|
64
|
+
this.running = true;
|
|
65
|
+
}
|
|
66
|
+
const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);
|
|
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());
|
|
69
|
+
this.startPercentage = Math.round((100 * startPartGapTime) / this.totalDurationTime);
|
|
70
|
+
this.progressWidth = Math.round((100 * this.partDurationTime) / this.totalDurationTime);
|
|
71
|
+
if (this.progressWidth > 100) {
|
|
72
|
+
this.progressWidth = 100;
|
|
73
|
+
}
|
|
74
|
+
if (this.startPercentage + this.progressWidth > 100) {
|
|
75
|
+
this.startPercentage = 100 - this.progressWidth;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
getTotalDuration(startDate, endDate) {
|
|
79
|
+
return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds');
|
|
80
|
+
}
|
|
81
|
+
stringToDate(date) {
|
|
82
|
+
if (!date) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
return moment(date).tz(this.timezone).toDate();
|
|
86
|
+
}
|
|
87
|
+
getTooltipText() {
|
|
88
|
+
if (this.running) {
|
|
89
|
+
return `${this.runningTooltip} (${this.durationPipe.transform(this.partDurationTime)})`;
|
|
90
|
+
}
|
|
91
|
+
return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressWidth.toFixed(0)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`;
|
|
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 });
|
|
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" }] });
|
|
95
|
+
}
|
|
96
|
+
export { DurationProgressbarComponent };
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationProgressbarComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'duration-progressbar-component', 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"] }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.DurationPipe }]; }, propDecorators: { barHeight: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], progressHeight: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], runningTooltip: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], progressTooltipConjunction: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], timezone: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], startPartDate: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], endPartDate: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], startDate: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], endDate: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tcHJvZ3Jlc3NiYXIvZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tcHJvZ3Jlc3NiYXIvZHVyYXRpb24tcHJvZ3Jlc3NiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzdDLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUVyQyxNQUthLDRCQUE0QjtJQThCVjtJQTVCdEIsT0FBTyxDQUFTO0lBRWYsVUFBVSxDQUFPO0lBQ2pCLFFBQVEsQ0FBTztJQUNmLGNBQWMsQ0FBTztJQUNyQixZQUFZLENBQU87SUFHcEIsU0FBUyxHQUFXLEVBQUUsQ0FBQTtJQUd0QixjQUFjLEdBQVcsRUFBRSxDQUFBO0lBRzNCLGNBQWMsR0FBVyxTQUFTLENBQUE7SUFHbEMsMEJBQTBCLEdBQUcsSUFBSSxDQUFBO0lBR2pDLFFBQVEsR0FBVyxtQkFBbUIsQ0FBQztJQUV2QyxpQkFBaUIsQ0FBUztJQUMxQixnQkFBZ0IsQ0FBUztJQUV6QixlQUFlLENBQVM7SUFDeEIsYUFBYSxDQUFRO0lBRTVCLFlBQTZCLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ3ZELENBQUM7SUFFRCxJQUNJLGFBQWEsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFD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LGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsMEJBQTBCO3NCQURoQyxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFhRixhQUFhO3NCQURoQixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixTQUFTO3NCQURaLEtBQUs7Z0JBV0YsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEdXJhdGlvblBpcGUgfSBmcm9tICdAYXBpcGFzcy9waXBlcydcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHVyYXRpb24tcHJvZ3Jlc3NiYXItY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdkdXJhdGlvbi1wcm9ncmVzc2Jhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkdXJhdGlvbi1wcm9ncmVzc2Jhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER1cmF0aW9uUHJvZ3Jlc3NiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBydW5uaW5nOiBib29sZWFuXG5cbiAgcHJpdmF0ZSBfc3RhcnREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9lbmREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9zdGFydFBhcnREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9lbmRQYXJ0RGF0ZTogRGF0ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYmFySGVpZ2h0OiBudW1iZXIgPSAyMFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc0hlaWdodDogbnVtYmVyID0gMThcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcnVubmluZ1Rvb2x0aXA6IHN0cmluZyA9ICdSdW5uaW5nJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc1Rvb2x0aXBDb25qdW5jdGlvbiA9ICdvZidcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbyc7XG5cbiAgcHVibGljIHRvdGFsRHVyYXRpb25UaW1lOiBudW1iZXI7XG4gIHB1YmxpYyBwYXJ0RHVyYXRpb25UaW1lOiBudW1iZXI7XG5cbiAgcHVibGljIHN0YXJ0UGVyY2VudGFnZTogbnVtYmVyO1xuICBwdWJsaWMgcHJvZ3Jlc3NXaWR0aDogbnVtYmVyXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkdXJhdGlvblBpcGU6IER1cmF0aW9uUGlwZSkge1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHN0YXJ0UGFydERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3N0YXJ0UGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBzdGFydFBhcnREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGFydFBhcnREYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGVuZFBhcnREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9lbmRQYXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKGRhdGUpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKVxuICB9XG5cbiAgZ2V0IGVuZFBhcnREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9lbmRQYXJ0RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzdGFydERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3N0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKGRhdGUpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKVxuICB9XG5cbiAgZ2V0IHN0YXJ0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnREYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGVuZERhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHRoaXMuX2VuZERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBlbmREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9lbmREYXRlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMuc3RhcnREYXRlIHx8ICF0aGlzLnN0YXJ0UGFydERhdGUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoIXRoaXMuZW5kUGFydERhdGUpIHtcbiAgICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRQYXJ0R2FwVGltZSA9IHRoaXMuZ2V0VG90YWxEdXJhdGlvbih0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5zdGFydFBhcnREYXRlKTtcbiAgICB0aGlzLnRvdGFsRHVyYXRpb25UaW1lID0gdGhpcy5nZXRUb3RhbER1cmF0aW9uKHRoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGUgfHwgbW9tZW50KCkudHoodGhpcy50aW1lem9uZSkudG9EYXRlKCkpO1xuICAgIHRoaXMucGFydER1cmF0aW9uVGltZSA9IHRoaXMuZ2V0VG90YWxEdXJhdGlvbih0aGlzLnN0YXJ0UGFydERhdGUsIHRoaXMuZW5kUGFydERhdGUgfHwgbW9tZW50KCkudHoodGhpcy50aW1lem9uZSkudG9EYXRlKCkpO1xuXG4gICAgdGhpcy5zdGFydFBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKCgxMDAgKiBzdGFydFBhcnRHYXBUaW1lKSAvIHRoaXMudG90YWxEdXJhdGlvblRpbWUpXG4gICAgdGhpcy5wcm9ncmVzc1dpZHRoID0gTWF0aC5yb3VuZCgoMTAwICogdGhpcy5wYXJ0RHVyYXRpb25UaW1lKSAvIHRoaXMudG90YWxEdXJhdGlvblRpbWUpXG5cbiAgICBpZiAodGhpcy5wcm9ncmVzc1dpZHRoID4gMTAwKSB7XG4gICAgICB0aGlzLnByb2dyZXNzV2lkdGggPSAxMDBcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydFBlcmNlbnRhZ2UgKyB0aGlzLnByb2dyZXNzV2lkdGggPiAxMDApIHtcbiAgICAgIHRoaXMuc3RhcnRQZXJjZW50YWdlID0gMTAwIC0gdGhpcy5wcm9ncmVzc1dpZHRoXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRvdGFsRHVyYXRpb24oc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KGVuZERhdGUpLnR6KHRoaXMudGltZXpvbmUpLmRpZmYobW9tZW50KHN0YXJ0RGF0ZSkudHoodGhpcy50aW1lem9uZSksICdtaWxsaXNlY29uZHMnKVxuICB9XG5cbiAgcHVibGljIHN0cmluZ1RvRGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogRGF0ZSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS50eih0aGlzLnRpbWV6b25lKS50b0RhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb29sdGlwVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJ1bm5pbmcpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnJ1bm5pbmdUb29sdGlwfSAoJHt0aGlzLmR1cmF0aW9uUGlwZS50cmFuc2Zvcm0odGhpcy5wYXJ0RHVyYXRpb25UaW1lKX0pYFxuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMucGFydER1cmF0aW9uVGltZSl9ICgke3RoaXMucHJvZ3Jlc3NXaWR0aC50b0ZpeGVkKDApfSUpICR7dGhpcy5wcm9ncmVzc1Rvb2x0aXBDb25qdW5jdGlvbn0gJHt0aGlzLmR1cmF0aW9uUGlwZS50cmFuc2Zvcm0odGhpcy50b3RhbER1cmF0aW9uVGltZSl9YFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkdXJhdGlvbi1wcm9ncmVzc2Jhci1jb21wb25lbnRcIiBbbmdDbGFzc109XCJ7J2R1cmF0aW9uLXByb2dyZXNzYmFyLWNvbXBvbmVudC1ydW5uaW5nJzogcnVubmluZ31cIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImJhckhlaWdodFwiPlxuICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tY3VycmVudC1wcm9ncmVzc1wiXG4gICAgICAgW25nQ2xhc3NdPVwieydkdXJhdGlvbi1jdXJyZW50LXByb2dyZXNzLXJ1bm5pbmcnOiBydW5uaW5nfVwiXG4gICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0VG9vbHRpcFRleHQoKVwiXG4gICAgICAgW3N0eWxlLm1hcmdpbi1sZWZ0LiVdPVwic3RhcnRQZXJjZW50YWdlXCJcbiAgICAgICBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc1dpZHRoXCJcbiAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInByb2dyZXNzSGVpZ2h0XCI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tdmFsdWVcIlxuICAgICAgIFttYXRUb29sdGlwXT1cImdldFRvb2x0aXBUZXh0KClcIlxuICAgICAgIFtzdHlsZS5tYXJnaW4tbGVmdC4lXT1cInN0YXJ0UGVyY2VudGFnZVwiXG4gICAgICAgW3N0eWxlLndpZHRoLiVdPVwicHJvZ3Jlc3NXaWR0aFwiXG4gICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJwcm9ncmVzc0hlaWdodFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkdXJhdGlvbi10ZXh0XCIgW3N0eWxlLmhlaWdodC5weF09XCJwcm9ncmVzc0hlaWdodFwiIFtuZ0NsYXNzXT1cInsnZHVyYXRpb24tdGV4dC1ydW5uaW5nJzogcnVubmluZ31cIj5cbiAgICAgICAge3twYXJ0RHVyYXRpb25UaW1lIHwgZHVyYXRpb25UaW1lfX0gKHt7cHJvZ3Jlc3NXaWR0aC50b0ZpeGVkKDApfX0lKVxuICAgICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import moment from 'moment-timezone';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/tooltip";
|
|
6
|
+
import * as i3 from "@apipass/pipes";
|
|
7
|
+
class DurationTimelineComponent {
|
|
8
|
+
timeLineParts = [];
|
|
9
|
+
running;
|
|
10
|
+
_startDate;
|
|
11
|
+
_endDate;
|
|
12
|
+
_durationParts = 0;
|
|
13
|
+
/*
|
|
14
|
+
* If this option is true, depending on the total duration time and numbers of the duration parts, numbers can be repeated on timeline.
|
|
15
|
+
*/
|
|
16
|
+
onlyLargestUnit;
|
|
17
|
+
runningLabel = '---';
|
|
18
|
+
runningTooltip = 'Running';
|
|
19
|
+
timezone = 'America/Sao_Paulo';
|
|
20
|
+
set startDate(date) {
|
|
21
|
+
this._startDate = this.stringToDate(date);
|
|
22
|
+
this.initialize().then();
|
|
23
|
+
}
|
|
24
|
+
get startDate() {
|
|
25
|
+
return this._startDate;
|
|
26
|
+
}
|
|
27
|
+
set endDate(date) {
|
|
28
|
+
this._endDate = this.stringToDate(date);
|
|
29
|
+
this.initialize().then();
|
|
30
|
+
}
|
|
31
|
+
get endDate() {
|
|
32
|
+
return this._endDate;
|
|
33
|
+
}
|
|
34
|
+
set durationParts(parts) {
|
|
35
|
+
this._durationParts = parts;
|
|
36
|
+
this.initialize().then();
|
|
37
|
+
}
|
|
38
|
+
get durationParts() {
|
|
39
|
+
return this._durationParts;
|
|
40
|
+
}
|
|
41
|
+
async ngOnInit() {
|
|
42
|
+
await this.initialize();
|
|
43
|
+
}
|
|
44
|
+
async initialize() {
|
|
45
|
+
this.running = false;
|
|
46
|
+
if (!this.startDate || !this.durationParts) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (!this.endDate) {
|
|
50
|
+
this.running = true;
|
|
51
|
+
}
|
|
52
|
+
const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());
|
|
53
|
+
if (durationTime <= 0) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.timeLineParts = [];
|
|
57
|
+
const timeAggregation = durationTime / this.durationParts;
|
|
58
|
+
for (let i = 0; i < this.durationParts; i++) {
|
|
59
|
+
this.timeLineParts.push(timeAggregation * (i + 1));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
getTotalDuration(endDate) {
|
|
63
|
+
return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds');
|
|
64
|
+
}
|
|
65
|
+
stringToDate(date) {
|
|
66
|
+
if (!date) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return moment(date).tz(this.timezone).toDate();
|
|
70
|
+
}
|
|
71
|
+
getDurationWidth() {
|
|
72
|
+
return `${100 / this._durationParts}%`;
|
|
73
|
+
}
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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" }] });
|
|
76
|
+
}
|
|
77
|
+
export { DurationTimelineComponent };
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
args: [{ selector: 'duration-timeline-component', 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"] }]
|
|
81
|
+
}], propDecorators: { onlyLargestUnit: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], runningLabel: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], runningTooltip: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], timezone: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], startDate: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], endDate: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], durationParts: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRXJDLE1BS2EseUJBQXlCO0lBRTdCLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFTO0lBRWYsVUFBVSxDQUFPO0lBQ2pCLFFBQVEsQ0FBTztJQUNmLGNBQWMsR0FBVyxDQUFDLENBQUE7SUFFbEM7O09BRUc7SUFFSSxlQUFlLENBQVM7SUFHeEIsWUFBWSxHQUFXLEtBQUssQ0FBQTtJQUc1QixjQUFjLEdBQVcsU0FBUyxDQUFBO0lBR2xDLFFBQVEsR0FBVyxtQkFBbUIsQ0FBQztJQUU5QyxJQUNJLFNBQVMsQ0FBQyxJQUFtQjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ0ksT0FBTyxDQUFDLElBQW1CO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxhQUFhLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzFDLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLElBQUksWUFBWSxJQUFJLENBQUMsRUFBRTtZQUNyQixPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixNQUFNLGVBQWUsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFhO1FBQ25DLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDOUcsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFtQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDaEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFBO0lBQ3hDLENBQUM7dUdBM0ZVLHlCQUF5QjsyRkFBekIseUJBQXlCLHFSQ1J0QywrdEJBZUE7O1NEUGEseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNkJBQTZCOzhCQWlCaEMsZUFBZTtzQkFEckIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlGLFNBQVM7c0JBRFosS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBV0ssYUFBYTtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkdXJhdGlvbi10aW1lbGluZS1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogJ2R1cmF0aW9uLXRpbWVsaW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2R1cmF0aW9uLXRpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHVyYXRpb25UaW1lbGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHRpbWVMaW5lUGFydHM6IG51bWJlcltdID0gW107XG4gIHB1YmxpYyBydW5uaW5nOiBib29sZWFuXG5cbiAgcHJpdmF0ZSBfc3RhcnREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9lbmREYXRlOiBEYXRlO1xuICBwcml2YXRlIF9kdXJhdGlvblBhcnRzOiBudW1iZXIgPSAwXG5cbiAgLypcbiAgICogSWYgdGhpcyBvcHRpb24gaXMgdHJ1ZSwgZGVwZW5kaW5nIG9uIHRoZSB0b3RhbCBkdXJhdGlvbiB0aW1lIGFuZCBudW1iZXJzIG9mIHRoZSBkdXJhdGlvbiBwYXJ0cywgbnVtYmVycyBjYW4gYmUgcmVwZWF0ZWQgb24gdGltZWxpbmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgb25seUxhcmdlc3RVbml0OiBib29sZWFuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHJ1bm5pbmdMYWJlbDogc3RyaW5nID0gJy0tLSdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcnVubmluZ1Rvb2x0aXA6IHN0cmluZyA9ICdSdW5uaW5nJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lem9uZTogc3RyaW5nID0gJ0FtZXJpY2EvU2FvX1BhdWxvJztcblxuICBASW5wdXQoKVxuICBzZXQgc3RhcnREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZShkYXRlKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKClcbiAgfVxuXG4gIGdldCBzdGFydERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBlbmREYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9lbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUoZGF0ZSk7XG4gICAgdGhpcy5pbml0aWFsaXplKCkudGhlbigpXG4gIH1cblxuICBnZXQgZW5kRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kRGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZHVyYXRpb25QYXJ0cyhwYXJ0czogbnVtYmVyKSB7XG4gICAgdGhpcy5fZHVyYXRpb25QYXJ0cyA9IHBhcnRzO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKVxuICB9XG5cbiAgZ2V0IGR1cmF0aW9uUGFydHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZHVyYXRpb25QYXJ0cztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnN0YXJ0RGF0ZSB8fCAhdGhpcy5kdXJhdGlvblBhcnRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKCF0aGlzLmVuZERhdGUpIHtcbiAgICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyYXRpb25UaW1lID0gdGhpcy5nZXRUb3RhbER1cmF0aW9uKHRoaXMuZW5kRGF0ZSB8fCBtb21lbnQoKS50eih0aGlzLnRpbWV6b25lKS50b0RhdGUoKSk7XG4gICAgaWYgKGR1cmF0aW9uVGltZSA8PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy50aW1lTGluZVBhcnRzID0gW107XG4gICAgY29uc3QgdGltZUFnZ3JlZ2F0aW9uID0gZHVyYXRpb25UaW1lIC8gdGhpcy5kdXJhdGlvblBhcnRzO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kdXJhdGlvblBhcnRzOyBpKyspIHtcbiAgICAgIHRoaXMudGltZUxpbmVQYXJ0cy5wdXNoKHRpbWVBZ2dyZWdhdGlvbiAqIChpICsgMSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbER1cmF0aW9uKGVuZERhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQodGhpcy5lbmREYXRlKS50eih0aGlzLnRpbWV6b25lKS5kaWZmKG1vbWVudCh0aGlzLnN0YXJ0RGF0ZSkudHoodGhpcy50aW1lem9uZSksICdtaWxsaXNlY29uZHMnKVxuICB9XG5cbiAgcHVibGljIHN0cmluZ1RvRGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogRGF0ZSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS50eih0aGlzLnRpbWV6b25lKS50b0RhdGUoKVxuICB9XG5cbiAgZ2V0RHVyYXRpb25XaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHsxMDAgLyB0aGlzLl9kdXJhdGlvblBhcnRzfSVgXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImR1cmF0aW9uLXRpbWVsaW5lLWNvbXBvbmVudFwiICpuZ0lmPVwidGltZUxpbmVQYXJ0cz8ubGVuZ3RoID4gMFwiPlxuICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tdGltZWxpbmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24taXRlbVwiXG4gICAgICAgICBbc3R5bGUud2lkdGhdPVwiZ2V0RHVyYXRpb25XaWR0aCgpXCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2R1cmF0aW9uLWl0ZW0tZmlyc3QnIDogZmlyc3QsICdkdXJhdGlvbi1pdGVtLWxhc3QnIDogbGFzdCB9XCJcbiAgICAgICAgICpuZ0Zvcj1cImxldCBkdXJhdGlvbiBvZiB0aW1lTGluZVBhcnRzOyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJkdXJhdGlvbi1sYWJlbFwiIFttYXRUb29sdGlwXT1cImR1cmF0aW9uIHwgZHVyYXRpb25UaW1lOiB7IG9ubHlMYXJnZXN0VW5pdCB9XCIgKm5nSWY9XCIhcnVubmluZyB8fCAhbGFzdFwiPlxuICAgICAge3tkdXJhdGlvbiB8IGR1cmF0aW9uVGltZTogeyBvbmx5TGFyZ2VzdFVuaXQgfSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImR1cmF0aW9uLWxhYmVsXCIgW21hdFRvb2x0aXBdPVwicnVubmluZ1Rvb2x0aXBcIiAqbmdJZj1cInJ1bm5pbmcgJiYgbGFzdFwiPlxuICAgICAge3tydW5uaW5nTGFiZWx9fVxuICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './duration-timeline/duration-timeline.component';
|
|
2
|
+
export * from './duration-progressbar/duration-progressbar.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbnRhaW5lcnMvc3JjL2R1cmF0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLHVEQUF1RCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kdXJhdGlvbi10aW1lbGluZS9kdXJhdGlvbi10aW1lbGluZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uLXByb2dyZXNzYmFyL2R1cmF0aW9uLXByb2dyZXNzYmFyLmNvbXBvbmVudCdcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -4,4 +4,5 @@ export * from './configuration-page-content/configuration-page.component';
|
|
|
4
4
|
export * from './configuration-page-title/configuration-page-title.component';
|
|
5
5
|
export * from './breadcrumb/breadcrumb.component';
|
|
6
6
|
export * from 'ngx-scrollbar';
|
|
7
|
-
|
|
7
|
+
export * from './duration/public-api';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbnRhaW5lcnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsdUJBQXVCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lcnMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9jZW50cmFsaXplZC1jb250YWluZXIvY2VudHJhbGl6ZWQtY29udGFpbmVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1wYWdlLWNvbnRlbnQvY29uZmlndXJhdGlvbi1wYWdlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1wYWdlLXRpdGxlL2NvbmZpZ3VyYXRpb24tcGFnZS10aXRsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICduZ3gtc2Nyb2xsYmFyJ1xuZXhwb3J0ICogZnJvbSAnLi9kdXJhdGlvbi9wdWJsaWMtYXBpJ1xuIl19
|
|
@@ -22,6 +22,11 @@ import * as i2$1 from '@apipass/icons';
|
|
|
22
22
|
import { IconsModule } from '@apipass/icons';
|
|
23
23
|
import * as i3$2 from '@apipass/buttons';
|
|
24
24
|
import { ButtonsModule } from '@apipass/buttons';
|
|
25
|
+
import * as i1$1 from '@apipass/pipes';
|
|
26
|
+
import { PipeModule } from '@apipass/pipes';
|
|
27
|
+
import moment from 'moment-timezone';
|
|
28
|
+
import * as i2$2 from '@angular/material/tooltip';
|
|
29
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
25
30
|
|
|
26
31
|
class CentralizedContainerComponent {
|
|
27
32
|
searchTerm = '';
|
|
@@ -155,12 +160,214 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
155
160
|
type: Output
|
|
156
161
|
}] } });
|
|
157
162
|
|
|
163
|
+
class DurationTimelineComponent {
|
|
164
|
+
timeLineParts = [];
|
|
165
|
+
running;
|
|
166
|
+
_startDate;
|
|
167
|
+
_endDate;
|
|
168
|
+
_durationParts = 0;
|
|
169
|
+
/*
|
|
170
|
+
* If this option is true, depending on the total duration time and numbers of the duration parts, numbers can be repeated on timeline.
|
|
171
|
+
*/
|
|
172
|
+
onlyLargestUnit;
|
|
173
|
+
runningLabel = '---';
|
|
174
|
+
runningTooltip = 'Running';
|
|
175
|
+
timezone = 'America/Sao_Paulo';
|
|
176
|
+
set startDate(date) {
|
|
177
|
+
this._startDate = this.stringToDate(date);
|
|
178
|
+
this.initialize().then();
|
|
179
|
+
}
|
|
180
|
+
get startDate() {
|
|
181
|
+
return this._startDate;
|
|
182
|
+
}
|
|
183
|
+
set endDate(date) {
|
|
184
|
+
this._endDate = this.stringToDate(date);
|
|
185
|
+
this.initialize().then();
|
|
186
|
+
}
|
|
187
|
+
get endDate() {
|
|
188
|
+
return this._endDate;
|
|
189
|
+
}
|
|
190
|
+
set durationParts(parts) {
|
|
191
|
+
this._durationParts = parts;
|
|
192
|
+
this.initialize().then();
|
|
193
|
+
}
|
|
194
|
+
get durationParts() {
|
|
195
|
+
return this._durationParts;
|
|
196
|
+
}
|
|
197
|
+
async ngOnInit() {
|
|
198
|
+
await this.initialize();
|
|
199
|
+
}
|
|
200
|
+
async initialize() {
|
|
201
|
+
this.running = false;
|
|
202
|
+
if (!this.startDate || !this.durationParts) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
if (!this.endDate) {
|
|
206
|
+
this.running = true;
|
|
207
|
+
}
|
|
208
|
+
const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());
|
|
209
|
+
if (durationTime <= 0) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
this.timeLineParts = [];
|
|
213
|
+
const timeAggregation = durationTime / this.durationParts;
|
|
214
|
+
for (let i = 0; i < this.durationParts; i++) {
|
|
215
|
+
this.timeLineParts.push(timeAggregation * (i + 1));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
getTotalDuration(endDate) {
|
|
219
|
+
return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds');
|
|
220
|
+
}
|
|
221
|
+
stringToDate(date) {
|
|
222
|
+
if (!date) {
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
return moment(date).tz(this.timezone).toDate();
|
|
226
|
+
}
|
|
227
|
+
getDurationWidth() {
|
|
228
|
+
return `${100 / this._durationParts}%`;
|
|
229
|
+
}
|
|
230
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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" }] });
|
|
232
|
+
}
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationTimelineComponent, decorators: [{
|
|
234
|
+
type: Component,
|
|
235
|
+
args: [{ selector: 'duration-timeline-component', 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"] }]
|
|
236
|
+
}], propDecorators: { onlyLargestUnit: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], runningLabel: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], runningTooltip: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], timezone: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], startDate: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], endDate: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], durationParts: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}] } });
|
|
251
|
+
|
|
252
|
+
class DurationProgressbarComponent {
|
|
253
|
+
durationPipe;
|
|
254
|
+
running;
|
|
255
|
+
_startDate;
|
|
256
|
+
_endDate;
|
|
257
|
+
_startPartDate;
|
|
258
|
+
_endPartDate;
|
|
259
|
+
barHeight = 20;
|
|
260
|
+
progressHeight = 18;
|
|
261
|
+
runningTooltip = 'Running';
|
|
262
|
+
progressTooltipConjunction = 'of';
|
|
263
|
+
timezone = 'America/Sao_Paulo';
|
|
264
|
+
totalDurationTime;
|
|
265
|
+
partDurationTime;
|
|
266
|
+
startPercentage;
|
|
267
|
+
progressWidth;
|
|
268
|
+
constructor(durationPipe) {
|
|
269
|
+
this.durationPipe = durationPipe;
|
|
270
|
+
}
|
|
271
|
+
set startPartDate(date) {
|
|
272
|
+
this._startPartDate = this.stringToDate(date);
|
|
273
|
+
this.initialize().then();
|
|
274
|
+
}
|
|
275
|
+
get startPartDate() {
|
|
276
|
+
return this._startPartDate;
|
|
277
|
+
}
|
|
278
|
+
set endPartDate(date) {
|
|
279
|
+
this._endPartDate = this.stringToDate(date);
|
|
280
|
+
this.initialize().then();
|
|
281
|
+
}
|
|
282
|
+
get endPartDate() {
|
|
283
|
+
return this._endPartDate;
|
|
284
|
+
}
|
|
285
|
+
set startDate(date) {
|
|
286
|
+
this._startDate = this.stringToDate(date);
|
|
287
|
+
this.initialize().then();
|
|
288
|
+
}
|
|
289
|
+
get startDate() {
|
|
290
|
+
return this._startDate;
|
|
291
|
+
}
|
|
292
|
+
set endDate(date) {
|
|
293
|
+
this._endDate = this.stringToDate(date);
|
|
294
|
+
this.initialize().then();
|
|
295
|
+
}
|
|
296
|
+
get endDate() {
|
|
297
|
+
return this._endDate;
|
|
298
|
+
}
|
|
299
|
+
async ngOnInit() {
|
|
300
|
+
await this.initialize();
|
|
301
|
+
}
|
|
302
|
+
async initialize() {
|
|
303
|
+
this.running = false;
|
|
304
|
+
if (!this.startDate || !this.startPartDate) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
if (!this.endPartDate) {
|
|
308
|
+
this.running = true;
|
|
309
|
+
}
|
|
310
|
+
const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);
|
|
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());
|
|
313
|
+
this.startPercentage = Math.round((100 * startPartGapTime) / this.totalDurationTime);
|
|
314
|
+
this.progressWidth = Math.round((100 * this.partDurationTime) / this.totalDurationTime);
|
|
315
|
+
if (this.progressWidth > 100) {
|
|
316
|
+
this.progressWidth = 100;
|
|
317
|
+
}
|
|
318
|
+
if (this.startPercentage + this.progressWidth > 100) {
|
|
319
|
+
this.startPercentage = 100 - this.progressWidth;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
getTotalDuration(startDate, endDate) {
|
|
323
|
+
return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds');
|
|
324
|
+
}
|
|
325
|
+
stringToDate(date) {
|
|
326
|
+
if (!date) {
|
|
327
|
+
return null;
|
|
328
|
+
}
|
|
329
|
+
return moment(date).tz(this.timezone).toDate();
|
|
330
|
+
}
|
|
331
|
+
getTooltipText() {
|
|
332
|
+
if (this.running) {
|
|
333
|
+
return `${this.runningTooltip} (${this.durationPipe.transform(this.partDurationTime)})`;
|
|
334
|
+
}
|
|
335
|
+
return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressWidth.toFixed(0)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`;
|
|
336
|
+
}
|
|
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 });
|
|
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" }] });
|
|
339
|
+
}
|
|
340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationProgressbarComponent, decorators: [{
|
|
341
|
+
type: Component,
|
|
342
|
+
args: [{ selector: 'duration-progressbar-component', 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"] }]
|
|
343
|
+
}], ctorParameters: function () { return [{ type: i1$1.DurationPipe }]; }, propDecorators: { barHeight: [{
|
|
344
|
+
type: Input
|
|
345
|
+
}], progressHeight: [{
|
|
346
|
+
type: Input
|
|
347
|
+
}], runningTooltip: [{
|
|
348
|
+
type: Input
|
|
349
|
+
}], progressTooltipConjunction: [{
|
|
350
|
+
type: Input
|
|
351
|
+
}], timezone: [{
|
|
352
|
+
type: Input
|
|
353
|
+
}], startPartDate: [{
|
|
354
|
+
type: Input
|
|
355
|
+
}], endPartDate: [{
|
|
356
|
+
type: Input
|
|
357
|
+
}], startDate: [{
|
|
358
|
+
type: Input
|
|
359
|
+
}], endDate: [{
|
|
360
|
+
type: Input
|
|
361
|
+
}] } });
|
|
362
|
+
|
|
158
363
|
class ContainersModule {
|
|
159
364
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
160
365
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, declarations: [CentralizedContainerComponent,
|
|
161
366
|
ConfigurationPageComponent,
|
|
162
367
|
BreadcrumbComponent,
|
|
163
|
-
ConfigurationPageTitleComponent
|
|
368
|
+
ConfigurationPageTitleComponent,
|
|
369
|
+
DurationTimelineComponent,
|
|
370
|
+
DurationProgressbarComponent], imports: [CommonModule,
|
|
164
371
|
RouterModule,
|
|
165
372
|
FormsModule,
|
|
166
373
|
ReactiveFormsModule,
|
|
@@ -170,10 +377,14 @@ class ContainersModule {
|
|
|
170
377
|
MatFormFieldModule,
|
|
171
378
|
MatIconModule,
|
|
172
379
|
MatInputModule,
|
|
173
|
-
MatToolbarModule
|
|
380
|
+
MatToolbarModule,
|
|
381
|
+
PipeModule,
|
|
382
|
+
MatTooltipModule], exports: [CentralizedContainerComponent,
|
|
174
383
|
ConfigurationPageComponent,
|
|
175
384
|
BreadcrumbComponent,
|
|
176
|
-
ConfigurationPageTitleComponent
|
|
385
|
+
ConfigurationPageTitleComponent,
|
|
386
|
+
DurationTimelineComponent,
|
|
387
|
+
DurationProgressbarComponent] });
|
|
177
388
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, imports: [CommonModule,
|
|
178
389
|
RouterModule,
|
|
179
390
|
FormsModule,
|
|
@@ -184,7 +395,9 @@ class ContainersModule {
|
|
|
184
395
|
MatFormFieldModule,
|
|
185
396
|
MatIconModule,
|
|
186
397
|
MatInputModule,
|
|
187
|
-
MatToolbarModule
|
|
398
|
+
MatToolbarModule,
|
|
399
|
+
PipeModule,
|
|
400
|
+
MatTooltipModule] });
|
|
188
401
|
}
|
|
189
402
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, decorators: [{
|
|
190
403
|
type: NgModule,
|
|
@@ -200,19 +413,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
200
413
|
MatFormFieldModule,
|
|
201
414
|
MatIconModule,
|
|
202
415
|
MatInputModule,
|
|
203
|
-
MatToolbarModule
|
|
416
|
+
MatToolbarModule,
|
|
417
|
+
PipeModule,
|
|
418
|
+
MatTooltipModule
|
|
204
419
|
],
|
|
205
420
|
declarations: [
|
|
206
421
|
CentralizedContainerComponent,
|
|
207
422
|
ConfigurationPageComponent,
|
|
208
423
|
BreadcrumbComponent,
|
|
209
|
-
ConfigurationPageTitleComponent
|
|
424
|
+
ConfigurationPageTitleComponent,
|
|
425
|
+
DurationTimelineComponent,
|
|
426
|
+
DurationProgressbarComponent
|
|
210
427
|
],
|
|
211
428
|
exports: [
|
|
212
429
|
CentralizedContainerComponent,
|
|
213
430
|
ConfigurationPageComponent,
|
|
214
431
|
BreadcrumbComponent,
|
|
215
|
-
ConfigurationPageTitleComponent
|
|
432
|
+
ConfigurationPageTitleComponent,
|
|
433
|
+
DurationTimelineComponent,
|
|
434
|
+
DurationProgressbarComponent
|
|
216
435
|
],
|
|
217
436
|
providers: []
|
|
218
437
|
}]
|
|
@@ -222,5 +441,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
222
441
|
* Generated bundle index. Do not edit.
|
|
223
442
|
*/
|
|
224
443
|
|
|
225
|
-
export { BreadcrumbComponent, CentralizedContainerComponent, ConfigurationPageComponent, ConfigurationPageTitleComponent, ContainersModule };
|
|
444
|
+
export { BreadcrumbComponent, CentralizedContainerComponent, ConfigurationPageComponent, ConfigurationPageTitleComponent, ContainersModule, DurationProgressbarComponent, DurationTimelineComponent };
|
|
226
445
|
//# sourceMappingURL=apipass-containers.mjs.map
|
|
@@ -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/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 { 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 { MatToolbarModule } from '@angular/material/toolbar'\nimport { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.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 ],\n declarations: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent\n ],\n exports: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent\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"],"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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apipass/containers",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.96",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "16.0.2",
|
|
6
6
|
"@angular/cdk": "16.0.1",
|
|
@@ -8,12 +8,15 @@
|
|
|
8
8
|
"@angular/core": "16.0.2",
|
|
9
9
|
"@angular/forms": "16.0.2",
|
|
10
10
|
"@angular/material": "16.0.1",
|
|
11
|
-
"@apipass/icons": "~1.0.
|
|
12
|
-
"@apipass/buttons": "~1.0.
|
|
11
|
+
"@apipass/icons": "~1.0.93",
|
|
12
|
+
"@apipass/buttons": "~1.0.93",
|
|
13
|
+
"@apipass/pipes": "~1.0.93"
|
|
13
14
|
},
|
|
14
15
|
"dependencies": {
|
|
15
16
|
"ngx-scrollbar": "11.0.0",
|
|
16
17
|
"@ngx-translate/core": "15.0.0",
|
|
18
|
+
"moment": "^2.29.1",
|
|
19
|
+
"moment-timezone": "^0.5.43",
|
|
17
20
|
"tslib": "2.5.2"
|
|
18
21
|
},
|
|
19
22
|
"module": "fesm2022/apipass-containers.mjs",
|
package/public-api.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export * from './configuration-page-content/configuration-page.component';
|
|
|
4
4
|
export * from './configuration-page-title/configuration-page-title.component';
|
|
5
5
|
export * from './breadcrumb/breadcrumb.component';
|
|
6
6
|
export * from 'ngx-scrollbar';
|
|
7
|
+
export * from './duration/public-api';
|