@cauca-911/material 18.0.0 → 18.0.1-beta2
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/esm2022/lib/buttons/base-button.mjs +33 -0
- package/esm2022/lib/buttons/basic-button/basic-button.component.mjs +64 -0
- package/esm2022/lib/buttons/flat-button/flat-button.component.mjs +64 -0
- package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +28 -0
- package/esm2022/lib/buttons/menu-item/menu-item.component.mjs +68 -0
- package/esm2022/lib/buttons/raised-button/raised-button.component.mjs +64 -0
- package/esm2022/lib/buttons/stroked-button/stroked-button.component.mjs +71 -0
- package/esm2022/lib/cauca-material.component.mjs +6 -5
- package/esm2022/lib/cauca-material.module.mjs +14 -52
- package/esm2022/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +14 -10
- package/esm2022/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +16 -8
- package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +14 -10
- package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +6 -6
- package/esm2022/lib/dialogs/alert-dialog/alert-dialog.component.mjs +57 -0
- package/esm2022/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +69 -0
- package/esm2022/lib/dialogs/services/dialog.service.mjs +52 -0
- package/esm2022/lib/inputs/cauca-date-time-picker/cauca-date-time-picker.component.mjs +137 -0
- package/esm2022/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.mjs +2 -2
- package/esm2022/lib/inputs/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +358 -0
- package/esm2022/lib/inputs/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +74 -0
- package/esm2022/lib/inputs/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +2 -0
- package/esm2022/lib/inputs/cauca-input-file/cauca-input-file.component.mjs +147 -0
- package/esm2022/lib/inputs/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +99 -0
- package/esm2022/lib/inputs/password/models/password-validation.mjs +13 -0
- package/esm2022/lib/inputs/password/password-criteria/password-criteria.component.mjs +49 -0
- package/esm2022/lib/inputs/password/password-criteria-viewer/password-criteria-viewer.component.mjs +29 -0
- package/esm2022/lib/inputs/password/password-input/password-input.component.mjs +112 -0
- package/esm2022/lib/inputs/password/password-selection/password-selection.component.mjs +112 -0
- package/esm2022/lib/inputs/password/validators/password-validator.mjs +19 -0
- package/esm2022/lib/inputs/select-with-search/select-with-search.component.mjs +157 -0
- package/esm2022/lib/layout/expandable-panel/expandable-panel.component.mjs +75 -0
- package/esm2022/lib/layout/menu-expandable-panel/menu-expandable-panel.component.mjs +148 -0
- package/esm2022/lib/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.mjs +50 -0
- package/esm2022/lib/layout/page-title/page-title.component.mjs +86 -0
- package/esm2022/lib/notifications/snack-bar/snack-bar.component.mjs +75 -0
- package/esm2022/public-api.mjs +21 -4
- package/fesm2022/cauca-911-material.mjs +1988 -648
- package/fesm2022/cauca-911-material.mjs.map +1 -1
- package/lib/buttons/base-button.d.ts +21 -0
- package/lib/buttons/basic-button/basic-button.component.d.ts +6 -0
- package/lib/buttons/flat-button/flat-button.component.d.ts +6 -0
- package/lib/buttons/icon-button/icon-button.component.d.ts +6 -0
- package/lib/buttons/menu-item/menu-item.component.d.ts +9 -0
- package/lib/buttons/raised-button/raised-button.component.d.ts +6 -0
- package/lib/buttons/stroked-button/stroked-button.component.d.ts +6 -0
- package/lib/cauca-material.component.d.ts +1 -1
- package/lib/cauca-material.module.d.ts +4 -14
- package/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.d.ts +1 -1
- package/lib/cauca-menu-vertical/cauca-menu-vertical.component.d.ts +1 -1
- package/lib/cauca-simple-dialog/cauca-simple-dialog.component.d.ts +1 -1
- package/lib/cauca-slideshow/cauca-slideshow.component.d.ts +1 -1
- package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +18 -0
- package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +17 -0
- package/lib/dialogs/services/dialog.service.d.ts +26 -0
- package/lib/{cauca-input-file → inputs/cauca-input-file}/cauca-input-file.component.d.ts +1 -1
- package/lib/{cauca-input-multiple-langue → inputs/cauca-input-multiple-langue}/cauca-input-multiple-langue.component.d.ts +1 -1
- package/lib/inputs/password/models/password-validation.d.ts +9 -0
- package/lib/inputs/password/password-criteria/password-criteria.component.d.ts +9 -0
- package/lib/inputs/password/password-criteria-viewer/password-criteria-viewer.component.d.ts +9 -0
- package/lib/inputs/password/password-input/password-input.component.d.ts +25 -0
- package/lib/inputs/password/password-selection/password-selection.component.d.ts +20 -0
- package/lib/inputs/password/validators/password-validator.d.ts +9 -0
- package/lib/inputs/select-with-search/select-with-search.component.d.ts +32 -0
- package/lib/layout/expandable-panel/expandable-panel.component.d.ts +10 -0
- package/lib/layout/menu-expandable-panel/menu-expandable-panel.component.d.ts +29 -0
- package/lib/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.d.ts +13 -0
- package/lib/layout/page-title/page-title.component.d.ts +11 -0
- package/lib/notifications/snack-bar/snack-bar.component.d.ts +17 -0
- package/package.json +3 -2
- package/public-api.d.ts +20 -3
- package/esm2022/lib/cauca-date-time-picker/cauca-date-time-picker.component.mjs +0 -137
- package/esm2022/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +0 -357
- package/esm2022/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +0 -74
- package/esm2022/lib/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +0 -2
- package/esm2022/lib/cauca-input-file/cauca-input-file.component.mjs +0 -148
- package/esm2022/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +0 -87
- /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/cauca-date-time-picker.component.d.ts +0 -0
- /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.d.ts +0 -0
- /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/dialog-date-time-picker/dialog-date-time-picker.component.d.ts +0 -0
- /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/mobile-time-picker/mobile-time-picker.component.d.ts +0 -0
- /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/models/dialog-date-time-picker-data.d.ts +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
3
|
+
import { MatInputModule } from '@angular/material/input';
|
|
4
|
+
import { DialogDateTimePickerComponent } from './components/dialog-date-time-picker/dialog-date-time-picker.component';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { DatePipe } from '@angular/common';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/dialog";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/material/button";
|
|
11
|
+
import * as i4 from "@angular/material/icon";
|
|
12
|
+
import * as i5 from "@angular/material/input";
|
|
13
|
+
import * as i6 from "@angular/material/form-field";
|
|
14
|
+
export class CaucaDateTimePickerComponent {
|
|
15
|
+
constructor(elementRef, dialog, datePipe) {
|
|
16
|
+
this.elementRef = elementRef;
|
|
17
|
+
this.dialog = dialog;
|
|
18
|
+
this.datePipe = datePipe;
|
|
19
|
+
this.stepHours = 1;
|
|
20
|
+
this.stepMinutes = 1;
|
|
21
|
+
this.stepSecondes = 1;
|
|
22
|
+
this.minimumDate = null;
|
|
23
|
+
this.maximumDate = null;
|
|
24
|
+
this.showSeconds = false;
|
|
25
|
+
this.showFormat = 'yyyy/MM/dd, HH:mm';
|
|
26
|
+
this.showClearButton = true;
|
|
27
|
+
this.showButtonIcons = true;
|
|
28
|
+
this.selectedChange = new EventEmitter();
|
|
29
|
+
this.stringDate = '';
|
|
30
|
+
}
|
|
31
|
+
set value(value) {
|
|
32
|
+
if (value) {
|
|
33
|
+
this.stringDate = this.stringifyDate(value);
|
|
34
|
+
this.selectedDate = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
showDialog() {
|
|
38
|
+
const dialogRef = this.dialog.open(DialogDateTimePickerComponent, {
|
|
39
|
+
position: this.getDialogPosition(),
|
|
40
|
+
data: this.getDateTimePickerOptions(),
|
|
41
|
+
});
|
|
42
|
+
dialogRef.afterClosed().subscribe((data) => {
|
|
43
|
+
if (data) {
|
|
44
|
+
this.stringDate = this.stringifyDate(data.value);
|
|
45
|
+
this.selectedDate = data.value;
|
|
46
|
+
this.selectedChange.emit(data.value);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
getDateTimePickerOptions() {
|
|
51
|
+
return {
|
|
52
|
+
selectedDate: this.selectedDate,
|
|
53
|
+
minimumDate: this.minimumDate,
|
|
54
|
+
maximumDate: this.maximumDate,
|
|
55
|
+
showSeconds: this.showSeconds,
|
|
56
|
+
showClearButton: this.showClearButton,
|
|
57
|
+
showButtonIcons: this.showButtonIcons,
|
|
58
|
+
step: {
|
|
59
|
+
hours: this.stepHours,
|
|
60
|
+
minutes: this.stepMinutes,
|
|
61
|
+
seconds: this.stepSecondes,
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
stringifyDate(date) {
|
|
66
|
+
return this.datePipe.transform(date, this.showFormat);
|
|
67
|
+
}
|
|
68
|
+
getDialogPosition() {
|
|
69
|
+
const rect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
70
|
+
const top = rect.y + rect.height - 22;
|
|
71
|
+
const bottom = window.innerHeight - rect.y;
|
|
72
|
+
const minimumDialogHeight = 400;
|
|
73
|
+
const minimumScreenSize = 800;
|
|
74
|
+
if (window.innerHeight < minimumScreenSize || window.innerWidth < minimumScreenSize) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
else if (window.innerHeight > (top + minimumDialogHeight)) {
|
|
78
|
+
return {
|
|
79
|
+
left: `${rect.x}px`,
|
|
80
|
+
top: `${top}px`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
left: `${rect.x}px`,
|
|
85
|
+
bottom: `${bottom}px`,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
static { this.ɵfac = function CaucaDateTimePickerComponent_Factory(t) { return new (t || CaucaDateTimePickerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.DatePipe)); }; }
|
|
89
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaDateTimePickerComponent, selectors: [["cauca-date-time-picker"]], inputs: { stepHours: "stepHours", stepMinutes: "stepMinutes", stepSecondes: "stepSecondes", minimumDate: "minimumDate", maximumDate: "maximumDate", showSeconds: "showSeconds", showFormat: "showFormat", showClearButton: "showClearButton", showButtonIcons: "showButtonIcons", value: "value" }, outputs: { selectedChange: "selectedChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([
|
|
90
|
+
DatePipe,
|
|
91
|
+
]), i0.ɵɵStandaloneFeature], decls: 5, vars: 1, consts: [["matInput", "", "readonly", "readonly", 3, "value"], ["matSuffix", "", "mat-icon-button", "", 3, "click"]], template: function CaucaDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
+
i0.ɵɵelementStart(0, "mat-form-field");
|
|
93
|
+
i0.ɵɵelement(1, "input", 0);
|
|
94
|
+
i0.ɵɵelementStart(2, "button", 1);
|
|
95
|
+
i0.ɵɵlistener("click", function CaucaDateTimePickerComponent_Template_button_click_2_listener() { return ctx.showDialog(); });
|
|
96
|
+
i0.ɵɵelementStart(3, "mat-icon");
|
|
97
|
+
i0.ɵɵtext(4, "calendar_month");
|
|
98
|
+
i0.ɵɵelementEnd()()();
|
|
99
|
+
} if (rf & 2) {
|
|
100
|
+
i0.ɵɵadvance();
|
|
101
|
+
i0.ɵɵproperty("value", ctx.stringDate);
|
|
102
|
+
} }, dependencies: [MatButtonModule, i3.MatIconButton, MatIconModule, i4.MatIcon, MatInputModule, i5.MatInput, i6.MatFormField, i6.MatSuffix], styles: ["[_nghost-%COMP%]{display:block}mat-form-field[_ngcontent-%COMP%]{width:100%}"] }); }
|
|
103
|
+
}
|
|
104
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaDateTimePickerComponent, [{
|
|
105
|
+
type: Component,
|
|
106
|
+
args: [{ selector: 'cauca-date-time-picker', standalone: true, imports: [
|
|
107
|
+
MatButtonModule,
|
|
108
|
+
MatIconModule,
|
|
109
|
+
MatInputModule,
|
|
110
|
+
], providers: [
|
|
111
|
+
DatePipe,
|
|
112
|
+
], template: "<mat-form-field>\n <input matInput [value]=\"stringDate\" readonly=\"readonly\">\n <button matSuffix mat-icon-button (click)=\"showDialog()\">\n <mat-icon>calendar_month</mat-icon>\n </button>\n</mat-form-field>", styles: [":host{display:block}mat-form-field{width:100%}\n"] }]
|
|
113
|
+
}], () => [{ type: i0.ElementRef }, { type: i1.MatDialog }, { type: i2.DatePipe }], { stepHours: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], stepMinutes: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], stepSecondes: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], minimumDate: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], maximumDate: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], showSeconds: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], showFormat: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], showClearButton: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], showButtonIcons: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], selectedChange: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}], value: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}] }); })();
|
|
136
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaucaDateTimePickerComponent, { className: "CaucaDateTimePickerComponent", filePath: "lib\\inputs\\cauca-date-time-picker\\cauca-date-time-picker.component.ts", lineNumber: 24 }); })();
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2lucHV0cy9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NhdWNhLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9pbnB1dHMvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9jYXVjYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUV2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQWdCM0MsTUFBTSxPQUFPLDRCQUE0QjtJQWdCdkMsWUFDVSxVQUFzQixFQUN0QixNQUFpQixFQUNqQixRQUFrQjtRQUZsQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxCWixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZ0JBQVcsR0FBUyxJQUFJLENBQUM7UUFDekIsZ0JB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O2dCQUNuQixHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUk7YUFDaEIsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSTtZQUNuQixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUk7U0FDdEIsQ0FBQztJQUNKLENBQUM7NkZBckZVLDRCQUE0QjtvRUFBNUIsNEJBQTRCLGliQU41QjtnQkFDVCxRQUFRO2FBQ1Q7WUNuQkgsc0NBQWdCO1lBQ1osMkJBQXlEO1lBQ3pELGlDQUF5RDtZQUF2Qix5R0FBUyxnQkFBWSxJQUFDO1lBQ3BELGdDQUFVO1lBQUEsOEJBQWM7WUFFaEMsQUFESSxBQUQ0QixpQkFBVyxFQUM5QixFQUNJOztZQUpHLGNBQW9CO1lBQXBCLHNDQUFvQjs0QkRZcEMsZUFBZSxvQkFDZixhQUFhLGNBQ2IsY0FBYzs7aUZBUUwsNEJBQTRCO2NBZHhDLFNBQVM7MkJBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDtvQkFDUCxlQUFlO29CQUNmLGFBQWE7b0JBQ2IsY0FBYztpQkFDZixhQUNVO29CQUNULFFBQVE7aUJBQ1Q7MEZBS2UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsV0FBVztrQkFBMUIsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVSxXQUFXO2tCQUExQixLQUFLO1lBQ1UsVUFBVTtrQkFBekIsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDVSxlQUFlO2tCQUE5QixLQUFLO1lBQ1csY0FBYztrQkFBOUIsTUFBTTtZQWNJLEtBQUs7a0JBRGYsS0FBSzs7a0ZBdkJLLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dQb3NpdGlvbiwgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRGlhbG9nRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0RhdGVUaW1lUGlja2VyT3B0aW9ucywgRGlhbG9nRGF0ZVRpbWVQaWNrZXJWYWx1ZSB9IGZyb20gJy4vbW9kZWxzL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLWRhdGEnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F1Y2EtZGF0ZS10aW1lLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRGF0ZVBpcGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhdWNhLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIENhdWNhRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgc3RlcEhvdXJzID0gMTtcbiAgQElucHV0KCkgcHVibGljIHN0ZXBNaW51dGVzID0gMTtcbiAgQElucHV0KCkgcHVibGljIHN0ZXBTZWNvbmRlcyA9IDE7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5pbXVtRGF0ZTogRGF0ZSA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhpbXVtRGF0ZTogRGF0ZSA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2Vjb25kczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0Zvcm1hdDogc3RyaW5nID0gJ3l5eXkvTU0vZGQsIEhIOm1tJztcbiAgQElucHV0KCkgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QnV0dG9uSWNvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIHB1YmxpYyBzdHJpbmdEYXRlOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIHNlbGVjdGVkRGF0ZTogRGF0ZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXG4gICkge1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogRGF0ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zdHJpbmdEYXRlID0gdGhpcy5zdHJpbmdpZnlEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEaWFsb2dEYXRlVGltZVBpY2tlckNvbXBvbmVudCwge1xuICAgICAgcG9zaXRpb246IHRoaXMuZ2V0RGlhbG9nUG9zaXRpb24oKSxcbiAgICAgIGRhdGE6IHRoaXMuZ2V0RGF0ZVRpbWVQaWNrZXJPcHRpb25zKCksXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGRhdGE6IERpYWxvZ0RhdGVUaW1lUGlja2VyVmFsdWUpID0+IHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RyaW5nRGF0ZSA9IHRoaXMuc3RyaW5naWZ5RGF0ZShkYXRhLnZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRhLnZhbHVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoZGF0YS52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERhdGVUaW1lUGlja2VyT3B0aW9ucygpOiBEaWFsb2dEYXRlVGltZVBpY2tlck9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RlZERhdGU6IHRoaXMuc2VsZWN0ZWREYXRlLFxuICAgICAgbWluaW11bURhdGU6IHRoaXMubWluaW11bURhdGUsXG4gICAgICBtYXhpbXVtRGF0ZTogdGhpcy5tYXhpbXVtRGF0ZSxcbiAgICAgIHNob3dTZWNvbmRzOiB0aGlzLnNob3dTZWNvbmRzLFxuICAgICAgc2hvd0NsZWFyQnV0dG9uOiB0aGlzLnNob3dDbGVhckJ1dHRvbixcbiAgICAgIHNob3dCdXR0b25JY29uczogdGhpcy5zaG93QnV0dG9uSWNvbnMsXG4gICAgICBzdGVwOiB7XG4gICAgICAgIGhvdXJzOiB0aGlzLnN0ZXBIb3VycyxcbiAgICAgICAgbWludXRlczogdGhpcy5zdGVwTWludXRlcyxcbiAgICAgICAgc2Vjb25kczogdGhpcy5zdGVwU2Vjb25kZXMsXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICBwcml2YXRlIHN0cmluZ2lmeURhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGUsIHRoaXMuc2hvd0Zvcm1hdCk7XG4gIH1cblxuICBwcml2YXRlIGdldERpYWxvZ1Bvc2l0aW9uKCk6IERpYWxvZ1Bvc2l0aW9uIHtcbiAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdG9wID0gcmVjdC55ICsgcmVjdC5oZWlnaHQgLSAyMjtcbiAgICBjb25zdCBib3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0Lnk7XG4gICAgY29uc3QgbWluaW11bURpYWxvZ0hlaWdodCA9IDQwMDtcbiAgICBjb25zdCBtaW5pbXVtU2NyZWVuU2l6ZSA9IDgwMDtcblxuICAgIGlmICh3aW5kb3cuaW5uZXJIZWlnaHQgPCBtaW5pbXVtU2NyZWVuU2l6ZSB8fCB3aW5kb3cuaW5uZXJXaWR0aCA8IG1pbmltdW1TY3JlZW5TaXplKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5pbm5lckhlaWdodCA+ICh0b3AgKyBtaW5pbXVtRGlhbG9nSGVpZ2h0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGVmdDogYCR7cmVjdC54fXB4YCxcbiAgICAgICAgdG9wOiBgJHt0b3B9cHhgLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogYCR7cmVjdC54fXB4YCxcbiAgICAgIGJvdHRvbTogYCR7Ym90dG9tfXB4YCxcbiAgICB9O1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gICAgPGlucHV0IG1hdElucHV0IFt2YWx1ZV09XCJzdHJpbmdEYXRlXCIgcmVhZG9ubHk9XCJyZWFkb25seVwiPlxuICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2hvd0RpYWxvZygpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5jYWxlbmRhcl9tb250aDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -45,5 +45,5 @@ export class DesktopTimePickerComponent {
|
|
|
45
45
|
}], valueChange: [{
|
|
46
46
|
type: Output
|
|
47
47
|
}] }); })();
|
|
48
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DesktopTimePickerComponent, { className: "DesktopTimePickerComponent", filePath: "lib\\cauca-date-time-picker\\components\\desktop-time-picker\\desktop-time-picker.component.ts", lineNumber: 13 }); })();
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DesktopTimePickerComponent, { className: "DesktopTimePickerComponent", filePath: "lib\\inputs\\cauca-date-time-picker\\components\\desktop-time-picker\\desktop-time-picker.component.ts", lineNumber: 13 }); })();
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVza3RvcC10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2lucHV0cy9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGVza3RvcC10aW1lLXBpY2tlci9kZXNrdG9wLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvaW5wdXRzL2NhdWNhLWRhdGUtdGltZS1waWNrZXIvY29tcG9uZW50cy9kZXNrdG9wLXRpbWUtcGlja2VyL2Rlc2t0b3AtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0lDQ25ELHdDQUN1QztJQUFuQyx5TkFBUyxrQ0FBd0IsS0FBQztJQUFDLFlBQXNDO0lBQUEsaUJBQWdCOzs7O0lBRC9DLEFBQS9CLHNEQUE4Qiw4RkFBb0Q7SUFDMUQsY0FBc0M7SUFBdEMsNkRBQXNDOztBRFNqRixNQUFNLE9BQU8sMEJBQTBCO0lBVHZDO1FBVWtCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFJdEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBQzNEOzJGQU5ZLDBCQUEwQjtvRUFBMUIsMEJBQTBCO1lDWnZDLG1DQUFxQztZQUNqQyx5SEFHUztZQUNiLGlCQUFXOztZQUxELHlFQUEwQjtZQUNoQyxjQUdTO1lBSFQsMEJBR1M7NEJER1QsYUFBYTs7aUZBS0osMEJBQTBCO2NBVHRDLFNBQVM7MkJBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDtvQkFDUCxhQUFhO2lCQUNkO2dCQUtlLE9BQU87a0JBQXRCLEtBQUs7WUFDVSxLQUFLO2tCQUFwQixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUVXLFdBQVc7a0JBQTNCLE1BQU07O2tGQUxJLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLWRlc2t0b3AtdGltZS1waWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0TGlzdE1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVza3RvcC10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kZXNrdG9wLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEZXNrdG9wVGltZVBpY2tlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgdmFsdWU6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBEZXNrdG9wVGltZVBpY2tlckNvbXBvbmVudERpc2FibGVkO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXNrdG9wVGltZVBpY2tlckNvbXBvbmVudERpc2FibGVkIHtcbiAgYWxsOiBib29sZWFuO1xuICBzb21lT3B0aW9uczogbnVtYmVyW107XG59IiwiPG1hdC1saXN0IFtkaXNhYmxlZF09XCJkaXNhYmxlZD8uYWxsXCI+XG4gICAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xuICAgIDxtYXQtbGlzdC1pdGVtIFthY3RpdmF0ZWRdPVwidmFsdWUgPT09IG9wdGlvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZD8uc29tZU9wdGlvbnMuaW5jbHVkZXMob3B0aW9uKVwiXG4gICAgICAgIChjbGljayk9XCJ2YWx1ZUNoYW5nZS5lbWl0KG9wdGlvbilcIj57eyhvcHRpb24gPCAxMCA/ICcwJyA6ICcnICkgKyBvcHRpb259fTwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIH1cbjwvbWF0LWxpc3Q+Il19
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { Component, HostListener, Inject } from '@angular/core';
|
|
2
|
+
import { MatNativeDateModule } from '@angular/material/core';
|
|
3
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
4
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
5
|
+
import { MatListModule } from '@angular/material/list';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
+
import { MobileTimePickerComponent } from '../mobile-time-picker/mobile-time-picker.component';
|
|
9
|
+
import { DesktopTimePickerComponent } from '../desktop-time-picker/desktop-time-picker.component';
|
|
10
|
+
import { NgClass } from '@angular/common';
|
|
11
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/dialog";
|
|
14
|
+
import * as i2 from "@angular/material/button";
|
|
15
|
+
import * as i3 from "@angular/material/datepicker";
|
|
16
|
+
import * as i4 from "@angular/material/icon";
|
|
17
|
+
import * as i5 from "@ngx-translate/core";
|
|
18
|
+
const _c0 = (a0, a1) => ({ all: a0, someOptions: a1 });
|
|
19
|
+
function DialogDateTimePickerComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
21
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "cauca-desktop-time-picker", 15);
|
|
22
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_div_4_Template_cauca_desktop_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.hourChanged($event)); });
|
|
23
|
+
i0.ɵɵelementEnd()();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
26
|
+
i0.ɵɵadvance();
|
|
27
|
+
i0.ɵɵproperty("disabled", i0.ɵɵpureFunction2(3, _c0, ctx_r1.disabled.hours, ctx_r1.disabled.someHours))("options", ctx_r1.hours)("value", ctx_r1.selectedHour);
|
|
28
|
+
} }
|
|
29
|
+
function DialogDateTimePickerComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "cauca-mobile-time-picker", 16);
|
|
32
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_div_5_Template_cauca_mobile_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.hourChanged($event)); });
|
|
33
|
+
i0.ɵɵelementEnd()();
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
36
|
+
i0.ɵɵadvance();
|
|
37
|
+
i0.ɵɵproperty("options", ctx_r1.hours)("value", ctx_r1.selectedHour);
|
|
38
|
+
} }
|
|
39
|
+
function DialogDateTimePickerComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
41
|
+
i0.ɵɵtext(1, ":");
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
} }
|
|
44
|
+
function DialogDateTimePickerComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
46
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "cauca-desktop-time-picker", 15);
|
|
47
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_div_7_Template_cauca_desktop_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.minuteChanged($event)); });
|
|
48
|
+
i0.ɵɵelementEnd()();
|
|
49
|
+
} if (rf & 2) {
|
|
50
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
51
|
+
i0.ɵɵadvance();
|
|
52
|
+
i0.ɵɵproperty("disabled", i0.ɵɵpureFunction2(3, _c0, ctx_r1.disabled.minutes, ctx_r1.disabled.someMinutes))("options", ctx_r1.minutes)("value", ctx_r1.selectedMinute);
|
|
53
|
+
} }
|
|
54
|
+
function DialogDateTimePickerComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
56
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "cauca-mobile-time-picker", 16);
|
|
57
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_div_8_Template_cauca_mobile_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.minuteChanged($event)); });
|
|
58
|
+
i0.ɵɵelementEnd()();
|
|
59
|
+
} if (rf & 2) {
|
|
60
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
61
|
+
i0.ɵɵadvance();
|
|
62
|
+
i0.ɵɵproperty("options", ctx_r1.minutes)("value", ctx_r1.selectedMinute);
|
|
63
|
+
} }
|
|
64
|
+
function DialogDateTimePickerComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵelementStart(0, "div", 19);
|
|
66
|
+
i0.ɵɵtext(1, ":");
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
} }
|
|
69
|
+
function DialogDateTimePickerComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
70
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
71
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "cauca-desktop-time-picker", 15);
|
|
72
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_div_10_Template_cauca_desktop_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.secondChanged($event)); });
|
|
73
|
+
i0.ɵɵelementEnd()();
|
|
74
|
+
} if (rf & 2) {
|
|
75
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
76
|
+
i0.ɵɵadvance();
|
|
77
|
+
i0.ɵɵproperty("disabled", i0.ɵɵpureFunction2(3, _c0, ctx_r1.disabled.seconds, ctx_r1.disabled.someSeconds))("options", ctx_r1.seconds)("value", ctx_r1.selectedSecond);
|
|
78
|
+
} }
|
|
79
|
+
function DialogDateTimePickerComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
81
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "cauca-mobile-time-picker", 16);
|
|
82
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_div_11_Template_cauca_mobile_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.secondChanged($event)); });
|
|
83
|
+
i0.ɵɵelementEnd()();
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
86
|
+
i0.ɵɵadvance();
|
|
87
|
+
i0.ɵɵproperty("options", ctx_r1.seconds)("value", ctx_r1.selectedSecond);
|
|
88
|
+
} }
|
|
89
|
+
function DialogDateTimePickerComponent_button_13_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "mat-icon");
|
|
91
|
+
i0.ɵɵtext(1, "clear");
|
|
92
|
+
i0.ɵɵelementEnd();
|
|
93
|
+
} }
|
|
94
|
+
function DialogDateTimePickerComponent_button_13_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
96
|
+
i0.ɵɵelementStart(0, "button", 11);
|
|
97
|
+
i0.ɵɵlistener("click", function DialogDateTimePickerComponent_button_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.clear()); });
|
|
98
|
+
i0.ɵɵtemplate(1, DialogDateTimePickerComponent_button_13_mat_icon_1_Template, 2, 0, "mat-icon", 12);
|
|
99
|
+
i0.ɵɵtext(2);
|
|
100
|
+
i0.ɵɵpipe(3, "translate");
|
|
101
|
+
i0.ɵɵelementEnd();
|
|
102
|
+
} if (rf & 2) {
|
|
103
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
104
|
+
i0.ɵɵadvance();
|
|
105
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showButtonIcons);
|
|
106
|
+
i0.ɵɵadvance();
|
|
107
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "material.clear"), " ");
|
|
108
|
+
} }
|
|
109
|
+
function DialogDateTimePickerComponent_mat_icon_15_Template(rf, ctx) { if (rf & 1) {
|
|
110
|
+
i0.ɵɵelementStart(0, "mat-icon");
|
|
111
|
+
i0.ɵɵtext(1, "cancel");
|
|
112
|
+
i0.ɵɵelementEnd();
|
|
113
|
+
} }
|
|
114
|
+
function DialogDateTimePickerComponent_mat_icon_19_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
+
i0.ɵɵelementStart(0, "mat-icon");
|
|
116
|
+
i0.ɵɵtext(1, "check");
|
|
117
|
+
i0.ɵɵelementEnd();
|
|
118
|
+
} }
|
|
119
|
+
export class DialogDateTimePickerComponent {
|
|
120
|
+
constructor(dialogRef, options) {
|
|
121
|
+
this.dialogRef = dialogRef;
|
|
122
|
+
this.options = options;
|
|
123
|
+
this.selectedHour = 0;
|
|
124
|
+
this.selectedMinute = 0;
|
|
125
|
+
this.selectedSecond = 0;
|
|
126
|
+
this.initialDate = null;
|
|
127
|
+
this.selectedDate = null;
|
|
128
|
+
this.minimumDate = new Date();
|
|
129
|
+
this.maximumDate = new Date();
|
|
130
|
+
this.showSeconds = false;
|
|
131
|
+
this.showClearButton = true;
|
|
132
|
+
this.showButtonIcons = true;
|
|
133
|
+
this.hours = [...Array(24).keys()];
|
|
134
|
+
this.minutes = [...Array(60).keys()];
|
|
135
|
+
this.seconds = [...Array(60).keys()];
|
|
136
|
+
this.showMobileUi = false;
|
|
137
|
+
this.disabled = {
|
|
138
|
+
hours: true,
|
|
139
|
+
someHours: [],
|
|
140
|
+
minutes: true,
|
|
141
|
+
someMinutes: [],
|
|
142
|
+
seconds: true,
|
|
143
|
+
someSeconds: [],
|
|
144
|
+
};
|
|
145
|
+
this.step = {
|
|
146
|
+
hours: 1,
|
|
147
|
+
minutes: 1,
|
|
148
|
+
seconds: 1,
|
|
149
|
+
};
|
|
150
|
+
this.step = options.step || this.step;
|
|
151
|
+
this.showSeconds = options.showSeconds;
|
|
152
|
+
this.showButtonIcons = options.showButtonIcons ?? this.showButtonIcons;
|
|
153
|
+
this.showClearButton = options.showClearButton ?? this.showClearButton;
|
|
154
|
+
this.setListHoursMinutes();
|
|
155
|
+
this.initialEachComponentValue(options);
|
|
156
|
+
}
|
|
157
|
+
ngOnInit() {
|
|
158
|
+
this.onWindowWithChange(window.innerWidth);
|
|
159
|
+
}
|
|
160
|
+
onResize(event) {
|
|
161
|
+
this.onWindowWithChange(event.target.innerWidth);
|
|
162
|
+
}
|
|
163
|
+
dateChanged(date) {
|
|
164
|
+
if (date) {
|
|
165
|
+
this.selectedDate = date;
|
|
166
|
+
this.selectedDate.setHours(this.selectedHour);
|
|
167
|
+
this.selectedDate.setMinutes(this.selectedMinute);
|
|
168
|
+
this.selectedDate.setSeconds(this.selectedSecond);
|
|
169
|
+
this.disabled.hours = false;
|
|
170
|
+
this.disabled.someHours = this.hours.filter(hour => this.hourOfSelectedDateIsDisabled(hour));
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
this.selectedDate = null;
|
|
174
|
+
this.disabled.hours = true;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
hourChanged(hour) {
|
|
178
|
+
if (this.disabled.hours || this.disabled.someHours.includes(hour))
|
|
179
|
+
return;
|
|
180
|
+
this.selectedHour = hour;
|
|
181
|
+
this.selectedDate.setHours(hour);
|
|
182
|
+
this.disabled.minutes = false;
|
|
183
|
+
this.disabled.someMinutes = this.minutes.filter(minute => this.minuteOfSelectedDateIsDisabled(minute));
|
|
184
|
+
}
|
|
185
|
+
minuteChanged(minute) {
|
|
186
|
+
if (this.disabled.minutes || this.disabled.someMinutes.includes(minute))
|
|
187
|
+
return;
|
|
188
|
+
this.selectedMinute = minute;
|
|
189
|
+
this.selectedDate.setMinutes(minute);
|
|
190
|
+
this.disabled.seconds = false;
|
|
191
|
+
this.disabled.someSeconds = this.seconds.filter(second => this.secondOfSelectedDateIsDisabled(second));
|
|
192
|
+
}
|
|
193
|
+
secondChanged(second) {
|
|
194
|
+
if (this.disabled.seconds || this.disabled.someSeconds.includes(second))
|
|
195
|
+
return;
|
|
196
|
+
this.selectedSecond = second;
|
|
197
|
+
this.selectedDate.setSeconds(second);
|
|
198
|
+
}
|
|
199
|
+
clear() {
|
|
200
|
+
this.dialogRef.close({
|
|
201
|
+
value: null
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
cancel() {
|
|
205
|
+
this.dialogRef.close({
|
|
206
|
+
value: this.initialDate
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
confirm() {
|
|
210
|
+
this.dialogRef.close({
|
|
211
|
+
value: this.selectedDate
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
onWindowWithChange(width) {
|
|
215
|
+
this.showMobileUi = width && width <= 555;
|
|
216
|
+
}
|
|
217
|
+
hourOfSelectedDateIsDisabled(hour) {
|
|
218
|
+
if (this.selectedDateIsTheMinimumDate()) {
|
|
219
|
+
return hour < this.minimumDate.getHours();
|
|
220
|
+
}
|
|
221
|
+
else if (this.selectedDateIsTheMaximumDate()) {
|
|
222
|
+
return hour > this.maximumDate.getHours();
|
|
223
|
+
}
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
minuteOfSelectedDateIsDisabled(minute) {
|
|
227
|
+
if (this.selectedDateIsTheMinimumDate() &&
|
|
228
|
+
this.selectedDate.getHours() === this.minimumDate.getHours()) {
|
|
229
|
+
return minute < this.minimumDate.getMinutes();
|
|
230
|
+
}
|
|
231
|
+
else if (this.selectedDateIsTheMaximumDate() &&
|
|
232
|
+
this.selectedDate.getHours() === this.maximumDate.getHours()) {
|
|
233
|
+
return minute > this.maximumDate.getMinutes();
|
|
234
|
+
}
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
secondOfSelectedDateIsDisabled(second) {
|
|
238
|
+
if (this.selectedDateIsTheMinimumDate() &&
|
|
239
|
+
this.selectedDate.getHours() === this.minimumDate.getHours() &&
|
|
240
|
+
this.selectedDate.getMinutes() === this.minimumDate.getMinutes()) {
|
|
241
|
+
return second < this.minimumDate.getSeconds();
|
|
242
|
+
}
|
|
243
|
+
else if (this.selectedDateIsTheMaximumDate() &&
|
|
244
|
+
this.selectedDate.getMinutes() === this.maximumDate.getMinutes()) {
|
|
245
|
+
return second > this.maximumDate.getSeconds();
|
|
246
|
+
}
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
initialEachComponentValue(options) {
|
|
250
|
+
this.initialDate = options.selectedDate ? new Date(options.selectedDate) : null;
|
|
251
|
+
this.minimumDate = options.minimumDate ? new Date(options.minimumDate) : null;
|
|
252
|
+
this.maximumDate = options.maximumDate ? new Date(options.maximumDate) : null;
|
|
253
|
+
this.selectedDate = options.selectedDate ? new Date(options.selectedDate) : new Date();
|
|
254
|
+
this.dateChanged(options.selectedDate ? new Date(options.selectedDate) : null);
|
|
255
|
+
this.hourChanged(options.selectedDate ? new Date(options.selectedDate).getHours() : 0);
|
|
256
|
+
this.minuteChanged(options.selectedDate ? new Date(options.selectedDate).getMinutes() : 0);
|
|
257
|
+
this.secondChanged(options.selectedDate ? new Date(options.selectedDate).getSeconds() : 0);
|
|
258
|
+
}
|
|
259
|
+
selectedDateIsTheMinimumDate() {
|
|
260
|
+
return (this.minimumDate &&
|
|
261
|
+
this.selectedDate.getFullYear() === this.minimumDate.getFullYear() &&
|
|
262
|
+
this.selectedDate.getMonth() === this.minimumDate.getMonth() &&
|
|
263
|
+
this.selectedDate.getDate() === this.minimumDate.getDate());
|
|
264
|
+
}
|
|
265
|
+
selectedDateIsTheMaximumDate() {
|
|
266
|
+
return (this.maximumDate &&
|
|
267
|
+
this.selectedDate.getFullYear() === this.maximumDate.getFullYear() &&
|
|
268
|
+
this.selectedDate.getMonth() === this.maximumDate.getMonth() &&
|
|
269
|
+
this.selectedDate.getDate() === this.maximumDate.getDate());
|
|
270
|
+
}
|
|
271
|
+
setListHoursMinutes() {
|
|
272
|
+
this.hours = this.hours.filter(hour => hour % this.step.hours === 0);
|
|
273
|
+
this.minutes = this.minutes.filter(minute => minute % this.step.minutes === 0);
|
|
274
|
+
this.seconds = this.seconds.filter(seconde => seconde % this.step.seconds === 0);
|
|
275
|
+
}
|
|
276
|
+
static { this.ɵfac = function DialogDateTimePickerComponent_Factory(t) { return new (t || DialogDateTimePickerComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
|
|
277
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DialogDateTimePickerComponent, selectors: [["cauca-dialog-date-time-picker"]], hostBindings: function DialogDateTimePickerComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
278
|
+
i0.ɵɵlistener("resize", function DialogDateTimePickerComponent_resize_HostBindingHandler($event) { return ctx.onResize($event); }, false, i0.ɵɵresolveWindow);
|
|
279
|
+
} }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 22, vars: 21, consts: [["mat-dialog-content", ""], [1, "date-time-picker", 3, "ngClass"], [1, "calendar"], [3, "selectedChange", "minDate", "maxDate", "selected"], ["class", "hours", 4, "ngIf"], ["class", "hour-and-minute-separator", 4, "ngIf"], ["class", "minutes", 4, "ngIf"], ["class", "minute-and-second-separator", 4, "ngIf"], ["class", "seconds", 4, "ngIf"], ["mat-dialog-actions", "", "align", "end"], ["mat-stroked-button", "", 3, "click", 4, "ngIf"], ["mat-stroked-button", "", 3, "click"], [4, "ngIf"], ["color", "primary", "mat-raised-button", "", "cdkFocusInitial", "", 3, "click"], [1, "hours"], [3, "valueChange", "disabled", "options", "value"], [3, "valueChange", "options", "value"], [1, "hour-and-minute-separator"], [1, "minutes"], [1, "minute-and-second-separator"], [1, "seconds"]], template: function DialogDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
280
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "mat-calendar", 3);
|
|
281
|
+
i0.ɵɵlistener("selectedChange", function DialogDateTimePickerComponent_Template_mat_calendar_selectedChange_3_listener($event) { return ctx.dateChanged($event); });
|
|
282
|
+
i0.ɵɵelementEnd()();
|
|
283
|
+
i0.ɵɵtemplate(4, DialogDateTimePickerComponent_div_4_Template, 2, 6, "div", 4)(5, DialogDateTimePickerComponent_div_5_Template, 2, 2, "div", 4)(6, DialogDateTimePickerComponent_div_6_Template, 2, 0, "div", 5)(7, DialogDateTimePickerComponent_div_7_Template, 2, 6, "div", 6)(8, DialogDateTimePickerComponent_div_8_Template, 2, 2, "div", 6)(9, DialogDateTimePickerComponent_div_9_Template, 2, 0, "div", 7)(10, DialogDateTimePickerComponent_div_10_Template, 2, 6, "div", 8)(11, DialogDateTimePickerComponent_div_11_Template, 2, 2, "div", 8);
|
|
284
|
+
i0.ɵɵelementEnd()();
|
|
285
|
+
i0.ɵɵelementStart(12, "div", 9);
|
|
286
|
+
i0.ɵɵtemplate(13, DialogDateTimePickerComponent_button_13_Template, 4, 4, "button", 10);
|
|
287
|
+
i0.ɵɵelementStart(14, "button", 11);
|
|
288
|
+
i0.ɵɵlistener("click", function DialogDateTimePickerComponent_Template_button_click_14_listener() { return ctx.cancel(); });
|
|
289
|
+
i0.ɵɵtemplate(15, DialogDateTimePickerComponent_mat_icon_15_Template, 2, 0, "mat-icon", 12);
|
|
290
|
+
i0.ɵɵtext(16);
|
|
291
|
+
i0.ɵɵpipe(17, "translate");
|
|
292
|
+
i0.ɵɵelementEnd();
|
|
293
|
+
i0.ɵɵelementStart(18, "button", 13);
|
|
294
|
+
i0.ɵɵlistener("click", function DialogDateTimePickerComponent_Template_button_click_18_listener() { return ctx.confirm(); });
|
|
295
|
+
i0.ɵɵtemplate(19, DialogDateTimePickerComponent_mat_icon_19_Template, 2, 0, "mat-icon", 12);
|
|
296
|
+
i0.ɵɵtext(20);
|
|
297
|
+
i0.ɵɵpipe(21, "translate");
|
|
298
|
+
i0.ɵɵelementEnd()();
|
|
299
|
+
} if (rf & 2) {
|
|
300
|
+
i0.ɵɵadvance();
|
|
301
|
+
i0.ɵɵproperty("ngClass", ctx.showSeconds ? "show-seconds" : "hide-seconds");
|
|
302
|
+
i0.ɵɵadvance(2);
|
|
303
|
+
i0.ɵɵproperty("minDate", ctx.minimumDate)("maxDate", ctx.maximumDate)("selected", ctx.selectedDate);
|
|
304
|
+
i0.ɵɵadvance();
|
|
305
|
+
i0.ɵɵproperty("ngIf", !ctx.showMobileUi);
|
|
306
|
+
i0.ɵɵadvance();
|
|
307
|
+
i0.ɵɵproperty("ngIf", ctx.showMobileUi);
|
|
308
|
+
i0.ɵɵadvance();
|
|
309
|
+
i0.ɵɵproperty("ngIf", ctx.showMobileUi);
|
|
310
|
+
i0.ɵɵadvance();
|
|
311
|
+
i0.ɵɵproperty("ngIf", !ctx.showMobileUi);
|
|
312
|
+
i0.ɵɵadvance();
|
|
313
|
+
i0.ɵɵproperty("ngIf", ctx.showMobileUi);
|
|
314
|
+
i0.ɵɵadvance();
|
|
315
|
+
i0.ɵɵproperty("ngIf", ctx.showSeconds && ctx.showMobileUi);
|
|
316
|
+
i0.ɵɵadvance();
|
|
317
|
+
i0.ɵɵproperty("ngIf", ctx.showSeconds && !ctx.showMobileUi);
|
|
318
|
+
i0.ɵɵadvance();
|
|
319
|
+
i0.ɵɵproperty("ngIf", ctx.showSeconds && ctx.showMobileUi);
|
|
320
|
+
i0.ɵɵadvance(2);
|
|
321
|
+
i0.ɵɵproperty("ngIf", ctx.showClearButton);
|
|
322
|
+
i0.ɵɵadvance(2);
|
|
323
|
+
i0.ɵɵproperty("ngIf", ctx.showButtonIcons);
|
|
324
|
+
i0.ɵɵadvance();
|
|
325
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 17, "material.cancel"), " ");
|
|
326
|
+
i0.ɵɵadvance(3);
|
|
327
|
+
i0.ɵɵproperty("ngIf", ctx.showButtonIcons);
|
|
328
|
+
i0.ɵɵadvance();
|
|
329
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 19, "material.ok"), " ");
|
|
330
|
+
} }, dependencies: [MatButtonModule, i2.MatButton, MatDatepickerModule, i3.MatCalendar, MatIconModule, i4.MatIcon, MatListModule,
|
|
331
|
+
MatNativeDateModule,
|
|
332
|
+
MobileTimePickerComponent,
|
|
333
|
+
DesktopTimePickerComponent,
|
|
334
|
+
NgClass,
|
|
335
|
+
TranslateModule, i5.TranslatePipe], styles: ["div[mat-dialog-actions][_ngcontent-%COMP%]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions][_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:2px}.date-time-picker[_ngcontent-%COMP%]{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child mat-calendar[_ngcontent-%COMP%]{width:290px;height:350px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar[_ngcontent-%COMP%]{grid-area:calendar}.hours[_ngcontent-%COMP%]{grid-area:hours}.minutes[_ngcontent-%COMP%]{grid-area:minutes}.seconds[_ngcontent-%COMP%]{grid-area:seconds}.hour-and-minute-separator[_ngcontent-%COMP%]{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator[_ngcontent-%COMP%]{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds[_ngcontent-%COMP%]{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds[_ngcontent-%COMP%]{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker[_ngcontent-%COMP%]{grid-template-rows:auto auto;height:450px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-left:none}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(:first-child){height:70px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}"] }); }
|
|
336
|
+
}
|
|
337
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogDateTimePickerComponent, [{
|
|
338
|
+
type: Component,
|
|
339
|
+
args: [{ selector: 'cauca-dialog-date-time-picker', standalone: true, imports: [
|
|
340
|
+
MatButtonModule,
|
|
341
|
+
MatDatepickerModule,
|
|
342
|
+
MatIconModule,
|
|
343
|
+
MatListModule,
|
|
344
|
+
MatNativeDateModule,
|
|
345
|
+
MobileTimePickerComponent,
|
|
346
|
+
DesktopTimePickerComponent,
|
|
347
|
+
NgClass,
|
|
348
|
+
TranslateModule
|
|
349
|
+
], template: "<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n\n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n\n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n\n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>", styles: ["div[mat-dialog-actions]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions] button{margin:2px}.date-time-picker{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker>div{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker>div:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker>div:first-child mat-calendar{width:290px;height:350px}.date-time-picker>div::-webkit-scrollbar{display:none}.date-time-picker ::ng-deep .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker ::ng-deep .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker ::ng-deep .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar{grid-area:calendar}.hours{grid-area:hours}.minutes{grid-area:minutes}.seconds{grid-area:seconds}.hour-and-minute-separator{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker{grid-template-rows:auto auto;height:450px}.date-time-picker>div{border-left:none}.date-time-picker>div:not(:first-child){height:70px}.date-time-picker>div:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}\n"] }]
|
|
350
|
+
}], () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
351
|
+
type: Inject,
|
|
352
|
+
args: [MAT_DIALOG_DATA]
|
|
353
|
+
}] }], { onResize: [{
|
|
354
|
+
type: HostListener,
|
|
355
|
+
args: ['window:resize', ['$event']]
|
|
356
|
+
}] }); })();
|
|
357
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DialogDateTimePickerComponent, { className: "DialogDateTimePickerComponent", filePath: "lib\\inputs\\cauca-date-time-picker\\components\\dialog-date-time-picker\\dialog-date-time-picker.component.ts", lineNumber: 31 }); })();
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9pbnB1dHMvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9jb21wb25lbnRzL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvaW5wdXRzL2NhdWNhLWRhdGUtdGltZS1waWNrZXIvY29tcG9uZW50cy9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxF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QUtiLGNBQW1CO1lBQW5CLHdDQUFtQjtZQUduQixjQUFrQjtZQUFsQix1Q0FBa0I7WUFJRSxjQUFrQjtZQUFsQix1Q0FBa0I7WUFFcEMsY0FBbUI7WUFBbkIsd0NBQW1CO1lBR25CLGNBQWtCO1lBQWxCLHVDQUFrQjtZQUlFLGNBQWlDO1lBQWpDLDBEQUFpQztZQUNyRCxjQUFrQztZQUFsQywyREFBa0M7WUFHbEMsY0FBaUM7WUFBakMsMERBQWlDO1lBT2IsZUFBcUI7WUFBckIsMENBQXFCO1lBS3BELGVBQXFCO1lBQXJCLDBDQUFxQjtZQUNoQyxjQUNKO1lBREksMEVBQ0o7WUFFZSxlQUFxQjtZQUFyQiwwQ0FBcUI7WUFDaEMsY0FDSjtZQURJLHNFQUNKOzRCRGhDQSxlQUFlLGdCQUNmLG1CQUFtQixrQkFDbkIsYUFBYSxjQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQixPQUFPO1lBQ1AsZUFBZTs7aUZBS04sNkJBQTZCO2NBakJ6QyxTQUFTOzJCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1A7b0JBQ1AsZUFBZTtvQkFDZixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLHlCQUF5QjtvQkFDekIsMEJBQTBCO29CQUMxQixPQUFPO29CQUNQLGVBQWU7aUJBQ2hCOztzQkFzQ0UsTUFBTTt1QkFBQyxlQUFlO3FCQWVsQixRQUFRO2tCQURkLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkFoRDlCLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zLCBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFEaXNhYmxlZCwgRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhU3RlcCB9IGZyb20gJy4uLy4uL21vZGVscy9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci1kYXRhJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNb2JpbGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9iaWxlLXRpbWUtcGlja2VyL21vYmlsZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVza3RvcFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9kZXNrdG9wLXRpbWUtcGlja2VyL2Rlc2t0b3AtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLWRpYWxvZy1kYXRlLXRpbWUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE1vYmlsZVRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgRGVza3RvcFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzZWxlY3RlZEhvdXIgPSAwO1xuICBwdWJsaWMgc2VsZWN0ZWRNaW51dGUgPSAwO1xuICBwdWJsaWMgc2VsZWN0ZWRTZWNvbmQgPSAwO1xuICBwdWJsaWMgaW5pdGlhbERhdGU6IERhdGUgPSBudWxsO1xuICBwdWJsaWMgc2VsZWN0ZWREYXRlOiBEYXRlID0gbnVsbDtcbiAgcHVibGljIG1pbmltdW1EYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIG1heGltdW1EYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIHNob3dTZWNvbmRzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd0J1dHRvbkljb25zOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgaG91cnMgPSBbLi4uQXJyYXkoMjQpLmtleXMoKV07XG4gIHB1YmxpYyBtaW51dGVzID0gWy4uLkFycmF5KDYwKS5rZXlzKCldO1xuICBwdWJsaWMgc2Vjb25kcyA9IFsuLi5BcnJheSg2MCkua2V5cygpXTtcbiAgcHVibGljIHNob3dNb2JpbGVVaTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBkaXNhYmxlZDogRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhRGlzYWJsZWQgPSB7XG4gICAgaG91cnM6IHRydWUsXG4gICAgc29tZUhvdXJzOiBbXSxcbiAgICBtaW51dGVzOiB0cnVlLFxuICAgIHNvbWVNaW51dGVzOiBbXSxcbiAgICBzZWNvbmRzOiB0cnVlLFxuICAgIHNvbWVTZWNvbmRzOiBbXSxcbiAgfTtcblxuICBwcml2YXRlIHN0ZXA6IERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YVN0ZXAgPSB7XG4gICAgaG91cnM6IDEsXG4gICAgbWludXRlczogMSxcbiAgICBzZWNvbmRzOiAxLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgb3B0aW9uczogRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zXG4gICkge1xuICAgIHRoaXMuc3RlcCA9IG9wdGlvbnMuc3RlcCB8fCB0aGlzLnN0ZXA7XG4gICAgdGhpcy5zaG93U2Vjb25kcyA9IG9wdGlvbnMuc2hvd1NlY29uZHM7XG4gICAgdGhpcy5zaG93QnV0dG9uSWNvbnMgPSBvcHRpb25zLnNob3dCdXR0b25JY29ucyA/PyB0aGlzLnNob3dCdXR0b25JY29ucztcbiAgICB0aGlzLnNob3dDbGVhckJ1dHRvbiA9IG9wdGlvbnMuc2hvd0NsZWFyQnV0dG9uID8/IHRoaXMuc2hvd0NsZWFyQnV0dG9uO1xuICAgIHRoaXMuc2V0TGlzdEhvdXJzTWludXRlcygpO1xuICAgIHRoaXMuaW5pdGlhbEVhY2hDb21wb25lbnRWYWx1ZShvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uV2luZG93V2l0aENoYW5nZSh3aW5kb3cuaW5uZXJXaWR0aCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uUmVzaXplKGV2ZW50KSB7XG4gICAgdGhpcy5vbldpbmRvd1dpdGhDaGFuZ2UoZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgpO1xuICB9XG5cbiAgcHVibGljIGRhdGVDaGFuZ2VkKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0SG91cnModGhpcy5zZWxlY3RlZEhvdXIpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0TWludXRlcyh0aGlzLnNlbGVjdGVkTWludXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldFNlY29uZHModGhpcy5zZWxlY3RlZFNlY29uZCk7XG4gICAgICB0aGlzLmRpc2FibGVkLmhvdXJzID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVkLnNvbWVIb3VycyA9IHRoaXMuaG91cnMuZmlsdGVyKGhvdXIgPT4gdGhpcy5ob3VyT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKGhvdXIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xuICAgICAgdGhpcy5kaXNhYmxlZC5ob3VycyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvdXJDaGFuZ2VkKGhvdXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkLmhvdXJzIHx8IHRoaXMuZGlzYWJsZWQuc29tZUhvdXJzLmluY2x1ZGVzKGhvdXIpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGhvdXI7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0SG91cnMoaG91cik7XG4gICAgdGhpcy5kaXNhYmxlZC5taW51dGVzID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZC5zb21lTWludXRlcyA9IHRoaXMubWludXRlcy5maWx0ZXIobWludXRlID0+IHRoaXMubWludXRlT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKG1pbnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIG1pbnV0ZUNoYW5nZWQobWludXRlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZC5taW51dGVzIHx8IHRoaXMuZGlzYWJsZWQuc29tZU1pbnV0ZXMuaW5jbHVkZXMobWludXRlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZSA9IG1pbnV0ZTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5kaXNhYmxlZC5zZWNvbmRzID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZC5zb21lU2Vjb25kcyA9IHRoaXMuc2Vjb25kcy5maWx0ZXIoc2Vjb25kID0+IHRoaXMuc2Vjb25kT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKHNlY29uZCkpO1xuICB9XG5cbiAgcHVibGljIHNlY29uZENoYW5nZWQoc2Vjb25kOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZC5zZWNvbmRzIHx8IHRoaXMuZGlzYWJsZWQuc29tZVNlY29uZHMuaW5jbHVkZXMoc2Vjb25kKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZCA9IHNlY29uZDtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRTZWNvbmRzKHNlY29uZCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgdmFsdWU6IHRoaXMuaW5pdGlhbERhdGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkRGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbldpbmRvd1dpdGhDaGFuZ2Uod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2hvd01vYmlsZVVpID0gd2lkdGggJiYgd2lkdGggPD0gNTU1O1xuICB9XG5cbiAgcHJpdmF0ZSBob3VyT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKGhvdXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWluaW11bURhdGUoKSkge1xuICAgICAgcmV0dXJuIGhvdXIgPCB0aGlzLm1pbmltdW1EYXRlLmdldEhvdXJzKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWF4aW11bURhdGUoKSkge1xuICAgICAgcmV0dXJuIGhvdXIgPiB0aGlzLm1heGltdW1EYXRlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtaW51dGVPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQobWludXRlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWluaW11bURhdGUoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0SG91cnMoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRIb3VycygpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbWludXRlIDwgdGhpcy5taW5pbXVtRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNYXhpbXVtRGF0ZSgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRIb3VycygpID09PSB0aGlzLm1heGltdW1EYXRlLmdldEhvdXJzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBtaW51dGUgPiB0aGlzLm1heGltdW1EYXRlLmdldE1pbnV0ZXMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNlY29uZE9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChzZWNvbmQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNaW5pbXVtRGF0ZSgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRIb3VycygpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldEhvdXJzKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1pbnV0ZXMoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRNaW51dGVzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWNvbmQgPCB0aGlzLm1pbmltdW1EYXRlLmdldFNlY29uZHMoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVJc1RoZU1heGltdW1EYXRlKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1pbnV0ZXMoKSA9PT0gdGhpcy5tYXhpbXVtRGF0ZS5nZXRNaW51dGVzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWNvbmQgPiB0aGlzLm1heGltdW1EYXRlLmdldFNlY29uZHMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxFYWNoQ29tcG9uZW50VmFsdWUob3B0aW9uczogRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsRGF0ZSA9IG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpIDogbnVsbDtcbiAgICB0aGlzLm1pbmltdW1EYXRlID0gb3B0aW9ucy5taW5pbXVtRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMubWluaW11bURhdGUpIDogbnVsbDtcbiAgICB0aGlzLm1heGltdW1EYXRlID0gb3B0aW9ucy5tYXhpbXVtRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMubWF4aW11bURhdGUpIDogbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpIDogbmV3IERhdGUoKTtcbiAgICB0aGlzLmRhdGVDaGFuZ2VkKG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpIDogbnVsbCk7XG4gICAgdGhpcy5ob3VyQ2hhbmdlZChvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKS5nZXRIb3VycygpIDogMCk7XG4gICAgdGhpcy5taW51dGVDaGFuZ2VkKG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpLmdldE1pbnV0ZXMoKSA6IDApO1xuICAgIHRoaXMuc2Vjb25kQ2hhbmdlZChvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKS5nZXRTZWNvbmRzKCkgOiAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0ZWREYXRlSXNUaGVNaW5pbXVtRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5taW5pbXVtRGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRGdWxsWWVhcigpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldE1vbnRoKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXREYXRlKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZERhdGVJc1RoZU1heGltdW1EYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm1heGltdW1EYXRlICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpID09PSB0aGlzLm1heGltdW1EYXRlLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPT09IHRoaXMubWF4aW11bURhdGUuZ2V0TW9udGgoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpID09PSB0aGlzLm1heGltdW1EYXRlLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldExpc3RIb3Vyc01pbnV0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ob3VycyA9IHRoaXMuaG91cnMuZmlsdGVyKGhvdXIgPT4gaG91ciAlIHRoaXMuc3RlcC5ob3VycyA9PT0gMCk7XG4gICAgdGhpcy5taW51dGVzID0gdGhpcy5taW51dGVzLmZpbHRlcihtaW51dGUgPT4gbWludXRlICUgdGhpcy5zdGVwLm1pbnV0ZXMgPT09IDApO1xuICAgIHRoaXMuc2Vjb25kcyA9IHRoaXMuc2Vjb25kcy5maWx0ZXIoc2Vjb25kZSA9PiBzZWNvbmRlICUgdGhpcy5zdGVwLnNlY29uZHMgPT09IDApO1xuICB9XG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInNob3dTZWNvbmRzID8gJ3Nob3ctc2Vjb25kcycgOiAnaGlkZS1zZWNvbmRzJ1wiIGNsYXNzPVwiZGF0ZS10aW1lLXBpY2tlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgICAgIDxtYXQtY2FsZW5kYXJcbiAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5pbXVtRGF0ZVwiXG4gICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4aW11bURhdGVcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJkYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L21hdC1jYWxlbmRhcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhvdXJzXCIgKm5nSWY9XCIhc2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICA8Y2F1Y2EtZGVza3RvcC10aW1lLXBpY2tlciBbZGlzYWJsZWRdPVwie2FsbDogZGlzYWJsZWQuaG91cnMsIHNvbWVPcHRpb25zOiBkaXNhYmxlZC5zb21lSG91cnN9XCIgKHZhbHVlQ2hhbmdlKT1cImhvdXJDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJob3Vyc1wiIFt2YWx1ZV09XCJzZWxlY3RlZEhvdXJcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG91cnNcIiAqbmdJZj1cInNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgPGNhdWNhLW1vYmlsZS10aW1lLXBpY2tlciAodmFsdWVDaGFuZ2UpPVwiaG91ckNoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cImhvdXJzXCIgW3ZhbHVlXT1cInNlbGVjdGVkSG91clwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3VyLWFuZC1taW51dGUtc2VwYXJhdG9yXCIgKm5nSWY9XCJzaG93TW9iaWxlVWlcIj46PC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbnV0ZXNcIiAqbmdJZj1cIiFzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgIDxjYXVjYS1kZXNrdG9wLXRpbWUtcGlja2VyIFtkaXNhYmxlZF09XCJ7YWxsOiBkaXNhYmxlZC5taW51dGVzLCBzb21lT3B0aW9uczogZGlzYWJsZWQuc29tZU1pbnV0ZXN9XCIgKHZhbHVlQ2hhbmdlKT1cIm1pbnV0ZUNoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cIm1pbnV0ZXNcIiBbdmFsdWVdPVwic2VsZWN0ZWRNaW51dGVcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWludXRlc1wiICpuZ0lmPVwic2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICA8Y2F1Y2EtbW9iaWxlLXRpbWUtcGlja2VyICh2YWx1ZUNoYW5nZSk9XCJtaW51dGVDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJtaW51dGVzXCIgW3ZhbHVlXT1cInNlbGVjdGVkTWludXRlXCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbnV0ZS1hbmQtc2Vjb25kLXNlcGFyYXRvclwiICpuZ0lmPVwic2hvd1NlY29uZHMgJiYgc2hvd01vYmlsZVVpXCI+OjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kc1wiICpuZ0lmPVwic2hvd1NlY29uZHMgJiYgIXNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgPGNhdWNhLWRlc2t0b3AtdGltZS1waWNrZXIgW2Rpc2FibGVkXT1cInthbGw6IGRpc2FibGVkLnNlY29uZHMsIHNvbWVPcHRpb25zOiBkaXNhYmxlZC5zb21lU2Vjb25kc31cIiAodmFsdWVDaGFuZ2UpPVwic2Vjb25kQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwic2Vjb25kc1wiIFt2YWx1ZV09XCJzZWxlY3RlZFNlY29uZFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmRzXCIgKm5nSWY9XCJzaG93U2Vjb25kcyAmJiBzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgIDxjYXVjYS1tb2JpbGUtdGltZS1waWNrZXIgKHZhbHVlQ2hhbmdlKT1cInNlY29uZENoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cInNlY29uZHNcIiBbdmFsdWVdPVwic2VsZWN0ZWRTZWNvbmRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJjbGVhcigpXCIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b25cIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0J1dHRvbkljb25zXCI+Y2xlYXI8L21hdC1pY29uPlxuICAgICAgICB7eydtYXRlcmlhbC5jbGVhcicgfCB0cmFuc2xhdGV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzaG93QnV0dG9uSWNvbnNcIj5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICB7eydtYXRlcmlhbC5jYW5jZWwnIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNka0ZvY3VzSW5pdGlhbCAoY2xpY2spPVwiY29uZmlybSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dCdXR0b25JY29uc1wiPmNoZWNrPC9tYXQtaWNvbj5cbiAgICAgICAge3snbWF0ZXJpYWwub2snIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbjwvZGl2PiJdfQ==
|