@updevs/components 1.0.0-alpha.53 → 1.0.0-alpha.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +26 -16
- package/esm2022/form/form.component.mjs +61 -3
- package/esm2022/form/models/attachment-rule.model.mjs +2 -0
- package/esm2022/form/models/button-field.model.mjs +2 -0
- package/esm2022/form/models/button-group-field.model.mjs +2 -0
- package/esm2022/form/models/dynamic-field.model.mjs +1 -1
- package/esm2022/form/models/enums/attachment-type.enum.mjs +15 -0
- package/esm2022/form/models/enums/dynamic-field.type.mjs +3 -1
- package/esm2022/form/models/enums/public-api.mjs +2 -1
- package/esm2022/form/models/public-api.mjs +2 -1
- package/esm2022/form-controls/select/components/single/select.component.mjs +1 -2
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +18 -7
- package/fesm2022/updevs-components-form-controls-select.mjs +17 -7
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
- package/fesm2022/updevs-components-form.mjs +102 -19
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/form/components/dynamic-field/dynamic-field.component.d.ts +6 -2
- package/form/form.component.d.ts +4 -0
- package/form/models/attachment-rule.model.d.ts +35 -0
- package/form/models/button-field.model.d.ts +5 -0
- package/form/models/button-group-field.model.d.ts +5 -0
- package/form/models/dynamic-field.model.d.ts +16 -0
- package/form/models/enums/attachment-type.enum.d.ts +13 -0
- package/form/models/enums/dynamic-field.type.d.ts +3 -1
- package/form/models/enums/public-api.d.ts +1 -0
- package/form/models/public-api.d.ts +1 -0
- package/form-controls/select/models/abstractions/base-select.component.d.ts +23 -17
- package/package.json +25 -25
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './enums/public-api';
|
|
2
|
+
export * from './attachment-rule.model';
|
|
2
3
|
export * from './checkbox-field.model';
|
|
3
4
|
export * from './checkbox-group-field.model';
|
|
4
5
|
export * from './dynamic-field.model';
|
|
@@ -13,4 +14,4 @@ export * from './radio-group-field.model';
|
|
|
13
14
|
export * from './select-field.model';
|
|
14
15
|
export * from './single-select-field.model';
|
|
15
16
|
export * from './textarea-field.model';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtL3NyYy9tb2RlbHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQtcnVsZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtZ3JvdXAtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tcm93Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXNrZWQtaW5wdXQtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JhZGlvLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tZ3JvdXAtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zaW5nbGUtc2VsZWN0LWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGFyZWEtZmllbGQubW9kZWwnO1xuIl19
|
|
@@ -53,7 +53,6 @@ export class SelectComponent extends BaseSelectComponent {
|
|
|
53
53
|
clearSelection() {
|
|
54
54
|
this.currentSelection = undefined;
|
|
55
55
|
this._currentTerm = undefined;
|
|
56
|
-
this.search();
|
|
57
56
|
this.selectedItem.emit(undefined);
|
|
58
57
|
}
|
|
59
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -75,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
75
74
|
}], selectedItem: [{
|
|
76
75
|
type: Output
|
|
77
76
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7OztBQVN0RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFRcEQsSUFBYSxRQUFRLENBQUMsSUFBOEI7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBUUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsMEJBQTBCLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxTQUFTLENBQUM7SUFDckcsQ0FBQztJQUVEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUF0Qlo7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0IsK0JBQTBCLEdBQUksSUFBSSxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFLM0I7O1dBRUc7UUFDZ0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQVMvRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFakYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzFCLE1BQU07Z0JBQ1YsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztnQkFDeEMsTUFBTTtZQUNWLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3JCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBRTlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBMURRLGVBQWU7a0dBQWYsZUFBZSwwVENuQjVCLHlzTEF3SEE7OzJGRHJHYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTt3REFNNUIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ08sUUFBUTtzQkFBcEIsS0FBSztnQkFPYSxZQUFZO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2xpc3QnO1xuXG5pbXBvcnQgeyBCYXNlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Fic3RyYWN0aW9ucy9iYXNlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBpdCdsbCB1c2UgdGhlIGRlZmF1bHQgc3R5bGUgb2YgdGhlIE9TLCBubyBzZWFyY2ggY2FwYWJpbGl0aWVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHVzZVN5c3RlbVN0eWxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvdWxkU2hvd0NsZWFyQnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG91bGRUcnVuY2F0ZVNlbGVjdGVkVGV4dD8gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGlzQ29tcGFjdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldCBzZWxlY3RlZChpdGVtOiBPcHRpb25hbFR5cGU8U2VsZWN0SXRlbT4pIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gaXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE9wdGlvbmFsVHlwZTxTZWxlY3RJdGVtPj4oKTtcblxuICAgIGN1cnJlbnRTZWxlY3Rpb24/OiBTZWxlY3RJdGVtO1xuICAgIGdldCBjYW5UcnVuY2F0ZVRleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3VsZFRydW5jYXRlU2VsZWN0ZWRUZXh0ID09PSB0cnVlIHx8IHRoaXMuc2hvdWxkVHJ1bmNhdGVTZWxlY3RlZFRleHQgPT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEl0ZW0oaXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRlcm0gPSBpdGVtLnRleHQ7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGxvY2FsQmFja3VwSXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoKGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8uZmluZChjID0+IGMudmFsdWUgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEhdGhpcy5jdXJyZW50U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAobG9jYWxCYWNrdXBJdGVtLnZhbHVlID09PSBpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbG9jYWxCYWNrdXBJdGVtO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIG9uU3lzdGVtU2VsZWN0KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmxvY2FsSXRlbXMuZmluZChjID0+IGMudmFsdWUgPT0gZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUZXJtID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQodW5kZWZpbmVkKTtcbiAgICB9XG59XG4iLCJAaWYgKCEhbGFiZWxUZXh0KSB7XG4gICAgQGlmICghIWhpbnRUZXh0IHx8ICEhaGludFRlbXBsYXRlKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbbmdDbGFzc109XCJsYWJlbFNpemVDbGFzc2VzXCI+e3sgbGFiZWxUZXh0IH19PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhlbHBcIiBbdXBkUG9wb3Zlcl09XCJoaW50VGV4dFwiIFt1cGRQb3BvdmVyVGVtcGxhdGVdPVwiaGludFRlbXBsYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICBbdXBkUG9wb3ZlckFjdEFzVG9vbHRpcF09XCJoaW50QXNUb29sdGlwKClcIj5cbiAgICAgICAgICAgICAgICAgICAgP1xuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGxhYmVsIFtuZ0NsYXNzXT1cImxhYmVsU2l6ZUNsYXNzZXNcIj57eyBsYWJlbFRleHQgfX08L2xhYmVsPlxuICAgIH1cbn1cblxuQGlmICghdXNlU3lzdGVtU3R5bGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiBbYXR0ci5pZF09XCJuYW1lKClcIiBbbmdDbGFzc109XCJsYXlvdXRDbGFzc2VzKClcIj5cbiAgICAgICAgQGlmICghbGFiZWxUZXh0ICYmICghIWhpbnRUZXh0IHx8ICEhaGludFRlbXBsYXRlKCkpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUcGxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBhbGlnbi1zZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0taGVscFwiIFt1cGRQb3BvdmVyXT1cImhpbnRUZXh0XCIgW3VwZFBvcG92ZXJUZW1wbGF0ZV09XCJoaW50VGVtcGxhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdXBkUG9wb3ZlckFjdEFzVG9vbHRpcF09XCJoaW50QXNUb29sdGlwKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgID9cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUcGxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiAjc2VhcmNoQm94PlxuICAgICAgICAgICAgPGRpdiAjc2VhcmNoQm94Q2hpbGQgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNEcm9wZG93bk9wZW4gPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiIGNsYXNzPVwic2VsZWN0LXNlYXJjaC1ib3hcIj5cbiAgICAgICAgICAgICAgICA8dXBkLWlucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCIgW2lzSW5wdXRHcm91cEZsYXRdPVwidHJ1ZVwiICh2YWx1ZUNoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRQcmVwZW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIHRhYmxlckljb249XCJzZWFyY2hcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdXBkLWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dXBkLWxpc3QgI2xpc3QgW2l0ZW1zXT1cImxpc3RJdGVtc1wiIFttYXhIZWlnaHRdPVwiZHJvcGRvd25NYXhIZWlnaHQoKSArICdweCdcIiAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt3cmFwcGVyQ2xhc3Nlc109XCJkcm9wZG93bkNsYXNzZXNcIiBbaXNWaXNpYmxlXT1cImlzRHJvcGRvd25PcGVuXCIgW3Nob3VsZE92ZXJmbG93XT1cInRydWVcIiBbc2hvdWxkRGlzcGxheUl0ZW1zQ291bnRlcl09XCJ0cnVlXCI+XG4gICAgICAgIDwvdXBkLWxpc3Q+XG4gICAgPC9kaXY+XG59IEBlbHNlIHtcbiAgICBAaWYgKCFsYWJlbFRleHQgJiYgKCEhaGludFRleHQgfHwgISFoaW50VGVtcGxhdGUoKSkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudERlZmF1bHRTdHlsZVRwbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBhbGlnbi1zZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oZWxwXCIgW3VwZFBvcG92ZXJdPVwiaGludFRleHRcIiBbdXBkUG9wb3ZlclRlbXBsYXRlXT1cImhpbnRUZW1wbGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3VwZFBvcG92ZXJBY3RBc1Rvb2x0aXBdPVwiaGludEFzVG9vbHRpcCgpXCI+XG4gICAgICAgICAgICAgICAgICAgID9cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50RGVmYXVsdFN0eWxlVHBsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICB9XG59XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICA8ZGl2ICNjb21wb25lbnRCb3ggY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1mbGF0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbY2xhc3MucmVtb3ZlLWJvdHRvbS1yYWRpdXNdPVwiaXNEcm9wZG93bk9wZW5cIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5wZS1ub25lXT1cImlzRGlzYWJsZWQoKVwiIFtjbGFzcy5zZWxlY3QtY3Vyc29yLWRlZmF1bHRdPVwiIWlzRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgPyAnZGlzYWJsZWQnIDogdW5kZWZpbmVkXCIgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigpXCI+XG4gICAgICAgICAgICBAaWYgKCEhY3VycmVudFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNhblRydW5jYXRlVGV4dCA/ICdkLWJsb2NrIHRleHQtdHJ1bmNhdGUnIDogJydcIj57eyBjdXJyZW50U2VsZWN0aW9uLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIFtjbGFzcy5yZW1vdmUtYm90dG9tLXJhZGl1c109XCJpc0Ryb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgQGlmICghIWN1cnJlbnRTZWxlY3Rpb24gJiYgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiAoY2xpY2tlZCk9XCJjbGVhclNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3Nlcz1cImxpbmstc2Vjb25kYXJ5XCIgW2NsYXNzLnNlbGVjdC1jdXJzb3ItcG9pbnRlcl09XCIhaXNEaXNhYmxlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwie3RhYmxlckljb246J3gnfVwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiAoY2xpY2tlZCk9XCJvcGVuRHJvcGRvd24oKVwiXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9XCJsaW5rLXNlY29uZGFyeSBtcy0yXCIgW2NsYXNzLnNlbGVjdC1jdXJzb3ItcG9pbnRlcl09XCIhaXNEaXNhYmxlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwie3RhYmxlckljb246J2NoZXZyb24tZG93bid9XCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWxvYWRlci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSB0ZXh0LW11dGVkIHNlbGVjdC1sb2FkZXJcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50RGVmYXVsdFN0eWxlVHBsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFtjbGFzcy5jb21wYWN0XT1cImlzQ29tcGFjdFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIiBbYXR0ci5uYW1lXT1cIm5hbWUoKVwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3QtY3Vyc29yLXBvaW50ZXJdPVwiIWlzRGlzYWJsZWQoKVwiIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSA/ICdkaXNhYmxlZCcgOiB1bmRlZmluZWRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uU3lzdGVtU2VsZWN0KCRldmVudClcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBsb2NhbEl0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICBAaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgPG9wdGdyb3VwIFtsYWJlbF09XCJpdGVtLnRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW2F0dHIuc2VsZWN0ZWRdPVwiISFjdXJyZW50U2VsZWN0aW9uICYmIGNoaWxkLnZhbHVlID09PSBjdXJyZW50U2VsZWN0aW9uLnZhbHVlID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNoaWxkLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY2hpbGQudGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbYXR0ci5zZWxlY3RlZF09XCIhIWN1cnJlbnRTZWxlY3Rpb24gJiYgaXRlbS52YWx1ZSA9PT0gY3VycmVudFNlbGVjdGlvbi52YWx1ZSA/IHRydWUgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvc2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7OztBQVN0RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFRcEQsSUFBYSxRQUFRLENBQUMsSUFBOEI7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBUUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsMEJBQTBCLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxTQUFTLENBQUM7SUFDckcsQ0FBQztJQUVEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUF0Qlo7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0IsK0JBQTBCLEdBQUksSUFBSSxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFLM0I7O1dBRUc7UUFDZ0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQVMvRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFakYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzFCLE1BQU07Z0JBQ1YsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztnQkFDeEMsTUFBTTtZQUNWLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3JCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBRTlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBekRRLGVBQWU7a0dBQWYsZUFBZSwwVENuQjVCLHlzTEF3SEE7OzJGRHJHYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTt3REFNNUIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ08sUUFBUTtzQkFBcEIsS0FBSztnQkFPYSxZQUFZO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2xpc3QnO1xuXG5pbXBvcnQgeyBCYXNlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Fic3RyYWN0aW9ucy9iYXNlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBpdCdsbCB1c2UgdGhlIGRlZmF1bHQgc3R5bGUgb2YgdGhlIE9TLCBubyBzZWFyY2ggY2FwYWJpbGl0aWVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHVzZVN5c3RlbVN0eWxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvdWxkU2hvd0NsZWFyQnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG91bGRUcnVuY2F0ZVNlbGVjdGVkVGV4dD8gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGlzQ29tcGFjdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldCBzZWxlY3RlZChpdGVtOiBPcHRpb25hbFR5cGU8U2VsZWN0SXRlbT4pIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gaXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE9wdGlvbmFsVHlwZTxTZWxlY3RJdGVtPj4oKTtcblxuICAgIGN1cnJlbnRTZWxlY3Rpb24/OiBTZWxlY3RJdGVtO1xuICAgIGdldCBjYW5UcnVuY2F0ZVRleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3VsZFRydW5jYXRlU2VsZWN0ZWRUZXh0ID09PSB0cnVlIHx8IHRoaXMuc2hvdWxkVHJ1bmNhdGVTZWxlY3RlZFRleHQgPT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEl0ZW0oaXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRlcm0gPSBpdGVtLnRleHQ7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGxvY2FsQmFja3VwSXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoKGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8uZmluZChjID0+IGMudmFsdWUgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEhdGhpcy5jdXJyZW50U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAobG9jYWxCYWNrdXBJdGVtLnZhbHVlID09PSBpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbG9jYWxCYWNrdXBJdGVtO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIG9uU3lzdGVtU2VsZWN0KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmxvY2FsSXRlbXMuZmluZChjID0+IGMudmFsdWUgPT0gZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUZXJtID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQodW5kZWZpbmVkKTtcbiAgICB9XG59XG4iLCJAaWYgKCEhbGFiZWxUZXh0KSB7XG4gICAgQGlmICghIWhpbnRUZXh0IHx8ICEhaGludFRlbXBsYXRlKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbbmdDbGFzc109XCJsYWJlbFNpemVDbGFzc2VzXCI+e3sgbGFiZWxUZXh0IH19PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhlbHBcIiBbdXBkUG9wb3Zlcl09XCJoaW50VGV4dFwiIFt1cGRQb3BvdmVyVGVtcGxhdGVdPVwiaGludFRlbXBsYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICBbdXBkUG9wb3ZlckFjdEFzVG9vbHRpcF09XCJoaW50QXNUb29sdGlwKClcIj5cbiAgICAgICAgICAgICAgICAgICAgP1xuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGxhYmVsIFtuZ0NsYXNzXT1cImxhYmVsU2l6ZUNsYXNzZXNcIj57eyBsYWJlbFRleHQgfX08L2xhYmVsPlxuICAgIH1cbn1cblxuQGlmICghdXNlU3lzdGVtU3R5bGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiBbYXR0ci5pZF09XCJuYW1lKClcIiBbbmdDbGFzc109XCJsYXlvdXRDbGFzc2VzKClcIj5cbiAgICAgICAgQGlmICghbGFiZWxUZXh0ICYmICghIWhpbnRUZXh0IHx8ICEhaGludFRlbXBsYXRlKCkpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUcGxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBhbGlnbi1zZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0taGVscFwiIFt1cGRQb3BvdmVyXT1cImhpbnRUZXh0XCIgW3VwZFBvcG92ZXJUZW1wbGF0ZV09XCJoaW50VGVtcGxhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdXBkUG9wb3ZlckFjdEFzVG9vbHRpcF09XCJoaW50QXNUb29sdGlwKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgID9cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUcGxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiAjc2VhcmNoQm94PlxuICAgICAgICAgICAgPGRpdiAjc2VhcmNoQm94Q2hpbGQgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNEcm9wZG93bk9wZW4gPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiIGNsYXNzPVwic2VsZWN0LXNlYXJjaC1ib3hcIj5cbiAgICAgICAgICAgICAgICA8dXBkLWlucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCIgW2lzSW5wdXRHcm91cEZsYXRdPVwidHJ1ZVwiICh2YWx1ZUNoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRQcmVwZW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIHRhYmxlckljb249XCJzZWFyY2hcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdXBkLWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dXBkLWxpc3QgI2xpc3QgW2l0ZW1zXT1cImxpc3RJdGVtc1wiIFttYXhIZWlnaHRdPVwiZHJvcGRvd25NYXhIZWlnaHQoKSArICdweCdcIiAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt3cmFwcGVyQ2xhc3Nlc109XCJkcm9wZG93bkNsYXNzZXNcIiBbaXNWaXNpYmxlXT1cImlzRHJvcGRvd25PcGVuXCIgW3Nob3VsZE92ZXJmbG93XT1cInRydWVcIiBbc2hvdWxkRGlzcGxheUl0ZW1zQ291bnRlcl09XCJ0cnVlXCI+XG4gICAgICAgIDwvdXBkLWxpc3Q+XG4gICAgPC9kaXY+XG59IEBlbHNlIHtcbiAgICBAaWYgKCFsYWJlbFRleHQgJiYgKCEhaGludFRleHQgfHwgISFoaW50VGVtcGxhdGUoKSkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudERlZmF1bHRTdHlsZVRwbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBhbGlnbi1zZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oZWxwXCIgW3VwZFBvcG92ZXJdPVwiaGludFRleHRcIiBbdXBkUG9wb3ZlclRlbXBsYXRlXT1cImhpbnRUZW1wbGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3VwZFBvcG92ZXJBY3RBc1Rvb2x0aXBdPVwiaGludEFzVG9vbHRpcCgpXCI+XG4gICAgICAgICAgICAgICAgICAgID9cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50RGVmYXVsdFN0eWxlVHBsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICB9XG59XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICA8ZGl2ICNjb21wb25lbnRCb3ggY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1mbGF0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbY2xhc3MucmVtb3ZlLWJvdHRvbS1yYWRpdXNdPVwiaXNEcm9wZG93bk9wZW5cIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5wZS1ub25lXT1cImlzRGlzYWJsZWQoKVwiIFtjbGFzcy5zZWxlY3QtY3Vyc29yLWRlZmF1bHRdPVwiIWlzRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgPyAnZGlzYWJsZWQnIDogdW5kZWZpbmVkXCIgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigpXCI+XG4gICAgICAgICAgICBAaWYgKCEhY3VycmVudFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNhblRydW5jYXRlVGV4dCA/ICdkLWJsb2NrIHRleHQtdHJ1bmNhdGUnIDogJydcIj57eyBjdXJyZW50U2VsZWN0aW9uLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIFtjbGFzcy5yZW1vdmUtYm90dG9tLXJhZGl1c109XCJpc0Ryb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgQGlmICghIWN1cnJlbnRTZWxlY3Rpb24gJiYgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiAoY2xpY2tlZCk9XCJjbGVhclNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3Nlcz1cImxpbmstc2Vjb25kYXJ5XCIgW2NsYXNzLnNlbGVjdC1jdXJzb3ItcG9pbnRlcl09XCIhaXNEaXNhYmxlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwie3RhYmxlckljb246J3gnfVwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiAoY2xpY2tlZCk9XCJvcGVuRHJvcGRvd24oKVwiXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9XCJsaW5rLXNlY29uZGFyeSBtcy0yXCIgW2NsYXNzLnNlbGVjdC1jdXJzb3ItcG9pbnRlcl09XCIhaXNEaXNhYmxlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwie3RhYmxlckljb246J2NoZXZyb24tZG93bid9XCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWxvYWRlci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSB0ZXh0LW11dGVkIHNlbGVjdC1sb2FkZXJcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50RGVmYXVsdFN0eWxlVHBsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFtjbGFzcy5jb21wYWN0XT1cImlzQ29tcGFjdFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIiBbYXR0ci5uYW1lXT1cIm5hbWUoKVwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3QtY3Vyc29yLXBvaW50ZXJdPVwiIWlzRGlzYWJsZWQoKVwiIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSA/ICdkaXNhYmxlZCcgOiB1bmRlZmluZWRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uU3lzdGVtU2VsZWN0KCRldmVudClcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBsb2NhbEl0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICBAaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgPG9wdGdyb3VwIFtsYWJlbF09XCJpdGVtLnRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW2F0dHIuc2VsZWN0ZWRdPVwiISFjdXJyZW50U2VsZWN0aW9uICYmIGNoaWxkLnZhbHVlID09PSBjdXJyZW50U2VsZWN0aW9uLnZhbHVlID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNoaWxkLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY2hpbGQudGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbYXR0ci5zZWxlY3RlZF09XCIhIWN1cnJlbnRTZWxlY3Rpb24gJiYgaXRlbS52YWx1ZSA9PT0gY3VycmVudFNlbGVjdGlvbi52YWx1ZSA/IHRydWUgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvc2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, HostBinding, ElementRef,
|
|
1
|
+
import { Directive, HostBinding, ElementRef, inject, NgZone, Renderer2, RendererStyleFlags2, input, viewChild, computed, effect, afterNextRender, Injector, output } from '@angular/core';
|
|
2
2
|
import { DomEventsService, PositioningService } from '@updevs/sdk/layout';
|
|
3
3
|
import { Tools } from '@updevs/sdk/core';
|
|
4
4
|
import { ColumnSizeHelper } from '@updevs/components';
|
|
@@ -32,11 +32,11 @@ export class BaseSelectComponent extends BaseControl {
|
|
|
32
32
|
}
|
|
33
33
|
constructor() {
|
|
34
34
|
super();
|
|
35
|
-
this.dropdownOpenStatusChange = new EventEmitter();
|
|
36
35
|
this.componentBox = viewChild('componentBox', { read: ElementRef });
|
|
37
36
|
this.searchBox = viewChild('searchBox', { read: ElementRef });
|
|
38
37
|
this.searchBoxChild = viewChild('searchBoxChild', { read: ElementRef });
|
|
39
38
|
this.list = viewChild('list', { read: ElementRef });
|
|
39
|
+
this.dropdownOpenStatusChange = output();
|
|
40
40
|
/**
|
|
41
41
|
* Select items.
|
|
42
42
|
* If provided, the select will be considered static.
|
|
@@ -68,6 +68,11 @@ export class BaseSelectComponent extends BaseControl {
|
|
|
68
68
|
this.shouldAutoSearch = input(Defaults.shouldAutoSearch);
|
|
69
69
|
this.shouldCloseOnOutsideClick = input(Defaults.shouldCloseOnOutsideClick);
|
|
70
70
|
this.layout = input(Defaults.layout);
|
|
71
|
+
/**
|
|
72
|
+
* Value coming from a parent field when the rule `AttachmentTypeEnum.ParentLoad` is active.
|
|
73
|
+
* `upd-select` can use it to fetch the dependent list.
|
|
74
|
+
*/
|
|
75
|
+
this.parentValue = input();
|
|
71
76
|
this.layoutClasses = computed(() => this.layout() === 'horizontal' ? ['col', 'align-self-center'] : []);
|
|
72
77
|
this.isLoading = false;
|
|
73
78
|
this.localItems = [];
|
|
@@ -87,6 +92,11 @@ export class BaseSelectComponent extends BaseControl {
|
|
|
87
92
|
if (!!this.items()) {
|
|
88
93
|
this._setupLocalItems(this.items());
|
|
89
94
|
}
|
|
95
|
+
if (this.parentValue() !== this.previousParentValue) {
|
|
96
|
+
this.previousParentValue = this.parentValue();
|
|
97
|
+
this.clearSelection();
|
|
98
|
+
this.search();
|
|
99
|
+
}
|
|
90
100
|
});
|
|
91
101
|
}
|
|
92
102
|
ngOnInit() {
|
|
@@ -121,6 +131,7 @@ export class BaseSelectComponent extends BaseControl {
|
|
|
121
131
|
}
|
|
122
132
|
search(term) {
|
|
123
133
|
if (this.hasExternalList) {
|
|
134
|
+
this._currentTerm = term;
|
|
124
135
|
this.searchLocal();
|
|
125
136
|
}
|
|
126
137
|
else {
|
|
@@ -164,7 +175,9 @@ export class BaseSelectComponent extends BaseControl {
|
|
|
164
175
|
searchRemote() {
|
|
165
176
|
this.isLoading = true;
|
|
166
177
|
const request = { description: this._currentTerm };
|
|
167
|
-
const observable = !!this.observable()
|
|
178
|
+
const observable = !!this.observable()
|
|
179
|
+
? this.observable()(request, this.parentValue())
|
|
180
|
+
: this.store().search(request, this.parentValue());
|
|
168
181
|
observable.subscribe(r => {
|
|
169
182
|
const items = [];
|
|
170
183
|
r.records.forEach(item => {
|
|
@@ -205,14 +218,12 @@ export class BaseSelectComponent extends BaseControl {
|
|
|
205
218
|
this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
|
|
206
219
|
}
|
|
207
220
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
208
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.0", type: BaseSelectComponent, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, observable: { classPropertyName: "observable", publicName: "observable", isSignal: true, isRequired: false, transformFunction: null }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemValue: { classPropertyName: "itemValue", publicName: "itemValue", isSignal: true, isRequired: false, transformFunction: null }, dropdownMaxHeight: { classPropertyName: "dropdownMaxHeight", publicName: "dropdownMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounce: { classPropertyName: "typeaheadDebounce", publicName: "typeaheadDebounce", isSignal: true, isRequired: false, transformFunction: null }, shouldAutoSearch: { classPropertyName: "shouldAutoSearch", publicName: "shouldAutoSearch", isSignal: true, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
221
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.0", type: BaseSelectComponent, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, observable: { classPropertyName: "observable", publicName: "observable", isSignal: true, isRequired: false, transformFunction: null }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemValue: { classPropertyName: "itemValue", publicName: "itemValue", isSignal: true, isRequired: false, transformFunction: null }, dropdownMaxHeight: { classPropertyName: "dropdownMaxHeight", publicName: "dropdownMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounce: { classPropertyName: "typeaheadDebounce", publicName: "typeaheadDebounce", isSignal: true, isRequired: false, transformFunction: null }, shouldAutoSearch: { classPropertyName: "shouldAutoSearch", publicName: "shouldAutoSearch", isSignal: true, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, parentValue: { classPropertyName: "parentValue", publicName: "parentValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
209
222
|
}
|
|
210
223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseSelectComponent, decorators: [{
|
|
211
224
|
type: Directive
|
|
212
225
|
}], ctorParameters: () => [], propDecorators: { wrapperClasses: [{
|
|
213
226
|
type: HostBinding,
|
|
214
227
|
args: ['class']
|
|
215
|
-
}], dropdownOpenStatusChange: [{
|
|
216
|
-
type: Output
|
|
217
228
|
}] } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9tb2RlbHMvYWJzdHJhY3Rpb25zL2Jhc2Utc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBRVYsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQUUsTUFBTSxFQUNoQixlQUFlLEVBQ2YsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekMsT0FBTyxFQUEwQixnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxJQUFPLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDOztBQUczQixNQUFNLE9BQWdCLG1CQUFvQixTQUFRLFdBQVc7SUFDekQsSUFBMEIsY0FBYztRQUNwQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUE0Q0QsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLGNBQWMs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QXFCLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzSCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5SCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuSCxDQUFDOzhHQXpQaUIsbUJBQW1CO2tHQUFuQixtQkFBbUIscW5EQU1ZLFVBQVUsaUhBQ2hCLFVBQVUsMkhBQ0EsVUFBVSx1R0FDOUIsVUFBVTs7MkZBVHpCLG1CQUFtQjtrQkFEeEMsU0FBUzt3REFFb0IsY0FBYztzQkFBdkMsV0FBVzt1QkFBQyxPQUFPO2dCQUdELHdCQUF3QjtzQkFBMUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIE5nWm9uZSxcbiAgICBSZW5kZXJlcjIsXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcbiAgICBpbnB1dCxcbiAgICB2aWV3Q2hpbGQsXG4gICAgY29tcHV0ZWQsIGVmZmVjdCxcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgSW5qZWN0b3Jcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21FdmVudHNTZXJ2aWNlLCBQb3NpdGlvbmluZ1NlcnZpY2UsIENvbXB1dGVQb3NpdGlvblJlc3VsdCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUb29scyB9IGZyb20gJ0B1cGRldnMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVNlYXJjaFN0b3JlLCBPYnNlcnZhYmxlU2VhcmNoVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3N0b3Jlcyc7XG5pbXBvcnQgeyBIb3Jpem9udGFsVmVydGljYWxUeXBlLCBDb2x1bW5TaXplSGVscGVyIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgQmFzZUNvbnRyb2wgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0IHsgdGFwLCBkZWJvdW5jZVRpbWUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uL3NlbGVjdC1pdGVtJztcbmltcG9ydCB7IERlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMnO1xuXG5pbXBvcnQgVXRpbHMgPSBUb29scy5VdGlscztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb250cm9sIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IHdyYXBwZXJDbGFzc2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0V3JhcHBlckNsYXNzZXMoKTtcbiAgICB9XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGRyb3Bkb3duT3BlblN0YXR1c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbXBvbmVudEJveCA9IHZpZXdDaGlsZCgnY29tcG9uZW50Qm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICAgIHNlYXJjaEJveCA9IHZpZXdDaGlsZCgnc2VhcmNoQm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICAgIHNlYXJjaEJveENoaWxkID0gdmlld0NoaWxkKCdzZWFyY2hCb3hDaGlsZCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgICBsaXN0ID0gdmlld0NoaWxkKCdsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGl0ZW1zLlxuICAgICAqIElmIHByb3ZpZGVkLCB0aGUgc2VsZWN0IHdpbGwgYmUgY29uc2lkZXJlZCBzdGF0aWMuXG4gICAgICovXG4gICAgaXRlbXMgPSBpbnB1dDxTZWxlY3RJdGVtW10+KCk7XG4gICAgLyoqXG4gICAgICogU3RvcmUgdXNlZCB0byBsb2FkL2ZpbHRlciB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgc3RvcmUgPSBpbnB1dDxCYXNlU2VhcmNoU3RvcmU+KCk7XG4gICAgLyoqXG4gICAgICogT2JzZXJ2YWJsZSB1c2VkIHRvIGxvYWQvZmlsdGVyIHRoZSBpdGVtcy5cbiAgICAgKi9cbiAgICBvYnNlcnZhYmxlID0gaW5wdXQ8T2JzZXJ2YWJsZVNlYXJjaFR5cGU+KCk7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIElEL2tleSBvZiB0aGUgb3B0aW9uLlxuICAgICAqICoqTm90ZToqKiB1c2VkIG9ubHkgZm9yIHJlbW90ZSBkYXRhLlxuICAgICAqL1xuICAgIGl0ZW1LZXkgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIHZhbHVlL2Rlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24uXG4gICAgICogKipOb3RlOioqIHVzZWQgb25seSBmb3IgcmVtb3RlIGRhdGEuXG4gICAgICovXG4gICAgaXRlbVZhbHVlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICBkcm9wZG93bk1heEhlaWdodCA9IGlucHV0KERlZmF1bHRzLmRyb3Bkb3duTWF4SGVpZ2h0KTtcbiAgICB0eXBlYWhlYWREZWJvdW5jZSA9IGlucHV0KERlZmF1bHRzLnR5cGVhaGVhZERlYm91bmNlKTtcbiAgICBzaG91bGRBdXRvU2VhcmNoID0gaW5wdXQoRGVmYXVsdHMuc2hvdWxkQXV0b1NlYXJjaCk7XG4gICAgc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljayA9IGlucHV0KERlZmF1bHRzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2spO1xuICAgIGxheW91dCA9IGlucHV0PEhvcml6b250YWxWZXJ0aWNhbFR5cGU+KERlZmF1bHRzLmxheW91dCk7XG4gICAgbGF5b3V0Q2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMubGF5b3V0KCkgPT09ICdob3Jpem9udGFsJyA/IFsnY29sJywgJ2FsaWduLXNlbGYtY2VudGVyJ10gOiBbXSk7XG4gICAgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgbG9jYWxJdGVtczogU2VsZWN0SXRlbVtdID0gW107XG4gICAgbGlzdEl0ZW1zOiBMaXN0SXRlbVtdID0gW107XG4gICAgZHJvcGRvd25DbGFzc2VzID0gJ3NlbGVjdC1kcm9wZG93bi1jb250ZW50IHJlbW92ZS10b3AtcmFkaXVzJztcbiAgICBnZXQgaXNEcm9wZG93bk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Ryb3Bkb3duT3BlbjtcbiAgICB9XG4gICAgc2V0IGlzRHJvcGRvd25PcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzRHJvcGRvd25PcGVuID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bk9wZW5TdGF0dXNDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQ2xhc3NlcyArPSAnIHNlbGVjdC1kcm9wZG93bi1jb250ZW50LW9wZW4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNsYXNzZXMgPSB0aGlzLmRyb3Bkb3duQ2xhc3Nlcy5yZXBsYWNlKCcgc2VsZWN0LWRyb3Bkb3duLWNvbnRlbnQtb3BlbicsICcnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgbGFiZWxTaXplQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5sYXlvdXQoKSAhPT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Zvcm0tbGFiZWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIENvbHVtblNpemVIZWxwZXIuZ2V0Q2xhc3NlcyhcbiAgICAgICAgICAgICdjb2wtZm9ybS1sYWJlbCcsXG4gICAgICAgICAgICBDb2x1bW5TaXplSGVscGVyLmdldFNpemVDbGFzc2VzKHRoaXMubGFiZWxDb2xTaXplKCksIDMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jdXJyZW50VGVybT86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2xvY2FsQmFja3VwSXRlbXM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBoYXNFeHRlcm5hbExpc3QgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgaG9zdFdyYXBwZXJDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sYXlvdXQoKSA9PT0gJ2hvcml6b250YWwnID8gJ3JvdycgOiAnJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hJbnB1dFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb21FdmVudHNTZXJ2aWNlID0gaW5qZWN0KERvbUV2ZW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9zaXRpb25pbmdTZXJ2aWNlID0gaW5qZWN0KFBvc2l0aW9uaW5nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuaXRlbXMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldHVwTG9jYWxJdGVtcyh0aGlzLml0ZW1zKCkhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRXh0ZXJuYWxMaXN0ID0gIXRoaXMub2JzZXJ2YWJsZSgpICYmICF0aGlzLnN0b3JlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQXV0b1NlYXJjaCgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNFeHRlcm5hbExpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXModGhpcy5pdGVtcygpISk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVtb3RlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNFeHRlcm5hbExpc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHR5cGVhaGVhZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoSW5wdXRTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAodmFsdWUgPT4gdGhpcy5fY3VycmVudFRlcm0gPSB2YWx1ZSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMudHlwZWFoZWFkRGVib3VuY2UoKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZWFyY2hSZW1vdGUoKSk7XG5cbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHR5cGVhaGVhZFN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHNpZGVDbGlja1N1YiA9IHRoaXMuZG9tRXZlbnRzU2VydmljZS5zdGFydE91dHNpZGVDbGlja0xpc3RlbmVyKFxuICAgICAgICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIHRoaXMubGlzdCgpPy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRCb3goKT8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEJveCgpPy5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKG91dHNpZGVDbGlja1N1Yik7XG4gICAgICAgIH1cblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uaW5nU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuY29tcHV0ZVBvc2l0aW9uKHRoaXMuY29tcG9uZW50Qm94KCkhLCB0aGlzLmxpc3QoKSEsIHsgcGxhY2VtZW50OiAnYm90dG9tJyB9KVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4gdGhpcy51cGRhdGVQb3NpdGlvbihyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgfVxuXG4gICAgc2VhcmNoKHRlcm0/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzRXh0ZXJuYWxMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaExvY2FsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0U3ViamVjdC5uZXh0KHRlcm0gfHwgJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZXR1cExvY2FsSXRlbXMoaXRlbXM6IFNlbGVjdEl0ZW1bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIGNvbnN0IHRlbXBJdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMuZ2V0TGlzdEl0ZW0oaXRlbSk7XG4gICAgICAgICAgICBpdGVtLmxpc3RJdGVtID0gT2JqZWN0LmFzc2lnbihsaXN0SXRlbSwge30pO1xuXG4gICAgICAgICAgICB0ZW1wSXRlbXMucHVzaChsaXN0SXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFsuLi50ZW1wSXRlbXNdO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoTG9jYWwoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudFRlcm0pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gVXRpbHMuZGVlcENvcHkodGhpcy5fbG9jYWxCYWNrdXBJdGVtcy5tYXAobGkgPT4gbGkubGlzdEl0ZW0hKSk7XG4gICAgICAgICAgICB0aGlzLmxvY2FsSXRlbXMgPSBVdGlscy5kZWVwQ29weSh0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gVXRpbHMuZGVlcENvcHk8U2VsZWN0SXRlbVtdPih0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKS5maWx0ZXIoc2kgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBoYXNDaGlsZHJlbkluU2VhcmNoID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBpZiAoKHNpLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuSW5TZWFyY2ggPSBzaS5jaGlsZHJlbiEuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2kgPT4gY2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICAgICAgKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBzaS50ZXh0IS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuX2N1cnJlbnRUZXJtIS50b0xvd2VyQ2FzZSgpKSB8fCBoYXNDaGlsZHJlbkluU2VhcmNoO1xuICAgICAgICAgICAgfSkubWFwKHNpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBia3BJdGVtID0gdGhpcy5fbG9jYWxCYWNrdXBJdGVtcy5maW5kKGxiaSA9PiBsYmkudmFsdWUgPT09IHNpLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICgoYmtwSXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc2kuY2hpbGRyZW4gPSBbLi4uYmtwSXRlbSEuY2hpbGRyZW4hXS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBjaSA9PiBjaS50ZXh0IS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuX2N1cnJlbnRUZXJtIS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtKHNpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaFJlbW90ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0geyBkZXNjcmlwdGlvbjogdGhpcy5fY3VycmVudFRlcm0gfTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9ICEhdGhpcy5vYnNlcnZhYmxlKCkgPyB0aGlzLm9ic2VydmFibGUoKSEocmVxdWVzdCkgOiB0aGlzLnN0b3JlKCkhLnNlYXJjaChyZXF1ZXN0KTtcblxuICAgICAgICBvYnNlcnZhYmxlLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgICAgICAgICAgci5yZWNvcmRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtW3RoaXMuaXRlbUtleSgpIV0sXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW1bdGhpcy5pdGVtVmFsdWUoKSFdLFxuICAgICAgICAgICAgICAgICAgICBvYmplY3REYXRhOiBpdGVtXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwTG9jYWxJdGVtcyhpdGVtcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGlzdEl0ZW0oaXRlbTogU2VsZWN0SXRlbSk6IExpc3RJdGVtIHtcbiAgICAgICAgbGV0IGxpc3RJdGVtOiBMaXN0SXRlbTtcblxuICAgICAgICBpZiAoISFpdGVtLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICBsaXN0SXRlbSA9IGl0ZW0ubGlzdEl0ZW07XG4gICAgICAgICAgICBsaXN0SXRlbS5pZCA9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICBsaXN0SXRlbS50ZXh0ID0gaXRlbS50ZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGlzdEl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgdGV4dDogaXRlbS50ZXh0XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICBsaXN0SXRlbS5jaGlsZHJlbiA9IFsuLi5pdGVtLmNoaWxkcmVuIV0ubWFwKGMgPT4gdGhpcy5nZXRMaXN0SXRlbShjKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbGlzdEl0ZW07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQb3NpdGlvbihyZXN1bHQ6IENvbXB1dGVQb3NpdGlvblJlc3VsdCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb21wb25lbnRCb3ggPSB0aGlzLmNvbXBvbmVudEJveCgpIS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzZWFyY2hCb3hDaGlsZEVsZW1lbnQgPSB0aGlzLnNlYXJjaEJveENoaWxkKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRkRWxlbWVudCA9IHRoaXMubGlzdCgpIS5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VhcmNoQm94Q2hpbGRFbGVtZW50LCAnd2lkdGgnLCBgJHtNYXRoLmFicyhjb21wb25lbnRCb3gud2lkdGgpfXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3RvcCcsIGAke3Jlc3VsdC55ICsgc2VhcmNoQm94Q2hpbGRFbGVtZW50LnNjcm9sbEhlaWdodH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdsZWZ0JywgMCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3dpZHRoJywgYCR7TWF0aC5hYnMoY29tcG9uZW50Qm94LndpZHRoKX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBjbGVhclNlbGVjdGlvbigpOiB2b2lkO1xuICAgIGFic3RyYWN0IG9uU2VsZWN0SXRlbShpdGVtOiBMaXN0SXRlbSk6IHZvaWQ7XG59XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9tb2RlbHMvYWJzdHJhY3Rpb25zL2Jhc2Utc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBSVYsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUFFLE1BQU0sRUFDaEIsZUFBZSxFQUNmLFFBQVEsRUFDUixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLEVBQTBCLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLElBQU8sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7O0FBRzNCLE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsV0FBVztJQUN6RCxJQUEwQixjQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQWtERCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLEtBQWM7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QWM7c0JBQXZDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIE5nWm9uZSxcbiAgICBSZW5kZXJlcjIsXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcbiAgICBpbnB1dCxcbiAgICB2aWV3Q2hpbGQsXG4gICAgY29tcHV0ZWQsIGVmZmVjdCxcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgb3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tRXZlbnRzU2VydmljZSwgUG9zaXRpb25pbmdTZXJ2aWNlLCBDb21wdXRlUG9zaXRpb25SZXN1bHQgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICdAdXBkZXZzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJhc2VTZWFyY2hTdG9yZSwgT2JzZXJ2YWJsZVNlYXJjaFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFZlcnRpY2FsVHlwZSwgQ29sdW1uU2l6ZUhlbHBlciB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcbmltcG9ydCB7IEJhc2VDb250cm9sIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvYWJzdHJhY3Rpb25zJztcbmltcG9ydCB7IHRhcCwgZGVib3VuY2VUaW1lLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi9zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBEZWZhdWx0cyB9IGZyb20gJy4uL2RlZmF1bHRzJztcblxuaW1wb3J0IFV0aWxzID0gVG9vbHMuVXRpbHM7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29udHJvbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCB3cmFwcGVyQ2xhc3NlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdFdyYXBwZXJDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgY29tcG9uZW50Qm94ID0gdmlld0NoaWxkKCdjb21wb25lbnRCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gICAgcmVhZG9ubHkgc2VhcmNoQm94ID0gdmlld0NoaWxkKCdzZWFyY2hCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gICAgcmVhZG9ubHkgc2VhcmNoQm94Q2hpbGQgPSB2aWV3Q2hpbGQoJ3NlYXJjaEJveENoaWxkJywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICAgIHJlYWRvbmx5IGxpc3QgPSB2aWV3Q2hpbGQoJ2xpc3QnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgICByZWFkb25seSBkcm9wZG93bk9wZW5TdGF0dXNDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbiAgICAvKipcbiAgICAgKiBTZWxlY3QgaXRlbXMuXG4gICAgICogSWYgcHJvdmlkZWQsIHRoZSBzZWxlY3Qgd2lsbCBiZSBjb25zaWRlcmVkIHN0YXRpYy5cbiAgICAgKi9cbiAgICByZWFkb25seSBpdGVtcyA9IGlucHV0PFNlbGVjdEl0ZW1bXT4oKTtcbiAgICAvKipcbiAgICAgKiBTdG9yZSB1c2VkIHRvIGxvYWQvZmlsdGVyIHRoZSBpdGVtcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBzdG9yZSA9IGlucHV0PEJhc2VTZWFyY2hTdG9yZT4oKTtcbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHVzZWQgdG8gbG9hZC9maWx0ZXIgdGhlIGl0ZW1zLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9ic2VydmFibGUgPSBpbnB1dDxPYnNlcnZhYmxlU2VhcmNoVHlwZT4oKTtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgSUQva2V5IG9mIHRoZSBvcHRpb24uXG4gICAgICogKipOb3RlOioqIHVzZWQgb25seSBmb3IgcmVtb3RlIGRhdGEuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXRlbUtleSA9IGlucHV0PHN0cmluZz4oKTtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgdmFsdWUvZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi5cbiAgICAgKiAqKk5vdGU6KiogdXNlZCBvbmx5IGZvciByZW1vdGUgZGF0YS5cbiAgICAgKi9cbiAgICByZWFkb25seSBpdGVtVmFsdWUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgLyoqXG4gICAgICogTWF4aW11bSBoZWlnaHQgb2YgdGhlIGRyb3Bkb3duLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRyb3Bkb3duTWF4SGVpZ2h0ID0gaW5wdXQoRGVmYXVsdHMuZHJvcGRvd25NYXhIZWlnaHQpO1xuICAgIHJlYWRvbmx5IHR5cGVhaGVhZERlYm91bmNlID0gaW5wdXQoRGVmYXVsdHMudHlwZWFoZWFkRGVib3VuY2UpO1xuICAgIHJlYWRvbmx5IHNob3VsZEF1dG9TZWFyY2ggPSBpbnB1dChEZWZhdWx0cy5zaG91bGRBdXRvU2VhcmNoKTtcbiAgICByZWFkb25seSBzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrID0gaW5wdXQoRGVmYXVsdHMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljayk7XG4gICAgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8SG9yaXpvbnRhbFZlcnRpY2FsVHlwZT4oRGVmYXVsdHMubGF5b3V0KTtcbiAgICAvKipcbiAgICAgKiBWYWx1ZSBjb21pbmcgZnJvbSBhIHBhcmVudCBmaWVsZCB3aGVuIHRoZSBydWxlIGBBdHRhY2htZW50VHlwZUVudW0uUGFyZW50TG9hZGAgaXMgYWN0aXZlLlxuICAgICAqIGB1cGQtc2VsZWN0YCBjYW4gdXNlIGl0IHRvIGZldGNoIHRoZSBkZXBlbmRlbnQgbGlzdC5cbiAgICAgKi9cbiAgICByZWFkb25seSBwYXJlbnRWYWx1ZSA9IGlucHV0KCk7XG5cbiAgICBsYXlvdXRDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sYXlvdXQoKSA9PT0gJ2hvcml6b250YWwnID8gWydjb2wnLCAnYWxpZ24tc2VsZi1jZW50ZXInXSA6IFtdKTtcbiAgICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBsb2NhbEl0ZW1zOiBTZWxlY3RJdGVtW10gPSBbXTtcbiAgICBsaXN0SXRlbXM6IExpc3RJdGVtW10gPSBbXTtcbiAgICBkcm9wZG93bkNsYXNzZXMgPSAnc2VsZWN0LWRyb3Bkb3duLWNvbnRlbnQgcmVtb3ZlLXRvcC1yYWRpdXMnO1xuICAgIGdldCBpc0Ryb3Bkb3duT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRHJvcGRvd25PcGVuO1xuICAgIH1cbiAgICBzZXQgaXNEcm9wZG93bk9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNEcm9wZG93bk9wZW4gPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmRyb3Bkb3duT3BlblN0YXR1c0NoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25DbGFzc2VzICs9ICcgc2VsZWN0LWRyb3Bkb3duLWNvbnRlbnQtb3Blbic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQ2xhc3NlcyA9IHRoaXMuZHJvcGRvd25DbGFzc2VzLnJlcGxhY2UoJyBzZWxlY3QtZHJvcGRvd24tY29udGVudC1vcGVuJywgJycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBsYWJlbFNpemVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmxheW91dCgpICE9PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICAgIHJldHVybiAnZm9ybS1sYWJlbCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQ29sdW1uU2l6ZUhlbHBlci5nZXRDbGFzc2VzKFxuICAgICAgICAgICAgJ2NvbC1mb3JtLWxhYmVsJyxcbiAgICAgICAgICAgIENvbHVtblNpemVIZWxwZXIuZ2V0U2l6ZUNsYXNzZXModGhpcy5sYWJlbENvbFNpemUoKSwgMylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRUZXJtPzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfbG9jYWxCYWNrdXBJdGVtczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGhhc0V4dGVybmFsTGlzdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBob3N0V3JhcHBlckNsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxheW91dCgpID09PSAnaG9yaXpvbnRhbCcgPyAncm93JyA6ICcnKTtcbiAgICBwcml2YXRlIHByZXZpb3VzUGFyZW50VmFsdWU/OiBhbnk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hJbnB1dFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb21FdmVudHNTZXJ2aWNlID0gaW5qZWN0KERvbUV2ZW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9zaXRpb25pbmdTZXJ2aWNlID0gaW5qZWN0KFBvc2l0aW9uaW5nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuaXRlbXMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldHVwTG9jYWxJdGVtcyh0aGlzLml0ZW1zKCkhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50VmFsdWUoKSAhPT0gdGhpcy5wcmV2aW91c1BhcmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c1BhcmVudFZhbHVlID0gdGhpcy5wYXJlbnRWYWx1ZSgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhc0V4dGVybmFsTGlzdCA9ICF0aGlzLm9ic2VydmFibGUoKSAmJiAhdGhpcy5zdG9yZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZEF1dG9TZWFyY2goKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzRXh0ZXJuYWxMaXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0dXBMb2NhbEl0ZW1zKHRoaXMuaXRlbXMoKSEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFJlbW90ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzRXh0ZXJuYWxMaXN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0eXBlYWhlYWRTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaElucHV0U3ViamVjdFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKHZhbHVlID0+IHRoaXMuX2N1cnJlbnRUZXJtID0gdmFsdWUpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLnR5cGVhaGVhZERlYm91bmNlKCkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2VhcmNoUmVtb3RlKCkpO1xuXG4gICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyh0eXBlYWhlYWRTdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljaygpKSB7XG4gICAgICAgICAgICBjb25zdCBvdXRzaWRlQ2xpY2tTdWIgPSB0aGlzLmRvbUV2ZW50c1NlcnZpY2Uuc3RhcnRPdXRzaWRlQ2xpY2tMaXN0ZW5lcihcbiAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlKSxcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3QoKT8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Qm94KCk/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hCb3goKT8ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyhvdXRzaWRlQ2xpY2tTdWIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbmluZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmNvbXB1dGVQb3NpdGlvbih0aGlzLmNvbXBvbmVudEJveCgpISwgdGhpcy5saXN0KCkhLCB7IHBsYWNlbWVudDogJ2JvdHRvbScgfSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwID0+IHRoaXMudXBkYXRlUG9zaXRpb24ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9LCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pO1xuICAgIH1cblxuICAgIHNlYXJjaCh0ZXJtPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0V4dGVybmFsTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRlcm0gPSB0ZXJtO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hMb2NhbCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dFN1YmplY3QubmV4dCh0ZXJtIHx8ICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0dXBMb2NhbEl0ZW1zKGl0ZW1zOiBTZWxlY3RJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbEl0ZW1zID0gVXRpbHMuZGVlcENvcHkoaXRlbXMpO1xuICAgICAgICB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zID0gVXRpbHMuZGVlcENvcHkoaXRlbXMpO1xuICAgICAgICBjb25zdCB0ZW1wSXRlbXM6IExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fbG9jYWxCYWNrdXBJdGVtcykge1xuICAgICAgICAgICAgY29uc3QgbGlzdEl0ZW0gPSB0aGlzLmdldExpc3RJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgaXRlbS5saXN0SXRlbSA9IE9iamVjdC5hc3NpZ24obGlzdEl0ZW0sIHt9KTtcblxuICAgICAgICAgICAgdGVtcEl0ZW1zLnB1c2gobGlzdEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbLi4udGVtcEl0ZW1zXTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaExvY2FsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRUZXJtKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzLmRlZXBDb3B5KHRoaXMuX2xvY2FsQmFja3VwSXRlbXMubWFwKGxpID0+IGxpLmxpc3RJdGVtISkpO1xuICAgICAgICAgICAgdGhpcy5sb2NhbEl0ZW1zID0gVXRpbHMuZGVlcENvcHkodGhpcy5fbG9jYWxCYWNrdXBJdGVtcyk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzLmRlZXBDb3B5PFNlbGVjdEl0ZW1bXT4odGhpcy5fbG9jYWxCYWNrdXBJdGVtcykuZmlsdGVyKHNpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgaGFzQ2hpbGRyZW5JblNlYXJjaCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKChzaS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbkluU2VhcmNoID0gc2kuY2hpbGRyZW4hLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGNpID0+IGNpLnRleHQhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5fY3VycmVudFRlcm0hLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgICAgICkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gc2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSkgfHwgaGFzQ2hpbGRyZW5JblNlYXJjaDtcbiAgICAgICAgICAgIH0pLm1hcChzaSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmtwSXRlbSA9IHRoaXMuX2xvY2FsQmFja3VwSXRlbXMuZmluZChsYmkgPT4gbGJpLnZhbHVlID09PSBzaS52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoKGJrcEl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHNpLmNoaWxkcmVuID0gWy4uLmJrcEl0ZW0hLmNoaWxkcmVuIV0uZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2kgPT4gY2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbShzaSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hSZW1vdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHsgZGVzY3JpcHRpb246IHRoaXMuX2N1cnJlbnRUZXJtIH07XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSAhIXRoaXMub2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICA/IHRoaXMub2JzZXJ2YWJsZSgpIShyZXF1ZXN0LCB0aGlzLnBhcmVudFZhbHVlKCkpXG4gICAgICAgICAgICA6IHRoaXMuc3RvcmUoKSEuc2VhcmNoKHJlcXVlc3QsIHRoaXMucGFyZW50VmFsdWUoKSk7XG5cbiAgICAgICAgb2JzZXJ2YWJsZS5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICAgICAgICAgIHIucmVjb3Jkcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbVt0aGlzLml0ZW1LZXkoKSFdLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtW3RoaXMuaXRlbVZhbHVlKCkhXSxcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0RGF0YTogaXRlbVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXMoaXRlbXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExpc3RJdGVtKGl0ZW06IFNlbGVjdEl0ZW0pOiBMaXN0SXRlbSB7XG4gICAgICAgIGxldCBsaXN0SXRlbTogTGlzdEl0ZW07XG5cbiAgICAgICAgaWYgKCEhaXRlbS5saXN0SXRlbSkge1xuICAgICAgICAgICAgbGlzdEl0ZW0gPSBpdGVtLmxpc3RJdGVtO1xuICAgICAgICAgICAgbGlzdEl0ZW0uaWQgPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgbGlzdEl0ZW0udGV4dCA9IGl0ZW0udGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3RJdGVtID0ge1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0udGV4dFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgbGlzdEl0ZW0uY2hpbGRyZW4gPSBbLi4uaXRlbS5jaGlsZHJlbiFdLm1hcChjID0+IHRoaXMuZ2V0TGlzdEl0ZW0oYykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxpc3RJdGVtO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24ocmVzdWx0OiBDb21wdXRlUG9zaXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50Qm94ID0gdGhpcy5jb21wb25lbnRCb3goKSEubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgc2VhcmNoQm94Q2hpbGRFbGVtZW50ID0gdGhpcy5zZWFyY2hCb3hDaGlsZCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBkZEVsZW1lbnQgPSB0aGlzLmxpc3QoKSEubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlYXJjaEJveENoaWxkRWxlbWVudCwgJ3dpZHRoJywgYCR7TWF0aC5hYnMoY29tcG9uZW50Qm94LndpZHRoKX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueSArIHNlYXJjaEJveENoaWxkRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnbGVmdCcsIDAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd3aWR0aCcsIGAke01hdGguYWJzKGNvbXBvbmVudEJveC53aWR0aCl9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgY2xlYXJTZWxlY3Rpb24oKTogdm9pZDtcbiAgICBhYnN0cmFjdCBvblNlbGVjdEl0ZW0oaXRlbTogTGlzdEl0ZW0pOiB2b2lkO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { viewChild, ElementRef, output, input, computed, inject, Renderer2, NgZone, Injector, effect, afterNextRender, RendererStyleFlags2, HostBinding, Directive, EventEmitter, Output, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { DomEventsService, PositioningService, UpdCoreLayoutModule } from '@updevs/sdk/layout';
|
|
4
4
|
import { Tools } from '@updevs/sdk/core';
|
|
5
5
|
import { ColumnSizeHelper } from '@updevs/components';
|
|
@@ -53,11 +53,11 @@ class BaseSelectComponent extends BaseControl {
|
|
|
53
53
|
}
|
|
54
54
|
constructor() {
|
|
55
55
|
super();
|
|
56
|
-
this.dropdownOpenStatusChange = new EventEmitter();
|
|
57
56
|
this.componentBox = viewChild('componentBox', { read: ElementRef });
|
|
58
57
|
this.searchBox = viewChild('searchBox', { read: ElementRef });
|
|
59
58
|
this.searchBoxChild = viewChild('searchBoxChild', { read: ElementRef });
|
|
60
59
|
this.list = viewChild('list', { read: ElementRef });
|
|
60
|
+
this.dropdownOpenStatusChange = output();
|
|
61
61
|
/**
|
|
62
62
|
* Select items.
|
|
63
63
|
* If provided, the select will be considered static.
|
|
@@ -89,6 +89,11 @@ class BaseSelectComponent extends BaseControl {
|
|
|
89
89
|
this.shouldAutoSearch = input(Defaults.shouldAutoSearch);
|
|
90
90
|
this.shouldCloseOnOutsideClick = input(Defaults.shouldCloseOnOutsideClick);
|
|
91
91
|
this.layout = input(Defaults.layout);
|
|
92
|
+
/**
|
|
93
|
+
* Value coming from a parent field when the rule `AttachmentTypeEnum.ParentLoad` is active.
|
|
94
|
+
* `upd-select` can use it to fetch the dependent list.
|
|
95
|
+
*/
|
|
96
|
+
this.parentValue = input();
|
|
92
97
|
this.layoutClasses = computed(() => this.layout() === 'horizontal' ? ['col', 'align-self-center'] : []);
|
|
93
98
|
this.isLoading = false;
|
|
94
99
|
this.localItems = [];
|
|
@@ -108,6 +113,11 @@ class BaseSelectComponent extends BaseControl {
|
|
|
108
113
|
if (!!this.items()) {
|
|
109
114
|
this._setupLocalItems(this.items());
|
|
110
115
|
}
|
|
116
|
+
if (this.parentValue() !== this.previousParentValue) {
|
|
117
|
+
this.previousParentValue = this.parentValue();
|
|
118
|
+
this.clearSelection();
|
|
119
|
+
this.search();
|
|
120
|
+
}
|
|
111
121
|
});
|
|
112
122
|
}
|
|
113
123
|
ngOnInit() {
|
|
@@ -142,6 +152,7 @@ class BaseSelectComponent extends BaseControl {
|
|
|
142
152
|
}
|
|
143
153
|
search(term) {
|
|
144
154
|
if (this.hasExternalList) {
|
|
155
|
+
this._currentTerm = term;
|
|
145
156
|
this.searchLocal();
|
|
146
157
|
}
|
|
147
158
|
else {
|
|
@@ -185,7 +196,9 @@ class BaseSelectComponent extends BaseControl {
|
|
|
185
196
|
searchRemote() {
|
|
186
197
|
this.isLoading = true;
|
|
187
198
|
const request = { description: this._currentTerm };
|
|
188
|
-
const observable = !!this.observable()
|
|
199
|
+
const observable = !!this.observable()
|
|
200
|
+
? this.observable()(request, this.parentValue())
|
|
201
|
+
: this.store().search(request, this.parentValue());
|
|
189
202
|
observable.subscribe(r => {
|
|
190
203
|
const items = [];
|
|
191
204
|
r.records.forEach(item => {
|
|
@@ -226,15 +239,13 @@ class BaseSelectComponent extends BaseControl {
|
|
|
226
239
|
this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
|
|
227
240
|
}
|
|
228
241
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
229
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.0", type: BaseSelectComponent, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, observable: { classPropertyName: "observable", publicName: "observable", isSignal: true, isRequired: false, transformFunction: null }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemValue: { classPropertyName: "itemValue", publicName: "itemValue", isSignal: true, isRequired: false, transformFunction: null }, dropdownMaxHeight: { classPropertyName: "dropdownMaxHeight", publicName: "dropdownMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounce: { classPropertyName: "typeaheadDebounce", publicName: "typeaheadDebounce", isSignal: true, isRequired: false, transformFunction: null }, shouldAutoSearch: { classPropertyName: "shouldAutoSearch", publicName: "shouldAutoSearch", isSignal: true, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
242
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.0", type: BaseSelectComponent, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, observable: { classPropertyName: "observable", publicName: "observable", isSignal: true, isRequired: false, transformFunction: null }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemValue: { classPropertyName: "itemValue", publicName: "itemValue", isSignal: true, isRequired: false, transformFunction: null }, dropdownMaxHeight: { classPropertyName: "dropdownMaxHeight", publicName: "dropdownMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounce: { classPropertyName: "typeaheadDebounce", publicName: "typeaheadDebounce", isSignal: true, isRequired: false, transformFunction: null }, shouldAutoSearch: { classPropertyName: "shouldAutoSearch", publicName: "shouldAutoSearch", isSignal: true, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, parentValue: { classPropertyName: "parentValue", publicName: "parentValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
230
243
|
}
|
|
231
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseSelectComponent, decorators: [{
|
|
232
245
|
type: Directive
|
|
233
246
|
}], ctorParameters: () => [], propDecorators: { wrapperClasses: [{
|
|
234
247
|
type: HostBinding,
|
|
235
248
|
args: ['class']
|
|
236
|
-
}], dropdownOpenStatusChange: [{
|
|
237
|
-
type: Output
|
|
238
249
|
}] } });
|
|
239
250
|
|
|
240
251
|
class SelectComponent extends BaseSelectComponent {
|
|
@@ -283,7 +294,6 @@ class SelectComponent extends BaseSelectComponent {
|
|
|
283
294
|
clearSelection() {
|
|
284
295
|
this.currentSelection = undefined;
|
|
285
296
|
this._currentTerm = undefined;
|
|
286
|
-
this.search();
|
|
287
297
|
this.selectedItem.emit(undefined);
|
|
288
298
|
}
|
|
289
299
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|