@klippa/ngx-enhancy-forms 5.2.0 → 5.3.1
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/bundles/klippa-ngx-enhancy-forms.umd.js +24 -9
- package/bundles/klippa-ngx-enhancy-forms.umd.js.map +1 -1
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js +2 -2
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js.map +1 -1
- package/esm2015/lib/elements/date-picker/date-picker.component.js +6 -3
- package/esm2015/lib/elements/date-time-picker/date-time-picker.component.js +17 -6
- package/esm2015/lib/elements/select/select.component.js +6 -2
- package/esm2015/lib/elements/toggle/toggle.component.js +2 -2
- package/esm2015/lib/form/form.component.js +2 -2
- package/fesm2015/klippa-ngx-enhancy-forms.js +25 -8
- package/fesm2015/klippa-ngx-enhancy-forms.js.map +1 -1
- package/klippa-ngx-enhancy-forms.metadata.json +1 -1
- package/lib/elements/date-time-picker/date-time-picker.component.d.ts +5 -2
- package/lib/elements/toggle/toggle.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Component, Host, Inject, InjectionToken, Input, Optional, ViewChild } from '@angular/core';
|
|
2
2
|
import { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { invalidDateKey } from '../../validators/dateValidator';
|
|
4
|
-
import { MAT_DATE_FORMATS, MAT_NATIVE_DATE_FORMATS } from '@angular/material/core';
|
|
4
|
+
import { DateAdapter, MAT_DATE_FORMATS, MAT_NATIVE_DATE_FORMATS } from '@angular/material/core';
|
|
5
5
|
import { FormElementComponent } from '../../form/form-element/form-element.component';
|
|
6
6
|
import { MultipleValueAccessorBase } from '../value-accessor-base/multiple-value-accessor-base.component';
|
|
7
|
-
import { removeDuplicatesFromArray, stringIsSetAndFilled } from '../../util/values';
|
|
7
|
+
import { isValueSet, removeDuplicatesFromArray, stringIsSetAndFilled } from '../../util/values';
|
|
8
8
|
import { endOfMonth, format as formatDate, startOfMonth } from 'date-fns';
|
|
9
9
|
export const KLP_DATE_FORMATS = new InjectionToken('klp.form.date.formats');
|
|
10
10
|
export const DATE_TIME_PICKER_TRANSLATIONS = new InjectionToken('klp.form.dateTime.translations');
|
|
11
|
+
export const DATE_PICKER_LOCALE = new InjectionToken('klp.form.dateTime.locale');
|
|
11
12
|
export function matDateFormatsFactory(component, dateFormats) {
|
|
12
13
|
var _a;
|
|
13
14
|
return (_a = dateFormats === null || dateFormats === void 0 ? void 0 : dateFormats(component.format)) !== null && _a !== void 0 ? _a : MAT_NATIVE_DATE_FORMATS;
|
|
14
15
|
}
|
|
15
16
|
export class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
16
|
-
constructor(parent, controlContainer, translations, cdr) {
|
|
17
|
+
constructor(parent, controlContainer, translations, datePickerLocale, dateAdapter, cdr) {
|
|
17
18
|
super(parent, controlContainer);
|
|
18
19
|
this.parent = parent;
|
|
19
20
|
this.controlContainer = controlContainer;
|
|
20
21
|
this.translations = translations;
|
|
22
|
+
this.datePickerLocale = datePickerLocale;
|
|
23
|
+
this.dateAdapter = dateAdapter;
|
|
21
24
|
this.cdr = cdr;
|
|
22
25
|
this.minDate = undefined;
|
|
23
26
|
this.maxDate = undefined;
|
|
@@ -44,6 +47,9 @@ export class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
44
47
|
}
|
|
45
48
|
return true;
|
|
46
49
|
};
|
|
50
|
+
if (isValueSet(datePickerLocale)) {
|
|
51
|
+
dateAdapter.setLocale(datePickerLocale());
|
|
52
|
+
}
|
|
47
53
|
}
|
|
48
54
|
ngOnInit() {
|
|
49
55
|
super.ngOnInit();
|
|
@@ -256,7 +262,7 @@ export class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
256
262
|
getDefaultTranslation(key) {
|
|
257
263
|
switch (key) {
|
|
258
264
|
case 'placeholder':
|
|
259
|
-
return () =>
|
|
265
|
+
return () => 'Select date';
|
|
260
266
|
case 'selectDays':
|
|
261
267
|
return () => 'Select day(s)';
|
|
262
268
|
case 'selectedDate':
|
|
@@ -272,6 +278,9 @@ export class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
272
278
|
if (key === 'placeholder' && this.multiple) {
|
|
273
279
|
return '';
|
|
274
280
|
}
|
|
281
|
+
if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
|
|
282
|
+
return this.placeholder;
|
|
283
|
+
}
|
|
275
284
|
return (_c = (_b = (_a = this.translations) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.call(_a, params)) !== null && _c !== void 0 ? _c : this.getDefaultTranslation(key)(params);
|
|
276
285
|
}
|
|
277
286
|
}
|
|
@@ -285,7 +294,7 @@ DateTimePickerComponent.decorators = [
|
|
|
285
294
|
provide: MAT_DATE_FORMATS,
|
|
286
295
|
deps: [DateTimePickerComponent, [new Optional(), KLP_DATE_FORMATS]],
|
|
287
296
|
useFactory: matDateFormatsFactory,
|
|
288
|
-
}
|
|
297
|
+
},
|
|
289
298
|
],
|
|
290
299
|
styles: [":host{display:block}:host ::ng-deep mat-form-field{display:block;height:100%}:host ::ng-deep mat-form-field.mat-focused .mat-form-field-label,:host ::ng-deep mat-form-field .mat-form-field-label{color:#adadad}:host ::ng-deep .mat-datepicker-toggle-active{color:#666}:host ::ng-deep .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field-flex{flex-direction:row-reverse}:host ::ng-deep .mat-form-field-infix{border-top:none;width:auto}:host ::ng-deep .mat-form-field-suffix{margin-right:.625rem}:host ::ng-deep .mat-form-field-suffix:hover .mat-button-focus-overlay{opacity:.1}:host ::ng-deep .mat-form-field-underline{display:none}:host ::ng-deep .daysSelectedCaption{cursor:pointer}:host ::ng-deep .daysSelectedCaption.disabled{cursor:zoom-in}:host ::ng-deep .inputForMultipleDays{display:none}.componentContainer{border-radius:2px;color:#888da8;display:flex;position:relative}.componentContainer .placeholderForMultipleSelection{color:#adadad}.componentContainer.showErrors .clearButton.withoutSpacing,.componentContainer.showErrors .dateContainer,.componentContainer.showErrors .timeContainer{border-color:#ff8000}.componentContainer .clearButton{align-items:center;background:#fff;border:1px solid #e6ecf5;color:#7b7b7b;display:flex;flex:0 0 auto;font-size:18px;margin-left:1.25rem;padding:6px 14px}.componentContainer .clearButton.withoutSpacing{border-left:none;margin-left:0}.componentContainer .clearButton:disabled{background:#f9f9f9;border:1px solid #e6ecf5}.componentContainer .dateContainer{background:#fff;border:1px solid #e6ecf5;flex:1 1 auto;padding:6px}.componentContainer .dateContainer.noRightBorder{border-right:none}.componentContainer .dateContainer.disabled{background:#f9f9f9}.componentContainer .timeContainer{align-items:center;background:#fff;border:1px solid #e6ecf5;display:flex;flex:0 0 auto;margin-left:1.25rem;padding:6px .625rem}.componentContainer .timeContainer.disabled{background:#f9f9f9}.componentContainer .timeContainer input{border:none;color:#888da8;padding:0;text-align:center;width:20px}.componentContainer .timeContainer input::-moz-placeholder{color:#adadad}.componentContainer .timeContainer input:-ms-input-placeholder{color:#adadad}.componentContainer .timeContainer input::placeholder{color:#adadad}.componentContainer .timeContainer .divider{margin:0 .3125rem}"]
|
|
291
300
|
},] }
|
|
@@ -294,6 +303,8 @@ DateTimePickerComponent.ctorParameters = () => [
|
|
|
294
303
|
{ type: FormElementComponent, decorators: [{ type: Host }, { type: Optional }] },
|
|
295
304
|
{ type: ControlContainer, decorators: [{ type: Host }, { type: Optional }] },
|
|
296
305
|
{ type: undefined, decorators: [{ type: Inject, args: [DATE_TIME_PICKER_TRANSLATIONS,] }, { type: Optional }] },
|
|
306
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DATE_PICKER_LOCALE,] }, { type: Optional }] },
|
|
307
|
+
{ type: DateAdapter },
|
|
297
308
|
{ type: ChangeDetectorRef }
|
|
298
309
|
];
|
|
299
310
|
DateTimePickerComponent.propDecorators = {
|
|
@@ -308,4 +319,4 @@ DateTimePickerComponent.propDecorators = {
|
|
|
308
319
|
nativeInputRef: [{ type: ViewChild, args: ['nativeInput',] }],
|
|
309
320
|
datePickerRef: [{ type: ViewChild, args: ['picker',] }]
|
|
310
321
|
};
|
|
311
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbmd4LWVuaGFuY3ktZm9ybXMvbmd4LWVuaGFuY3ktZm9ybXMvcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbGVtZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixpQkFBaUIsRUFDakIsU0FBUyxFQUVULElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxRQUFRLEVBRVIsU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQWlCLE1BQU0sd0JBQXdCLENBQUM7QUFFakcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDeEcsT0FBTyxFQUFDLHlCQUF5QixFQUFFLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLFlBQVksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsdUJBQXVCLENBQUMsQ0FBQztBQUM1RixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRXZHLE1BQU0sVUFBVSxxQkFBcUIs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VEQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLGl4RUFBZ0Q7Z0JBRWhELFNBQVMsRUFBRTtvQkFDVixFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztvQkFDL0U7d0JBQ0MsT0FBTyxFQUFFLGdCQUFnQjt3QkFDekIsSUFBSSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLENBQUM7d0JBQ25FLFVBQVUsRUFBRSxxQkFBcUI7cUJBQ2pDO2lCQUNEOzthQUNEOzs7WUF4Qk8sb0JBQW9CLHVCQXNEekIsSUFBSSxZQUFJLFFBQVE7WUEzRFgsZ0JBQWdCLHVCQTREckIsSUFBSSxZQUFJLFFBQVE7NENBQ2hCLE1BQU0sU0FBQyw2QkFBNkIsY0FBRyxRQUFRO1lBMUVqRCxpQkFBaUI7OztzQkE0Q2hCLEtBQUs7c0JBQ0wsS0FBSzs0QkFDTCxLQUFLO3FCQUNMLEtBQUs7MEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzRCQUNMLEtBQUs7b0NBQ0wsS0FBSzs2QkFFTCxTQUFTLFNBQUMsYUFBYTs0QkFDdkIsU0FBUyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0LFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPbkluaXQsXG5cdE9wdGlvbmFsLFxuXHRTaW1wbGVDaGFuZ2VzLFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2ludmFsaWREYXRlS2V5fSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2RhdGVWYWxpZGF0b3InO1xuaW1wb3J0IHtEYXRlRmlsdGVyRm4sIE1hdERhdGVwaWNrZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtNQVRfREFURV9GT1JNQVRTLCBNQVRfTkFUSVZFX0RBVEVfRk9STUFUUywgTWF0RGF0ZUZvcm1hdHN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtLbHBEYXRlRm9ybWF0c30gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtGb3JtRWxlbWVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZm9ybS9mb3JtLWVsZW1lbnQvZm9ybS1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge011bHRpcGxlVmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UvbXVsdGlwbGUtdmFsdWUtYWNjZXNzb3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtyZW1vdmVEdXBsaWNhdGVzRnJvbUFycmF5LCBzdHJpbmdJc1NldEFuZEZpbGxlZH0gZnJvbSAnLi4vLi4vdXRpbC92YWx1ZXMnO1xuaW1wb3J0IHtlbmRPZk1vbnRoLCBmb3JtYXQgYXMgZm9ybWF0RGF0ZSwgc3RhcnRPZk1vbnRofSBmcm9tICdkYXRlLWZucyc7XG5cbmV4cG9ydCBjb25zdCBLTFBfREFURV9GT1JNQVRTID0gbmV3IEluamVjdGlvblRva2VuPEtscERhdGVGb3JtYXRzPigna2xwLmZvcm0uZGF0ZS5mb3JtYXRzJyk7XG5leHBvcnQgY29uc3QgREFURV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55Pigna2xwLmZvcm0uZGF0ZVRpbWUudHJhbnNsYXRpb25zJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXREYXRlRm9ybWF0c0ZhY3RvcnkoY29tcG9uZW50OiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgZGF0ZUZvcm1hdHM/OiBLbHBEYXRlRm9ybWF0cyk6IE1hdERhdGVGb3JtYXRzIHtcblx0cmV0dXJuIGRhdGVGb3JtYXRzPy4oY29tcG9uZW50LmZvcm1hdCkgPz8gTUFUX05BVElWRV9EQVRFX0ZPUk1BVFM7XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLWRhdGUtdGltZS1waWNrZXInLFxuXHR0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsIG11bHRpOiB0cnVlfSxcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxuXHRcdFx0ZGVwczogW0RhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBbbmV3IE9wdGlvbmFsKCksIEtMUF9EQVRFX0ZPUk1BVFNdXSxcblx0XHRcdHVzZUZhY3Rvcnk6IG1hdERhdGVGb3JtYXRzRmFjdG9yeSxcblx0XHR9XG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZTxEYXRlIHwgdHlwZW9mIGludmFsaWREYXRlS2V5PiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcblx0QElucHV0KCkgcHVibGljIG1pbkRhdGU6IERhdGUgPSB1bmRlZmluZWQ7XG5cdEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBEYXRlID0gdW5kZWZpbmVkO1xuXHRASW5wdXQoKSBwdWJsaWMgc2FtZU1vbnRoT25seSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgZm9ybWF0ID0gJ2RkLU1NLXl5eXknO1xuXHRASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblx0QElucHV0KCkgcHVibGljIGNsZWFyYWJsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgc2hvd1RpbWVJbnB1dCA9IHRydWU7XG5cdEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkVGltZUFzTWlkbmlnaHQgPSBmYWxzZTsgLy8gaWYgdGhlIHRpbWUgaXMgbm90IHZhbGlkLCB1c2UgMDA6MDAgYXMgdGhlIHRpbWVcblxuXHRAVmlld0NoaWxkKCduYXRpdmVJbnB1dCcpIG5hdGl2ZUlucHV0UmVmOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCdwaWNrZXInKSBkYXRlUGlja2VyUmVmOiBNYXREYXRlcGlja2VyPERhdGU+O1xuXG5cdG1pbkRhdGVTdGFydE9mRGF5OiBEYXRlID0gdW5kZWZpbmVkO1xuXHRtYXhEYXRlRW5kT2ZEYXk6IERhdGUgPSB1bmRlZmluZWQ7XG5cblx0Ly8gdGhpcyBpcyBwYXNzZWQgYXMgbmdtb2RlbCBhbmQgaXMgdXNlZCB0byBzZXQgdGhlIGluaXRpYWwgZGF0ZS4gQnV0IHdlIGFsc29cblx0Ly8gdXNlIGlucHV0IGFuZCBuYXRpdmVJbnB1dCBjYWxsYmFja3MgdG8gZXh0ZW5kIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIHNvIHdlXG5cdC8vIGNhbiBkaXN0aW5ndWlzaCBiZXR3ZWVuIGVtcHR5IGFuZCBpbnZhbGlkIGRhdGVzLlxuXHR2YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlcjogRGF0ZTtcblx0aG91cnM6IHN0cmluZzsgLy8gc3RyaW5nIGJlY2F1c2UgaXQncyBhIHRleHQgaW5wdXRcblx0bWludXRlczogc3RyaW5nOyAvLyBzdHJpbmcgYmVjYXVzZSBpdCdzIGEgdGV4dCBpbnB1dFxuXHRwcml2YXRlIHNlbGVjdGVkRGF0ZXM6IEFycmF5PERhdGU+ID0gW107XG5cdHByaXZhdGUgZGF0ZVBpY2tpbmdDbG9zaW5nRm46ICgpID0+IHZvaWQ7XG5cdHByaXZhdGUgZGF0ZVRvdWNoZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBob3Vyc1RvdWNoZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBtaW51dGVzVG91Y2hlZCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBIb3N0KCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHBhcmVudDogRm9ybUVsZW1lbnRDb21wb25lbnQsXG5cdFx0QEhvc3QoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcblx0XHRASW5qZWN0KERBVEVfVElNRV9QSUNLRVJfVFJBTlNMQVRJT05TKSBAT3B0aW9uYWwoKSBwcml2YXRlIHRyYW5zbGF0aW9uczogYW55LFxuXHRcdHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuXHQpIHtcblx0XHRzdXBlcihwYXJlbnQsIGNvbnRyb2xDb250YWluZXIpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0c3VwZXIubmdPbkluaXQoKTtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0dGhpcy5wbGFjZWhvbGRlciA9ICcnO1xuXHRcdFx0dGhpcy5zaG93VGltZUlucHV0ID0gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHQvLyB3ZSBhcmUgZ29pbmcgdG8gb3ZlcndyaXRlIHRoZSBkYXRlcGlja2VyIGNsb3NpbmcgZm4gbGF0ZXIsIHNvIHdlIGFyZSBzYXZpbmcgaXQgaGVyZSB0byByZXN0b3JlIGl0IHdoZW4gbmVlZGVkXG5cdFx0XHR0aGlzLmRhdGVQaWNraW5nQ2xvc2luZ0ZuID0gdGhpcy5kYXRlUGlja2VyUmVmLmNsb3NlO1xuXHRcdH1cblx0fVxuXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoY2hhbmdlcy5taW5EYXRlKSB7XG5cdFx0XHR0aGlzLmRldGVybWluZU1pbkFuZE1heERhdGVzKCk7XG5cdFx0fVxuXHRcdGlmIChjaGFuZ2VzLm1heERhdGUpIHtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTtcblx0XHR9XG5cdH1cblxuXHRzZXRNaW5EYXRlKG1pbkRhdGU6IERhdGUpOiB2b2lkIHtcblx0XHRpZiAobWluRGF0ZSkge1xuXHRcdFx0dGhpcy5taW5EYXRlU3RhcnRPZkRheSA9IG5ldyBEYXRlKG1pbkRhdGUpO1xuXHRcdFx0dGhpcy5taW5EYXRlU3RhcnRPZkRheS5zZXRIb3VycygwLCAwLCAwLCAwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5taW5EYXRlU3RhcnRPZkRheSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRzZXRNYXhEYXRlKG1heERhdGU6IERhdGUpOiB2b2lkIHtcblx0XHRpZiAobWF4RGF0ZSkge1xuXHRcdFx0dGhpcy5tYXhEYXRlRW5kT2ZEYXkgPSBuZXcgRGF0ZShtYXhEYXRlKTtcblx0XHRcdHRoaXMubWF4RGF0ZUVuZE9mRGF5LnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubWF4RGF0ZUVuZE9mRGF5ID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdGdldFNlbGVjdGVkTW9udGhzKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHJlbW92ZUR1cGxpY2F0ZXNGcm9tQXJyYXkodGhpcy5zZWxlY3RlZERhdGVzLm1hcCgoZSkgPT4gZm9ybWF0RGF0ZShlLCAnTU1NTScpKSkubGVuZ3RoO1xuXHR9XG5cblx0Ly8gZGF0ZUNoYW5nZWQgaXMgY2FsbGVkIHdoZW4gdGhlIG91dHB1dCBvZiB0aGUgZGF0ZXBpY2tlciBpcyBjaGFuZ2VkIGFuZFxuXHQvLyBwYXJzZWQgY29ycmVjdGx5LiBJZiB0aGUgZGF0ZSBpcyBpbnZhbGlkLCBpdCB3aWxsIGJlIGNhbGxlZCB0aGUgZmlyc3QgdGltZVxuXHQvLyB3aXRoIG51bGwgYnV0IG5ldmVyIGFnYWluIHVudGlsIGEgdmFsaWQgaW5wdXQgaXMgcHJvdmlkZWQuXG5cdGRhdGVDaGFuZ2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcblx0XHRjb25zdCBkYXRlID0gZXZlbnQudmFsdWU7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHRoaXMuZGF0ZVBpY2tlclJlZi5jbG9zZSA9ICgpID0+IHtcblx0XHRcdH07XG5cblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkRGF0ZXMuc29tZSgoZSkgPT4gZS5nZXRUaW1lKCkgPT09IGRhdGUuZ2V0VGltZSgpKSkge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZXMgPSB0aGlzLnNlbGVjdGVkRGF0ZXMuZmlsdGVyKChlKSA9PiBlLmdldFRpbWUoKSAhPT0gZGF0ZS5nZXRUaW1lKCkpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gWy4uLnRoaXMuc2VsZWN0ZWREYXRlcywgZGF0ZV07XG5cdFx0XHR9XG5cdFx0XHQvLyBTVEFSVCBIQUNLXG5cdFx0XHQvLyB0aGUgZGF0ZSBwaWNrZXIgZG9lcyBub3QgcHJvdmlkZSBhbnkgcmVyZW5kZXIgY2FsbHMuIFRoZXJlZm9yZSwgd2UgYXJlIGdvaW5nIHRvIGNoYW5nZSB0aGUgbWluRGF0ZSBpbiBvcmRlciB0byBmb3JjZSB0aGUgcmVuZGVyXG5cdFx0XHQvLyBUaGlzIGlzIG5lZWRlZCB0byBzaG93IGFsbCBzZWxlY3RlZCBkYXlzIGluIG91ciBkYXRlIHBpY2tlclxuXHRcdFx0Ly8gV2UgYWxzbyBzZXQgdGhlIGlubmVyVmFsdWUgdG8gbnVsbCAod2l0aCB0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyID0gbnVsbDspLCBvdGhlcndpc2UgeW91IGNhbiBub3Rcblx0XHRcdC8vIGRlc2VsZWN0IHlvdXIgbGFzdCBwaWNrZWQgZGF0ZVxuXHRcdFx0dGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IG51bGw7XG5cdFx0XHRjb25zdCBvbGRNaW5EYXRlID0gdGhpcy5taW5EYXRlU3RhcnRPZkRheTtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkgPSBuZXcgRGF0ZSgwKTtcblx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkgPSBvbGRNaW5EYXRlO1xuXHRcdFx0Ly8gRU5EIEhBQ0tcblxuXHRcdFx0aWYgKHRoaXMuc2FtZU1vbnRoT25seSkge1xuXHRcdFx0XHRpZiAodGhpcy5zZWxlY3RlZERhdGVzLmxlbmd0aCA+PSAyKSB7XG5cdFx0XHRcdFx0aWYgKGRhdGUgPCBzdGFydE9mTW9udGgodGhpcy5zZWxlY3RlZERhdGVzWzBdKSB8fCBkYXRlID4gZW5kT2ZNb250aCh0aGlzLnNlbGVjdGVkRGF0ZXNbMF0pKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZXMgPSBbZGF0ZV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHRoaXMuc2VsZWN0ZWREYXRlcyk7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0dGhpcy5kYXRlUGlja2VyUmVmLmNsb3NlID0gdGhpcy5kYXRlUGlja2luZ0Nsb3NpbmdGbjtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm5vdGlmeU5ld0RhdGUoKTtcblx0XHR9XG5cdH1cblxuXHRkZXRlcm1pbmVNaW5BbmRNYXhEYXRlcygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5zYW1lTW9udGhPbmx5KSB7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZERhdGVzLmxlbmd0aCA+PSAyKSB7XG5cdFx0XHRcdHRoaXMuc2V0TWluRGF0ZShzdGFydE9mTW9udGgodGhpcy5zZWxlY3RlZERhdGVzWzBdKSk7XG5cdFx0XHRcdHRoaXMuc2V0TWF4RGF0ZShlbmRPZk1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlc1swXSkpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zZXRNaW5EYXRlKHRoaXMubWluRGF0ZSk7XG5cdFx0XHRcdHRoaXMuc2V0TWF4RGF0ZSh0aGlzLm1heERhdGUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnNldE1pbkRhdGUodGhpcy5taW5EYXRlKTtcblx0XHRcdHRoaXMuc2V0TWluRGF0ZSh0aGlzLm1heERhdGUpO1xuXHRcdH1cblx0fVxuXG5cdG5vdGlmeU5ld0RhdGUoKTogdm9pZCB7XG5cdFx0Y29uc3QgbmF0aXZlSW5wdXRWYWx1ZSA9IHRoaXMubmF0aXZlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcblx0XHRjb25zdCBwYXJzZWRIb3VycyA9IE51bWJlcih0aGlzLmhvdXJzKTtcblx0XHRjb25zdCBwYXJzZWRNaW51dGVzID0gTnVtYmVyKHRoaXMubWludXRlcyk7XG5cblx0XHQvLyBpZiB3ZSBkb250IGhhdmUgdGhlIHRpbWUgZWxlbWVudFxuXHRcdGlmICghdGhpcy5zaG93VGltZUlucHV0KSB7XG5cdFx0XHRpZiAoIXN0cmluZ0lzU2V0QW5kRmlsbGVkKG5hdGl2ZUlucHV0VmFsdWUpKSB7XG5cdFx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShudWxsKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgaW5zdGFuY2VvZiBEYXRlKSB7XG5cdFx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeSh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyB3aGVuIGFsbCBpbnB1dHMgYXJlIGVtcHR5XG5cdFx0aWYgKCFzdHJpbmdJc1NldEFuZEZpbGxlZChuYXRpdmVJbnB1dFZhbHVlKSAmJiAhc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5ob3VycykgJiYgIXN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMubWludXRlcykpIHtcblx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShudWxsKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Ly8gaWYgd2UgaGF2ZSBkYXRlIGFuZCB0aW1lXG5cdFx0aWYgKFxuXHRcdFx0c3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5ob3VycykgJiZcblx0XHRcdE51bWJlci5pc0Zpbml0ZShwYXJzZWRIb3VycykgJiZcblx0XHRcdHBhcnNlZEhvdXJzID49IDAgJiZcblx0XHRcdHBhcnNlZEhvdXJzIDw9IDIzICYmXG5cdFx0XHRzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLm1pbnV0ZXMpICYmXG5cdFx0XHROdW1iZXIuaXNGaW5pdGUocGFyc2VkTWludXRlcykgJiZcblx0XHRcdHBhcnNlZE1pbnV0ZXMgPj0gMCAmJlxuXHRcdFx0cGFyc2VkTWludXRlcyA8PSA1OSAmJlxuXHRcdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciBpbnN0YW5jZW9mIERhdGVcblx0XHQpIHtcblx0XHRcdGNvbnN0IG5ld0RhdGVXaXRoSG91cnMgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyLnNldEhvdXJzKHBhcnNlZEhvdXJzKSk7XG5cdFx0XHRjb25zdCBuZXdEYXRlV2l0aE1pbnV0ZXMgPSBuZXcgRGF0ZShuZXdEYXRlV2l0aEhvdXJzLnNldE1pbnV0ZXMocGFyc2VkTWludXRlcykpO1xuXHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KG5ld0RhdGVXaXRoTWludXRlcyk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmICh0aGlzLmludmFsaWRUaW1lQXNNaWRuaWdodCkge1xuXHRcdFx0aWYgKHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgaW5zdGFuY2VvZiBEYXRlKSB7XG5cdFx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeSh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBhbGwgb3RoZXIgY2FzZXMsIHdlIGFyZSBub3QgaW4gYSB2YWxpZCBzdGF0ZVxuXHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShpbnZhbGlkRGF0ZUtleSk7XG5cdH1cblxuXHR3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgQXJyYXk8RGF0ZT4gfCB0eXBlb2YgaW52YWxpZERhdGVLZXkpOiB2b2lkIHtcblx0XHRzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblx0XHRpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IHZhbHVlO1xuXHRcdFx0dGhpcy5kZXRlcm1pbmVNaW5BbmRNYXhEYXRlcygpO1xuXHRcdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IG51bGw7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSB2YWx1ZSA9PT0gaW52YWxpZERhdGVLZXkgPyBudWxsIDogdmFsdWU7XG5cdFx0XHRpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG5cdFx0XHRcdHRoaXMuaG91cnMgPSBTdHJpbmcodmFsdWUuZ2V0SG91cnMoKSk7XG5cdFx0XHRcdHRoaXMubWludXRlcyA9IFN0cmluZyh2YWx1ZS5nZXRNaW51dGVzKCkpO1xuXHRcdFx0XHR0aGlzLmZvcm1hdFRpbWUoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaG91cnMgPSAnJztcblx0XHRcdFx0dGhpcy5taW51dGVzID0gJyc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gbmF0aXZlVmFsdWVDaGFuZ2VkIGlzIGNhbGxlZCB3aGVuIHRoZSBpbnRlcm5hbCB0ZXh0IHZhbHVlIGNoYW5nZXMsIGJ1dCBub3Rcblx0Ly8gd2hlbiB0aGUgZGF0ZSBpcyBjaGFuZ2VkIHZpYSB0aGUgZGF0ZSBwaWNrZXIuIFdlIG5lZWQgdGhpcyBzbyB0aGF0IHdlIGNhblxuXHQvLyBkZXRlcm1pbmUgaWYgdGhlIGRhdGVwaWNrZXIgaXMgZW1wdHkgb3IgaW52YWxpZC5cblx0bmF0aXZlVmFsdWVDaGFuZ2VkKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmRhdGVQaWNrZXJSZWYub3BlbmVkKSB7XG5cdFx0XHQvLyBpZiB0aGUgdXNlciBpcyB0eXBpbmcgaW5zdGVhZCBvZiB1c2luZyB0aGUgcGlja2VyLCBjbG9zZSBpdC5cblx0XHRcdHRoaXMuZGF0ZVBpY2tlclJlZi5jbG9zZSgpO1xuXHRcdH1cblx0XHR0aGlzLm5vdGlmeU5ld0RhdGUoKTtcblx0fVxuXG5cdHJlc2V0VG9OdWxsKCk6IHZvaWQge1xuXHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShudWxsKTtcblx0XHR0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyID0gbnVsbDtcblx0XHR0aGlzLm5hdGl2ZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuXHRcdHRoaXMuaG91cnMgPSAnJztcblx0XHR0aGlzLm1pbnV0ZXMgPSAnJztcblx0XHR0aGlzLnNlbGVjdGVkRGF0ZXMgPSBbXTtcblx0fVxuXG5cdGlzU2VsZWN0ZWQgPSAoZDogRGF0ZSkgPT4ge1xuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5zZWxlY3RlZERhdGVzLnNvbWUoKGUpID0+IGUuZ2V0VGltZSgpID09PSBkLmdldFRpbWUoKSkgPyAnc2VsZWN0ZWQnIDogJyc7XG5cdFx0fVxuXHRcdHJldHVybiAnJztcblx0fTtcblx0ZmlsdGVyRGF0ZXM6IERhdGVGaWx0ZXJGbjxhbnk+ID0gKGUpID0+IHtcblx0XHRpZiAodGhpcy5kaXNhYmxlZCkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fTtcblxuXHRmb3JtYXRUaW1lKCk6IHZvaWQge1xuXHRcdGlmIChOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKHRoaXMuaG91cnMpKSAmJiB0aGlzLmhvdXJzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dGhpcy5ob3VycyA9ICcwJyArIHRoaXMuaG91cnM7XG5cdFx0fVxuXHRcdGlmIChOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKHRoaXMubWludXRlcykpICYmIHRoaXMubWludXRlcy5sZW5ndGggPT09IDEpIHtcblx0XHRcdHRoaXMubWludXRlcyA9ICcwJyArIHRoaXMubWludXRlcztcblx0XHR9XG5cdH1cblxuXHR0b3VjaERhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy5kYXRlVG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5kZXRlcm1pbmVBbGxUb3VjaGVkKCk7XG5cdH1cblxuXHR0b3VjaEhvdXJzKCk6IHZvaWQge1xuXHRcdHRoaXMuaG91cnNUb3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLmRldGVybWluZUFsbFRvdWNoZWQoKTtcblx0fVxuXG5cdHRvdWNoTWludXRlcygpOiB2b2lkIHtcblx0XHR0aGlzLm1pbnV0ZXNUb3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLmRldGVybWluZUFsbFRvdWNoZWQoKTtcblx0fVxuXG5cdGRldGVybWluZUFsbFRvdWNoZWQoKTogdm9pZCB7XG5cdFx0aWYgKCh0aGlzLmRhdGVUb3VjaGVkICYmIHRoaXMuaG91cnNUb3VjaGVkICYmIHRoaXMubWludXRlc1RvdWNoZWQpIHx8ICh0aGlzLmRhdGVUb3VjaGVkICYmICF0aGlzLnNob3dUaW1lSW5wdXQpKSB7XG5cdFx0XHR0aGlzLnRvdWNoKCk7XG5cdFx0fVxuXHR9XG5cblxuXHRnZXREZWZhdWx0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpOiAoeDogYW55KSA9PiBzdHJpbmcge1xuXHRcdHN3aXRjaCAoa2V5KSB7XG5cdFx0XHRjYXNlICdwbGFjZWhvbGRlcic6XG5cdFx0XHRcdHJldHVybiAoKSA9PiB0aGlzLnBsYWNlaG9sZGVyID8/ICdTZWxlY3QgZGF0ZSc7XG5cdFx0XHRjYXNlICdzZWxlY3REYXlzJzpcblx0XHRcdFx0cmV0dXJuICgpID0+ICdTZWxlY3QgZGF5KHMpJztcblx0XHRcdGNhc2UgJ3NlbGVjdGVkRGF0ZSc6XG5cdFx0XHRcdHJldHVybiAoZDogRGF0ZSkgPT4gZC50b0xvY2FsZURhdGVTdHJpbmcoKTtcblx0XHRcdGNhc2UgJ2RheXNTZWxlY3RlZCc6XG5cdFx0XHRcdHJldHVybiAoYW1vdW50KSA9PiBgJHthbW91bnR9IGRheXMgc2VsZWN0ZWRgO1xuXHRcdFx0Y2FzZSAnc2VsZWN0ZWRJbk1vbnRoJzpcblx0XHRcdFx0cmV0dXJuIChkOiBEYXRlKSA9PiBgIGluICR7Zm9ybWF0RGF0ZShkLCAnTU1NTScpfWA7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtczogYW55ID0gbnVsbCk6IHN0cmluZyB7XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiB0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHRyZXR1cm4gJyc7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9ucz8uW2tleV0/LihwYXJhbXMpID8/IHRoaXMuZ2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleSkocGFyYW1zKTtcblx0fVxufVxuIl19
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbmd4LWVuaGFuY3ktZm9ybXMvbmd4LWVuaGFuY3ktZm9ybXMvcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbGVtZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixpQkFBaUIsRUFDakIsU0FBUyxFQUVULElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxRQUFRLEVBRVIsU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBRTlHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxVQUFVLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RixPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFNLGdDQUFnQyxDQUFDLENBQUM7QUFDdkcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQU0sMEJBQTBCLENBQUMsQ0FBQztBQUV0RixNQUFNLFVBQVUscUJBQXFCLENBQUMsU0FBa0MsRUFBRSxXQUE0Qjs7SUFDckcsYUFBTyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUcsU0FBUyxDQUFDLE1BQU0sb0NBQUssdUJBQXVCLENBQUM7QUFDbkUsQ0FBQztBQWVELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx5QkFBdUQ7SUE0Qm5HLFlBQytCLE1BQTRCLEVBQzVCLGdCQUFrQyxFQUNMLFlBQWlCLEVBQzVCLGdCQUFxQixFQUM3RCxXQUE4QixFQUM5QixHQUFzQjtRQUU5QixLQUFLLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFQRixXQUFNLEdBQU4sTUFBTSxDQUFzQjtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ0wsaUJBQVksR0FBWixZQUFZLENBQUs7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFLO1FBQzdELGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWpDZixZQUFPLEdBQVMsU0FBUyxDQUFDO1FBQzFCLFlBQU8sR0FBUyxTQUFTLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsV0FBTSxHQUFHLFlBQVksQ0FBQztRQUV0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLDBCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLGtEQUFrRDtRQUtqRyxzQkFBaUIsR0FBUyxTQUFTLENBQUM7UUFDcEMsb0JBQWUsR0FBUyxTQUFTLENBQUM7UUFRMUIsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBaU4vQixlQUFVLEdBQUcsQ0FBQyxDQUFPLEVBQUUsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDckY7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNYLENBQUMsQ0FBQztRQUNGLGdCQUFXLEdBQXNCLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsQixPQUFPLEtBQUssQ0FBQzthQUNiO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDLENBQUM7UUFqTkQsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNqQyxXQUFXLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUMxQztJQUNGLENBQUM7SUFFRCxRQUFRO1FBQ1AsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNGLENBQUM7SUFFRCxlQUFlO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLGdIQUFnSDtZQUNoSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7U0FDckQ7SUFDRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNwQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNwQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUMvQjtJQUNGLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBYTtRQUN2QixJQUFJLE9BQU8sRUFBRTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1NBQ25DO0lBQ0YsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFhO1FBQ3ZCLElBQUksT0FBTyxFQUFFO1lBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUMvQzthQUFNO1lBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7U0FDakM7SUFDRixDQUFDO0lBRUQsaUJBQWlCO1FBQ2hCLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvRixDQUFDO0lBRUQseUVBQXlFO0lBQ3pFLDZFQUE2RTtJQUM3RSw2REFBNkQ7SUFDN0QsV0FBVyxDQUFDLEtBQVU7UUFDckIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLENBQUMsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtnQkFDbkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ3RGO2lCQUFNO2dCQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDbkQ7WUFDRCxhQUFhO1lBQ2Isa0lBQWtJO1lBQ2xJLDhEQUE4RDtZQUM5RCwyR0FBMkc7WUFDM0csaUNBQWlDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQztZQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztZQUNwQyxXQUFXO1lBRVgsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtvQkFDbkMsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDM0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUM1QjtpQkFDRDtnQkFDRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQzthQUMvQjtZQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDSDthQUFNO1lBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3JCO0lBQ0YsQ0FBQztJQUVELHVCQUF1QjtRQUN0QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuRDtpQkFBTTtnQkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUI7U0FDRDthQUFNO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUI7SUFDRixDQUFDO0lBRUQsYUFBYTtRQUNaLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUzQyxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEMsT0FBTzthQUNQO1lBQ0QsSUFBSSxJQUFJLENBQUMsMEJBQTBCLFlBQVksSUFBSSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7Z0JBQzdELE9BQU87YUFDUDtTQUNEO1FBQ0QsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxPQUFPO1NBQ1A7UUFDRCwyQkFBMkI7UUFDM0IsSUFDQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQzVCLFdBQVcsSUFBSSxDQUFDO1lBQ2hCLFdBQVcsSUFBSSxFQUFFO1lBQ2pCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDOUIsYUFBYSxJQUFJLENBQUM7WUFDbEIsYUFBYSxJQUFJLEVBQUU7WUFDbkIsSUFBSSxDQUFDLDBCQUEwQixZQUFZLElBQUksRUFDOUM7WUFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RixNQUFNLGtCQUFrQixHQUFHLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2hELE9BQU87U0FDUDtRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLDBCQUEwQixZQUFZLElBQUksRUFBRTtnQkFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM3RCxPQUFPO2FBQ1A7U0FDRDtRQUNELCtDQUErQztRQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFpRDtRQUMzRCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1NBQ3ZDO2FBQU07WUFDTixJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUUsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO2dCQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNsQjtpQkFBTTtnQkFDTixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7YUFDbEI7U0FDRDtJQUNGLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsNEVBQTRFO0lBQzVFLG1EQUFtRDtJQUNuRCxrQkFBa0I7UUFDakIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUM5QiwrREFBK0Q7WUFDL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQWVELFVBQVU7UUFDVCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNsQztJQUNGLENBQUM7SUFFRCxTQUFTO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVU7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUI7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNiO0lBQ0YsQ0FBQztJQUdELHFCQUFxQixDQUFDLEdBQVc7UUFDaEMsUUFBUSxHQUFHLEVBQUU7WUFDWixLQUFLLGFBQWE7Z0JBQ2pCLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQzVCLEtBQUssWUFBWTtnQkFDaEIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDOUIsS0FBSyxjQUFjO2dCQUNsQixPQUFPLENBQUMsQ0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QyxLQUFLLGNBQWM7Z0JBQ2xCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQztZQUM5QyxLQUFLLGlCQUFpQjtnQkFDckIsT0FBTyxDQUFDLENBQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDcEQ7SUFDRixDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVcsRUFBRSxTQUFjLElBQUk7O1FBQzdDLElBQUksR0FBRyxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1NBQ1Y7UUFDRCxJQUFJLEdBQUcsS0FBSyxhQUFhLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN4QjtRQUNELHlCQUFPLElBQUksQ0FBQyxZQUFZLDBDQUFHLEdBQUcsb0RBQUksTUFBTSxvQ0FBSyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7O1lBM1RELFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxpeEVBQWdEO2dCQUVoRCxTQUFTLEVBQUU7b0JBQ1YsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7b0JBQy9FO3dCQUNDLE9BQU8sRUFBRSxnQkFBZ0I7d0JBQ3pCLElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUNuRSxVQUFVLEVBQUUscUJBQXFCO3FCQUNqQztpQkFDRDs7YUFDRDs7O1lBekJPLG9CQUFvQix1QkF1RHpCLElBQUksWUFBSSxRQUFRO1lBNURYLGdCQUFnQix1QkE2RHJCLElBQUksWUFBSSxRQUFROzRDQUNoQixNQUFNLFNBQUMsNkJBQTZCLGNBQUcsUUFBUTs0Q0FDL0MsTUFBTSxTQUFDLGtCQUFrQixjQUFHLFFBQVE7WUE1RC9CLFdBQVc7WUFoQmxCLGlCQUFpQjs7O3NCQTZDaEIsS0FBSztzQkFDTCxLQUFLOzRCQUNMLEtBQUs7cUJBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSztvQ0FDTCxLQUFLOzZCQUVMLFNBQVMsU0FBQyxhQUFhOzRCQUN2QixTQUFTLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3QsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdE9uSW5pdCxcblx0T3B0aW9uYWwsXG5cdFNpbXBsZUNoYW5nZXMsXG5cdFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbENvbnRhaW5lciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7aW52YWxpZERhdGVLZXl9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvZGF0ZVZhbGlkYXRvcic7XG5pbXBvcnQge0RhdGVGaWx0ZXJGbiwgTWF0RGF0ZXBpY2tlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfTkFUSVZFX0RBVEVfRk9STUFUUywgTWF0RGF0ZUZvcm1hdHN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtLbHBEYXRlRm9ybWF0c30gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtGb3JtRWxlbWVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZm9ybS9mb3JtLWVsZW1lbnQvZm9ybS1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge011bHRpcGxlVmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UvbXVsdGlwbGUtdmFsdWUtYWNjZXNzb3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtpc1ZhbHVlU2V0LCByZW1vdmVEdXBsaWNhdGVzRnJvbUFycmF5LCBzdHJpbmdJc1NldEFuZEZpbGxlZH0gZnJvbSAnLi4vLi4vdXRpbC92YWx1ZXMnO1xuaW1wb3J0IHtlbmRPZk1vbnRoLCBmb3JtYXQgYXMgZm9ybWF0RGF0ZSwgc3RhcnRPZk1vbnRofSBmcm9tICdkYXRlLWZucyc7XG5cbmV4cG9ydCBjb25zdCBLTFBfREFURV9GT1JNQVRTID0gbmV3IEluamVjdGlvblRva2VuPEtscERhdGVGb3JtYXRzPigna2xwLmZvcm0uZGF0ZS5mb3JtYXRzJyk7XG5leHBvcnQgY29uc3QgREFURV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55Pigna2xwLmZvcm0uZGF0ZVRpbWUudHJhbnNsYXRpb25zJyk7XG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfTE9DQUxFID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ2tscC5mb3JtLmRhdGVUaW1lLmxvY2FsZScpO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0RGF0ZUZvcm1hdHNGYWN0b3J5KGNvbXBvbmVudDogRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsIGRhdGVGb3JtYXRzPzogS2xwRGF0ZUZvcm1hdHMpOiBNYXREYXRlRm9ybWF0cyB7XG5cdHJldHVybiBkYXRlRm9ybWF0cz8uKGNvbXBvbmVudC5mb3JtYXQpID8/IE1BVF9OQVRJVkVfREFURV9GT1JNQVRTO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdrbHAtZm9ybS1kYXRlLXRpbWUtcGlja2VyJyxcblx0dGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG5cdHByb3ZpZGVyczogW1xuXHRcdHtwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IERhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBtdWx0aTogdHJ1ZX0sXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcblx0XHRcdGRlcHM6IFtEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgW25ldyBPcHRpb25hbCgpLCBLTFBfREFURV9GT1JNQVRTXV0sXG5cdFx0XHR1c2VGYWN0b3J5OiBtYXREYXRlRm9ybWF0c0ZhY3RvcnksXG5cdFx0fSxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBNdWx0aXBsZVZhbHVlQWNjZXNzb3JCYXNlPERhdGUgfCB0eXBlb2YgaW52YWxpZERhdGVLZXk+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXHRASW5wdXQoKSBwdWJsaWMgbWluRGF0ZTogRGF0ZSA9IHVuZGVmaW5lZDtcblx0QElucHV0KCkgcHVibGljIG1heERhdGU6IERhdGUgPSB1bmRlZmluZWQ7XG5cdEBJbnB1dCgpIHB1YmxpYyBzYW1lTW9udGhPbmx5ID0gZmFsc2U7XG5cdEBJbnB1dCgpIHB1YmxpYyBmb3JtYXQgPSAnZGQtTU0teXl5eSc7XG5cdEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXHRASW5wdXQoKSBwdWJsaWMgY2xlYXJhYmxlID0gZmFsc2U7XG5cdEBJbnB1dCgpIHB1YmxpYyBzaG93VGltZUlucHV0ID0gdHJ1ZTtcblx0QElucHV0KCkgcHVibGljIGludmFsaWRUaW1lQXNNaWRuaWdodCA9IGZhbHNlOyAvLyBpZiB0aGUgdGltZSBpcyBub3QgdmFsaWQsIHVzZSAwMDowMCBhcyB0aGUgdGltZVxuXG5cdEBWaWV3Q2hpbGQoJ25hdGl2ZUlucHV0JykgbmF0aXZlSW5wdXRSZWY6IEVsZW1lbnRSZWY7XG5cdEBWaWV3Q2hpbGQoJ3BpY2tlcicpIGRhdGVQaWNrZXJSZWY6IE1hdERhdGVwaWNrZXI8RGF0ZT47XG5cblx0bWluRGF0ZVN0YXJ0T2ZEYXk6IERhdGUgPSB1bmRlZmluZWQ7XG5cdG1heERhdGVFbmRPZkRheTogRGF0ZSA9IHVuZGVmaW5lZDtcblxuXHQvLyB0aGlzIGlzIHBhc3NlZCBhcyBuZ21vZGVsIGFuZCBpcyB1c2VkIHRvIHNldCB0aGUgaW5pdGlhbCBkYXRlLiBCdXQgd2UgYWxzb1xuXHQvLyB1c2UgaW5wdXQgYW5kIG5hdGl2ZUlucHV0IGNhbGxiYWNrcyB0byBleHRlbmQgdGhlIHZhbGlkYXRpb24gbG9naWMgc28gd2Vcblx0Ly8gY2FuIGRpc3Rpbmd1aXNoIGJldHdlZW4gZW1wdHkgYW5kIGludmFsaWQgZGF0ZXMuXG5cdHZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyOiBEYXRlO1xuXHRob3Vyczogc3RyaW5nOyAvLyBzdHJpbmcgYmVjYXVzZSBpdCdzIGEgdGV4dCBpbnB1dFxuXHRtaW51dGVzOiBzdHJpbmc7IC8vIHN0cmluZyBiZWNhdXNlIGl0J3MgYSB0ZXh0IGlucHV0XG5cdHByaXZhdGUgc2VsZWN0ZWREYXRlczogQXJyYXk8RGF0ZT4gPSBbXTtcblx0cHJpdmF0ZSBkYXRlUGlja2luZ0Nsb3NpbmdGbjogKCkgPT4gdm9pZDtcblx0cHJpdmF0ZSBkYXRlVG91Y2hlZCA9IGZhbHNlO1xuXHRwcml2YXRlIGhvdXJzVG91Y2hlZCA9IGZhbHNlO1xuXHRwcml2YXRlIG1pbnV0ZXNUb3VjaGVkID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QEhvc3QoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgcGFyZW50OiBGb3JtRWxlbWVudENvbXBvbmVudCxcblx0XHRASG9zdCgpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuXHRcdEBJbmplY3QoREFURV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMpIEBPcHRpb25hbCgpIHByaXZhdGUgdHJhbnNsYXRpb25zOiBhbnksXG5cdFx0QEluamVjdChEQVRFX1BJQ0tFUl9MT0NBTEUpIEBPcHRpb25hbCgpIHByaXZhdGUgZGF0ZVBpY2tlckxvY2FsZTogYW55LFxuXHRcdHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuXHRcdHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuXHQpIHtcblx0XHRzdXBlcihwYXJlbnQsIGNvbnRyb2xDb250YWluZXIpO1xuXHRcdGlmIChpc1ZhbHVlU2V0KGRhdGVQaWNrZXJMb2NhbGUpKSB7XG5cdFx0XHRkYXRlQWRhcHRlci5zZXRMb2NhbGUoZGF0ZVBpY2tlckxvY2FsZSgpKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5uZ09uSW5pdCgpO1xuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHR0aGlzLnBsYWNlaG9sZGVyID0gJyc7XG5cdFx0XHR0aGlzLnNob3dUaW1lSW5wdXQgPSBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdC8vIHdlIGFyZSBnb2luZyB0byBvdmVyd3JpdGUgdGhlIGRhdGVwaWNrZXIgY2xvc2luZyBmbiBsYXRlciwgc28gd2UgYXJlIHNhdmluZyBpdCBoZXJlIHRvIHJlc3RvcmUgaXQgd2hlbiBuZWVkZWRcblx0XHRcdHRoaXMuZGF0ZVBpY2tpbmdDbG9zaW5nRm4gPSB0aGlzLmRhdGVQaWNrZXJSZWYuY2xvc2U7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChjaGFuZ2VzLm1pbkRhdGUpIHtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTtcblx0XHR9XG5cdFx0aWYgKGNoYW5nZXMubWF4RGF0ZSkge1xuXHRcdFx0dGhpcy5kZXRlcm1pbmVNaW5BbmRNYXhEYXRlcygpO1xuXHRcdH1cblx0fVxuXG5cdHNldE1pbkRhdGUobWluRGF0ZTogRGF0ZSk6IHZvaWQge1xuXHRcdGlmIChtaW5EYXRlKSB7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5ID0gbmV3IERhdGUobWluRGF0ZSk7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5ID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdHNldE1heERhdGUobWF4RGF0ZTogRGF0ZSk6IHZvaWQge1xuXHRcdGlmIChtYXhEYXRlKSB7XG5cdFx0XHR0aGlzLm1heERhdGVFbmRPZkRheSA9IG5ldyBEYXRlKG1heERhdGUpO1xuXHRcdFx0dGhpcy5tYXhEYXRlRW5kT2ZEYXkuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5tYXhEYXRlRW5kT2ZEYXkgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0Z2V0U2VsZWN0ZWRNb250aHMoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gcmVtb3ZlRHVwbGljYXRlc0Zyb21BcnJheSh0aGlzLnNlbGVjdGVkRGF0ZXMubWFwKChlKSA9PiBmb3JtYXREYXRlKGUsICdNTU1NJykpKS5sZW5ndGg7XG5cdH1cblxuXHQvLyBkYXRlQ2hhbmdlZCBpcyBjYWxsZWQgd2hlbiB0aGUgb3V0cHV0IG9mIHRoZSBkYXRlcGlja2VyIGlzIGNoYW5nZWQgYW5kXG5cdC8vIHBhcnNlZCBjb3JyZWN0bHkuIElmIHRoZSBkYXRlIGlzIGludmFsaWQsIGl0IHdpbGwgYmUgY2FsbGVkIHRoZSBmaXJzdCB0aW1lXG5cdC8vIHdpdGggbnVsbCBidXQgbmV2ZXIgYWdhaW4gdW50aWwgYSB2YWxpZCBpbnB1dCBpcyBwcm92aWRlZC5cblx0ZGF0ZUNoYW5nZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuXHRcdGNvbnN0IGRhdGUgPSBldmVudC52YWx1ZTtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0dGhpcy5kYXRlUGlja2VyUmVmLmNsb3NlID0gKCkgPT4ge1xuXHRcdFx0fTtcblxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlcy5zb21lKChlKSA9PiBlLmdldFRpbWUoKSA9PT0gZGF0ZS5nZXRUaW1lKCkpKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IHRoaXMuc2VsZWN0ZWREYXRlcy5maWx0ZXIoKGUpID0+IGUuZ2V0VGltZSgpICE9PSBkYXRlLmdldFRpbWUoKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZXMgPSBbLi4udGhpcy5zZWxlY3RlZERhdGVzLCBkYXRlXTtcblx0XHRcdH1cblx0XHRcdC8vIFNUQVJUIEhBQ0tcblx0XHRcdC8vIHRoZSBkYXRlIHBpY2tlciBkb2VzIG5vdCBwcm92aWRlIGFueSByZXJlbmRlciBjYWxscy4gVGhlcmVmb3JlLCB3ZSBhcmUgZ29pbmcgdG8gY2hhbmdlIHRoZSBtaW5EYXRlIGluIG9yZGVyIHRvIGZvcmNlIHRoZSByZW5kZXJcblx0XHRcdC8vIFRoaXMgaXMgbmVlZGVkIHRvIHNob3cgYWxsIHNlbGVjdGVkIGRheXMgaW4gb3VyIGRhdGUgcGlja2VyXG5cdFx0XHQvLyBXZSBhbHNvIHNldCB0aGUgaW5uZXJWYWx1ZSB0byBudWxsICh3aXRoIHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSBudWxsOyksIG90aGVyd2lzZSB5b3UgY2FuIG5vdFxuXHRcdFx0Ly8gZGVzZWxlY3QgeW91ciBsYXN0IHBpY2tlZCBkYXRlXG5cdFx0XHR0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyID0gbnVsbDtcblx0XHRcdGNvbnN0IG9sZE1pbkRhdGUgPSB0aGlzLm1pbkRhdGVTdGFydE9mRGF5O1xuXHRcdFx0dGhpcy5taW5EYXRlU3RhcnRPZkRheSA9IG5ldyBEYXRlKDApO1xuXHRcdFx0dGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdFx0dGhpcy5taW5EYXRlU3RhcnRPZkRheSA9IG9sZE1pbkRhdGU7XG5cdFx0XHQvLyBFTkQgSEFDS1xuXG5cdFx0XHRpZiAodGhpcy5zYW1lTW9udGhPbmx5KSB7XG5cdFx0XHRcdGlmICh0aGlzLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID49IDIpIHtcblx0XHRcdFx0XHRpZiAoZGF0ZSA8IHN0YXJ0T2ZNb250aCh0aGlzLnNlbGVjdGVkRGF0ZXNbMF0pIHx8IGRhdGUgPiBlbmRPZk1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlc1swXSkpIHtcblx0XHRcdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IFtkYXRlXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5kZXRlcm1pbmVNaW5BbmRNYXhEYXRlcygpO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkodGhpcy5zZWxlY3RlZERhdGVzKTtcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmRhdGVQaWNrZXJSZWYuY2xvc2UgPSB0aGlzLmRhdGVQaWNraW5nQ2xvc2luZ0ZuO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubm90aWZ5TmV3RGF0ZSgpO1xuXHRcdH1cblx0fVxuXG5cdGRldGVybWluZU1pbkFuZE1heERhdGVzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnNhbWVNb250aE9ubHkpIHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID49IDIpIHtcblx0XHRcdFx0dGhpcy5zZXRNaW5EYXRlKHN0YXJ0T2ZNb250aCh0aGlzLnNlbGVjdGVkRGF0ZXNbMF0pKTtcblx0XHRcdFx0dGhpcy5zZXRNYXhEYXRlKGVuZE9mTW9udGgodGhpcy5zZWxlY3RlZERhdGVzWzBdKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnNldE1pbkRhdGUodGhpcy5taW5EYXRlKTtcblx0XHRcdFx0dGhpcy5zZXRNYXhEYXRlKHRoaXMubWF4RGF0ZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuc2V0TWluRGF0ZSh0aGlzLm1pbkRhdGUpO1xuXHRcdFx0dGhpcy5zZXRNaW5EYXRlKHRoaXMubWF4RGF0ZSk7XG5cdFx0fVxuXHR9XG5cblx0bm90aWZ5TmV3RGF0ZSgpOiB2b2lkIHtcblx0XHRjb25zdCBuYXRpdmVJbnB1dFZhbHVlID0gdGhpcy5uYXRpdmVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuXHRcdGNvbnN0IHBhcnNlZEhvdXJzID0gTnVtYmVyKHRoaXMuaG91cnMpO1xuXHRcdGNvbnN0IHBhcnNlZE1pbnV0ZXMgPSBOdW1iZXIodGhpcy5taW51dGVzKTtcblxuXHRcdC8vIGlmIHdlIGRvbnQgaGF2ZSB0aGUgdGltZSBlbGVtZW50XG5cdFx0aWYgKCF0aGlzLnNob3dUaW1lSW5wdXQpIHtcblx0XHRcdGlmICghc3RyaW5nSXNTZXRBbmRGaWxsZWQobmF0aXZlSW5wdXRWYWx1ZSkpIHtcblx0XHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KG51bGwpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIHdoZW4gYWxsIGlucHV0cyBhcmUgZW1wdHlcblx0XHRpZiAoIXN0cmluZ0lzU2V0QW5kRmlsbGVkKG5hdGl2ZUlucHV0VmFsdWUpICYmICFzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLmhvdXJzKSAmJiAhc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5taW51dGVzKSkge1xuXHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KG51bGwpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHQvLyBpZiB3ZSBoYXZlIGRhdGUgYW5kIHRpbWVcblx0XHRpZiAoXG5cdFx0XHRzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLmhvdXJzKSAmJlxuXHRcdFx0TnVtYmVyLmlzRmluaXRlKHBhcnNlZEhvdXJzKSAmJlxuXHRcdFx0cGFyc2VkSG91cnMgPj0gMCAmJlxuXHRcdFx0cGFyc2VkSG91cnMgPD0gMjMgJiZcblx0XHRcdHN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMubWludXRlcykgJiZcblx0XHRcdE51bWJlci5pc0Zpbml0ZShwYXJzZWRNaW51dGVzKSAmJlxuXHRcdFx0cGFyc2VkTWludXRlcyA+PSAwICYmXG5cdFx0XHRwYXJzZWRNaW51dGVzIDw9IDU5ICYmXG5cdFx0XHR0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyIGluc3RhbmNlb2YgRGF0ZVxuXHRcdCkge1xuXHRcdFx0Y29uc3QgbmV3RGF0ZVdpdGhIb3VycyA9IG5ldyBEYXRlKHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIuc2V0SG91cnMocGFyc2VkSG91cnMpKTtcblx0XHRcdGNvbnN0IG5ld0RhdGVXaXRoTWludXRlcyA9IG5ldyBEYXRlKG5ld0RhdGVXaXRoSG91cnMuc2V0TWludXRlcyhwYXJzZWRNaW51dGVzKSk7XG5cdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobmV3RGF0ZVdpdGhNaW51dGVzKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKHRoaXMuaW52YWxpZFRpbWVBc01pZG5pZ2h0KSB7XG5cdFx0XHRpZiAodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIGFsbCBvdGhlciBjYXNlcywgd2UgYXJlIG5vdCBpbiBhIHZhbGlkIHN0YXRlXG5cdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KGludmFsaWREYXRlS2V5KTtcblx0fVxuXG5cdHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBBcnJheTxEYXRlPiB8IHR5cGVvZiBpbnZhbGlkRGF0ZUtleSk6IHZvaWQge1xuXHRcdHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gdmFsdWU7XG5cdFx0XHR0aGlzLmRldGVybWluZU1pbkFuZE1heERhdGVzKCk7XG5cdFx0XHR0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyID0gbnVsbDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IHZhbHVlID09PSBpbnZhbGlkRGF0ZUtleSA/IG51bGwgOiB2YWx1ZTtcblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0dGhpcy5ob3VycyA9IFN0cmluZyh2YWx1ZS5nZXRIb3VycygpKTtcblx0XHRcdFx0dGhpcy5taW51dGVzID0gU3RyaW5nKHZhbHVlLmdldE1pbnV0ZXMoKSk7XG5cdFx0XHRcdHRoaXMuZm9ybWF0VGltZSgpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5ob3VycyA9ICcnO1xuXHRcdFx0XHR0aGlzLm1pbnV0ZXMgPSAnJztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBuYXRpdmVWYWx1ZUNoYW5nZWQgaXMgY2FsbGVkIHdoZW4gdGhlIGludGVybmFsIHRleHQgdmFsdWUgY2hhbmdlcywgYnV0IG5vdFxuXHQvLyB3aGVuIHRoZSBkYXRlIGlzIGNoYW5nZWQgdmlhIHRoZSBkYXRlIHBpY2tlci4gV2UgbmVlZCB0aGlzIHNvIHRoYXQgd2UgY2FuXG5cdC8vIGRldGVybWluZSBpZiB0aGUgZGF0ZXBpY2tlciBpcyBlbXB0eSBvciBpbnZhbGlkLlxuXHRuYXRpdmVWYWx1ZUNoYW5nZWQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZGF0ZVBpY2tlclJlZi5vcGVuZWQpIHtcblx0XHRcdC8vIGlmIHRoZSB1c2VyIGlzIHR5cGluZyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBwaWNrZXIsIGNsb3NlIGl0LlxuXHRcdFx0dGhpcy5kYXRlUGlja2VyUmVmLmNsb3NlKCk7XG5cdFx0fVxuXHRcdHRoaXMubm90aWZ5TmV3RGF0ZSgpO1xuXHR9XG5cblx0cmVzZXRUb051bGwoKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KG51bGwpO1xuXHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSBudWxsO1xuXHRcdHRoaXMubmF0aXZlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG5cdFx0dGhpcy5ob3VycyA9ICcnO1xuXHRcdHRoaXMubWludXRlcyA9ICcnO1xuXHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IFtdO1xuXHR9XG5cblx0aXNTZWxlY3RlZCA9IChkOiBEYXRlKSA9PiB7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZXMuc29tZSgoZSkgPT4gZS5nZXRUaW1lKCkgPT09IGQuZ2V0VGltZSgpKSA/ICdzZWxlY3RlZCcgOiAnJztcblx0XHR9XG5cdFx0cmV0dXJuICcnO1xuXHR9O1xuXHRmaWx0ZXJEYXRlczogRGF0ZUZpbHRlckZuPGFueT4gPSAoZSkgPT4ge1xuXHRcdGlmICh0aGlzLmRpc2FibGVkKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiB0cnVlO1xuXHR9O1xuXG5cdGZvcm1hdFRpbWUoKTogdm9pZCB7XG5cdFx0aWYgKE51bWJlci5pc0Zpbml0ZShOdW1iZXIodGhpcy5ob3VycykpICYmIHRoaXMuaG91cnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHR0aGlzLmhvdXJzID0gJzAnICsgdGhpcy5ob3Vycztcblx0XHR9XG5cdFx0aWYgKE51bWJlci5pc0Zpbml0ZShOdW1iZXIodGhpcy5taW51dGVzKSkgJiYgdGhpcy5taW51dGVzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dGhpcy5taW51dGVzID0gJzAnICsgdGhpcy5taW51dGVzO1xuXHRcdH1cblx0fVxuXG5cdHRvdWNoRGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLmRhdGVUb3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLmRldGVybWluZUFsbFRvdWNoZWQoKTtcblx0fVxuXG5cdHRvdWNoSG91cnMoKTogdm9pZCB7XG5cdFx0dGhpcy5ob3Vyc1RvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMuZGV0ZXJtaW5lQWxsVG91Y2hlZCgpO1xuXHR9XG5cblx0dG91Y2hNaW51dGVzKCk6IHZvaWQge1xuXHRcdHRoaXMubWludXRlc1RvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMuZGV0ZXJtaW5lQWxsVG91Y2hlZCgpO1xuXHR9XG5cblx0ZGV0ZXJtaW5lQWxsVG91Y2hlZCgpOiB2b2lkIHtcblx0XHRpZiAoKHRoaXMuZGF0ZVRvdWNoZWQgJiYgdGhpcy5ob3Vyc1RvdWNoZWQgJiYgdGhpcy5taW51dGVzVG91Y2hlZCkgfHwgKHRoaXMuZGF0ZVRvdWNoZWQgJiYgIXRoaXMuc2hvd1RpbWVJbnB1dCkpIHtcblx0XHRcdHRoaXMudG91Y2goKTtcblx0XHR9XG5cdH1cblxuXG5cdGdldERlZmF1bHRUcmFuc2xhdGlvbihrZXk6IHN0cmluZyk6ICh4OiBhbnkpID0+IHN0cmluZyB7XG5cdFx0c3dpdGNoIChrZXkpIHtcblx0XHRcdGNhc2UgJ3BsYWNlaG9sZGVyJzpcblx0XHRcdFx0cmV0dXJuICgpID0+ICdTZWxlY3QgZGF0ZSc7XG5cdFx0XHRjYXNlICdzZWxlY3REYXlzJzpcblx0XHRcdFx0cmV0dXJuICgpID0+ICdTZWxlY3QgZGF5KHMpJztcblx0XHRcdGNhc2UgJ3NlbGVjdGVkRGF0ZSc6XG5cdFx0XHRcdHJldHVybiAoZDogRGF0ZSkgPT4gZC50b0xvY2FsZURhdGVTdHJpbmcoKTtcblx0XHRcdGNhc2UgJ2RheXNTZWxlY3RlZCc6XG5cdFx0XHRcdHJldHVybiAoYW1vdW50KSA9PiBgJHthbW91bnR9IGRheXMgc2VsZWN0ZWRgO1xuXHRcdFx0Y2FzZSAnc2VsZWN0ZWRJbk1vbnRoJzpcblx0XHRcdFx0cmV0dXJuIChkOiBEYXRlKSA9PiBgIGluICR7Zm9ybWF0RGF0ZShkLCAnTU1NTScpfWA7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtczogYW55ID0gbnVsbCk6IHN0cmluZyB7XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiB0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHRyZXR1cm4gJyc7XG5cdFx0fVxuXHRcdGlmIChrZXkgPT09ICdwbGFjZWhvbGRlcicgJiYgc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5wbGFjZWhvbGRlcikpIHtcblx0XHRcdHJldHVybiB0aGlzLnBsYWNlaG9sZGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy50cmFuc2xhdGlvbnM/LltrZXldPy4ocGFyYW1zKSA/PyB0aGlzLmdldERlZmF1bHRUcmFuc2xhdGlvbihrZXkpKHBhcmFtcyk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Host, Inject, InjectionToken, Input, Optional,
|
|
|
2
2
|
import { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';
|
|
4
4
|
import { FormElementComponent } from '../../form/form-element/form-element.component';
|
|
5
|
+
import { stringIsSetAndFilled } from '../../util/values';
|
|
5
6
|
export const SELECT_TRANSLATIONS = new InjectionToken('klp.form.select.translations');
|
|
6
7
|
export class SelectComponent extends ValueAccessorBase {
|
|
7
8
|
constructor(parent, controlContainer, translations) {
|
|
@@ -21,13 +22,16 @@ export class SelectComponent extends ValueAccessorBase {
|
|
|
21
22
|
getDefaultTranslation(key) {
|
|
22
23
|
switch (key) {
|
|
23
24
|
case 'placeholder':
|
|
24
|
-
return () =>
|
|
25
|
+
return () => 'Pick an option';
|
|
25
26
|
case 'amountSelected':
|
|
26
27
|
return (amount) => `${amount} selected`;
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
getTranslation(key, params = null) {
|
|
30
31
|
var _a, _b, _c;
|
|
32
|
+
if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
|
|
33
|
+
return this.placeholder;
|
|
34
|
+
}
|
|
31
35
|
return (_c = (_b = (_a = this.translations) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.call(_a, params)) !== null && _c !== void 0 ? _c : this.getDefaultTranslation(key)(params);
|
|
32
36
|
}
|
|
33
37
|
}
|
|
@@ -55,4 +59,4 @@ SelectComponent.propDecorators = {
|
|
|
55
59
|
footerElement: [{ type: Input }],
|
|
56
60
|
onSearch: [{ type: Output }]
|
|
57
61
|
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9uZ3gtZW5oYW5jeS1mb3Jtcy9uZ3gtZW5oYW5jeS1mb3Jtcy9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBR3BGLE9BQU8sRUFBYSxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBU25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFNLDhCQUE4QixDQUFDLENBQUM7QUFRM0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQW9DO0lBWXhFLFlBQytCLE1BQTRCLEVBQzVCLGdCQUFrQyxFQUNmLFlBQWlCO1FBRWxFLEtBQUssQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUpGLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBSztRQVoxRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUNsQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBSVQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFTdkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQVc7UUFDaEMsUUFBUSxHQUFHLEVBQUU7WUFDWixLQUFLLGFBQWE7Z0JBQ2pCLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDL0IsS0FBSyxnQkFBZ0I7Z0JBQ3BCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxXQUFXLENBQUM7U0FDekM7SUFDRixDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVcsRUFBRSxTQUFjLElBQUk7O1FBQzdDLElBQUksR0FBRyxLQUFLLGFBQWEsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDcEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3hCO1FBQ0QseUJBQU8sSUFBSSxDQUFDLFlBQVksMENBQUcsR0FBRyxvREFBSSxNQUFNLG9DQUFLLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RixDQUFDOzs7WUE3Q0QsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDBzQ0FBc0M7Z0JBRXRDLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDOzthQUNwRjs7O1lBbkJPLG9CQUFvQix1QkFpQ3pCLFFBQVEsWUFBSSxJQUFJO1lBbkNYLGdCQUFnQix1QkFvQ3JCLFFBQVEsWUFBSSxJQUFJOzRDQUNoQixNQUFNLFNBQUMsbUJBQW1CLGNBQUcsUUFBUTs7OzBCQWR0QyxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3Q0FDTCxLQUFLO3dCQUNMLEtBQUs7K0JBQ0wsS0FBSzs2QkFDTCxLQUFLOzRCQUNMLEtBQUs7dUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3QsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1ZhbHVlQWNjZXNzb3JCYXNlfSBmcm9tICcuLi92YWx1ZS1hY2Nlc3Nvci1iYXNlL3ZhbHVlLWFjY2Vzc29yLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtmb3JtYXQgYXMgZm9ybWF0RGF0ZX0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHtEQVRFX1RJTUVfUElDS0VSX1RSQU5TTEFUSU9OU30gZnJvbSAnLi4vZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge2lzVmFsdWVTZXQsIHN0cmluZ0lzU2V0QW5kRmlsbGVkfSBmcm9tICcuLi8uLi91dGlsL3ZhbHVlcyc7XG5cbmV4cG9ydCB0eXBlIEFwcFNlbGVjdE9wdGlvbnMgPSBBcnJheTx7XG5cdGlkOiBhbnk7XG5cdG5hbWU6IHN0cmluZztcblx0ZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcbn0+O1xuXG5leHBvcnQgY29uc3QgU0VMRUNUX1RSQU5TTEFUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdrbHAuZm9ybS5zZWxlY3QudHJhbnNsYXRpb25zJyk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLXNlbGVjdCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogU2VsZWN0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZX1dLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZTxzdHJpbmcgfCBzdHJpbmdbXT4ge1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXHRASW5wdXQoKSBvcHRpb25zOiBBcHBTZWxlY3RPcHRpb25zO1xuXHRASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBtdWx0aXBsZURpc3BsYXllZEFzQW1vdW50ID0gZmFsc2U7XG5cdEBJbnB1dCgpIGNsZWFyYWJsZSA9IHRydWU7XG5cdEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93blBvc2l0aW9uOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyBjdXN0b21TZWFyY2hGbjogKHRlcm06IHN0cmluZywgaXRlbTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGRlc2NyaXB0aW9uOiBzdHJpbmcgfSkgPT4gYm9vbGVhbjtcblx0QElucHV0KCkgcHVibGljIGZvb3RlckVsZW1lbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cdEBPdXRwdXQoKSBwdWJsaWMgb25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblx0cHVibGljIGN1cnJlbnRRdWVyeVN0cmluZzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBPcHRpb25hbCgpIEBIb3N0KCkgcHJvdGVjdGVkIHBhcmVudDogRm9ybUVsZW1lbnRDb21wb25lbnQsXG5cdFx0QE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcblx0XHRASW5qZWN0KFNFTEVDVF9UUkFOU0xBVElPTlMpIEBPcHRpb25hbCgpIHByaXZhdGUgdHJhbnNsYXRpb25zOiBhbnksXG5cdCkge1xuXHRcdHN1cGVyKHBhcmVudCwgY29udHJvbENvbnRhaW5lcik7XG5cdH1cblxuXHRvblRleHRJbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5jdXJyZW50UXVlcnlTdHJpbmcgPSB2YWx1ZTtcblx0XHR0aGlzLm9uU2VhcmNoLmVtaXQodmFsdWUpO1xuXHR9XG5cblx0Z2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogKHg6IGFueSkgPT4gc3RyaW5nIHtcblx0XHRzd2l0Y2ggKGtleSkge1xuXHRcdFx0Y2FzZSAncGxhY2Vob2xkZXInOlxuXHRcdFx0XHRyZXR1cm4gKCkgPT4gJ1BpY2sgYW4gb3B0aW9uJztcblx0XHRcdGNhc2UgJ2Ftb3VudFNlbGVjdGVkJzpcblx0XHRcdFx0cmV0dXJuIChhbW91bnQpID0+IGAke2Ftb3VudH0gc2VsZWN0ZWRgO1xuXHRcdH1cblx0fVxuXG5cdGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nLCBwYXJhbXM6IGFueSA9IG51bGwpOiBzdHJpbmcge1xuXHRcdGlmIChrZXkgPT09ICdwbGFjZWhvbGRlcicgJiYgc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5wbGFjZWhvbGRlcikpIHtcblx0XHRcdHJldHVybiB0aGlzLnBsYWNlaG9sZGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy50cmFuc2xhdGlvbnM/LltrZXldPy4ocGFyYW1zKSA/PyB0aGlzLmdldERlZmF1bHRUcmFuc2xhdGlvbihrZXkpKHBhcmFtcyk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { ValueAccessorBase } from
|
|
3
|
+
import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';
|
|
4
4
|
export class ToggleComponent extends ValueAccessorBase {
|
|
5
5
|
}
|
|
6
6
|
ToggleComponent.decorators = [
|
|
@@ -11,4 +11,4 @@ ToggleComponent.decorators = [
|
|
|
11
11
|
styles: [":host{display:block}.componentContainer{position:relative}.nativeCheckbox{cursor:pointer;height:20px;left:0;opacity:0;position:absolute;top:0;width:35px}.toggleVisual{-moz-transition:.4s ease;-ms-transition:.4s ease;-o-transition:.4s ease;-webkit-transition:.4s ease;border:1px solid #e6ecf5;border-radius:35px;display:block;height:20px;pointer-events:none;position:relative;transition:.4s ease;width:35px}.toggleVisual:before{-moz-transition:.2s cubic-bezier(.24,0,.5,1);-ms-transition:.2s cubic-bezier(.24,0,.5,1);-o-transition:.2s cubic-bezier(.24,0,.5,1);-webkit-transition:.2s cubic-bezier(.24,0,.5,1);border-radius:30px;height:18px;left:-1px;margin:1px;transition:.2s cubic-bezier(.24,0,.5,1);width:33px}.toggleVisual:after,.toggleVisual:before{content:\"\";display:block;position:absolute;top:-1px}.toggleVisual:after{-moz-transition:.35s cubic-bezier(.54,1.6,.5,1);-ms-transition:.35s cubic-bezier(.54,1.6,.5,1);-o-transition:.35s cubic-bezier(.54,1.6,.5,1);-webkit-transition:.35s cubic-bezier(.54,1.6,.5,1);background:#f7f7f7;border-radius:60px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 4px 0 0 rgba(0,0,0,.04),0 4px 9px rgba(0,0,0,.13),0 3px 3px rgba(0,0,0,.05);height:20px;left:0;transition:.35s cubic-bezier(.54,1.6,.5,1);width:20px}.nativeCheckbox:checked+.toggleVisual:before{-moz-transition:width .2s cubic-bezier(0,0,0,.1);-ms-transition:width .2s cubic-bezier(0,0,0,.1);-o-transition:width .2s cubic-bezier(0,0,0,.1);-webkit-transition:width .2s cubic-bezier(0,0,0,.1);background:#37c936;transition:width .2s cubic-bezier(0,0,0,.1)}.nativeCheckbox:checked+.toggleVisual:after{left:18px}.disabled{opacity:.6}.showErrors+.toggleVisual:before{border:1px solid #ff8000}"]
|
|
12
12
|
},] }
|
|
13
13
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9uZ3gtZW5oYW5jeS1mb3Jtcy9uZ3gtZW5oYW5jeS1mb3Jtcy9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFRdkYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQTBCOzs7WUFOOUQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLG1YQUFzQztnQkFFdEMsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUM7O2FBQ3BGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UvdmFsdWUtYWNjZXNzb3ItYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdrbHAtZm9ybS10b2dnbGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG5cdHByb3ZpZGVyczogW3twcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFRvZ2dsZUNvbXBvbmVudCwgbXVsdGk6IHRydWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2U8Ym9vbGVhbj4ge1xufVxuIl19
|
|
@@ -122,13 +122,13 @@ export class FormComponent {
|
|
|
122
122
|
}
|
|
123
123
|
trySubmit() {
|
|
124
124
|
var _a, _b;
|
|
125
|
-
this.formGroup.updateValueAndValidity();
|
|
126
125
|
this.formGroup.markAllAsTouched();
|
|
127
126
|
const allControls = this.getAllFormControls();
|
|
128
127
|
const originalDisabledStates = allControls.map(e => {
|
|
129
128
|
return { control: e, disabled: e.disabled };
|
|
130
129
|
});
|
|
131
130
|
allControls.forEach(e => this.disableInactiveFormControl(e));
|
|
131
|
+
allControls.forEach(e => e.updateValueAndValidity());
|
|
132
132
|
const values = this.formGroup.value;
|
|
133
133
|
if (this.formGroup.valid) {
|
|
134
134
|
this.setDisabledStatesForAllControls(originalDisabledStates);
|
|
@@ -166,4 +166,4 @@ FormComponent.propDecorators = {
|
|
|
166
166
|
formGroup: [{ type: Input }],
|
|
167
167
|
patchValueInterceptor: [{ type: Input }]
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbmd4LWVuaGFuY3ktZm9ybXMvbmd4LWVuaGFuY3ktZm9ybXMvcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFnQixNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQU10RSxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFKNUIsU0FBUyxTQUFDO2dCQUNWLDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLGNBQWM7YUFDeEI7Ozt5QkFFQyxLQUFLO2lCQUNMLEtBQUs7O0FBUVAsTUFBTSxPQUFPLGFBQWE7SUFVekIsWUFBNEMsTUFBcUIsRUFBc0Isa0JBQW9DO1FBQS9FLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBc0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFrQjtRQU4zSCw4R0FBOEc7UUFDdEcsbUJBQWMsR0FHakIsRUFBRSxDQUFDO0lBR1IsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7WUFDdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxD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QUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3pCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzdELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ04sWUFBQSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQywwQ0FBRSxXQUFXLDBDQUFFLFFBQVEsR0FBRztZQUMvRSxJQUFJLENBQUMsK0JBQStCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM3RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMzQztJQUNGLENBQUM7SUFFTywrQkFBK0IsQ0FBQyxzQkFBOEU7UUFDckgsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNmLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDcEI7aUJBQU07Z0JBQ04sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNuQjtRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7O1lBOUpELFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsOERBQW9DOzthQUVwQzs7O1lBV29ELGFBQWEsdUJBQXBELFFBQVEsWUFBSSxRQUFRO1lBQTBFLGdCQUFnQix1QkFBdkQsUUFBUTs7O3dCQVQzRSxLQUFLO29DQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtR3JvdXBOYW1lfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50fSBmcm9tICcuL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7aXNWYWx1ZVNldH0gZnJvbSAnLi4vdXRpbC92YWx1ZXMnO1xuXG5leHBvcnQgY29uc3QgaW52YWxpZEZpZWxkc1N5bWJvbCA9IFN5bWJvbCgnTm90IGFsbCBmaWVsZHMgYXJlIHZhbGlkJyk7XG5cbkBEaXJlY3RpdmUoe1xuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG5cdHNlbGVjdG9yOiAna2xwLXN1Yi1mb3JtJyxcbn0pXG5leHBvcnQgY2xhc3MgU3ViRm9ybURpcmVjdGl2ZSB7XG5cdEBJbnB1dCgpIGluamVjdEludG86IEZvcm1BcnJheSB8IEZvcm1Hcm91cDtcblx0QElucHV0KCkgYXQ6IG51bWJlciB8IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0nLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblx0QElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXHRASW5wdXQoKSBwdWJsaWMgcGF0Y2hWYWx1ZUludGVyY2VwdG9yOiAodmFsdWVzOiBhbnkpID0+IFByb21pc2U8YW55PjtcblxuXHQvLyB3ZSBrZWVwIHRyYWNrIG9mIHdoYXQgZm9ybSBjb250cm9scyBhcmUgYWN0dWFsbHkgcmVuZGVyZWQuIE9ubHkgdGhvc2UgY291bnQgd2hlbiBsb29raW5nIGF0IGZvcm0gdmFsaWRhdGlvblxuXHRwcml2YXRlIGFjdGl2ZUNvbnRyb2xzOiBBcnJheTx7XG5cdFx0Zm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXHRcdGZvcm1FbGVtZW50OiBGb3JtRWxlbWVudENvbXBvbmVudDtcblx0fT4gPSBbXTtcblxuXHRjb25zdHJ1Y3RvcihAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudDogRm9ybUNvbXBvbmVudCwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzdWJGb3JtUGxhY2Vob2xkZXI6IFN1YkZvcm1EaXJlY3RpdmUpIHtcblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdGlmIChpc1ZhbHVlU2V0KHRoaXMucGFyZW50KSAmJiBpc1ZhbHVlU2V0KHRoaXMuc3ViRm9ybVBsYWNlaG9sZGVyKSkge1xuXHRcdFx0Y29uc3QgaW5qZWN0SW50byA9IHRoaXMuc3ViRm9ybVBsYWNlaG9sZGVyLmluamVjdEludG87XG5cdFx0XHRjb25zdCBpbmplY3RBdCA9IHRoaXMuc3ViRm9ybVBsYWNlaG9sZGVyLmF0O1xuXHRcdFx0aWYgKGluamVjdEludG8gaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcblx0XHRcdFx0aWYgKHR5cGVvZiBpbmplY3RBdCAhPT0gJ251bWJlcicpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYGNhbm5vdCBpbmRleCBGb3JtQXJyYXkgd2l0aCAke3R5cGVvZiBpbmplY3RBdH1gKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGluamVjdEludG8uc2V0Q29udHJvbChpbmplY3RBdCwgdGhpcy5mb3JtR3JvdXApO1xuXHRcdFx0fSBlbHNlIGlmIChpbmplY3RJbnRvIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG5cdFx0XHRcdGlmICh0eXBlb2YgaW5qZWN0QXQgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBjYW5ub3QgaW5kZXggRm9ybUdyb3VwIHdpdGggJHt0eXBlb2YgaW5qZWN0QXR9YCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbmplY3RJbnRvLnNldENvbnRyb2woaW5qZWN0QXQsIHRoaXMuZm9ybUdyb3VwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5wYXRjaFZhbHVlSW50ZXJjZXB0b3IpKSB7XG5cdFx0XHR0aGlzLmFkZFN1cHBvcnRGb3JQYXRjaFZhbHVlSW50ZXJjZXB0b3IoKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHRpZiAoaXNWYWx1ZVNldCh0aGlzLnBhcmVudCkgJiYgaXNWYWx1ZVNldCh0aGlzLnN1YkZvcm1QbGFjZWhvbGRlcikpIHtcblx0XHRcdGNvbnN0IGluamVjdEludG8gPSB0aGlzLnN1YkZvcm1QbGFjZWhvbGRlci5pbmplY3RJbnRvO1xuXHRcdFx0Y29uc3QgaW5qZWN0QXQgPSB0aGlzLnN1YkZvcm1QbGFjZWhvbGRlci5hdDtcblx0XHRcdGlmIChpbmplY3RJbnRvIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG5cdFx0XHRcdGNvbnN0IGlkeCA9IGluamVjdEludG8uY29udHJvbHMuZmluZEluZGV4KGUgPT4gZSA9PT0gdGhpcy5mb3JtR3JvdXApO1xuXHRcdFx0XHRpbmplY3RJbnRvLnJlbW92ZUF0KGlkeCk7XG5cdFx0XHR9IGVsc2UgaWYgKGluamVjdEludG8gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcblx0XHRcdFx0aWYgKHR5cGVvZiBpbmplY3RBdCAhPT0gJ3N0cmluZycpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYGNhbm5vdCBpbmRleCBGb3JtR3JvdXAgd2l0aCAke3R5cGVvZiBpbmplY3RBdH1gKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbmplY3RJbnRvLnJlbW92ZUNvbnRyb2woaW5qZWN0QXQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYWRkU3VwcG9ydEZvclBhdGNoVmFsdWVJbnRlcmNlcHRvcigpOiB2b2lkIHtcblx0XHRjb25zdCBmbiA9IHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWU7XG5cdFx0Y29uc3QgbmV3Rm4gPSAoXG5cdFx0XHR2YWx1ZToge1xuXHRcdFx0XHRba2V5OiBzdHJpbmddOiBhbnk7XG5cdFx0XHR9LFxuXHRcdFx0b3B0aW9ucz86IHtcblx0XHRcdFx0b25seVNlbGY/OiBib29sZWFuO1xuXHRcdFx0XHRlbWl0RXZlbnQ/OiBib29sZWFuO1xuXHRcdFx0fVxuXHRcdCk6IHZvaWQgPT4ge1xuXHRcdFx0dGhpcy5wYXRjaFZhbHVlSW50ZXJjZXB0b3IodmFsdWUpLnRoZW4oKHZhbCkgPT4ge1xuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHRmbi5jYWxsKHRoaXMuZm9ybUdyb3VwLCB2YWwsIG9wdGlvbnMpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdH07XG5cdFx0dGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSA9IG5ld0ZuO1xuXHR9XG5cblx0cHVibGljIHJlZ2lzdGVyQ29udHJvbChmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wsIGZvcm1FbGVtZW50OiBGb3JtRWxlbWVudENvbXBvbmVudCk6IHZvaWQge1xuXHRcdHRoaXMuYWN0aXZlQ29udHJvbHMucHVzaCh7Zm9ybUNvbnRyb2wsIGZvcm1FbGVtZW50fSk7XG5cdFx0aWYgKHRoaXMucGFyZW50KSB7XG5cdFx0XHR0aGlzLnBhcmVudC5yZWdpc3RlckNvbnRyb2woZm9ybUNvbnRyb2wsIGZvcm1FbGVtZW50KTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgdW5yZWdpc3RlckNvbnRyb2woZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmVDb250cm9scyA9IHRoaXMuYWN0aXZlQ29udHJvbHMuZmlsdGVyKChlKSA9PiBlLmZvcm1Db250cm9sICE9PSBmb3JtQ29udHJvbCk7XG5cdFx0aWYgKHRoaXMucGFyZW50KSB7XG5cdFx0XHR0aGlzLnBhcmVudC51bnJlZ2lzdGVyQ29udHJvbChmb3JtQ29udHJvbCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBhZGRGb3JtR3JvdXBDb250cm9scyhmb3JtR3JvdXA6IEZvcm1Hcm91cCwgcmVzdWx0OiBBcnJheTxGb3JtQ29udHJvbD4pOiB2b2lkIHtcblx0XHRPYmplY3QudmFsdWVzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgodmFsdWUpID0+IHtcblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuXHRcdFx0XHR0aGlzLmFkZEZvcm1Hcm91cENvbnRyb2xzKHZhbHVlLCByZXN1bHQpO1xuXHRcdFx0fSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuXHRcdFx0XHR0aGlzLmFkZEZvcm1BcnJheUNvbnRyb2xzKHZhbHVlLCByZXN1bHQpO1xuXHRcdFx0fSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG5cdFx0XHRcdHRoaXMuYWRkRm9ybUNvbnRyb2wodmFsdWUsIHJlc3VsdCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGFkZEZvcm1BcnJheUNvbnRyb2xzKGZvcm1BcnJheTogRm9ybUFycmF5LCByZXN1bHQ6IEFycmF5PEZvcm1Db250cm9sPik6IHZvaWQge1xuXHRcdGZvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuXHRcdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG5cdFx0XHRcdHRoaXMuYWRkRm9ybUdyb3VwQ29udHJvbHModmFsdWUsIHJlc3VsdCk7XG5cdFx0XHR9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG5cdFx0XHRcdHRoaXMuYWRkRm9ybUFycmF5Q29udHJvbHModmFsdWUsIHJlc3VsdCk7XG5cdFx0XHR9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcblx0XHRcdFx0dGhpcy5hZGRGb3JtQ29udHJvbCh2YWx1ZSwgcmVzdWx0KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QWxsRm9ybUNvbnRyb2xzKCk6IEFycmF5PEZvcm1Db250cm9sPiB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gW107XG5cdFx0dGhpcy5hZGRGb3JtR3JvdXBDb250cm9scyh0aGlzLmZvcm1Hcm91cCwgcmVzdWx0KTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRGb3JtQ29udHJvbChjb250cm9sOiBGb3JtQ29udHJvbCwgcmVzdWx0OiBBcnJheTxGb3JtQ29udHJvbD4pOiB2b2lkIHtcblx0XHRyZXN1bHQucHVzaChjb250cm9sKTtcblx0fVxuXG5cdHByaXZhdGUgZGlzYWJsZUluYWN0aXZlRm9ybUNvbnRyb2woY29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuYWN0aXZlQ29udHJvbHMuc29tZSgoZSkgPT4gZS5mb3JtQ29udHJvbCA9PT0gY29udHJvbCkpIHtcblx0XHRcdGNvbnRyb2wuZGlzYWJsZSgpO1xuXHRcdH1cblx0fVxuXG5cdHRyeVN1Ym1pdCgpOiBQcm9taXNlPGFueT4ge1xuXHRcdHRoaXMuZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcblx0XHR0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cdFx0Y29uc3QgYWxsQ29udHJvbHM6IEFycmF5PEZvcm1Db250cm9sPiA9IHRoaXMuZ2V0QWxsRm9ybUNvbnRyb2xzKCk7XG5cdFx0Y29uc3Qgb3JpZ2luYWxEaXNhYmxlZFN0YXRlcyA9IGFsbENvbnRyb2xzLm1hcChlID0+IHtcblx0XHRcdHJldHVybiB7Y29udHJvbDogZSwgZGlzYWJsZWQ6IGUuZGlzYWJsZWR9O1xuXHRcdH0pO1xuXHRcdGFsbENvbnRyb2xzLmZvckVhY2goZSA9PiB0aGlzLmRpc2FibGVJbmFjdGl2ZUZvcm1Db250cm9sKGUpKTtcblx0XHRjb25zdCB2YWx1ZXMgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZTtcblx0XHRpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcblx0XHRcdHRoaXMuc2V0RGlzYWJsZWRTdGF0ZXNGb3JBbGxDb250cm9scyhvcmlnaW5hbERpc2FibGVkU3RhdGVzKTtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWVzKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5hY3RpdmVDb250cm9scy5maW5kKChlKSA9PiAhZS5mb3JtQ29udHJvbC52YWxpZCk/LmZvcm1FbGVtZW50Py5zY3JvbGxUbygpO1xuXHRcdFx0dGhpcy5zZXREaXNhYmxlZFN0YXRlc0ZvckFsbENvbnRyb2xzKG9yaWdpbmFsRGlzYWJsZWRTdGF0ZXMpO1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGludmFsaWRGaWVsZHNTeW1ib2wpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2V0RGlzYWJsZWRTdGF0ZXNGb3JBbGxDb250cm9scyhvcmlnaW5hbERpc2FibGVkU3RhdGVzOiBBcnJheTx7IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4pOiB2b2lkIHtcblx0XHRvcmlnaW5hbERpc2FibGVkU3RhdGVzLmZvckVhY2goKGUpID0+IHtcblx0XHRcdGlmIChlLmRpc2FibGVkKSB7XG5cdFx0XHRcdGUuY29udHJvbC5kaXNhYmxlKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRlLmNvbnRyb2wuZW5hYmxlKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbmd4LWVuaGFuY3ktZm9ybXMvbmd4LWVuaGFuY3ktZm9ybXMvcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFnQixNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQU10RSxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFKNUIsU0FBUyxTQUFDO2dCQUNWLDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLGNBQWM7YUFDeEI7Ozt5QkFFQyxLQUFLO2lCQUNMLEtBQUs7O0FBUVAsTUFBTSxPQUFPLGFBQWE7SUFVekIsWUFBNEMsTUFBcUIsRUFBc0Isa0JBQW9DO1FBQS9FLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBc0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFrQjtRQU4zSCw4R0FBOEc7UUFDdEcsbUJBQWMsR0FHakIsRUFBRSxDQUFDO0lBR1IsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7WUFDdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxD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QUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDekIsSUFBSSxDQUFDLCtCQUErQixDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDN0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTixZQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLDBDQUFFLFdBQVcsMENBQUUsUUFBUSxHQUFHO1lBQy9FLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzdELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQzNDO0lBQ0YsQ0FBQztJQUVPLCtCQUErQixDQUFDLHNCQUE4RTtRQUNySCxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2YsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNwQjtpQkFBTTtnQkFDTixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ25CO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzs7WUE5SkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxVQUFVO2dCQUNwQiw4REFBb0M7O2FBRXBDOzs7WUFXb0QsYUFBYSx1QkFBcEQsUUFBUSxZQUFJLFFBQVE7WUFBMEUsZ0JBQWdCLHVCQUF2RCxRQUFROzs7d0JBVDNFLEtBQUs7b0NBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1Hcm91cE5hbWV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtpc1ZhbHVlU2V0fSBmcm9tICcuLi91dGlsL3ZhbHVlcyc7XG5cbmV4cG9ydCBjb25zdCBpbnZhbGlkRmllbGRzU3ltYm9sID0gU3ltYm9sKCdOb3QgYWxsIGZpZWxkcyBhcmUgdmFsaWQnKTtcblxuQERpcmVjdGl2ZSh7XG5cdC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3Jcblx0c2VsZWN0b3I6ICdrbHAtc3ViLWZvcm0nLFxufSlcbmV4cG9ydCBjbGFzcyBTdWJGb3JtRGlyZWN0aXZlIHtcblx0QElucHV0KCkgaW5qZWN0SW50bzogRm9ybUFycmF5IHwgRm9ybUdyb3VwO1xuXHRASW5wdXQoKSBhdDogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdrbHAtZm9ybScsXG5cdHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXHRASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cdEBJbnB1dCgpIHB1YmxpYyBwYXRjaFZhbHVlSW50ZXJjZXB0b3I6ICh2YWx1ZXM6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xuXG5cdC8vIHdlIGtlZXAgdHJhY2sgb2Ygd2hhdCBmb3JtIGNvbnRyb2xzIGFyZSBhY3R1YWxseSByZW5kZXJlZC4gT25seSB0aG9zZSBjb3VudCB3aGVuIGxvb2tpbmcgYXQgZm9ybSB2YWxpZGF0aW9uXG5cdHByaXZhdGUgYWN0aXZlQ29udHJvbHM6IEFycmF5PHtcblx0XHRmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cdFx0Zm9ybUVsZW1lbnQ6IEZvcm1FbGVtZW50Q29tcG9uZW50O1xuXHR9PiA9IFtdO1xuXG5cdGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgcGFyZW50OiBGb3JtQ29tcG9uZW50LCBAT3B0aW9uYWwoKSBwcml2YXRlIHN1YkZvcm1QbGFjZWhvbGRlcjogU3ViRm9ybURpcmVjdGl2ZSkge1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5wYXJlbnQpICYmIGlzVmFsdWVTZXQodGhpcy5zdWJGb3JtUGxhY2Vob2xkZXIpKSB7XG5cdFx0XHRjb25zdCBpbmplY3RJbnRvID0gdGhpcy5zdWJGb3JtUGxhY2Vob2xkZXIuaW5qZWN0SW50bztcblx0XHRcdGNvbnN0IGluamVjdEF0ID0gdGhpcy5zdWJGb3JtUGxhY2Vob2xkZXIuYXQ7XG5cdFx0XHRpZiAoaW5qZWN0SW50byBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuXHRcdFx0XHRpZiAodHlwZW9mIGluamVjdEF0ICE9PSAnbnVtYmVyJykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgY2Fubm90IGluZGV4IEZvcm1BcnJheSB3aXRoICR7dHlwZW9mIGluamVjdEF0fWApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5qZWN0SW50by5zZXRDb250cm9sKGluamVjdEF0LCB0aGlzLmZvcm1Hcm91cCk7XG5cdFx0XHR9IGVsc2UgaWYgKGluamVjdEludG8gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcblx0XHRcdFx0aWYgKHR5cGVvZiBpbmplY3RBdCAhPT0gJ3N0cmluZycpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYGNhbm5vdCBpbmRleCBGb3JtR3JvdXAgd2l0aCAke3R5cGVvZiBpbmplY3RBdH1gKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGluamVjdEludG8uc2V0Q29udHJvbChpbmplY3RBdCwgdGhpcy5mb3JtR3JvdXApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaXNWYWx1ZVNldCh0aGlzLnBhdGNoVmFsdWVJbnRlcmNlcHRvcikpIHtcblx0XHRcdHRoaXMuYWRkU3VwcG9ydEZvclBhdGNoVmFsdWVJbnRlcmNlcHRvcigpO1xuXHRcdH1cblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdGlmIChpc1ZhbHVlU2V0KHRoaXMucGFyZW50KSAmJiBpc1ZhbHVlU2V0KHRoaXMuc3ViRm9ybVBsYWNlaG9sZGVyKSkge1xuXHRcdFx0Y29uc3QgaW5qZWN0SW50byA9IHRoaXMuc3ViRm9ybVBsYWNlaG9sZGVyLmluamVjdEludG87XG5cdFx0XHRjb25zdCBpbmplY3RBdCA9IHRoaXMuc3ViRm9ybVBsYWNlaG9sZGVyLmF0O1xuXHRcdFx0aWYgKGluamVjdEludG8gaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcblx0XHRcdFx0Y29uc3QgaWR4ID0gaW5qZWN0SW50by5jb250cm9scy5maW5kSW5kZXgoZSA9PiBlID09PSB0aGlzLmZvcm1Hcm91cCk7XG5cdFx0XHRcdGluamVjdEludG8ucmVtb3ZlQXQoaWR4KTtcblx0XHRcdH0gZWxzZSBpZiAoaW5qZWN0SW50byBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuXHRcdFx0XHRpZiAodHlwZW9mIGluamVjdEF0ICE9PSAnc3RyaW5nJykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgY2Fubm90IGluZGV4IEZvcm1Hcm91cCB3aXRoICR7dHlwZW9mIGluamVjdEF0fWApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGluamVjdEludG8ucmVtb3ZlQ29udHJvbChpbmplY3RBdCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBhZGRTdXBwb3J0Rm9yUGF0Y2hWYWx1ZUludGVyY2VwdG9yKCk6IHZvaWQge1xuXHRcdGNvbnN0IGZuID0gdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZTtcblx0XHRjb25zdCBuZXdGbiA9IChcblx0XHRcdHZhbHVlOiB7XG5cdFx0XHRcdFtrZXk6IHN0cmluZ106IGFueTtcblx0XHRcdH0sXG5cdFx0XHRvcHRpb25zPzoge1xuXHRcdFx0XHRvbmx5U2VsZj86IGJvb2xlYW47XG5cdFx0XHRcdGVtaXRFdmVudD86IGJvb2xlYW47XG5cdFx0XHR9XG5cdFx0KTogdm9pZCA9PiB7XG5cdFx0XHR0aGlzLnBhdGNoVmFsdWVJbnRlcmNlcHRvcih2YWx1ZSkudGhlbigodmFsKSA9PiB7XG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdGZuLmNhbGwodGhpcy5mb3JtR3JvdXAsIHZhbCwgb3B0aW9ucyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fTtcblx0XHR0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlID0gbmV3Rm47XG5cdH1cblxuXHRwdWJsaWMgcmVnaXN0ZXJDb250cm9sKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCwgZm9ybUVsZW1lbnQ6IEZvcm1FbGVtZW50Q29tcG9uZW50KTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmVDb250cm9scy5wdXNoKHtmb3JtQ29udHJvbCwgZm9ybUVsZW1lbnR9KTtcblx0XHRpZiAodGhpcy5wYXJlbnQpIHtcblx0XHRcdHRoaXMucGFyZW50LnJlZ2lzdGVyQ29udHJvbChmb3JtQ29udHJvbCwgZm9ybUVsZW1lbnQpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyB1bnJlZ2lzdGVyQ29udHJvbChmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcblx0XHR0aGlzLmFjdGl2ZUNvbnRyb2xzID0gdGhpcy5hY3RpdmVDb250cm9scy5maWx0ZXIoKGUpID0+IGUuZm9ybUNvbnRyb2wgIT09IGZvcm1Db250cm9sKTtcblx0XHRpZiAodGhpcy5wYXJlbnQpIHtcblx0XHRcdHRoaXMucGFyZW50LnVucmVnaXN0ZXJDb250cm9sKGZvcm1Db250cm9sKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGFkZEZvcm1Hcm91cENvbnRyb2xzKGZvcm1Hcm91cDogRm9ybUdyb3VwLCByZXN1bHQ6IEFycmF5PEZvcm1Db250cm9sPik6IHZvaWQge1xuXHRcdE9iamVjdC52YWx1ZXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuXHRcdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG5cdFx0XHRcdHRoaXMuYWRkRm9ybUdyb3VwQ29udHJvbHModmFsdWUsIHJlc3VsdCk7XG5cdFx0XHR9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG5cdFx0XHRcdHRoaXMuYWRkRm9ybUFycmF5Q29udHJvbHModmFsdWUsIHJlc3VsdCk7XG5cdFx0XHR9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcblx0XHRcdFx0dGhpcy5hZGRGb3JtQ29udHJvbCh2YWx1ZSwgcmVzdWx0KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgYWRkRm9ybUFycmF5Q29udHJvbHMoZm9ybUFycmF5OiBGb3JtQXJyYXksIHJlc3VsdDogQXJyYXk8Rm9ybUNvbnRyb2w+KTogdm9pZCB7XG5cdFx0Zm9ybUFycmF5LmNvbnRyb2xzLmZvckVhY2goKHZhbHVlKSA9PiB7XG5cdFx0XHRpZiAodmFsdWUgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcblx0XHRcdFx0dGhpcy5hZGRGb3JtR3JvdXBDb250cm9scyh2YWx1ZSwgcmVzdWx0KTtcblx0XHRcdH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcblx0XHRcdFx0dGhpcy5hZGRGb3JtQXJyYXlDb250cm9scyh2YWx1ZSwgcmVzdWx0KTtcblx0XHRcdH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuXHRcdFx0XHR0aGlzLmFkZEZvcm1Db250cm9sKHZhbHVlLCByZXN1bHQpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBbGxGb3JtQ29udHJvbHMoKTogQXJyYXk8Rm9ybUNvbnRyb2w+IHtcblx0XHRjb25zdCByZXN1bHQgPSBbXTtcblx0XHR0aGlzLmFkZEZvcm1Hcm91cENvbnRyb2xzKHRoaXMuZm9ybUdyb3VwLCByZXN1bHQpO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHRwcml2YXRlIGFkZEZvcm1Db250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sLCByZXN1bHQ6IEFycmF5PEZvcm1Db250cm9sPik6IHZvaWQge1xuXHRcdHJlc3VsdC5wdXNoKGNvbnRyb2wpO1xuXHR9XG5cblx0cHJpdmF0ZSBkaXNhYmxlSW5hY3RpdmVGb3JtQ29udHJvbChjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5hY3RpdmVDb250cm9scy5zb21lKChlKSA9PiBlLmZvcm1Db250cm9sID09PSBjb250cm9sKSkge1xuXHRcdFx0Y29udHJvbC5kaXNhYmxlKCk7XG5cdFx0fVxuXHR9XG5cblx0dHJ5U3VibWl0KCk6IFByb21pc2U8YW55PiB7XG5cdFx0dGhpcy5mb3JtR3JvdXAubWFya0FsbEFzVG91Y2hlZCgpO1xuXHRcdGNvbnN0IGFsbENvbnRyb2xzOiBBcnJheTxGb3JtQ29udHJvbD4gPSB0aGlzLmdldEFsbEZvcm1Db250cm9scygpO1xuXHRcdGNvbnN0IG9yaWdpbmFsRGlzYWJsZWRTdGF0ZXMgPSBhbGxDb250cm9scy5tYXAoZSA9PiB7XG5cdFx0XHRyZXR1cm4ge2NvbnRyb2w6IGUsIGRpc2FibGVkOiBlLmRpc2FibGVkfTtcblx0XHR9KTtcblx0XHRhbGxDb250cm9scy5mb3JFYWNoKGUgPT4gdGhpcy5kaXNhYmxlSW5hY3RpdmVGb3JtQ29udHJvbChlKSk7XG5cdFx0YWxsQ29udHJvbHMuZm9yRWFjaChlID0+IGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKTtcblx0XHRjb25zdCB2YWx1ZXMgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZTtcblx0XHRpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcblx0XHRcdHRoaXMuc2V0RGlzYWJsZWRTdGF0ZXNGb3JBbGxDb250cm9scyhvcmlnaW5hbERpc2FibGVkU3RhdGVzKTtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWVzKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5hY3RpdmVDb250cm9scy5maW5kKChlKSA9PiAhZS5mb3JtQ29udHJvbC52YWxpZCk/LmZvcm1FbGVtZW50Py5zY3JvbGxUbygpO1xuXHRcdFx0dGhpcy5zZXREaXNhYmxlZFN0YXRlc0ZvckFsbENvbnRyb2xzKG9yaWdpbmFsRGlzYWJsZWRTdGF0ZXMpO1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGludmFsaWRGaWVsZHNTeW1ib2wpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2V0RGlzYWJsZWRTdGF0ZXNGb3JBbGxDb250cm9scyhvcmlnaW5hbERpc2FibGVkU3RhdGVzOiBBcnJheTx7IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4pOiB2b2lkIHtcblx0XHRvcmlnaW5hbERpc2FibGVkU3RhdGVzLmZvckVhY2goKGUpID0+IHtcblx0XHRcdGlmIChlLmRpc2FibGVkKSB7XG5cdFx0XHRcdGUuY29udHJvbC5kaXNhYmxlKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRlLmNvbnRyb2wuZW5hYmxlKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ import { isString } from 'lodash';
|
|
|
5
5
|
import { SortablejsModule } from 'ngx-sortablejs';
|
|
6
6
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
7
7
|
import { parse, format, startOfMonth, endOfMonth } from 'date-fns';
|
|
8
|
-
import { MAT_NATIVE_DATE_FORMATS, MAT_DATE_FORMATS, MatNativeDateModule } from '@angular/material/core';
|
|
8
|
+
import { MAT_NATIVE_DATE_FORMATS, MAT_DATE_FORMATS, DateAdapter, MatNativeDateModule } from '@angular/material/core';
|
|
9
9
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
10
10
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
11
11
|
import { MatInputModule } from '@angular/material/input';
|
|
@@ -163,13 +163,13 @@ class FormComponent {
|
|
|
163
163
|
}
|
|
164
164
|
trySubmit() {
|
|
165
165
|
var _a, _b;
|
|
166
|
-
this.formGroup.updateValueAndValidity();
|
|
167
166
|
this.formGroup.markAllAsTouched();
|
|
168
167
|
const allControls = this.getAllFormControls();
|
|
169
168
|
const originalDisabledStates = allControls.map(e => {
|
|
170
169
|
return { control: e, disabled: e.disabled };
|
|
171
170
|
});
|
|
172
171
|
allControls.forEach(e => this.disableInactiveFormControl(e));
|
|
172
|
+
allControls.forEach(e => e.updateValueAndValidity());
|
|
173
173
|
const values = this.formGroup.value;
|
|
174
174
|
if (this.formGroup.valid) {
|
|
175
175
|
this.setDisabledStatesForAllControls(originalDisabledStates);
|
|
@@ -558,13 +558,16 @@ class SelectComponent extends ValueAccessorBase {
|
|
|
558
558
|
getDefaultTranslation(key) {
|
|
559
559
|
switch (key) {
|
|
560
560
|
case 'placeholder':
|
|
561
|
-
return () =>
|
|
561
|
+
return () => 'Pick an option';
|
|
562
562
|
case 'amountSelected':
|
|
563
563
|
return (amount) => `${amount} selected`;
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
566
|
getTranslation(key, params = null) {
|
|
567
567
|
var _a, _b, _c;
|
|
568
|
+
if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
|
|
569
|
+
return this.placeholder;
|
|
570
|
+
}
|
|
568
571
|
return (_c = (_b = (_a = this.translations) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.call(_a, params)) !== null && _c !== void 0 ? _c : this.getDefaultTranslation(key)(params);
|
|
569
572
|
}
|
|
570
573
|
}
|
|
@@ -935,7 +938,7 @@ class DatePickerComponent extends MultipleValueAccessorBase {
|
|
|
935
938
|
getDefaultTranslation(key) {
|
|
936
939
|
switch (key) {
|
|
937
940
|
case 'placeholder':
|
|
938
|
-
return () =>
|
|
941
|
+
return () => 'Select date';
|
|
939
942
|
}
|
|
940
943
|
}
|
|
941
944
|
getTranslation(key, params = null) {
|
|
@@ -943,6 +946,9 @@ class DatePickerComponent extends MultipleValueAccessorBase {
|
|
|
943
946
|
if (key === 'placeholder' && this.multiple) {
|
|
944
947
|
return '';
|
|
945
948
|
}
|
|
949
|
+
if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
|
|
950
|
+
return this.placeholder;
|
|
951
|
+
}
|
|
946
952
|
return (_c = (_b = (_a = this.translations) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.call(_a, params)) !== null && _c !== void 0 ? _c : this.getDefaultTranslation(key)(params);
|
|
947
953
|
}
|
|
948
954
|
}
|
|
@@ -970,16 +976,19 @@ DatePickerComponent.propDecorators = {
|
|
|
970
976
|
|
|
971
977
|
const KLP_DATE_FORMATS = new InjectionToken('klp.form.date.formats');
|
|
972
978
|
const DATE_TIME_PICKER_TRANSLATIONS = new InjectionToken('klp.form.dateTime.translations');
|
|
979
|
+
const DATE_PICKER_LOCALE = new InjectionToken('klp.form.dateTime.locale');
|
|
973
980
|
function matDateFormatsFactory(component, dateFormats) {
|
|
974
981
|
var _a;
|
|
975
982
|
return (_a = dateFormats === null || dateFormats === void 0 ? void 0 : dateFormats(component.format)) !== null && _a !== void 0 ? _a : MAT_NATIVE_DATE_FORMATS;
|
|
976
983
|
}
|
|
977
984
|
class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
978
|
-
constructor(parent, controlContainer, translations, cdr) {
|
|
985
|
+
constructor(parent, controlContainer, translations, datePickerLocale, dateAdapter, cdr) {
|
|
979
986
|
super(parent, controlContainer);
|
|
980
987
|
this.parent = parent;
|
|
981
988
|
this.controlContainer = controlContainer;
|
|
982
989
|
this.translations = translations;
|
|
990
|
+
this.datePickerLocale = datePickerLocale;
|
|
991
|
+
this.dateAdapter = dateAdapter;
|
|
983
992
|
this.cdr = cdr;
|
|
984
993
|
this.minDate = undefined;
|
|
985
994
|
this.maxDate = undefined;
|
|
@@ -1006,6 +1015,9 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
1006
1015
|
}
|
|
1007
1016
|
return true;
|
|
1008
1017
|
};
|
|
1018
|
+
if (isValueSet(datePickerLocale)) {
|
|
1019
|
+
dateAdapter.setLocale(datePickerLocale());
|
|
1020
|
+
}
|
|
1009
1021
|
}
|
|
1010
1022
|
ngOnInit() {
|
|
1011
1023
|
super.ngOnInit();
|
|
@@ -1218,7 +1230,7 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
1218
1230
|
getDefaultTranslation(key) {
|
|
1219
1231
|
switch (key) {
|
|
1220
1232
|
case 'placeholder':
|
|
1221
|
-
return () =>
|
|
1233
|
+
return () => 'Select date';
|
|
1222
1234
|
case 'selectDays':
|
|
1223
1235
|
return () => 'Select day(s)';
|
|
1224
1236
|
case 'selectedDate':
|
|
@@ -1234,6 +1246,9 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
1234
1246
|
if (key === 'placeholder' && this.multiple) {
|
|
1235
1247
|
return '';
|
|
1236
1248
|
}
|
|
1249
|
+
if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
|
|
1250
|
+
return this.placeholder;
|
|
1251
|
+
}
|
|
1237
1252
|
return (_c = (_b = (_a = this.translations) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.call(_a, params)) !== null && _c !== void 0 ? _c : this.getDefaultTranslation(key)(params);
|
|
1238
1253
|
}
|
|
1239
1254
|
}
|
|
@@ -1247,7 +1262,7 @@ DateTimePickerComponent.decorators = [
|
|
|
1247
1262
|
provide: MAT_DATE_FORMATS,
|
|
1248
1263
|
deps: [DateTimePickerComponent, [new Optional(), KLP_DATE_FORMATS]],
|
|
1249
1264
|
useFactory: matDateFormatsFactory,
|
|
1250
|
-
}
|
|
1265
|
+
},
|
|
1251
1266
|
],
|
|
1252
1267
|
styles: [":host{display:block}:host ::ng-deep mat-form-field{display:block;height:100%}:host ::ng-deep mat-form-field.mat-focused .mat-form-field-label,:host ::ng-deep mat-form-field .mat-form-field-label{color:#adadad}:host ::ng-deep .mat-datepicker-toggle-active{color:#666}:host ::ng-deep .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field-flex{flex-direction:row-reverse}:host ::ng-deep .mat-form-field-infix{border-top:none;width:auto}:host ::ng-deep .mat-form-field-suffix{margin-right:.625rem}:host ::ng-deep .mat-form-field-suffix:hover .mat-button-focus-overlay{opacity:.1}:host ::ng-deep .mat-form-field-underline{display:none}:host ::ng-deep .daysSelectedCaption{cursor:pointer}:host ::ng-deep .daysSelectedCaption.disabled{cursor:zoom-in}:host ::ng-deep .inputForMultipleDays{display:none}.componentContainer{border-radius:2px;color:#888da8;display:flex;position:relative}.componentContainer .placeholderForMultipleSelection{color:#adadad}.componentContainer.showErrors .clearButton.withoutSpacing,.componentContainer.showErrors .dateContainer,.componentContainer.showErrors .timeContainer{border-color:#ff8000}.componentContainer .clearButton{align-items:center;background:#fff;border:1px solid #e6ecf5;color:#7b7b7b;display:flex;flex:0 0 auto;font-size:18px;margin-left:1.25rem;padding:6px 14px}.componentContainer .clearButton.withoutSpacing{border-left:none;margin-left:0}.componentContainer .clearButton:disabled{background:#f9f9f9;border:1px solid #e6ecf5}.componentContainer .dateContainer{background:#fff;border:1px solid #e6ecf5;flex:1 1 auto;padding:6px}.componentContainer .dateContainer.noRightBorder{border-right:none}.componentContainer .dateContainer.disabled{background:#f9f9f9}.componentContainer .timeContainer{align-items:center;background:#fff;border:1px solid #e6ecf5;display:flex;flex:0 0 auto;margin-left:1.25rem;padding:6px .625rem}.componentContainer .timeContainer.disabled{background:#f9f9f9}.componentContainer .timeContainer input{border:none;color:#888da8;padding:0;text-align:center;width:20px}.componentContainer .timeContainer input::-moz-placeholder{color:#adadad}.componentContainer .timeContainer input:-ms-input-placeholder{color:#adadad}.componentContainer .timeContainer input::placeholder{color:#adadad}.componentContainer .timeContainer .divider{margin:0 .3125rem}"]
|
|
1253
1268
|
},] }
|
|
@@ -1256,6 +1271,8 @@ DateTimePickerComponent.ctorParameters = () => [
|
|
|
1256
1271
|
{ type: FormElementComponent, decorators: [{ type: Host }, { type: Optional }] },
|
|
1257
1272
|
{ type: ControlContainer, decorators: [{ type: Host }, { type: Optional }] },
|
|
1258
1273
|
{ type: undefined, decorators: [{ type: Inject, args: [DATE_TIME_PICKER_TRANSLATIONS,] }, { type: Optional }] },
|
|
1274
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DATE_PICKER_LOCALE,] }, { type: Optional }] },
|
|
1275
|
+
{ type: DateAdapter },
|
|
1259
1276
|
{ type: ChangeDetectorRef }
|
|
1260
1277
|
];
|
|
1261
1278
|
DateTimePickerComponent.propDecorators = {
|
|
@@ -1350,5 +1367,5 @@ NgxEnhancyFormsModule.decorators = [
|
|
|
1350
1367
|
* Generated bundle index. Do not edit.
|
|
1351
1368
|
*/
|
|
1352
1369
|
|
|
1353
|
-
export { ButtonComponent, CheckboxComponent, DATE_PICKER_TRANSLATIONS, DATE_TIME_PICKER_TRANSLATIONS, DEFAULT_ERROR_MESSAGES, DatePickerComponent, DateTimePickerComponent, EmailInputComponent, FORM_ERROR_MESSAGES, FormCaptionComponent, FormComponent, FormElementComponent, FormErrorComponent, FormSubmitButtonComponent, KLP_DATE_FORMATS, LoadingIndicatorComponent, MultipleValueAccessorBase, NgxEnhancyFormsModule, NumberInputComponent, PasswordFieldComponent, SELECT_TRANSLATIONS, SelectComponent, SelectFooterComponent, SortableItemsComponent, SubFormDirective, TextInputComponent, ToggleComponent, ValueAccessorBase, dateValidator, invalidDateKey, invalidFieldsSymbol, matDateFormatsFactory, MaterialModule as ɵa };
|
|
1370
|
+
export { ButtonComponent, CheckboxComponent, DATE_PICKER_LOCALE, DATE_PICKER_TRANSLATIONS, DATE_TIME_PICKER_TRANSLATIONS, DEFAULT_ERROR_MESSAGES, DatePickerComponent, DateTimePickerComponent, EmailInputComponent, FORM_ERROR_MESSAGES, FormCaptionComponent, FormComponent, FormElementComponent, FormErrorComponent, FormSubmitButtonComponent, KLP_DATE_FORMATS, LoadingIndicatorComponent, MultipleValueAccessorBase, NgxEnhancyFormsModule, NumberInputComponent, PasswordFieldComponent, SELECT_TRANSLATIONS, SelectComponent, SelectFooterComponent, SortableItemsComponent, SubFormDirective, TextInputComponent, ToggleComponent, ValueAccessorBase, dateValidator, invalidDateKey, invalidFieldsSymbol, matDateFormatsFactory, MaterialModule as ɵa };
|
|
1354
1371
|
//# sourceMappingURL=klippa-ngx-enhancy-forms.js.map
|