ecabs-components 1.1.66 → 1.1.68
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/README.md +102 -99
- package/esm2022/lib/base/models/sidebar.models.mjs +1 -1
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +57 -46
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.mjs +33 -23
- package/fesm2022/ecabs-components.mjs +82 -59
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/models/sidebar.models.d.ts +9 -4
- package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +6 -7
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/styles/tailwind/index.scss +1 -1
|
@@ -23,6 +23,7 @@ export class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
23
23
|
separatorLabel = 'to';
|
|
24
24
|
startTimePlaceholder;
|
|
25
25
|
endTimePlaceholder;
|
|
26
|
+
allowCrossMidnight = false;
|
|
26
27
|
val;
|
|
27
28
|
_timeFrom;
|
|
28
29
|
_timeTo;
|
|
@@ -71,6 +72,9 @@ export class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
71
72
|
this.control.valueChanges
|
|
72
73
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
73
74
|
.subscribe(() => this.timeRangeValidator(this.control));
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
this.timeRangeValidator(this.control);
|
|
77
|
+
});
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
onChange = () => { };
|
|
@@ -98,31 +102,35 @@ export class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
98
102
|
}
|
|
99
103
|
timeRangeValidator(control) {
|
|
100
104
|
const required = control.hasValidator(Validators.required);
|
|
101
|
-
if (control.value) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
if (!control.value && !required) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (!control.value) {
|
|
109
|
+
control.setErrors({ required: true });
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const { timeFrom, timeTo } = control.value;
|
|
113
|
+
control.setErrors(null);
|
|
114
|
+
if (required &&
|
|
115
|
+
(!timeFrom || timeFrom?.length === 0) &&
|
|
116
|
+
(!timeTo || timeTo?.length === 0)) {
|
|
117
|
+
control.setErrors({ required: true });
|
|
118
|
+
}
|
|
119
|
+
else if (!timeFrom && timeTo) {
|
|
120
|
+
control.setErrors({ rangeFrom: true });
|
|
121
|
+
}
|
|
122
|
+
else if (timeFrom && !timeTo) {
|
|
123
|
+
control.setErrors({ rangeTo: true });
|
|
124
|
+
}
|
|
125
|
+
else if (timeFrom &&
|
|
126
|
+
timeTo &&
|
|
127
|
+
timeFrom > timeTo &&
|
|
128
|
+
!this.allowCrossMidnight) {
|
|
129
|
+
control.setErrors({ rangeOrder: true });
|
|
122
130
|
}
|
|
123
131
|
}
|
|
124
132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeRangeInputV2Component, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeInputV2Component, selector: "ecabs-time-range-input-v2", inputs: { showCloseIcon: "showCloseIcon", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond", dayStartLabel: "dayStartLabel", dayEndLabel: "dayEndLabel", separatorLabel: "separatorLabel", startTimePlaceholder: "startTimePlaceholder", endTimePlaceholder: "endTimePlaceholder" }, providers: [
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeInputV2Component, selector: "ecabs-time-range-input-v2", inputs: { showCloseIcon: "showCloseIcon", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond", dayStartLabel: "dayStartLabel", dayEndLabel: "dayEndLabel", separatorLabel: "separatorLabel", startTimePlaceholder: "startTimePlaceholder", endTimePlaceholder: "endTimePlaceholder", allowCrossMidnight: "allowCrossMidnight" }, providers: [
|
|
126
134
|
{
|
|
127
135
|
provide: NG_VALUE_ACCESSOR,
|
|
128
136
|
useExisting: forwardRef(() => EcabsTimeRangeInputV2Component),
|
|
@@ -165,5 +173,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
165
173
|
type: Input
|
|
166
174
|
}], endTimePlaceholder: [{
|
|
167
175
|
type: Input
|
|
176
|
+
}], allowCrossMidnight: [{
|
|
177
|
+
type: Input
|
|
168
178
|
}] } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1yYW5nZS1pbnB1dC12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZS1yYW5nZS1pbnB1dC12Mi9lY2Ficy10aW1lLXJhbmdlLWlucHV0LXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lLXJhbmdlLWlucHV0LXYyL2VjYWJzLXRpbWUtcmFuZ2UtaW5wdXQtdjIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxVQUFVLEVBRVYsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sSUFBSSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7O0FBY2xELE1BQU0sT0FBTyw4QkFDWCxTQUFRLHlCQUF5QjtJQTZGZDtJQUNBO0lBMUZuQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBR3RCLGFBQWEsR0FBa0IsTUFBTSxDQUFDO0lBR3RDLFFBQVEsQ0FBVTtJQUdsQixHQUFHLENBQVU7SUFHYixHQUFHLENBQVU7SUFHYixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBR3BCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHbkIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixhQUFhLENBQVM7SUFHdEIsV0FBVyxDQUFTO0lBR3BCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFHdEIsb0JBQW9C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OEIsb2JBUjlCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztnQkFDN0QsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzlCSCx3dkJBcUJ3Qjs7NEZEV1gsOEJBQThCO2tCQVoxQyxTQUFTOytCQUNFLDJCQUEyQixhQUcxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzs0QkFDN0QsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0hBT0QsYUFBYTtzQkFEWixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBEZXN0cm95UmVmLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgTmdDb250cm9sLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBMaXN0UGxhY2VtZW50IH0gZnJvbSAnLi4vYmFzZS9tb2RlbHMvdGltZXBpY2tlci5tb2RlbHMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IGlzRXF1YWwgYXMgbG9kYXNoSXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWUtcmFuZ2UtaW5wdXQtdjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy10aW1lLXJhbmdlLWlucHV0LXYyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnZWNhYnMtdGltZS1yYW5nZS1pbnB1dC12Mi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWNhYnNUaW1lUmFuZ2VJbnB1dFYyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RpbWVSYW5nZUlucHV0VjJDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XHJcbntcclxuICBASW5wdXQoKVxyXG4gIHNob3dDbG9zZUljb24gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBsaXN0UGxhY2VtZW50OiBMaXN0UGxhY2VtZW50ID0gJ2F1dG8nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFwcGVuZFRvITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbiE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBtYXghOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0RheVN0YXJ0ID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RGF5RW5kID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWRkU2Vjb25kID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlTdGFydExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5RW5kTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBzZXBhcmF0b3JMYWJlbCA9ICd0byc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc3RhcnRUaW1lUGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBlbmRUaW1lUGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgdmFsOiB7XHJcbiAgICB0aW1lRnJvbTogc3RyaW5nO1xyXG4gICAgdGltZVRvOiBzdHJpbmc7XHJcbiAgfTtcclxuXHJcbiAgX3RpbWVGcm9tOiBzdHJpbmc7XHJcbiAgX3RpbWVUbzogc3RyaW5nO1xyXG5cclxuICBnZXQgdmFsdWUoKToge1xyXG4gICAgdGltZUZyb206IHN0cmluZztcclxuICAgIHRpbWVUbzogc3RyaW5nO1xyXG4gIH0ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpbWVGcm9tKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGltZUZyb207XHJcbiAgfVxyXG5cclxuICBnZXQgdGltZVRvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGltZVRvO1xyXG4gIH1cclxuXHJcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICBzZXQgdmFsdWUodmFsOiB7IHRpbWVGcm9tOiBzdHJpbmc7IHRpbWVUbzogc3RyaW5nIH0pIHtcclxuICAgIGlmICh0aGlzLnZhbCAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLnRpbWVGcm9tID0gdmFsLnRpbWVGcm9tO1xyXG4gICAgICB0aGlzLnRpbWVUbyA9IHZhbC50aW1lVG87XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgdGhpcy5vblRvdWNoKHZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gIHNldCB0aW1lRnJvbSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuX3RpbWVGcm9tICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy5fdGltZUZyb20gPSB2YWw7XHJcbiAgICAgIHRoaXMub25BcHBseSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICBzZXQgdGltZVRvKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5fdGltZVRvICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy5fdGltZVRvID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQXBwbHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG5cclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRpbWVSYW5nZVZhbGlkYXRvcih0aGlzLmNvbnRyb2wpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgb25BcHBseSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0ge1xyXG4gICAgICB0aW1lRnJvbTogdGhpcy50aW1lRnJvbSxcclxuICAgICAgdGltZVRvOiB0aGlzLnRpbWVUbyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCFsb2Rhc2hJc0VxdWFsKHRoaXMudmFsdWUsIG5ld1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0ge1xyXG4gICAgICAgIHRpbWVGcm9tOiB0aGlzLnRpbWVGcm9tLFxyXG4gICAgICAgIHRpbWVUbzogdGhpcy50aW1lVG8sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0aW1lUmFuZ2VWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKSB7XHJcbiAgICBjb25zdCByZXF1aXJlZCA9IGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAgIGlmIChjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IHsgdGltZUZyb20sIHRpbWVUbyB9ID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgcmVxdWlyZWQgJiZcclxuICAgICAgICAoIXRpbWVGcm9tIHx8IHRpbWVGcm9tPy5sZW5ndGggPT09IDApICYmXHJcbiAgICAgICAgKCF0aW1lVG8gfHwgdGltZVRvPy5sZW5ndGggPT09IDApXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgcmVxdWlyZWQ6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF0aW1lRnJvbSAmJiB0aW1lVG8pIHtcclxuICAgICAgICBjb250cm9sLnNldEVycm9ycyh7IHRpbWVGcm9tUmFuZ2VSZXF1aXJlZDogdHJ1ZSB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGltZUZyb20gJiYgIXRpbWVUbykge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgdGltZVRvUmFuZ2VSZXF1aXJlZDogdHJ1ZSB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGltZUZyb20gPiB0aW1lVG8pIHtcclxuICAgICAgICBjb250cm9sLnNldEVycm9ycyh7IHRpbWVGcm9tTW9yZVRoYW5UaW1lVG86IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19yYW5nZS0td3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX3JhbmdlXCI+XHJcbiAgICAgIDxlY2Ficy10aW1lcGlja2VyIFxyXG4gICAgICBbbGFiZWxdPVwic3RhcnRUaW1lUGxhY2Vob2xkZXJcIiBcclxuICAgICAgWyhuZ01vZGVsKV09XCJ0aW1lRnJvbVwiIFxyXG4gICAgICBbZGF5U3RhcnRMYWJlbF09XCJkYXlTdGFydExhYmVsXCIgXHJcbiAgICAgIFtkYXlFbmRMYWJlbF09XCJkYXlFbmRMYWJlbFwiPlxyXG4gICAgICA8L2VjYWJzLXRpbWVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInRleHQtZ3JheS00MDAgcHgtMyB0ZXh0LXNtXCI+e3sgc2VwYXJhdG9yTGFiZWwgfX08L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9fcmFuZ2VcIj5cclxuICAgICAgPGVjYWJzLXRpbWVwaWNrZXIgXHJcbiAgICAgIFtsYWJlbF09XCJlbmRUaW1lUGxhY2Vob2xkZXJcIiBcclxuICAgICAgWyhuZ01vZGVsKV09XCJ0aW1lVG9cIiBcclxuICAgICAgW2RheVN0YXJ0TGFiZWxdPVwiZGF5U3RhcnRMYWJlbFwiXHJcbiAgICAgICBbZGF5RW5kTGFiZWxdPVwiZGF5RW5kTGFiZWxcIj5cclxuICAgICAgPC9lY2Ficy10aW1lcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZWNhYnMtZWxlbWVudC13cmFwcGVyPiJdfQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1yYW5nZS1pbnB1dC12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZS1yYW5nZS1pbnB1dC12Mi9lY2Ficy10aW1lLXJhbmdlLWlucHV0LXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lLXJhbmdlLWlucHV0LXYyL2VjYWJzLXRpbWUtcmFuZ2UtaW5wdXQtdjIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxVQUFVLEVBRVYsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sSUFBSSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7O0FBY2xELE1BQU0sT0FBTyw4QkFDWCxTQUFRLHlCQUF5QjtJQWdHZDtJQUNBO0lBN0ZuQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBR3RCLGFBQWEsR0FBa0IsTUFBTSxDQUFDO0lBR3RDLFFBQVEsQ0FBVTtJQUdsQixHQUFHLENBQVU7SUFHYixHQUFHLENBQVU7SUFHYixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBR3BCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHbkIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixhQUFhLENBQVM7SUFHdEIsV0FBVyxDQUFTO0lBR3BCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFHdEIsb0JBQW9C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dCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRGVzdHJveVJlZixcclxuICBmb3J3YXJkUmVmLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIE5nQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgTGlzdFBsYWNlbWVudCB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3RpbWVwaWNrZXIubW9kZWxzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgeyBpc0VxdWFsIGFzIGxvZGFzaElzRXF1YWwgfSBmcm9tICdsb2Rhc2gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy10aW1lLXJhbmdlLWlucHV0LXYyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtdGltZS1yYW5nZS1pbnB1dC12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2VjYWJzLXRpbWUtcmFuZ2UtaW5wdXQtdjIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVjYWJzVGltZVJhbmdlSW5wdXRWMkNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lUmFuZ2VJbnB1dFYyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgQElucHV0KClcclxuICBzaG93Q2xvc2VJY29uID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbGlzdFBsYWNlbWVudDogTGlzdFBsYWNlbWVudCA9ICdhdXRvJztcclxuXHJcbiAgQElucHV0KClcclxuICBhcHBlbmRUbyE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBtaW4hOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWF4ITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dEYXlTdGFydCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0RheUVuZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFkZFNlY29uZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5U3RhcnRMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRheUVuZExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VwYXJhdG9yTGFiZWwgPSAndG8nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHN0YXJ0VGltZVBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZW5kVGltZVBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dDcm9zc01pZG5pZ2h0ID0gZmFsc2U7XHJcblxyXG4gIHZhbDoge1xyXG4gICAgdGltZUZyb206IHN0cmluZztcclxuICAgIHRpbWVUbzogc3RyaW5nO1xyXG4gIH07XHJcblxyXG4gIF90aW1lRnJvbTogc3RyaW5nO1xyXG4gIF90aW1lVG86IHN0cmluZztcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHtcclxuICAgIHRpbWVGcm9tOiBzdHJpbmc7XHJcbiAgICB0aW1lVG86IHN0cmluZztcclxuICB9IHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIGdldCB0aW1lRnJvbSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpbWVGcm9tO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpbWVUbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpbWVUbztcclxuICB9XHJcblxyXG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgc2V0IHZhbHVlKHZhbDogeyB0aW1lRnJvbTogc3RyaW5nOyB0aW1lVG86IHN0cmluZyB9KSB7XHJcbiAgICBpZiAodGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy50aW1lRnJvbSA9IHZhbC50aW1lRnJvbTtcclxuICAgICAgdGhpcy50aW1lVG8gPSB2YWwudGltZVRvO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICBzZXQgdGltZUZyb20odmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLl90aW1lRnJvbSAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMuX3RpbWVGcm9tID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQXBwbHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgc2V0IHRpbWVUbyh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuX3RpbWVUbyAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMuX3RpbWVUbyA9IHZhbDtcclxuICAgICAgdGhpcy5vbkFwcGx5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuXHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50aW1lUmFuZ2VWYWxpZGF0b3IodGhpcy5jb250cm9sKSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudGltZVJhbmdlVmFsaWRhdG9yKHRoaXMuY29udHJvbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSB7XHJcbiAgICAgIHRpbWVGcm9tOiB0aGlzLnRpbWVGcm9tLFxyXG4gICAgICB0aW1lVG86IHRoaXMudGltZVRvLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWxvZGFzaElzRXF1YWwodGhpcy52YWx1ZSwgbmV3VmFsdWUpKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB7XHJcbiAgICAgICAgdGltZUZyb206IHRoaXMudGltZUZyb20sXHJcbiAgICAgICAgdGltZVRvOiB0aGlzLnRpbWVUbyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRpbWVSYW5nZVZhbGlkYXRvcihjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcclxuICAgIGNvbnN0IHJlcXVpcmVkID0gY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gICAgaWYgKCFjb250cm9sLnZhbHVlICYmICFyZXF1aXJlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgcmVxdWlyZWQ6IHRydWUgfSk7XHJcblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyB0aW1lRnJvbSwgdGltZVRvIH0gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICByZXF1aXJlZCAmJlxyXG4gICAgICAoIXRpbWVGcm9tIHx8IHRpbWVGcm9tPy5sZW5ndGggPT09IDApICYmXHJcbiAgICAgICghdGltZVRvIHx8IHRpbWVUbz8ubGVuZ3RoID09PSAwKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgcmVxdWlyZWQ6IHRydWUgfSk7XHJcbiAgICB9IGVsc2UgaWYgKCF0aW1lRnJvbSAmJiB0aW1lVG8pIHtcclxuICAgICAgY29udHJvbC5zZXRFcnJvcnMoeyByYW5nZUZyb206IHRydWUgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRpbWVGcm9tICYmICF0aW1lVG8pIHtcclxuICAgICAgY29udHJvbC5zZXRFcnJvcnMoeyByYW5nZVRvOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgdGltZUZyb20gJiZcclxuICAgICAgdGltZVRvICYmXHJcbiAgICAgIHRpbWVGcm9tID4gdGltZVRvICYmXHJcbiAgICAgICF0aGlzLmFsbG93Q3Jvc3NNaWRuaWdodFxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgcmFuZ2VPcmRlcjogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGVjYWJzLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9fcmFuZ2UtLXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19yYW5nZVwiPlxyXG4gICAgICA8ZWNhYnMtdGltZXBpY2tlciBcclxuICAgICAgW2xhYmVsXT1cInN0YXJ0VGltZVBsYWNlaG9sZGVyXCIgXHJcbiAgICAgIFsobmdNb2RlbCldPVwidGltZUZyb21cIiBcclxuICAgICAgW2RheVN0YXJ0TGFiZWxdPVwiZGF5U3RhcnRMYWJlbFwiIFxyXG4gICAgICBbZGF5RW5kTGFiZWxdPVwiZGF5RW5kTGFiZWxcIj5cclxuICAgICAgPC9lY2Ficy10aW1lcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXktNDAwIHB4LTMgdGV4dC1zbVwiPnt7IHNlcGFyYXRvckxhYmVsIH19PC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX3JhbmdlXCI+XHJcbiAgICAgIDxlY2Ficy10aW1lcGlja2VyIFxyXG4gICAgICBbbGFiZWxdPVwiZW5kVGltZVBsYWNlaG9sZGVyXCIgXHJcbiAgICAgIFsobmdNb2RlbCldPVwidGltZVRvXCIgXHJcbiAgICAgIFtkYXlTdGFydExhYmVsXT1cImRheVN0YXJ0TGFiZWxcIlxyXG4gICAgICAgW2RheUVuZExhYmVsXT1cImRheUVuZExhYmVsXCI+XHJcbiAgICAgIDwvZWNhYnMtdGltZXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj4iXX0=
|
|
@@ -8688,6 +8688,7 @@ class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
8688
8688
|
separatorLabel = 'to';
|
|
8689
8689
|
startTimePlaceholder;
|
|
8690
8690
|
endTimePlaceholder;
|
|
8691
|
+
allowCrossMidnight = false;
|
|
8691
8692
|
val;
|
|
8692
8693
|
_timeFrom;
|
|
8693
8694
|
_timeTo;
|
|
@@ -8736,6 +8737,9 @@ class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
8736
8737
|
this.control.valueChanges
|
|
8737
8738
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
8738
8739
|
.subscribe(() => this.timeRangeValidator(this.control));
|
|
8740
|
+
setTimeout(() => {
|
|
8741
|
+
this.timeRangeValidator(this.control);
|
|
8742
|
+
});
|
|
8739
8743
|
}
|
|
8740
8744
|
}
|
|
8741
8745
|
onChange = () => { };
|
|
@@ -8763,31 +8767,35 @@ class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
8763
8767
|
}
|
|
8764
8768
|
timeRangeValidator(control) {
|
|
8765
8769
|
const required = control.hasValidator(Validators.required);
|
|
8766
|
-
if (control.value) {
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
}
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8770
|
+
if (!control.value && !required) {
|
|
8771
|
+
return;
|
|
8772
|
+
}
|
|
8773
|
+
if (!control.value) {
|
|
8774
|
+
control.setErrors({ required: true });
|
|
8775
|
+
return;
|
|
8776
|
+
}
|
|
8777
|
+
const { timeFrom, timeTo } = control.value;
|
|
8778
|
+
control.setErrors(null);
|
|
8779
|
+
if (required &&
|
|
8780
|
+
(!timeFrom || timeFrom?.length === 0) &&
|
|
8781
|
+
(!timeTo || timeTo?.length === 0)) {
|
|
8782
|
+
control.setErrors({ required: true });
|
|
8783
|
+
}
|
|
8784
|
+
else if (!timeFrom && timeTo) {
|
|
8785
|
+
control.setErrors({ rangeFrom: true });
|
|
8786
|
+
}
|
|
8787
|
+
else if (timeFrom && !timeTo) {
|
|
8788
|
+
control.setErrors({ rangeTo: true });
|
|
8789
|
+
}
|
|
8790
|
+
else if (timeFrom &&
|
|
8791
|
+
timeTo &&
|
|
8792
|
+
timeFrom > timeTo &&
|
|
8793
|
+
!this.allowCrossMidnight) {
|
|
8794
|
+
control.setErrors({ rangeOrder: true });
|
|
8787
8795
|
}
|
|
8788
8796
|
}
|
|
8789
8797
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeRangeInputV2Component, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8790
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeInputV2Component, selector: "ecabs-time-range-input-v2", inputs: { showCloseIcon: "showCloseIcon", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond", dayStartLabel: "dayStartLabel", dayEndLabel: "dayEndLabel", separatorLabel: "separatorLabel", startTimePlaceholder: "startTimePlaceholder", endTimePlaceholder: "endTimePlaceholder" }, providers: [
|
|
8798
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeInputV2Component, selector: "ecabs-time-range-input-v2", inputs: { showCloseIcon: "showCloseIcon", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond", dayStartLabel: "dayStartLabel", dayEndLabel: "dayEndLabel", separatorLabel: "separatorLabel", startTimePlaceholder: "startTimePlaceholder", endTimePlaceholder: "endTimePlaceholder", allowCrossMidnight: "allowCrossMidnight" }, providers: [
|
|
8791
8799
|
{
|
|
8792
8800
|
provide: NG_VALUE_ACCESSOR,
|
|
8793
8801
|
useExisting: forwardRef(() => EcabsTimeRangeInputV2Component),
|
|
@@ -8830,6 +8838,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8830
8838
|
type: Input
|
|
8831
8839
|
}], endTimePlaceholder: [{
|
|
8832
8840
|
type: Input
|
|
8841
|
+
}], allowCrossMidnight: [{
|
|
8842
|
+
type: Input
|
|
8833
8843
|
}] } });
|
|
8834
8844
|
|
|
8835
8845
|
class EcabsTimeRangeInputV2Module {
|
|
@@ -9147,7 +9157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9147
9157
|
class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
9148
9158
|
injector;
|
|
9149
9159
|
ecabsDatePickerHeaderService;
|
|
9150
|
-
|
|
9160
|
+
destroyRef;
|
|
9151
9161
|
minDate;
|
|
9152
9162
|
maxDate;
|
|
9153
9163
|
touchUi = false;
|
|
@@ -9160,6 +9170,7 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9160
9170
|
excludeWeekends;
|
|
9161
9171
|
specificDates;
|
|
9162
9172
|
holidayOptions;
|
|
9173
|
+
dateToOptional = false;
|
|
9163
9174
|
onblur = new EventEmitter();
|
|
9164
9175
|
val;
|
|
9165
9176
|
pickerTo;
|
|
@@ -9194,28 +9205,42 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9194
9205
|
}
|
|
9195
9206
|
//eslint-disable-next-line
|
|
9196
9207
|
set dateFrom(val) {
|
|
9197
|
-
if (this._dateFrom
|
|
9208
|
+
if (this._dateFrom === val) {
|
|
9209
|
+
return;
|
|
9210
|
+
}
|
|
9211
|
+
if (val && isValid(new Date(val))) {
|
|
9198
9212
|
this._dateFrom = val;
|
|
9199
9213
|
this.minDateTo = new Date(val);
|
|
9200
|
-
if (!this.dateTo) {
|
|
9214
|
+
if (!this.dateTo && !this.dateToOptional) {
|
|
9201
9215
|
this.pickerTo?.open();
|
|
9202
9216
|
}
|
|
9203
|
-
this.onApply();
|
|
9204
9217
|
}
|
|
9218
|
+
else if (!val) {
|
|
9219
|
+
this._dateFrom = val;
|
|
9220
|
+
this.minDateTo = this.minDate;
|
|
9221
|
+
}
|
|
9222
|
+
this.onApply();
|
|
9205
9223
|
}
|
|
9206
9224
|
//eslint-disable-next-line
|
|
9207
9225
|
set dateTo(val) {
|
|
9208
|
-
if (this._dateTo
|
|
9226
|
+
if (this._dateTo === val) {
|
|
9227
|
+
return;
|
|
9228
|
+
}
|
|
9229
|
+
if (val && isValid(new Date(val))) {
|
|
9209
9230
|
this._dateTo = val;
|
|
9210
9231
|
this.maxDateFrom = new Date(val);
|
|
9211
|
-
this.onApply();
|
|
9212
9232
|
}
|
|
9233
|
+
else if (!val) {
|
|
9234
|
+
this._dateTo = val;
|
|
9235
|
+
this.maxDateFrom = this.maxDate;
|
|
9236
|
+
}
|
|
9237
|
+
this.onApply();
|
|
9213
9238
|
}
|
|
9214
|
-
constructor(injector, ecabsDatePickerHeaderService,
|
|
9239
|
+
constructor(injector, ecabsDatePickerHeaderService, destroyRef) {
|
|
9215
9240
|
super();
|
|
9216
9241
|
this.injector = injector;
|
|
9217
9242
|
this.ecabsDatePickerHeaderService = ecabsDatePickerHeaderService;
|
|
9218
|
-
this.
|
|
9243
|
+
this.destroyRef = destroyRef;
|
|
9219
9244
|
}
|
|
9220
9245
|
ngOnChanges(changes) {
|
|
9221
9246
|
const { minDate, maxDate } = changes;
|
|
@@ -9231,7 +9256,7 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9231
9256
|
ngOnInit() {
|
|
9232
9257
|
this.ecabsDatePickerHeaderService
|
|
9233
9258
|
.getConfig()
|
|
9234
|
-
.pipe(
|
|
9259
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
9235
9260
|
.subscribe((config) => (this.translationConfig = config));
|
|
9236
9261
|
if (this.holidayOptions?.countryCode) {
|
|
9237
9262
|
this.holidayInstance = new Holidays(this.holidayOptions.countryCode.toUpperCase());
|
|
@@ -9242,17 +9267,15 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9242
9267
|
if (ngControl) {
|
|
9243
9268
|
this.control = ngControl.control;
|
|
9244
9269
|
this.control.valueChanges
|
|
9245
|
-
.pipe(
|
|
9270
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
9246
9271
|
.subscribe(() => this.dateRangeValidator(this.control));
|
|
9247
9272
|
setTimeout(() => {
|
|
9248
9273
|
this.dateFrom = this.value.dateFrom;
|
|
9249
9274
|
this.dateTo = this.value.dateTo;
|
|
9275
|
+
this.dateRangeValidator(this.control);
|
|
9250
9276
|
});
|
|
9251
9277
|
}
|
|
9252
9278
|
}
|
|
9253
|
-
ngOnDestroy() {
|
|
9254
|
-
this.unsubscribeService.destroy();
|
|
9255
|
-
}
|
|
9256
9279
|
onChange = () => { };
|
|
9257
9280
|
onTouch = () => { };
|
|
9258
9281
|
writeValue(value) {
|
|
@@ -9311,37 +9334,36 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9311
9334
|
}
|
|
9312
9335
|
dateRangeValidator(control) {
|
|
9313
9336
|
const required = control?.hasValidator(Validators.required);
|
|
9314
|
-
if (control.value) {
|
|
9315
|
-
|
|
9316
|
-
control.setErrors(null);
|
|
9317
|
-
if (required &&
|
|
9318
|
-
(!dateFrom || dateFrom?.length === 0) &&
|
|
9319
|
-
(!dateTo || dateTo?.length === 0)) {
|
|
9337
|
+
if (!control.value) {
|
|
9338
|
+
if (required) {
|
|
9320
9339
|
control.setErrors({ required: true });
|
|
9321
|
-
return;
|
|
9322
|
-
}
|
|
9323
|
-
if (!dateFrom && dateTo) {
|
|
9324
|
-
control.setErrors({ dateFromRangeRequired: true });
|
|
9325
|
-
return;
|
|
9326
|
-
}
|
|
9327
|
-
if (dateFrom && !dateTo) {
|
|
9328
|
-
control.setErrors({ dateToRangeRequired: true });
|
|
9329
|
-
return;
|
|
9330
|
-
}
|
|
9331
|
-
if (new Date(dateFrom) > new Date(dateTo)) {
|
|
9332
|
-
control.setErrors({ dateFromMoreThanDateTo: true });
|
|
9333
|
-
return;
|
|
9334
9340
|
}
|
|
9341
|
+
return;
|
|
9342
|
+
}
|
|
9343
|
+
const { dateFrom, dateTo } = control.value;
|
|
9344
|
+
control.setErrors(null);
|
|
9345
|
+
if (required &&
|
|
9346
|
+
(!dateFrom || dateFrom?.length === 0) &&
|
|
9347
|
+
(!dateTo || dateTo?.length === 0)) {
|
|
9348
|
+
control.setErrors({ required: true });
|
|
9349
|
+
}
|
|
9350
|
+
else if (!dateFrom && dateTo) {
|
|
9351
|
+
control.setErrors({ rangeFrom: true });
|
|
9352
|
+
}
|
|
9353
|
+
else if (dateFrom && !dateTo && !this.dateToOptional) {
|
|
9354
|
+
control.setErrors({ rangeTo: true });
|
|
9355
|
+
}
|
|
9356
|
+
else if (dateFrom && dateTo && new Date(dateFrom) > new Date(dateTo)) {
|
|
9357
|
+
control.setErrors({ rangeOrder: true });
|
|
9335
9358
|
}
|
|
9336
9359
|
}
|
|
9337
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, deps: [{ token: i0.Injector }, { token: EcabsDatePickerHeaderService }, { token:
|
|
9338
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateRangePickerComponentV2, selector: "ecabs-date-range-picker-v2", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", cancelLabel: "cancelLabel", applyLabel: "applyLabel", startDatePlaceholder: "startDatePlaceholder", endDatePlaceholder: "endDatePlaceholder", separatorLabel: "separatorLabel", excludeHolidays: "excludeHolidays", excludeWeekends: "excludeWeekends", specificDates: "specificDates", holidayOptions: "holidayOptions" }, outputs: { onblur: "onblur" }, providers: [
|
|
9360
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, deps: [{ token: i0.Injector }, { token: EcabsDatePickerHeaderService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9361
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateRangePickerComponentV2, selector: "ecabs-date-range-picker-v2", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", cancelLabel: "cancelLabel", applyLabel: "applyLabel", startDatePlaceholder: "startDatePlaceholder", endDatePlaceholder: "endDatePlaceholder", separatorLabel: "separatorLabel", excludeHolidays: "excludeHolidays", excludeWeekends: "excludeWeekends", specificDates: "specificDates", holidayOptions: "holidayOptions", dateToOptional: "dateToOptional" }, outputs: { onblur: "onblur" }, providers: [
|
|
9339
9362
|
{
|
|
9340
9363
|
provide: NG_VALUE_ACCESSOR,
|
|
9341
9364
|
useExisting: EcabsDateRangePickerComponentV2,
|
|
9342
9365
|
multi: true,
|
|
9343
9366
|
},
|
|
9344
|
-
UnsubscribeService,
|
|
9345
9367
|
], viewQueries: [{ propertyName: "pickerTo", first: true, predicate: ["pickerTo"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__range--wrapper\">\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateFrom' }}\"\r\n [(ngModel)]=\"dateFrom\"\r\n [placeholder]=\"startDatePlaceholder ?? translationConfig?.startDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerFrom\"\r\n [min]=\"minDateFrom\"\r\n [max]=\"maxDateFrom\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerFrom.open()\"\r\n />\r\n <mat-datepicker #pickerFrom\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n\r\n <span class=\"text-gray-400 px-3 text-sm\">{{ separatorLabel }}</span>\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateTo' }}\"\r\n [(ngModel)]=\"dateTo\"\r\n [placeholder]=\"endDatePlaceholder ?? translationConfig?.endDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerTo\"\r\n [min]=\"minDateTo\"\r\n [max]=\"maxDateTo\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerTo.open()\"\r\n />\r\n <mat-datepicker #pickerTo\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }] });
|
|
9346
9368
|
}
|
|
9347
9369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, decorators: [{
|
|
@@ -9352,9 +9374,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9352
9374
|
useExisting: EcabsDateRangePickerComponentV2,
|
|
9353
9375
|
multi: true,
|
|
9354
9376
|
},
|
|
9355
|
-
UnsubscribeService,
|
|
9356
9377
|
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__range--wrapper\">\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateFrom' }}\"\r\n [(ngModel)]=\"dateFrom\"\r\n [placeholder]=\"startDatePlaceholder ?? translationConfig?.startDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerFrom\"\r\n [min]=\"minDateFrom\"\r\n [max]=\"maxDateFrom\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerFrom.open()\"\r\n />\r\n <mat-datepicker #pickerFrom\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n\r\n <span class=\"text-gray-400 px-3 text-sm\">{{ separatorLabel }}</span>\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateTo' }}\"\r\n [(ngModel)]=\"dateTo\"\r\n [placeholder]=\"endDatePlaceholder ?? translationConfig?.endDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerTo\"\r\n [min]=\"minDateTo\"\r\n [max]=\"maxDateTo\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerTo.open()\"\r\n />\r\n <mat-datepicker #pickerTo\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
9357
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: EcabsDatePickerHeaderService }, { type:
|
|
9378
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: EcabsDatePickerHeaderService }, { type: i0.DestroyRef }]; }, propDecorators: { minDate: [{
|
|
9358
9379
|
type: Input
|
|
9359
9380
|
}], maxDate: [{
|
|
9360
9381
|
type: Input
|
|
@@ -9378,6 +9399,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9378
9399
|
type: Input
|
|
9379
9400
|
}], holidayOptions: [{
|
|
9380
9401
|
type: Input
|
|
9402
|
+
}], dateToOptional: [{
|
|
9403
|
+
type: Input
|
|
9381
9404
|
}], onblur: [{
|
|
9382
9405
|
type: Output
|
|
9383
9406
|
}], pickerTo: [{
|