@acpaas-ui/ngx-forms 6.1.6 → 6.1.8
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/esm2020/lib/datepicker/components/datepicker/datepicker.component.mjs +20 -11
- package/fesm2015/acpaas-ui-ngx-forms.mjs +19 -10
- package/fesm2015/acpaas-ui-ngx-forms.mjs.map +1 -1
- package/fesm2020/acpaas-ui-ngx-forms.mjs +19 -10
- package/fesm2020/acpaas-ui-ngx-forms.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -3,6 +3,7 @@ import { Subject } from 'rxjs';
|
|
|
3
3
|
import { takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
5
5
|
import { DateHelper } from '@acpaas-ui/ngx-utils';
|
|
6
|
+
import { TZDate } from '@date-fns/tz';
|
|
6
7
|
import { FlyoutDirective } from '@acpaas-ui/ngx-flyout';
|
|
7
8
|
import { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_MONTH_LABELS, CALENDAR_WEEKDAY_LABELS, } from '@acpaas-ui/ngx-calendar';
|
|
8
9
|
import { DATEPICKER_SEPARATOR_CHAR, DATEPICKER_DEFAULT_ERROR_LABELS, DATEPICKER_ERROR_LABELS, } from '../../datepicker.conf';
|
|
@@ -87,13 +88,13 @@ export class DatepickerComponent {
|
|
|
87
88
|
const date = DateHelper.parseDate(format, 'yyyy-MM-dd');
|
|
88
89
|
if (date) {
|
|
89
90
|
this.selectedDate = date;
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
const
|
|
91
|
+
const brusselsDate = new TZDate(date, 'Europe/Brussels');
|
|
92
|
+
const year = brusselsDate.getFullYear();
|
|
93
|
+
const month = brusselsDate.getMonth();
|
|
94
|
+
const day = brusselsDate.getDate();
|
|
93
95
|
this.onChange(DateHelper.toUtcMidnightInBrussels(year, month, day));
|
|
94
96
|
}
|
|
95
97
|
else {
|
|
96
|
-
// Change value with original value (and not null or '') so we can add an error in the validate function
|
|
97
98
|
this.onChange(value);
|
|
98
99
|
}
|
|
99
100
|
}
|
|
@@ -122,12 +123,20 @@ export class DatepickerComponent {
|
|
|
122
123
|
.build();
|
|
123
124
|
}
|
|
124
125
|
writeValue(value) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
if (typeof value === 'string') {
|
|
127
|
+
if (this.isISODateFormat(value)) {
|
|
128
|
+
this.selectedDate = DateHelper.parseDate(value);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.selectedDate = DateHelper.parseDate(value, 'dd/MM/yyyy');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if (value instanceof Date) {
|
|
135
|
+
this.selectedDate = value;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.selectedDate = null;
|
|
139
|
+
}
|
|
131
140
|
const dateString = this.selectedDate ? this.formatDate(this.selectedDate) : '';
|
|
132
141
|
this.formControl.setValue(dateString);
|
|
133
142
|
}
|
|
@@ -296,4 +305,4 @@ export class DatepickerComponent {
|
|
|
296
305
|
}], blur: [{
|
|
297
306
|
type: Output
|
|
298
307
|
}] }); })();
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RhdGVwaWNrZXIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXRlcGlja2VyL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFJTCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBS3hCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUNMLHlCQUF5QixFQUN6QiwrQkFBK0IsRUFDL0IsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFZLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztJQzFDL0QsZ0NBQTJEO0lBQUEsWUFBVztJQUFBLGlCQUFROzs7SUFBaEQsMENBQWM7SUFBZSxlQUFXO0lBQVgsa0NBQVc7OztJQUN0RSxnQ0FBd0Q7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cUNBQWdCO1FBS2hCLGVBQWlCO1FBQWpCLHNDQUFpQjtRQVlqQixlQUFpQjtRQUFqQixzQ0FBaUI7O3VGRDhCdkIsbUJBQW1CO2NBbEIvQixTQUFTOzJCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLG9CQUFvQixFQUFDO3dCQUNsRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsb0JBQW9CLEVBQUM7d0JBQ2xELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGOztzQkE4QkUsTUFBTTt1QkFBQyxxQkFBcUI7O3NCQUM1QixNQUFNO3VCQUFDLHVCQUF1Qjs7c0JBQzlCLE1BQU07dUJBQUMsdUJBQXVCO3VIQTdCYSxNQUFNO2tCQUFuRCxTQUFTO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDbkMsRUFBRTtrQkFBVixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFTixHQUFHO2tCQURGLEtBQUs7WUFHTixHQUFHO2tCQURGLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFHSSxJQUFJO2tCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlSGVscGVyLCBEYXRlUmFuZ2UgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5pbXBvcnQgeyBGbHlvdXREaXJlY3RpdmUgfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG4gIENhbGVuZGFyU2VydmljZSxcbiAgRGF0ZXBpY2tlclJlc3VsdCxcbiAgV2Vla2RheUxhYmVsc0NvbmZpZyxcbiAgTW9udGhMYWJlbHNDb25maWcsXG59IGZyb20gJ0BhY3BhYXMtdWkvbmd4LWNhbGVuZGFyJztcblxuaW1wb3J0IHtcbiAgREFURVBJQ0tFUl9TRVBBUkFUT1JfQ0hBUixcbiAgREFURVBJQ0tFUl9ERUZBVUxUX0VSUk9SX0xBQkVMUyxcbiAgREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMsXG59IGZyb20gJy4uLy4uL2RhdGVwaWNrZXIuY29uZic7XG5pbXBvcnQgeyBEYXRlcGlja2VyVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGVwaWNrZXIudHlwZXMnO1xuaW1wb3J0IHsgSW50ZXJ2YWwsIEludGVydmFsQnVpbGRlciB9IGZyb20gJ0BhY3BhYXMtdWkvbmd4LXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRhdGVwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXBpY2tlckNvbXBvbmVudCksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWZvcndhcmQtcmVmXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZm9yd2FyZC1yZWZcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBWaWV3Q2hpbGQoRmx5b3V0RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBmbHlvdXQ6IEZseW91dERpcmVjdGl2ZTtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdkZC9tbS95eXl5JztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgQElucHV0KCkgcmFuZ2U6IERhdGVSYW5nZTtcbiAgQElucHV0KClcbiAgbWluOiBEYXRlIHwgbnVsbDtcbiAgQElucHV0KClcbiAgbWF4OiBEYXRlIHwgbnVsbDtcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiAnb2ZmJztcbiAgQElucHV0KCkgd2Vla2RheUxhYmVsczogV2Vla2RheUxhYmVsc0NvbmZpZztcbiAgQElucHV0KCkgbW9udGhMYWJlbHM6IE1vbnRoTGFiZWxzQ29uZmlnO1xuICBASW5wdXQoKSBhcmlhT3BlbkRhdGVwaWNrZXJMYWJlbCA9ICdPcGVuIGthbGVuZGVyJztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xuICBwdWJsaWMgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgaW50ZXJ2YWw6IEludGVydmFsLklJbnRlcnZhbDxEYXRlPjtcblxuICBwcml2YXRlIGNvbXBvbmVudERlc3Ryb3llZCQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfTU9OVEhfTEFCRUxTKSBwcml2YXRlIG1vZHVsZU1vbnRoTGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gICAgQEluamVjdChDQUxFTkRBUl9XRUVLREFZX0xBQkVMUykgcHJpdmF0ZSBtb2R1bGVXZWVrZGF5TGFiZWxzID0gQ0FMRU5EQVJfREVGQVVMVF9XRUVLREFZX0xBQkVMUyxcbiAgICBASW5qZWN0KERBVEVQSUNLRVJfRVJST1JfTEFCRUxTKSBwcml2YXRlIGVycm9yTGFiZWxzID0gREFURVBJQ0tFUl9ERUZBVUxUX0VSUk9SX0xBQkVMUyxcbiAgICBwdWJsaWMgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLndlZWtkYXlMYWJlbHMgPSB0aGlzLndlZWtkYXlMYWJlbHMgfHwgdGhpcy5tb2R1bGVXZWVrZGF5TGFiZWxzO1xuICAgIHRoaXMubW9udGhMYWJlbHMgPSB0aGlzLm1vbnRoTGFiZWxzIHx8IHRoaXMubW9kdWxlTW9udGhMYWJlbHM7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQgfSk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlLnNwbGl0KERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIpLnJldmVyc2UoKS5qb2luKCctJyk7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZShmb3JtYXQsICd5eXl5LU1NLWRkJyk7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZShEYXRlSGVscGVyLnRvVXRjTWlkbmlnaHRJbkJydXNzZWxzKHllYXIsIG1vbnRoLCBkYXkpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBDaGFuZ2UgdmFsdWUgd2l0aCBvcmlnaW5hbCB2YWx1ZSAoYW5kIG5vdCBudWxsIG9yICcnKSBzbyB3ZSBjYW4gYWRkIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0ZSBmdW5jdGlvblxuICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoJycpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5taW4gfHwgY2hhbmdlcy5tYXgpIHtcbiAgICAgIHRoaXMuY3JlYXRlSW50ZXJ2YWwoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUludGVydmFsKCkge1xuICAgIGlmICghdGhpcy5taW4gJiYgIXRoaXMubWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSBhbiBpbnRlcnZhbCBpZiBtaW4vbWF4IGlzIGZpbGxlZCBpblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBJbnRlcnZhbEJ1aWxkZXIuZGF0ZUludGVydmFsKFxuICAgICAgdGhpcy5taW4gPyBuZXcgRGF0ZSh0aGlzLm1pbikgOiBudWxsLFxuICAgICAgdGhpcy5tYXggPyBuZXcgRGF0ZSh0aGlzLm1heCkgOiBudWxsLFxuICAgIClcbiAgICAgIC5ub3QoKVxuICAgICAgLmJ1aWxkKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID1cbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyB0aGlzLmlzSVNPRGF0ZUZvcm1hdCh2YWx1ZSlcbiAgICAgICAgICA/IG5ldyBEYXRlKHZhbHVlKVxuICAgICAgICAgIDogRGF0ZUhlbHBlci5wYXJzZURhdGUodmFsdWUsICdkZC9NTS95eXl5JylcbiAgICAgICAgOiB2YWx1ZTtcbiAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5zZWxlY3RlZERhdGUgPyB0aGlzLmZvcm1hdERhdGUodGhpcy5zZWxlY3RlZERhdGUpIDogJyc7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShkYXRlU3RyaW5nKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAocmVzOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sKSB7XG4gICAgICBpZiAoaXNEaXNhYmxlZCAmJiB0aGlzLmZvcm1Db250cm9sLmVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2UgaWYgKCFpc0Rpc2FibGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3REYXRlRnJvbUNhbGVuZGFyKHJlc3VsdDogRGF0ZXBpY2tlclJlc3VsdCk6IHZvaWQge1xuICAgIGlmIChyZXN1bHQuY29tcGxldGUpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5mb3JtYXREYXRlKHJlc3VsdC5kYXRlKSk7XG4gICAgICB0aGlzLmZseW91dC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBEYXRlSGVscGVyLmZvcm1hdERhdGUoZGF0ZSwgJ0REL01NL1lZWVknLCB7XG4gICAgICBsZWFkaW5nWmVybzogdHJ1ZSxcbiAgICAgIG1vbnRoTGFiZWxzOiB0aGlzLm1vbnRoTGFiZWxzLFxuICAgICAgd2Vla2RheUxhYmVsczogdGhpcy53ZWVrZGF5TGFiZWxzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGN0cmw6IFVudHlwZWRGb3JtQ29udHJvbCk6IERhdGVwaWNrZXJWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICAvLyBubyBlcnJvciBvbiBlbXB0eSB2YWx1ZSAoYWRkIHJlcXVpcmVkIHZhbGlkYXRvciBpbiBhcHApXG4gICAgaWYgKGN0cmwudmFsdWUgPT09ICcnIHx8IGN0cmwudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHRocm93IGZvcm1hdCBlcnJvciBpZiBubyB2YWxpZCBkYXRlIHdhcyBwcm92aWRlZFxuICAgIGNvbnN0IGRhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZShjdHJsLnZhbHVlKTtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZvcm1hdDogdGhpcy5lcnJvckxhYmVscy5FUlJPUlNfSU5WQUxJRF9EQVRFLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBubyBlcnJvciBpZiB2YWxpZCBkYXRlIGFuIG5vIHJhbmdlIHByb3ZpZGVkXG4gICAgaWYgKCF0aGlzLnJhbmdlIHx8ICF0aGlzLnJhbmdlLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gdGhyb3cgZXJyb3Igd2hlbiBvdXQgb2YgcmFuZ2VcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmdldFJhbmdlRm9yRGF0ZShkYXRlLCB0aGlzLnJhbmdlKTtcblxuICAgIHJldHVybiByYW5nZS5pbmRleE9mKGRhdGUuZ2V0RGF0ZSgpKSA+PSAwXG4gICAgICA/IHtcbiAgICAgICAgICByYW5nZTogdGhpcy5lcnJvckxhYmVscy5FUlJPUlNfSU5WQUxJRF9SQU5HRSxcbiAgICAgICAgfVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJsdXIoZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIuZW1pdChlKTtcbiAgICB0aGlzLm9uVG91Y2hlZChlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGlzSVNPRGF0ZUZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXGR7NH0tXFxkezJ9LVxcZHsyfVQuKi8pO1xuICB9XG59XG4iLCI8ZGl2IGFyaWEtaGFzcG9wdXA9XCJncmlkXCIgYXVpRmx5b3V0IGNsYXNzPVwiYXVpLWRhdGVwaWNrZXIgYS1pbnB1dCBoYXMtaWNvbi1yaWdodFwiPlxuICA8bGFiZWwgY2xhc3M9XCJhLWlucHV0X19sYWJlbFwiIGZvcj1cInt7IGlkIH19XCIgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPHNtYWxsIGNsYXNzPVwiYS1pbnB1dF9fZGVzY3JpcHRpb25cIiAqbmdJZj1cImRlc2NyaXB0aW9uXCI+IHt7IGRlc2NyaXB0aW9uIH19PC9zbWFsbD5cbiAgPGRpdiBjbGFzcz1cImEtaW5wdXRfX3dyYXBwZXJcIj5cbiAgICA8aW5wdXRcbiAgICAgIChibHVyKT1cImhhbmRsZUJsdXIoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIGlkPVwie3sgaWQgfX1cIlxuICAgICAgbGFiZWw9XCJQaWNrIGRhdGVcIlxuICAgICAgZGVzY3JpcHRpb249XCJEZXNjcmlwdGlvblwiXG4gICAgICBuYW1lPVwie3sgbmFtZSB9fVwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Rpc2FibGVkXCI+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgbmFtZT1cImFpLWNhbGVuZGFyXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Rpc2FibGVkXCI+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgYXVpRmx5b3V0QWN0aW9uXG4gICAgICAgIFtvcGVuT25Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgIG5hbWU9XCJhaS1jYWxlbmRhclwiXG4gICAgICAgIGNsYXNzTmFtZT1cImlzLWNsaWNrYWJsZVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFPcGVuRGF0ZXBpY2tlckxhYmVsXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRGlzYWJsZWRcIj5cbiAgICAgIDxkaXYgYXVpRmx5b3V0Wm9uZSBjbGFzcz1cIm0tZGF0ZXBpY2tlciBtLWRhdGVwaWNrZXItLWZpeGVkXCIgcm9sZT1cImRpYWxvZ1wiPlxuICAgICAgICA8YXVpLWNhbGVuZGFyXG4gICAgICAgICAgKHNlbGVjdERhdGUpPVwic2VsZWN0RGF0ZUZyb21DYWxlbmRhcigkZXZlbnQpXCJcbiAgICAgICAgICBbcmFuZ2VdPVwicmFuZ2VcIlxuICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgICAgICBbaW50ZXJ2YWxdPVwiaW50ZXJ2YWxcIlxuICAgICAgICAgIFt3ZWVrZGF5TGFiZWxzXT1cIndlZWtkYXlMYWJlbHNcIlxuICAgICAgICAgIFttb250aExhYmVsc109XCJtb250aExhYmVsc1wiXG4gICAgICAgID48L2F1aS1jYWxlbmRhcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RhdGVwaWNrZXIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXRlcGlja2VyL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFJTCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEVBQy9CLHFCQUFxQixFQUNyQix1QkFBdUIsR0FLeEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQix1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0lDM0MvRCxnQ0FBMkQ7SUFBQSxZQUFXO0lBQUEsaUJBQVE7OztJQUFoRCww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QixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFHSSxJQUFJO2tCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlSGVscGVyLCBEYXRlUmFuZ2UgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5pbXBvcnQgeyBUWkRhdGUgfSBmcm9tICdAZGF0ZS1mbnMvdHonO1xuaW1wb3J0IHsgRmx5b3V0RGlyZWN0aXZlIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtZmx5b3V0JztcbmltcG9ydCB7XG4gIENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICBDQUxFTkRBUl9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX1dFRUtEQVlfTEFCRUxTLFxuICBDYWxlbmRhclNlcnZpY2UsXG4gIERhdGVwaWNrZXJSZXN1bHQsXG4gIFdlZWtkYXlMYWJlbHNDb25maWcsXG4gIE1vbnRoTGFiZWxzQ29uZmlnLFxufSBmcm9tICdAYWNwYWFzLXVpL25neC1jYWxlbmRhcic7XG5cbmltcG9ydCB7XG4gIERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIsXG4gIERBVEVQSUNLRVJfREVGQVVMVF9FUlJPUl9MQUJFTFMsXG4gIERBVEVQSUNLRVJfRVJST1JfTEFCRUxTLFxufSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLmNvbmYnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlclZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRlcGlja2VyLnR5cGVzJztcbmltcG9ydCB7IEludGVydmFsLCBJbnRlcnZhbEJ1aWxkZXIgfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVwaWNrZXJDb21wb25lbnQpLCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1mb3J3YXJkLXJlZlxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXBpY2tlckNvbXBvbmVudCksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWZvcndhcmQtcmVmXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBAVmlld0NoaWxkKEZseW91dERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgZmx5b3V0OiBGbHlvdXREaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnZGQvbW0veXl5eSc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJhbmdlOiBEYXRlUmFuZ2U7XG4gIEBJbnB1dCgpXG4gIG1pbjogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogJ29mZic7XG4gIEBJbnB1dCgpIHdlZWtkYXlMYWJlbHM6IFdlZWtkYXlMYWJlbHNDb25maWc7XG4gIEBJbnB1dCgpIG1vbnRoTGFiZWxzOiBNb250aExhYmVsc0NvbmZpZztcbiAgQElucHV0KCkgYXJpYU9wZW5EYXRlcGlja2VyTGFiZWwgPSAnT3BlbiBrYWxlbmRlcic7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBwdWJsaWMgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgcHVibGljIGlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgcHVibGljIGludGVydmFsOiBJbnRlcnZhbC5JSW50ZXJ2YWw8RGF0ZT47XG5cbiAgcHJpdmF0ZSBjb21wb25lbnREZXN0cm95ZWQkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENBTEVOREFSX01PTlRIX0xBQkVMUykgcHJpdmF0ZSBtb2R1bGVNb250aExhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfTU9OVEhfTEFCRUxTLFxuICAgIEBJbmplY3QoQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMpIHByaXZhdGUgbW9kdWxlV2Vla2RheUxhYmVscyA9IENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gICAgQEluamVjdChEQVRFUElDS0VSX0VSUk9SX0xBQkVMUykgcHJpdmF0ZSBlcnJvckxhYmVscyA9IERBVEVQSUNLRVJfREVGQVVMVF9FUlJPUl9MQUJFTFMsXG4gICAgcHVibGljIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLndlZWtkYXlMYWJlbHMgPSB0aGlzLndlZWtkYXlMYWJlbHMgfHwgdGhpcy5tb2R1bGVXZWVrZGF5TGFiZWxzO1xuICAgIHRoaXMubW9udGhMYWJlbHMgPSB0aGlzLm1vbnRoTGFiZWxzIHx8IHRoaXMubW9kdWxlTW9udGhMYWJlbHM7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQgfSk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlLnNwbGl0KERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIpLnJldmVyc2UoKS5qb2luKCctJyk7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZShmb3JtYXQsICd5eXl5LU1NLWRkJyk7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICAgIGNvbnN0IGJydXNzZWxzRGF0ZSA9IG5ldyBUWkRhdGUoZGF0ZSwgJ0V1cm9wZS9CcnVzc2VscycpO1xuICAgICAgICAgIGNvbnN0IHllYXIgPSBicnVzc2Vsc0RhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICBjb25zdCBtb250aCA9IGJydXNzZWxzRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgIGNvbnN0IGRheSA9IGJydXNzZWxzRGF0ZS5nZXREYXRlKCk7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZShEYXRlSGVscGVyLnRvVXRjTWlkbmlnaHRJbkJydXNzZWxzKHllYXIsIG1vbnRoLCBkYXkpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMubWluIHx8IGNoYW5nZXMubWF4KSB7XG4gICAgICB0aGlzLmNyZWF0ZUludGVydmFsKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbnRlcnZhbCgpIHtcbiAgICBpZiAoIXRoaXMubWluICYmICF0aGlzLm1heCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBDcmVhdGUgYW4gaW50ZXJ2YWwgaWYgbWluL21heCBpcyBmaWxsZWQgaW5cbiAgICB0aGlzLmludGVydmFsID0gSW50ZXJ2YWxCdWlsZGVyLmRhdGVJbnRlcnZhbChcbiAgICAgIHRoaXMubWluID8gbmV3IERhdGUodGhpcy5taW4pIDogbnVsbCxcbiAgICAgIHRoaXMubWF4ID8gbmV3IERhdGUodGhpcy5tYXgpIDogbnVsbFxuICAgIClcbiAgICAgIC5ub3QoKVxuICAgICAgLmJ1aWxkKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodGhpcy5pc0lTT0RhdGVGb3JtYXQodmFsdWUpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBEYXRlSGVscGVyLnBhcnNlRGF0ZSh2YWx1ZSwgJ2RkL01NL3l5eXknKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGVTdHJpbmcgPSB0aGlzLnNlbGVjdGVkRGF0ZSA/IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSkgOiAnJztcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGRhdGVTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGVGcm9tQ2FsZW5kYXIocmVzdWx0OiBEYXRlcGlja2VyUmVzdWx0KTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdC5jb21wbGV0ZSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1hdERhdGUocmVzdWx0LmRhdGUpKTtcbiAgICAgIHRoaXMuZmx5b3V0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZShkYXRlLCAnREQvTU0vWVlZWScsIHtcbiAgICAgIGxlYWRpbmdaZXJvOiB0cnVlLFxuICAgICAgbW9udGhMYWJlbHM6IHRoaXMubW9udGhMYWJlbHMsXG4gICAgICB3ZWVrZGF5TGFiZWxzOiB0aGlzLndlZWtkYXlMYWJlbHMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY3RybDogVW50eXBlZEZvcm1Db250cm9sKTogRGF0ZXBpY2tlclZhbGlkYXRpb25FcnJvcnMge1xuICAgIC8vIG5vIGVycm9yIG9uIGVtcHR5IHZhbHVlIChhZGQgcmVxdWlyZWQgdmFsaWRhdG9yIGluIGFwcClcbiAgICBpZiAoY3RybC52YWx1ZSA9PT0gJycgfHwgY3RybC52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gdGhyb3cgZm9ybWF0IGVycm9yIGlmIG5vIHZhbGlkIGRhdGUgd2FzIHByb3ZpZGVkXG4gICAgY29uc3QgZGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGN0cmwudmFsdWUpO1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9ybWF0OiB0aGlzLmVycm9yTGFiZWxzLkVSUk9SU19JTlZBTElEX0RBVEUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIG5vIGVycm9yIGlmIHZhbGlkIGRhdGUgYW4gbm8gcmFuZ2UgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMucmFuZ2UgfHwgIXRoaXMucmFuZ2UubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyB0aHJvdyBlcnJvciB3aGVuIG91dCBvZiByYW5nZVxuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuZ2V0UmFuZ2VGb3JEYXRlKGRhdGUsIHRoaXMucmFuZ2UpO1xuXG4gICAgcmV0dXJuIHJhbmdlLmluZGV4T2YoZGF0ZS5nZXREYXRlKCkpID49IDBcbiAgICAgID8ge1xuICAgICAgICAgIHJhbmdlOiB0aGlzLmVycm9yTGFiZWxzLkVSUk9SU19JTlZBTElEX1JBTkdFLFxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQmx1cihlOiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYmx1ci5lbWl0KGUpO1xuICAgIHRoaXMub25Ub3VjaGVkKGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHJlczogYW55KSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgaXNJU09EYXRlRm9ybWF0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUubWF0Y2goL1xcZHs0fS1cXGR7Mn0tXFxkezJ9VC4qLyk7XG4gIH1cbn1cbiIsIjxkaXYgYXJpYS1oYXNwb3B1cD1cImdyaWRcIiBhdWlGbHlvdXQgY2xhc3M9XCJhdWktZGF0ZXBpY2tlciBhLWlucHV0IGhhcy1pY29uLXJpZ2h0XCI+XG4gIDxsYWJlbCBjbGFzcz1cImEtaW5wdXRfX2xhYmVsXCIgZm9yPVwie3sgaWQgfX1cIiAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICA8c21hbGwgY2xhc3M9XCJhLWlucHV0X19kZXNjcmlwdGlvblwiICpuZ0lmPVwiZGVzY3JpcHRpb25cIj4ge3sgZGVzY3JpcHRpb24gfX08L3NtYWxsPlxuICA8ZGl2IGNsYXNzPVwiYS1pbnB1dF9fd3JhcHBlclwiPlxuICAgIDxpbnB1dFxuICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcbiAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgaWQ9XCJ7eyBpZCB9fVwiXG4gICAgICBsYWJlbD1cIlBpY2sgZGF0ZVwiXG4gICAgICBkZXNjcmlwdGlvbj1cIkRlc2NyaXB0aW9uXCJcbiAgICAgIG5hbWU9XCJ7eyBuYW1lIH19XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGlzYWJsZWRcIj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBuYW1lPVwiYWktY2FsZW5kYXJcIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRGlzYWJsZWRcIj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBhdWlGbHlvdXRBY3Rpb25cbiAgICAgICAgW29wZW5PbkZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgbmFtZT1cImFpLWNhbGVuZGFyXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaXMtY2xpY2thYmxlXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYU9wZW5EYXRlcGlja2VyTGFiZWxcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEaXNhYmxlZFwiPlxuICAgICAgPGRpdiBhdWlGbHlvdXRab25lIGNsYXNzPVwibS1kYXRlcGlja2VyIG0tZGF0ZXBpY2tlci0tZml4ZWRcIiByb2xlPVwiZGlhbG9nXCI+XG4gICAgICAgIDxhdWktY2FsZW5kYXJcbiAgICAgICAgICAoc2VsZWN0RGF0ZSk9XCJzZWxlY3REYXRlRnJvbUNhbGVuZGFyKCRldmVudClcIlxuICAgICAgICAgIFtyYW5nZV09XCJyYW5nZVwiXG4gICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgIFtpbnRlcnZhbF09XCJpbnRlcnZhbFwiXG4gICAgICAgICAgW3dlZWtkYXlMYWJlbHNdPVwid2Vla2RheUxhYmVsc1wiXG4gICAgICAgICAgW21vbnRoTGFiZWxzXT1cIm1vbnRoTGFiZWxzXCJcbiAgICAgICAgPjwvYXVpLWNhbGVuZGFyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -12,6 +12,7 @@ import { get, isEqual, debounce } from 'lodash-es';
|
|
|
12
12
|
import { Subject, Observable } from 'rxjs';
|
|
13
13
|
import { takeUntil } from 'rxjs/operators';
|
|
14
14
|
import { DateHelper, IntervalBuilder } from '@acpaas-ui/ngx-utils';
|
|
15
|
+
import { TZDate } from '@date-fns/tz';
|
|
15
16
|
import * as i1$2 from '@acpaas-ui/ngx-calendar';
|
|
16
17
|
import { CALENDAR_DEFAULT_MONTH_LABELS, CALENDAR_DEFAULT_WEEKDAY_LABELS, CALENDAR_MONTH_LABELS, CALENDAR_WEEKDAY_LABELS, CalendarModule } from '@acpaas-ui/ngx-calendar';
|
|
17
18
|
import * as i4$1 from '@acpaas-ui/ngx-icon';
|
|
@@ -527,13 +528,13 @@ class DatepickerComponent {
|
|
|
527
528
|
const date = DateHelper.parseDate(format, 'yyyy-MM-dd');
|
|
528
529
|
if (date) {
|
|
529
530
|
this.selectedDate = date;
|
|
530
|
-
const
|
|
531
|
-
const
|
|
532
|
-
const
|
|
531
|
+
const brusselsDate = new TZDate(date, 'Europe/Brussels');
|
|
532
|
+
const year = brusselsDate.getFullYear();
|
|
533
|
+
const month = brusselsDate.getMonth();
|
|
534
|
+
const day = brusselsDate.getDate();
|
|
533
535
|
this.onChange(DateHelper.toUtcMidnightInBrussels(year, month, day));
|
|
534
536
|
}
|
|
535
537
|
else {
|
|
536
|
-
// Change value with original value (and not null or '') so we can add an error in the validate function
|
|
537
538
|
this.onChange(value);
|
|
538
539
|
}
|
|
539
540
|
}
|
|
@@ -562,12 +563,20 @@ class DatepickerComponent {
|
|
|
562
563
|
.build();
|
|
563
564
|
}
|
|
564
565
|
writeValue(value) {
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
566
|
+
if (typeof value === 'string') {
|
|
567
|
+
if (this.isISODateFormat(value)) {
|
|
568
|
+
this.selectedDate = DateHelper.parseDate(value);
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
this.selectedDate = DateHelper.parseDate(value, 'dd/MM/yyyy');
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
else if (value instanceof Date) {
|
|
575
|
+
this.selectedDate = value;
|
|
576
|
+
}
|
|
577
|
+
else {
|
|
578
|
+
this.selectedDate = null;
|
|
579
|
+
}
|
|
571
580
|
const dateString = this.selectedDate ? this.formatDate(this.selectedDate) : '';
|
|
572
581
|
this.formControl.setValue(dateString);
|
|
573
582
|
}
|