@ng-formworks/core 18.5.8 → 18.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/json-schema-form.component.mjs +24 -6
- package/esm2022/lib/json-schema-form.service.mjs +142 -31
- package/esm2022/lib/locale/de-validation-messages.mjs +4 -2
- package/esm2022/lib/locale/en-validation-messages.mjs +4 -2
- package/esm2022/lib/locale/es-validation-messages.mjs +4 -2
- package/esm2022/lib/locale/fr-validation-messages.mjs +4 -2
- package/esm2022/lib/locale/it-validation-messages.mjs +4 -2
- package/esm2022/lib/locale/pt-validation-messages.mjs +4 -2
- package/esm2022/lib/locale/zh-validation-messages.mjs +4 -2
- package/esm2022/lib/shared/form-group.functions.mjs +326 -14
- package/esm2022/lib/shared/format-regex.constants.mjs +2 -1
- package/esm2022/lib/shared/index.mjs +6 -6
- package/esm2022/lib/shared/json-schema.functions.mjs +96 -4
- package/esm2022/lib/shared/json.validators.mjs +11 -6
- package/esm2022/lib/shared/jsonpointer.functions.mjs +2 -2
- package/esm2022/lib/shared/layout.functions.mjs +172 -14
- package/esm2022/lib/shared/utility.functions.mjs +31 -1
- package/esm2022/lib/widget-library/add-reference.component.mjs +20 -16
- package/esm2022/lib/widget-library/button.component.mjs +5 -2
- package/esm2022/lib/widget-library/checkbox.component.mjs +13 -5
- package/esm2022/lib/widget-library/checkboxes.component.mjs +10 -3
- package/esm2022/lib/widget-library/file.component.mjs +5 -2
- package/esm2022/lib/widget-library/hidden.component.mjs +5 -2
- package/esm2022/lib/widget-library/input.component.mjs +4 -1
- package/esm2022/lib/widget-library/number.component.mjs +4 -1
- package/esm2022/lib/widget-library/one-of.component.mjs +88 -4
- package/esm2022/lib/widget-library/radios.component.mjs +6 -3
- package/esm2022/lib/widget-library/root.component.mjs +74 -1
- package/esm2022/lib/widget-library/select.component.mjs +92 -7
- package/esm2022/lib/widget-library/submit.component.mjs +3 -2
- package/esm2022/lib/widget-library/tabs.component.mjs +77 -29
- package/esm2022/lib/widget-library/textarea.component.mjs +5 -2
- package/esm2022/lib/widget-library/widget-library.module.mjs +15 -3
- package/fesm2022/ng-formworks-core.mjs +1317 -239
- package/fesm2022/ng-formworks-core.mjs.map +1 -1
- package/lib/json-schema-form.component.d.ts +10 -1
- package/lib/json-schema-form.service.d.ts +22 -4
- package/lib/shared/form-group.functions.d.ts +29 -1
- package/lib/shared/format-regex.constants.d.ts +2 -1
- package/lib/shared/index.d.ts +6 -6
- package/lib/shared/json-schema.functions.d.ts +22 -0
- package/lib/shared/json.validators.d.ts +2 -2
- package/lib/shared/layout.functions.d.ts +1 -1
- package/lib/shared/utility.functions.d.ts +15 -0
- package/lib/widget-library/button.component.d.ts +3 -2
- package/lib/widget-library/checkbox.component.d.ts +3 -2
- package/lib/widget-library/checkboxes.component.d.ts +3 -2
- package/lib/widget-library/file.component.d.ts +3 -2
- package/lib/widget-library/hidden.component.d.ts +3 -2
- package/lib/widget-library/index.d.ts +1 -1
- package/lib/widget-library/input.component.d.ts +3 -2
- package/lib/widget-library/number.component.d.ts +3 -2
- package/lib/widget-library/one-of.component.d.ts +4 -2
- package/lib/widget-library/radios.component.d.ts +3 -2
- package/lib/widget-library/root.component.d.ts +1 -0
- package/lib/widget-library/select.component.d.ts +5 -2
- package/lib/widget-library/textarea.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -32,6 +32,9 @@ export class NumberComponent {
|
|
|
32
32
|
updateValue(event) {
|
|
33
33
|
this.jsf.updateValue(this, event.target.value);
|
|
34
34
|
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this.jsf.updateValue(this, null);
|
|
37
|
+
}
|
|
35
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
39
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: NumberComponent, selector: "number-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true }, { propertyName: "div", first: true, predicate: ["divElt"], descendants: true }], ngImport: i0, template: `
|
|
37
40
|
<div #divElt [class]="options?.htmlClass || ''" class="sortable-filter" >
|
|
@@ -139,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
139
142
|
type: ViewChild,
|
|
140
143
|
args: ['divElt', {}]
|
|
141
144
|
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvbnVtYmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFvRHBFLHFDQUFxQztBQUNyQyxNQUFNLE9BQU8sZUFBZTtJQW5ENUI7UUFvRFUsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ1osZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBMkJqRDtJQXpCRywrRkFBK0Y7SUFDL0YsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQVFILFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7K0dBeENVLGVBQWU7bUdBQWYsZUFBZSxvcEJBaERkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0E2Q0g7OzRGQUdFLGVBQWU7a0JBbkQzQixTQUFTO21CQUFDO29CQUNQLDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBNkNIO2lCQUNWOzhCQXdCQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBSTdCLEdBQUc7c0JBREYsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ251bWJlci13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgI2RpdkVsdCBbY2xhc3NdPVwib3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnXCIgY2xhc3M9XCJzb3J0YWJsZS1maWx0ZXJcIiA+XHJcbiAgICAgIDxsYWJlbCAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgICBbYXR0ci5mb3JdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWRcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5sYWJlbEh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LnRpdGxlXCI+PC9sYWJlbD5cclxuICAgICAgPGlucHV0ICNpbnB1dENvbnRyb2wgKm5nSWY9XCJib3VuZENvbnRyb2xcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZCArICdTdGF0dXMnXCJcclxuICAgICAgICBbYXR0ci5tYXhdPVwib3B0aW9ucz8ubWF4aW11bVwiXHJcbiAgICAgICAgW2F0dHIubWluXT1cIm9wdGlvbnM/Lm1pbmltdW1cIlxyXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIm9wdGlvbnM/LnBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXHJcbiAgICAgICAgW2F0dHIucmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHkgPyAncmVhZG9ubHknIDogbnVsbFwiXHJcbiAgICAgICAgW2F0dHIuc3RlcF09XCJvcHRpb25zPy5tdWx0aXBsZU9mIHx8IG9wdGlvbnM/LnN0ZXAgfHwgJ2FueSdcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkXCJcclxuICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgIFt0aXRsZV09XCJsYXN0VmFsaWROdW1iZXJcIlxyXG4gICAgICAgIFt0eXBlXT1cImxheW91dE5vZGUoKT8udHlwZSA9PT0gJ3JhbmdlJyA/ICdyYW5nZScgOiAnbnVtYmVyJ1wiXHJcbiAgICAgICAgW2F0dHJpYnV0ZXNdPVwiaW5wdXRBdHRyaWJ1dGVzXCJcclxuXHJcbiAgICAgICAgPlxyXG4gICAgICA8aW5wdXQgI2lucHV0Q29udHJvbCAqbmdJZj1cIiFib3VuZENvbnRyb2xcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnU3RhdHVzJ1wiXHJcbiAgICAgICAgW2F0dHIubWF4XT1cIm9wdGlvbnM/Lm1heGltdW1cIlxyXG4gICAgICAgIFthdHRyLm1pbl09XCJvcHRpb25zPy5taW5pbXVtXCJcclxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJvcHRpb25zPy5wbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIlxyXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgIFthdHRyLnN0ZXBdPVwib3B0aW9ucz8ubXVsdGlwbGVPZiB8fCBvcHRpb25zPy5zdGVwIHx8ICdhbnknXCJcclxuICAgICAgICBbY2xhc3NdPVwib3B0aW9ucz8uZmllbGRIdG1sQ2xhc3MgfHwgJydcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZFwiXHJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcclxuICAgICAgICBbdGl0bGVdPVwibGFzdFZhbGlkTnVtYmVyXCJcclxuICAgICAgICBbdHlwZV09XCJsYXlvdXROb2RlKCk/LnR5cGUgPT09ICdyYW5nZScgPyAncmFuZ2UnIDogJ251bWJlcidcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJjb250cm9sVmFsdWVcIlxyXG4gICAgICAgIChpbnB1dCk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgICAgICBbYXR0cmlidXRlc109XCJpbnB1dEF0dHJpYnV0ZXNcIlxyXG4gICAgICAgID5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJsYXlvdXROb2RlKCk/LnR5cGUgPT09ICdyYW5nZSdcIiBbaW5uZXJIVE1MXT1cImNvbnRyb2xWYWx1ZVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PmAsXHJcbn0pXHJcbi8vVE9ETyBsb29rIGF0IHJldXNpbmcgSW5wdXRDb21wb25lbnRcclxuZXhwb3J0IGNsYXNzIE51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgYWxsb3dOZWdhdGl2ZSA9IHRydWU7XHJcbiAgYWxsb3dEZWNpbWFsID0gdHJ1ZTtcclxuICBhbGxvd0V4cG9uZW50cyA9IGZhbHNlO1xyXG4gIGxhc3RWYWxpZE51bWJlciA9ICcnO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuXHJcbiAgICAvL25lZWRlZCBhcyB0ZW1wbGF0ZXMgZG9uJ3QgYWNjZXB0IHNvbWV0aGluZyBsaWtlIFthdHRyaWJ1dGVzXT1cIm9wdGlvbnM/LlsneC1pbnB1dEF0dHJpYnV0ZXMnXVwiXHJcbiAgICBnZXQgaW5wdXRBdHRyaWJ1dGVzKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5bJ3gtaW5wdXRBdHRyaWJ1dGVzJ107XHJcbiAgICB9XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb250cm9sJywge30pXHJcbiAgaW5wdXRDb250cm9sOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdkaXZFbHQnLCB7fSlcclxuICBkaXY6IEVsZW1lbnRSZWY7XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICAgIGlmICh0aGlzLmxheW91dE5vZGUoKS5kYXRhVHlwZSA9PT0gJ2ludGVnZXInKSB7IHRoaXMuYWxsb3dEZWNpbWFsID0gZmFsc2U7IH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3kgKCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG4gIFxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, inject, input } from '@angular/core';
|
|
2
|
+
import { isEqual, isObject, pick } from 'lodash';
|
|
2
3
|
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
4
|
+
import { hasNonNullValue, hasOwn, JsonPointer, path2ControlKey } from '../shared';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./tabs.component";
|
|
4
7
|
// TODO: Add this control
|
|
5
8
|
export class OneOfComponent {
|
|
6
9
|
constructor() {
|
|
@@ -13,20 +16,101 @@ export class OneOfComponent {
|
|
|
13
16
|
}
|
|
14
17
|
ngOnInit() {
|
|
15
18
|
this.options = this.layoutNode().options || {};
|
|
19
|
+
this.options.tabMode = "oneOfMode";
|
|
20
|
+
this.options.selectedTab = this.findSelectedTab();
|
|
21
|
+
//this.options.description=this.options.description||"choose one of";
|
|
16
22
|
this.jsf.initializeControl(this);
|
|
17
23
|
}
|
|
24
|
+
findSelectedTab() {
|
|
25
|
+
//TODO test- this.jsf.formValues seems to be the initial data supplied to the form
|
|
26
|
+
//while the jsf.formGroup value is derived from the actual controls
|
|
27
|
+
//let formValue=this.jsf.getFormControlValue(this);
|
|
28
|
+
let foundInd = -1;
|
|
29
|
+
//seach for non null value
|
|
30
|
+
if (this.layoutNode().items) {
|
|
31
|
+
this.layoutNode().items.forEach((layoutItem, ind) => {
|
|
32
|
+
let formValue = JsonPointer.get(this.jsf.formValues, layoutItem.dataPointer);
|
|
33
|
+
if (layoutItem.oneOfPointer) {
|
|
34
|
+
let controlKey = path2ControlKey(layoutItem.oneOfPointer);
|
|
35
|
+
let fname = layoutItem.name;
|
|
36
|
+
if (hasOwn(this.jsf.formGroup.controls, controlKey) &&
|
|
37
|
+
(formValue || hasNonNullValue(this.jsf.formGroup.controls[controlKey].value))
|
|
38
|
+
//hasOwn(formValue,fname) && hasOwn(this.jsf.formGroup.controls,controlKey)
|
|
39
|
+
// && (formValue[fname] || this.jsf.formGroup.controls[controlKey].value)
|
|
40
|
+
//&&isEqual(formValue[fname],this.jsf.formGroup.controls[controlKey].value)
|
|
41
|
+
) {
|
|
42
|
+
foundInd = ind;
|
|
43
|
+
}
|
|
44
|
+
//foundInd=formValue[controlKey]!=null?ind:foundInd;
|
|
45
|
+
//if no exact match found, then search in descendant values
|
|
46
|
+
//to see which one of item matches
|
|
47
|
+
if (foundInd == -1) {
|
|
48
|
+
//find all descendant oneof paths
|
|
49
|
+
let descendantOneOfControlNames = Object.keys(this.jsf.formGroup.controls).filter(controlName => {
|
|
50
|
+
return controlName.startsWith(controlKey);
|
|
51
|
+
});
|
|
52
|
+
descendantOneOfControlNames.forEach(controlName => {
|
|
53
|
+
let parts = controlName.split('$');
|
|
54
|
+
let fieldName = parts[parts.length - 1];
|
|
55
|
+
let controlValue = this.jsf.formGroup.controls[controlName].value;
|
|
56
|
+
let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
|
|
57
|
+
let schemaPointer = parts.join("/");
|
|
58
|
+
let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
|
|
59
|
+
.replace(/(if|then|else|properties)\//g, '');
|
|
60
|
+
//JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
|
|
61
|
+
let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
|
|
62
|
+
let compareVal = dVal; //formValue;
|
|
63
|
+
//compare only values that are in the subschema properties
|
|
64
|
+
if (controlSchema && controlSchema.properties) {
|
|
65
|
+
compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
|
|
66
|
+
pick(dVal[fieldName], Object.keys(controlSchema.properties))
|
|
67
|
+
: pick(dVal, Object.keys(controlSchema.properties));
|
|
68
|
+
}
|
|
69
|
+
/*
|
|
70
|
+
if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
|
|
71
|
+
isEqual(compareVal[fieldName],controlValue)
|
|
72
|
+
){
|
|
73
|
+
foundInd=ind;
|
|
74
|
+
}else //if(formValue || controlValue){
|
|
75
|
+
if(isEqual(compareVal,controlValue)){
|
|
76
|
+
foundInd=ind;
|
|
77
|
+
}
|
|
78
|
+
*/
|
|
79
|
+
if (isEqual(compareVal, controlValue)) {
|
|
80
|
+
foundInd = ind;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
//now need to compare values
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return Math.max(foundInd, 0);
|
|
89
|
+
}
|
|
18
90
|
updateValue(event) {
|
|
19
91
|
this.jsf.updateValue(this, event.target.value);
|
|
20
92
|
}
|
|
93
|
+
ngOnDestroy() {
|
|
94
|
+
//this.jsf.updateValue(this, null);
|
|
95
|
+
}
|
|
21
96
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneOfComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: OneOfComponent, selector: "one-of-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template:
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: OneOfComponent, selector: "one-of-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<h4>{{this.options?.description}}</h4>
|
|
98
|
+
<tabs-widget #tabs [layoutNode]="layoutNode()"
|
|
99
|
+
[layoutIndex]="layoutIndex()"
|
|
100
|
+
[dataIndex]="dataIndex()" >
|
|
101
|
+
</tabs-widget>`, isInline: true, dependencies: [{ kind: "component", type: i1.TabsComponent, selector: "tabs-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
|
|
23
102
|
}
|
|
24
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OneOfComponent, decorators: [{
|
|
25
104
|
type: Component,
|
|
26
105
|
args: [{
|
|
27
106
|
// tslint:disable-next-line:component-selector
|
|
28
107
|
selector: 'one-of-widget',
|
|
29
|
-
template:
|
|
108
|
+
template: `<h4>{{this.options?.description}}</h4>
|
|
109
|
+
<tabs-widget #tabs [layoutNode]="layoutNode()"
|
|
110
|
+
[layoutIndex]="layoutIndex()"
|
|
111
|
+
[dataIndex]="dataIndex()" >
|
|
112
|
+
</tabs-widget>`,
|
|
113
|
+
standalone: false
|
|
30
114
|
}]
|
|
31
115
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXBFLHlCQUF5QjtBQU96QixNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1VLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVaLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQVVqRDtJQVJDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FwQlUsY0FBYzttR0FBZCxjQUFjLHNkQUZmLEVBQUU7OzRGQUVELGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgaW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuLy8gVE9ETzogQWRkIHRoaXMgY29udHJvbFxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnb25lLW9mLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT25lT2ZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFbEYseUJBQXlCO0FBWXpCLE1BQU0sT0FBTyxjQUFjO0lBVjNCO1FBV1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRVosZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBb0ZqRDtJQWxGQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hELHFFQUFxRTtRQUNyRSxJQUFJ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NUMsVUFBVSxHQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUM7b0NBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7b0NBQzNELENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7NEJBQ25ELENBQUM7NEJBQ0Q7Ozs7Ozs7Ozs4QkFTRTs0QkFDRixJQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQztnQ0FDbkMsUUFBUSxHQUFDLEdBQUcsQ0FBQzs0QkFDZixDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFBO3dCQUNGLDRCQUE0QjtvQkFDOUIsQ0FBQztnQkFDSCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUwsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULG1DQUFtQztJQUNyQyxDQUFDOytHQTlGVSxjQUFjO21HQUFkLGNBQWMsc2RBUGI7Ozs7bUJBSUs7OzRGQUdOLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1AsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7O21CQUlLO29CQUNmLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgaXNFcXVhbCwgaXNPYmplY3QsIHBpY2sgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBoYXNOb25OdWxsVmFsdWUsIGhhc093biwgSnNvblBvaW50ZXIsIHBhdGgyQ29udHJvbEtleSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnb25lLW9mLXdpZGdldCcsXHJcbiAgICB0ZW1wbGF0ZTogYDxoND57e3RoaXMub3B0aW9ucz8uZGVzY3JpcHRpb259fTwvaDQ+XHJcbiAgICA8dGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZSgpXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFxyXG4gICAgW2RhdGFJbmRleF09XCJkYXRhSW5kZXgoKVwiID5cclxuICAgIDwvdGFicy13aWRnZXQ+YCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgIGZpbmRTZWxlY3RlZFRhYigpe1xyXG4gICAgICAgIC8vVE9ETyB0ZXN0LSB0aGlzLmpzZi5mb3JtVmFsdWVzIHNlZW1zIHRvIGJlIHRoZSBpbml0aWFsIGRhdGEgc3VwcGxpZWQgdG8gdGhlIGZvcm1cclxuICAgICAgICAvL3doaWxlIHRoZSBqc2YuZm9ybUdyb3VwIHZhbHVlIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWN0dWFsIGNvbnRyb2xzXHJcbiAgICAgICAgLy9sZXQgZm9ybVZhbHVlPXRoaXMuanNmLmdldEZvcm1Db250cm9sVmFsdWUodGhpcyk7XHJcbiAgICAgICAgbGV0IGZvdW5kSW5kPS0xO1xyXG4gICAgICAgIC8vc2VhY2ggZm9yIG5vbiBudWxsIHZhbHVlXHJcbiAgICAgICAgaWYodGhpcy5sYXlvdXROb2RlKCkuaXRlbXMpe1xyXG4gICAgICAgICAgdGhpcy5sYXlvdXROb2RlKCkuaXRlbXMuZm9yRWFjaCgobGF5b3V0SXRlbSxpbmQpPT57XHJcbiAgICAgICAgICAgIGxldCBmb3JtVmFsdWU9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsbGF5b3V0SXRlbS5kYXRhUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgaWYobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xLZXk9cGF0aDJDb250cm9sS2V5KGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKTtcclxuICAgICAgICAgICAgICAgIGxldCBmbmFtZT1sYXlvdXRJdGVtLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBpZihoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpJiZcclxuICAgICAgICAgICAgICAgICAgKGZvcm1WYWx1ZSB8fCBoYXNOb25OdWxsVmFsdWUodGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKSlcclxuICAgICAgICAgICAgICAgICAgLy9oYXNPd24oZm9ybVZhbHVlLGZuYW1lKSAmJiBoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpIFxyXG4gICAgICAgICAgICAgICAgLy8gJiYgKGZvcm1WYWx1ZVtmbmFtZV0gfHwgdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICAvLyYmaXNFcXVhbChmb3JtVmFsdWVbZm5hbWVdLHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9mb3VuZEluZD1mb3JtVmFsdWVbY29udHJvbEtleV0hPW51bGw/aW5kOmZvdW5kSW5kO1xyXG4gICAgICAgICAgICAgICAgLy9pZiBubyBleGFjdCBtYXRjaCBmb3VuZCwgdGhlbiBzZWFyY2ggaW4gZGVzY2VuZGFudCB2YWx1ZXNcclxuICAgICAgICAgICAgICAgIC8vdG8gc2VlIHdoaWNoIG9uZSBvZiBpdGVtIG1hdGNoZXNcclxuICAgICAgICAgICAgICAgIGlmKGZvdW5kSW5kPT0tMSl7XHJcbiAgICAgICAgICAgICAgICAgIC8vZmluZCBhbGwgZGVzY2VuZGFudCBvbmVvZiBwYXRoc1xyXG4gICAgICAgICAgICAgICAgICBsZXQgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzPU9iamVjdC5rZXlzKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scykuZmlsdGVyKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xOYW1lLnN0YXJ0c1dpdGgoY29udHJvbEtleSk7XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcy5mb3JFYWNoKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnRzPWNvbnRyb2xOYW1lLnNwbGl0KCckJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpZWxkTmFtZT1wYXJ0c1twYXJ0cy5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZT10aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sU2NoZW1hPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5zY2hlbWEscGFydHMuam9pbihcIi9cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzY2hlbWFQb2ludGVyPXBhcnRzLmpvaW4oXCIvXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBkUG9pbnRlcj1zY2hlbWFQb2ludGVyLnJlcGxhY2UoLyhhbnlPZnxhbGxPZnxvbmVPZnxub25lKVxcL1tcXGRdK1xcLy9nLCAnJylcclxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvKGlmfHRoZW58ZWxzZXxwcm9wZXJ0aWVzKVxcLy9nLCAnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9Kc29uUG9pbnRlci50b0RhdGFQb2ludGVyKHBhcnRzLmpvaW4oXCIvXCIpLHRoaXMuanNmLnNjaGVtYSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRWYWw9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsZFBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wYXJlVmFsPWRWYWw7Ly9mb3JtVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb21wYXJlIG9ubHkgdmFsdWVzIHRoYXQgYXJlIGluIHRoZSBzdWJzY2hlbWEgcHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGNvbnRyb2xTY2hlbWEgJiYgY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVWYWw9aXNPYmplY3QoZFZhbCkgJiYgaGFzT3duKGRWYWwsZmllbGROYW1lKT9cclxuICAgICAgICAgICAgICAgICAgICAgIHBpY2soZFZhbFtmaWVsZE5hbWVdLE9iamVjdC5rZXlzKGNvbnRyb2xTY2hlbWEucHJvcGVydGllcykpXHJcbiAgICAgICAgICAgICAgICAgICAgICA6cGljayhkVmFsLE9iamVjdC5rZXlzKGNvbnRyb2xTY2hlbWEucHJvcGVydGllcykpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNPYmplY3QoY29tcGFyZVZhbCkgJiYgaGFzT3duKGNvbXBhcmVWYWwsZmllbGROYW1lKSAmJiBcclxuICAgICAgICAgICAgICAgICAgICBpc0VxdWFsKGNvbXBhcmVWYWxbZmllbGROYW1lXSxjb250cm9sVmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGNvbXBhcmVWYWwsY29udHJvbFZhbHVlKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNFcXVhbChjb21wYXJlVmFsLGNvbnRyb2xWYWx1ZSkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgLy9ub3cgbmVlZCB0byBjb21wYXJlIHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLm1heChmb3VuZEluZCwwKTtcclxuICAgICAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpIHtcclxuICAgIC8vdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Component, input, inject } from '@angular/core';
|
|
1
|
+
import { Component, inject, input } from '@angular/core';
|
|
3
2
|
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
3
|
+
import { buildTitleMap } from '../shared';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
6
|
export class RadiosComponent {
|
|
@@ -27,6 +27,9 @@ export class RadiosComponent {
|
|
|
27
27
|
updateValue(event) {
|
|
28
28
|
this.jsf.updateValue(this, event.target.value);
|
|
29
29
|
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
this.jsf.updateValue(this, null);
|
|
32
|
+
}
|
|
30
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadiosComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
34
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: RadiosComponent, selector: "radios-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
32
35
|
<label *ngIf="options?.title"
|
|
@@ -148,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
148
151
|
</div>`,
|
|
149
152
|
}]
|
|
150
153
|
}] });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvcmFkaW9zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQStEMUMsTUFBTSxPQUFPLGVBQWU7SUE1RDVCO1FBNkRVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixzQkFBaUIsR0FBRyxVQUFVLENBQUM7UUFDL0IsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUNkLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQXlCakQ7SUF2QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxlQUFlO1lBQ3JDLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFlBQVksQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7K0dBcENVLGVBQWU7bUdBQWYsZUFBZSxzZEF6RGhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBdUREOzs0RkFFRSxlQUFlO2tCQTVEM0IsU0FBUzttQkFBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0F1REQ7aUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgYnVpbGRUaXRsZU1hcCB9IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAncmFkaW9zLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxsYWJlbCAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgW2F0dHIuZm9yXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkXCJcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmxhYmVsSHRtbENsYXNzIHx8ICcnXCJcclxuICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcclxuICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvbGFiZWw+XHJcblxyXG4gICAgPCEtLSAnaG9yaXpvbnRhbCcgPSByYWRpb3MtaW5saW5lIG9yIHJhZGlvYnV0dG9ucyAtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJsYXlvdXRPcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnXCJcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxyXG4gICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IHJhZGlvSXRlbSBvZiByYWRpb3NMaXN0XCJcclxuICAgICAgICBbYXR0ci5mb3JdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnLycgKyByYWRpb0l0ZW0/LnZhbHVlXCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/Lml0ZW1MYWJlbEh0bWxDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgKChjb250cm9sVmFsdWUgKyAnJyA9PT0gcmFkaW9JdGVtPy52YWx1ZSArICcnKSA/XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArICcgJyArIChvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQgfHwgJycpKSA6XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LnN0eWxlPy51bnNlbGVjdGVkIHx8ICcnKSkpXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHkgPyAncmVhZG9ubHknIDogbnVsbFwiXHJcbiAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJyYWRpb0l0ZW0/LnZhbHVlID09PSBjb250cm9sVmFsdWVcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkICsgJy8nICsgcmFkaW9JdGVtPy52YWx1ZVwiXHJcbiAgICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwicmFkaW9JdGVtPy52YWx1ZVwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInJhZGlvSXRlbT8ubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gJ3ZlcnRpY2FsJyA9IHJlZ3VsYXIgcmFkaW9zIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cImxheW91dE9yaWVudGF0aW9uICE9PSAnaG9yaXpvbnRhbCdcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmFkaW9JdGVtIG9mIHJhZGlvc0xpc3RcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgICA8bGFiZWxcclxuICAgICAgICAgIFthdHRyLmZvcl09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZCArICcvJyArIHJhZGlvSXRlbT8udmFsdWVcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5pdGVtTGFiZWxIdG1sQ2xhc3MgfHwgJycpICtcclxuICAgICAgICAgICAgKChjb250cm9sVmFsdWUgKyAnJyA9PT0gcmFkaW9JdGVtPy52YWx1ZSArICcnKSA/XHJcbiAgICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJykpIDpcclxuICAgICAgICAgICAgKCcgJyArIChvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCB8fCAnJykpKVwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnU3RhdHVzJ1wiXHJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXHJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInJhZGlvSXRlbT8udmFsdWUgPT09IGNvbnRyb2xWYWx1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnLycgKyByYWRpb0l0ZW0/LnZhbHVlXCJcclxuICAgICAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwicmFkaW9JdGVtPy52YWx1ZVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJyYWRpb0l0ZW0/Lm5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRyb2xWYWx1ZTogYW55O1xyXG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICBsYXlvdXRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XHJcbiAgcmFkaW9zTGlzdDogYW55W10gPSBbXTtcclxuICByZWFkb25seSBsYXlvdXROb2RlID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlKCkub3B0aW9ucyB8fCB7fTtcclxuICAgIGNvbnN0IGxheW91dE5vZGUgPSB0aGlzLmxheW91dE5vZGUoKTtcclxuICAgIGlmIChsYXlvdXROb2RlLnR5cGUgPT09ICdyYWRpb3MtaW5saW5lJyB8fFxyXG4gICAgICBsYXlvdXROb2RlLnR5cGUgPT09ICdyYWRpb2J1dHRvbnMnXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5sYXlvdXRPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcclxuICAgIH1cclxuICAgIHRoaXMucmFkaW9zTGlzdCA9IGJ1aWxkVGl0bGVNYXAoXHJcbiAgICAgIHRoaXMub3B0aW9ucy50aXRsZU1hcCB8fCB0aGlzLm9wdGlvbnMuZW51bU5hbWVzLFxyXG4gICAgICB0aGlzLm9wdGlvbnMuZW51bSwgdHJ1ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBudWxsKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -34,11 +34,74 @@ export class RootComponent {
|
|
|
34
34
|
};
|
|
35
35
|
//must set moveLayout to false as nxtSortable already moves it
|
|
36
36
|
this.jsf.moveArrayItem(itemCtx, evt.oldIndex, evt.newIndex, false);
|
|
37
|
+
},
|
|
38
|
+
onMove: function (/**Event*/ evt, /**Event*/ originalEvent) {
|
|
39
|
+
if (evt.related.classList.contains("sortable-fixed")) {
|
|
40
|
+
//console.log(evt.related);
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
37
43
|
}
|
|
38
44
|
};
|
|
39
45
|
}
|
|
40
46
|
sortableInit(sortable) {
|
|
41
47
|
this.sortableObj = sortable;
|
|
48
|
+
///NB issue caused by sortablejs when it its destroyed
|
|
49
|
+
//this mainly affects checkboxes coupled with conditions
|
|
50
|
+
//-the value is rechecked
|
|
51
|
+
//-see https://github.com/SortableJS/Sortable/issues/1052#issuecomment-369613072
|
|
52
|
+
/* attempt to monkey patch sortable js
|
|
53
|
+
const originalMethod = sortable._nulling;
|
|
54
|
+
let zone=this.zone;
|
|
55
|
+
sortable._nulling=function() {
|
|
56
|
+
console.log(`pluginEvent 2 ${pluginEvent}`)
|
|
57
|
+
zone.runOutsideAngular(() => {
|
|
58
|
+
console.log(`pluginEvent3 ${pluginEvent}`)
|
|
59
|
+
pluginEvent('nulling', this);
|
|
60
|
+
|
|
61
|
+
rootEl =
|
|
62
|
+
dragEl =
|
|
63
|
+
parentEl =
|
|
64
|
+
ghostEl =
|
|
65
|
+
nextEl =
|
|
66
|
+
cloneEl =
|
|
67
|
+
lastDownEl =
|
|
68
|
+
cloneHidden =
|
|
69
|
+
|
|
70
|
+
tapEvt =
|
|
71
|
+
touchEvt =
|
|
72
|
+
|
|
73
|
+
moved =
|
|
74
|
+
newIndex =
|
|
75
|
+
newDraggableIndex =
|
|
76
|
+
oldIndex =
|
|
77
|
+
oldDraggableIndex =
|
|
78
|
+
|
|
79
|
+
lastTarget =
|
|
80
|
+
lastDirection =
|
|
81
|
+
|
|
82
|
+
putSortable =
|
|
83
|
+
activeGroup =
|
|
84
|
+
Sortable.dragged =
|
|
85
|
+
Sortable.ghost =
|
|
86
|
+
Sortable.clone =
|
|
87
|
+
Sortable.active = null;
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
let el = this.el;
|
|
91
|
+
savedInputChecked.forEach(function (checkEl) {
|
|
92
|
+
if (el.contains(checkEl)) {
|
|
93
|
+
checkEl.checked = true;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
savedInputChecked.length =
|
|
98
|
+
lastDx =
|
|
99
|
+
lastDy = 0;
|
|
100
|
+
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
}.bind(sortable)
|
|
104
|
+
*/
|
|
42
105
|
}
|
|
43
106
|
isDraggable(node) {
|
|
44
107
|
let result = node.arrayItem && node.type !== '$ref' &&
|
|
@@ -50,6 +113,12 @@ export class RootComponent {
|
|
|
50
113
|
}
|
|
51
114
|
return result;
|
|
52
115
|
}
|
|
116
|
+
//TODO also need to think of other types such as button which can be
|
|
117
|
+
//created by an arbitrary layout
|
|
118
|
+
isFixed(node) {
|
|
119
|
+
let result = node.type == '$ref';
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
53
122
|
// Set attributes for flexbox child
|
|
54
123
|
// (container attributes are set in section.component)
|
|
55
124
|
getFlexAttribute(node, attribute) {
|
|
@@ -89,6 +158,7 @@ export class RootComponent {
|
|
|
89
158
|
[style.flex-shrink]="getFlexAttribute(layoutItem, 'flex-shrink')"
|
|
90
159
|
[style.order]="(layoutItem.options || {}).order"
|
|
91
160
|
[class.sortable-filter]="!isDraggable(layoutItem)"
|
|
161
|
+
[class.sortable-fixed]="isFixed(layoutItem)"
|
|
92
162
|
>
|
|
93
163
|
<!--NB orderable directive is not used but has been left in for now and set to false
|
|
94
164
|
otherwise the compiler won't recognize dataIndex and other dependent attributes
|
|
@@ -99,6 +169,7 @@ export class RootComponent {
|
|
|
99
169
|
[layoutNode]="layoutItem"
|
|
100
170
|
[orderable]="false"
|
|
101
171
|
[class.sortable-filter]="!isDraggable(layoutItem)"
|
|
172
|
+
[class.sortable-fixed]="isFixed(layoutItem)"
|
|
102
173
|
>
|
|
103
174
|
<select-framework-widget *ngIf="showWidget(layoutItem)"
|
|
104
175
|
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
@@ -121,6 +192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
121
192
|
[style.flex-shrink]="getFlexAttribute(layoutItem, 'flex-shrink')"
|
|
122
193
|
[style.order]="(layoutItem.options || {}).order"
|
|
123
194
|
[class.sortable-filter]="!isDraggable(layoutItem)"
|
|
195
|
+
[class.sortable-fixed]="isFixed(layoutItem)"
|
|
124
196
|
>
|
|
125
197
|
<!--NB orderable directive is not used but has been left in for now and set to false
|
|
126
198
|
otherwise the compiler won't recognize dataIndex and other dependent attributes
|
|
@@ -131,6 +203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
131
203
|
[layoutNode]="layoutItem"
|
|
132
204
|
[orderable]="false"
|
|
133
205
|
[class.sortable-filter]="!isDraggable(layoutItem)"
|
|
206
|
+
[class.sortable-fixed]="isFixed(layoutItem)"
|
|
134
207
|
>
|
|
135
208
|
<select-framework-widget *ngIf="showWidget(layoutItem)"
|
|
136
209
|
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
@@ -141,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
141
214
|
</div>
|
|
142
215
|
`, standalone: false, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"] }]
|
|
143
216
|
}] });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQWtFcEUsTUFBTSxPQUFPLGFBQWE7SUEvRDFCO1FBa0VVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUduQyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxLQUFLLENBQVEsU0FBUyxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsU0FBUyxDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1uQyxtQkFBYyxHQUFLO1lBQ2pCLE1BQU0sRUFBQyxrQkFBa0IsRUFBQywwR0FBMEc7WUFDcEksZUFBZSxFQUFFLEtBQUssRUFBQyxzREFBc0Q7WUFDN0UsS0FBSyxFQUFFLElBQUk7WUFDWCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQSxHQUFHLEVBQUMsRUFBRTtnQkFDdEIsR0FBRyxDQUFDLFFBQVEsQ0FBQSxDQUFDLG9GQUFvRjtnQkFDakcsMkJBQTJCO2dCQUMzQix5Q0FBeUM7Z0JBQ3pDLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hC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QUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFBO2dCQUNGLDJDQUEyQztnQkFDM0Msd0NBQXdDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7K0dBeEZVLGFBQWE7bUdBQWIsYUFBYSx5dEJBNURkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNEJQOzs0RkFnQ1EsYUFBYTtrQkEvRHpCLFNBQVM7K0JBRUUsYUFBYSxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNEJQLGNBOEJTLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3Jvb3Qtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBbY2xhc3MuZmxleC1pbmhlcml0XT1cInRydWVcIiAjc29ydGFibGVDb250YWludGVyIFtueHRTb3J0YWJsZWpzXT1cImxheW91dCgpXCIgW2NvbmZpZ109XCJzb3J0YWJsZUNvbmZpZ1wiIChpbml0KT1cInNvcnRhYmxlSW5pdCgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0KCk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWZsZXgtaXRlbV09XCJpc0ZsZXhJdGVtKClcIlxyXG4gICAgICAgIFtzdHlsZS5hbGlnbi1zZWxmXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pWydhbGlnbi1zZWxmJ11cIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWJhc2lzXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtYmFzaXMnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dEl0ZW0sICdmbGV4LWdyb3cnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtc2hyaW5rJylcIlxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCIobGF5b3V0SXRlbS5vcHRpb25zIHx8IHt9KS5vcmRlclwiXHJcbiAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpbHRlcl09XCIhaXNEcmFnZ2FibGUobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8IS0tTkIgb3JkZXJhYmxlIGRpcmVjdGl2ZSBpcyBub3QgdXNlZCBidXQgaGFzIGJlZW4gbGVmdCBpbiBmb3Igbm93IGFuZCBzZXQgdG8gZmFsc2VcclxuICAgICAgICAgIG90aGVyd2lzZSB0aGUgY29tcGlsZXIgd29uJ3QgcmVjb2duaXplIGRhdGFJbmRleCBhbmQgb3RoZXIgZGVwZW5kZW50IGF0dHJpYnV0ZXNcclxuICAgICAgICAtLT5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiXHJcbiAgICAgICAgICBbb3JkZXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maWx0ZXJdPVwiIWlzRHJhZ2dhYmxlKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dEl0ZW0/LmFycmF5SXRlbSA/IChkYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpIDogKGRhdGFJbmRleCgpIHx8IFtdKVwiXHJcbiAgICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC10b3Age1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC1ib3R0b20ge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICAuZmxleC1pbmhlcml0e1xyXG4gICAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtZmxvdzppbmhlcml0O1xyXG4gICAgICBmbGV4LXdyYXA6aW5oZXJpdDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246aW5oZXJpdDtcclxuICAgICAgd2lkdGg6MTAwJVxyXG4gICAgfVxyXG4gIGBdLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgb3B0aW9uczogYW55O1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8YW55W10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXNPcmRlcmFibGUgPSBpbnB1dDxib29sZWFuPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGlzRmxleEl0ZW0gPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gIC8vIEBWaWV3Q2hpbGQoJ3NvcnRhYmxlQ29udGFpbnRlcicsIHt9KVxyXG4gIC8vIHNvcnRhYmxlQ29udGFpbnRlckVsdDogRWxlbWVudFJlZjtcclxuXHJcbiAgc29ydGFibGVPYmo6IGFueTtcclxuICBzb3J0YWJsZUNvbmZpZzphbnk9e1xyXG4gICAgZmlsdGVyOlwiLnNvcnRhYmxlLWZpbHRlclwiLC8vbmVlZGVkIHRvIGRpc2FibGUgZHJhZ2dpbmcgb24gaW5wdXQgcmFuZ2UgZWxlbWVudHMsIGNsYXNzIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBlbGVtZW50IG9yIGl0cyBwYXJlbnRcclxuICAgIHByZXZlbnRPbkZpbHRlcjogZmFsc2UsLy9uZWVkZWQgZm9yIGlucHV0IHJhbmdlIGVsZW1lbnRzIHNsaWRlciBkbyBzdGlsbCB3b3JrXHJcbiAgICBkZWxheTogMTAwMCxcclxuICAgIGRlbGF5T25Ub3VjaE9ubHk6IHRydWUsXHJcbiAgICBvbkVuZDogKC8qKkV2ZW50Ki9ldnQpPT4ge1xyXG4gICAgICBldnQubmV3SW5kZXggLy8gbW9zdCBsaWtlbHkgd2h5IHRoaXMgZXZlbnQgaXMgdXNlZCBpcyB0byBnZXQgdGhlIGRyYWdnaW5nIGVsZW1lbnQncyBjdXJyZW50IGluZGV4XHJcbiAgICAgIC8vIHNhbWUgcHJvcGVydGllcyBhcyBvbkVuZFxyXG4gICAgICAvL2NvbnNvbGUubG9nKGBzb3J0YWJsZWpzIGV2ZW50OiR7ZXZ0fWApO1xyXG4gICAgICBsZXQgc3JjSW5kPWV2dC5vbGRJbmRleDtcclxuICAgICAgbGV0IHRyZ0luZD1ldnQubmV3SW5kZXg7XHJcbiAgICAgIGxldCBsYXlvdXRJdGVtPXRoaXMubGF5b3V0KClbdHJnSW5kXTtcclxuICAgICAgbGV0IGRhdGFJbmQ9bGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpIDogKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pO1xyXG4gICAgICBsZXQgbGF5b3V0SW5kPSh0aGlzLmxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpXHJcbiAgICAgIGxldCBpdGVtQ3R4OmFueT17XHJcbiAgICAgICAgZGF0YUluZGV4OigpPT57cmV0dXJuIGRhdGFJbmR9LFxyXG4gICAgICAgIGxheW91dEluZGV4OigpPT57cmV0dXJuIGxheW91dEluZH0sXHJcbiAgICAgICAgbGF5b3V0Tm9kZTooKT0+e3JldHVybiBsYXlvdXRJdGVtfSxcclxuICAgICAgfVxyXG4gICAgICAvL211c3Qgc2V0IG1vdmVMYXlvdXQgdG8gZmFsc2UgYXMgbnh0U29ydGFibGUgYWxyZWFkeSBtb3ZlcyBpdFxyXG4gICAgICB0aGlzLmpzZi5tb3ZlQXJyYXlJdGVtKGl0ZW1DdHgsIGV2dC5vbGRJbmRleCwgZXZ0Lm5ld0luZGV4LGZhbHNlKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc29ydGFibGVJbml0KHNvcnRhYmxlKSB7XHJcbiAgICB0aGlzLnNvcnRhYmxlT2JqID0gc29ydGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0RyYWdnYWJsZShub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS5hcnJheUl0ZW0gJiYgbm9kZS50eXBlICE9PSAnJHJlZicgJiZcclxuICAgIG5vZGUuYXJyYXlJdGVtVHlwZSA9PT0gJ2xpc3QnICYmIHRoaXMuaXNPcmRlcmFibGUoKSAhPT0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZU9iaikge1xyXG4gICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIix0cnVlKTtcclxuICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcInNvcnRcIixmYWxzZSk7XHJcbiAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJkaXNhYmxlZFwiLCFyZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIHNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuXHJcbiAgc2hvd1dpZGdldChsYXlvdXROb2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmpzZi5ldmFsdWF0ZUNvbmRpdGlvbihsYXlvdXROb2RlLCB0aGlzLmRhdGFJbmRleCgpKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGRyYWdnYWJsZSBzdGF0ZVxyXG4gICAgdGhpcy5zb3J0YWJsZU9wdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLmpzZi5zb3J0YWJsZU9wdGlvbnMkLnN1YnNjcmliZShcclxuICAgICAgKG9wdHNWYWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNvcnRhYmxlT2JqKSB7XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyhvcHRzVmFsdWUpLmZvckVhY2gob3B0PT57XHJcbiAgICAgICAgICAgIGxldCBvcHRWYWw9b3B0c1ZhbHVlW29wdF07XHJcbiAgICAgICAgICAgIHRoaXMuc29ydGFibGVPYmoub3B0aW9uKG9wdCxvcHRWYWwpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJkaXNhYmxlZFwiLHRydWUpO1xyXG4gICAgICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcInNvcnRcIixmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQW1FcEUsTUFBTSxPQUFPLGFBQWE7SUFqRTFCO1FBb0VVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUduQyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxLQUFLLENBQVEsU0FBUyxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsU0FBUyxDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1uQyxtQkFBYyxHQUFLO1lBQ2pCLE1BQU0sRUFBQyxrQkFBa0IsRUFBQywwR0FBMEc7WUFDcEksZUFBZSxFQUFFLEtBQUssRUFBQyxzREFBc0Q7WUFDN0UsS0FBSyxFQUFFLElBQUk7WUFDWCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQSxHQUFHLEVBQUMsRUFBRTtnQkFDdEIsR0FBRyxDQUFDLFFBQVEsQ0FBQSxDQUFDLG9GQUFvRjtnQkFDakcsMkJBQTJCO2dCQUMzQix5Q0FBeUM7Z0JBQ3pDLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hC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QUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFFBQVE7UUFDTixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUNwRSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQSxFQUFFO29CQUNsQyxJQUFJLE1BQU0sR0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsMkNBQTJDO2dCQUMzQyx3Q0FBd0M7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzsrR0E3SlUsYUFBYTttR0FBYixhQUFhLHl0QkE5RGQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCUDs7NEZBZ0NRLGFBQWE7a0JBakV6QixTQUFTOytCQUVFLGFBQWEsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJQLGNBOEJTLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAncm9vdC13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IFtjbGFzcy5mbGV4LWluaGVyaXRdPVwidHJ1ZVwiICNzb3J0YWJsZUNvbnRhaW50ZXIgW254dFNvcnRhYmxlanNdPVwibGF5b3V0KClcIiBbY29uZmlnXT1cInNvcnRhYmxlQ29uZmlnXCIgKGluaXQpPVwic29ydGFibGVJbml0KCRldmVudClcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGF5b3V0SXRlbSBvZiBsYXlvdXQoKTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1pdGVtXT1cImlzRmxleEl0ZW0oKVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLXNlbGZdPVwiKGxheW91dEl0ZW0ub3B0aW9ucyB8fCB7fSlbJ2FsaWduLXNlbGYnXVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtYmFzaXNdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1iYXNpcycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1ncm93XT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtZ3JvdycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1zaHJpbmtdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1zaHJpbmsnKVwiXHJcbiAgICAgICAgW3N0eWxlLm9yZGVyXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pLm9yZGVyXCJcclxuICAgICAgICBbY2xhc3Muc29ydGFibGUtZmlsdGVyXT1cIiFpc0RyYWdnYWJsZShsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpeGVkXT1cImlzRml4ZWQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8IS0tTkIgb3JkZXJhYmxlIGRpcmVjdGl2ZSBpcyBub3QgdXNlZCBidXQgaGFzIGJlZW4gbGVmdCBpbiBmb3Igbm93IGFuZCBzZXQgdG8gZmFsc2VcclxuICAgICAgICAgIG90aGVyd2lzZSB0aGUgY29tcGlsZXIgd29uJ3QgcmVjb2duaXplIGRhdGFJbmRleCBhbmQgb3RoZXIgZGVwZW5kZW50IGF0dHJpYnV0ZXNcclxuICAgICAgICAtLT5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiXHJcbiAgICAgICAgICBbb3JkZXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maWx0ZXJdPVwiIWlzRHJhZ2dhYmxlKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maXhlZF09XCJpc0ZpeGVkKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dEl0ZW0/LmFycmF5SXRlbSA/IChkYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpIDogKGRhdGFJbmRleCgpIHx8IFtdKVwiXHJcbiAgICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC10b3Age1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC1ib3R0b20ge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICAuZmxleC1pbmhlcml0e1xyXG4gICAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtZmxvdzppbmhlcml0O1xyXG4gICAgICBmbGV4LXdyYXA6aW5oZXJpdDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246aW5oZXJpdDtcclxuICAgICAgd2lkdGg6MTAwJVxyXG4gICAgfVxyXG4gIGBdLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgb3B0aW9uczogYW55O1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8YW55W10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXNPcmRlcmFibGUgPSBpbnB1dDxib29sZWFuPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGlzRmxleEl0ZW0gPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gIC8vIEBWaWV3Q2hpbGQoJ3NvcnRhYmxlQ29udGFpbnRlcicsIHt9KVxyXG4gIC8vIHNvcnRhYmxlQ29udGFpbnRlckVsdDogRWxlbWVudFJlZjtcclxuXHJcbiAgc29ydGFibGVPYmo6IGFueTtcclxuICBzb3J0YWJsZUNvbmZpZzphbnk9e1xyXG4gICAgZmlsdGVyOlwiLnNvcnRhYmxlLWZpbHRlclwiLC8vbmVlZGVkIHRvIGRpc2FibGUgZHJhZ2dpbmcgb24gaW5wdXQgcmFuZ2UgZWxlbWVudHMsIGNsYXNzIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBlbGVtZW50IG9yIGl0cyBwYXJlbnRcclxuICAgIHByZXZlbnRPbkZpbHRlcjogZmFsc2UsLy9uZWVkZWQgZm9yIGlucHV0IHJhbmdlIGVsZW1lbnRzIHNsaWRlciBkbyBzdGlsbCB3b3JrXHJcbiAgICBkZWxheTogMTAwMCxcclxuICAgIGRlbGF5T25Ub3VjaE9ubHk6IHRydWUsXHJcbiAgICBvbkVuZDogKC8qKkV2ZW50Ki9ldnQpPT4ge1xyXG4gICAgICBldnQubmV3SW5kZXggLy8gbW9zdCBsaWtlbHkgd2h5IHRoaXMgZXZlbnQgaXMgdXNlZCBpcyB0byBnZXQgdGhlIGRyYWdnaW5nIGVsZW1lbnQncyBjdXJyZW50IGluZGV4XHJcbiAgICAgIC8vIHNhbWUgcHJvcGVydGllcyBhcyBvbkVuZFxyXG4gICAgICAvL2NvbnNvbGUubG9nKGBzb3J0YWJsZWpzIGV2ZW50OiR7ZXZ0fWApO1xyXG4gICAgICBsZXQgc3JjSW5kPWV2dC5vbGRJbmRleDtcclxuICAgICAgbGV0IHRyZ0luZD1ldnQubmV3SW5kZXg7XHJcbiAgICAgIGxldCBsYXlvdXRJdGVtPXRoaXMubGF5b3V0KClbdHJnSW5kXTtcclxuICAgICAgbGV0IGRhdGFJbmQ9bGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpIDogKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pO1xyXG4gICAgICBsZXQgbGF5b3V0SW5kPSh0aGlzLmxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpXHJcbiAgICAgIGxldCBpdGVtQ3R4OmFueT17XHJcbiAgICAgICAgZGF0YUluZGV4OigpPT57cmV0dXJuIGRhdGFJbmR9LFxyXG4gICAgICAgIGxheW91dEluZGV4OigpPT57cmV0dXJuIGxheW91dEluZH0sXHJcbiAgICAgICAgbGF5b3V0Tm9kZTooKT0+e3JldHVybiBsYXlvdXRJdGVtfSxcclxuICAgICAgfVxyXG4gICAgICAvL211c3Qgc2V0IG1vdmVMYXlvdXQgdG8gZmFsc2UgYXMgbnh0U29ydGFibGUgYWxyZWFkeSBtb3ZlcyBpdFxyXG4gICAgICB0aGlzLmpzZi5tb3ZlQXJyYXlJdGVtKGl0ZW1DdHgsIGV2dC5vbGRJbmRleCwgZXZ0Lm5ld0luZGV4LGZhbHNlKTtcclxuICAgICAgXHJcbiAgICB9LFxyXG4gICAgb25Nb3ZlOiBmdW5jdGlvbiAoLyoqRXZlbnQqL2V2dCwgLyoqRXZlbnQqL29yaWdpbmFsRXZlbnQpIHtcclxuICAgICAgaWYoZXZ0LnJlbGF0ZWQuY2xhc3NMaXN0LmNvbnRhaW5zKFwic29ydGFibGUtZml4ZWRcIikpe1xyXG4gICAgICAgLy9jb25zb2xlLmxvZyhldnQucmVsYXRlZCk7XHJcbiAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgfVxyXG4gICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc29ydGFibGVJbml0KHNvcnRhYmxlKSB7XHJcbiAgICB0aGlzLnNvcnRhYmxlT2JqID0gc29ydGFibGU7XHJcbiAgICAvLy9OQiBpc3N1ZSBjYXVzZWQgYnkgc29ydGFibGVqcyB3aGVuIGl0IGl0cyBkZXN0cm95ZWRcclxuICAgIC8vdGhpcyBtYWlubHkgYWZmZWN0cyBjaGVja2JveGVzIGNvdXBsZWQgd2l0aCBjb25kaXRpb25zXHJcbiAgICAvLy10aGUgdmFsdWUgaXMgcmVjaGVja2VkXHJcbiAgICAvLy1zZWUgaHR0cHM6Ly9naXRodWIuY29tL1NvcnRhYmxlSlMvU29ydGFibGUvaXNzdWVzLzEwNTIjaXNzdWVjb21tZW50LTM2OTYxMzA3MlxyXG4gICAgLyogYXR0ZW1wdCB0byBtb25rZXkgcGF0Y2ggc29ydGFibGUganMgXHJcbiAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IHNvcnRhYmxlLl9udWxsaW5nO1xyXG4gICAgbGV0IHpvbmU9dGhpcy56b25lO1xyXG4gICAgc29ydGFibGUuX251bGxpbmc9ZnVuY3Rpb24oKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBwbHVnaW5FdmVudCAyICR7cGx1Z2luRXZlbnR9YClcclxuICAgICAgICAgICAgem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coYHBsdWdpbkV2ZW50MyAke3BsdWdpbkV2ZW50fWApXHJcbiAgICAgIHBsdWdpbkV2ZW50KCdudWxsaW5nJywgdGhpcyk7XHJcbiAgXHJcbiAgICAgIHJvb3RFbCA9XHJcbiAgICAgIGRyYWdFbCA9XHJcbiAgICAgIHBhcmVudEVsID1cclxuICAgICAgZ2hvc3RFbCA9XHJcbiAgICAgIG5leHRFbCA9XHJcbiAgICAgIGNsb25lRWwgPVxyXG4gICAgICBsYXN0RG93bkVsID1cclxuICAgICAgY2xvbmVIaWRkZW4gPVxyXG4gIFxyXG4gICAgICB0YXBFdnQgPVxyXG4gICAgICB0b3VjaEV2dCA9XHJcbiAgXHJcbiAgICAgIG1vdmVkID1cclxuICAgICAgbmV3SW5kZXggPVxyXG4gICAgICBuZXdEcmFnZ2FibGVJbmRleCA9XHJcbiAgICAgIG9sZEluZGV4ID1cclxuICAgICAgb2xkRHJhZ2dhYmxlSW5kZXggPVxyXG4gIFxyXG4gICAgICBsYXN0VGFyZ2V0ID1cclxuICAgICAgbGFzdERpcmVjdGlvbiA9XHJcbiAgXHJcbiAgICAgIHB1dFNvcnRhYmxlID1cclxuICAgICAgYWN0aXZlR3JvdXAgPVxyXG4gICAgICBTb3J0YWJsZS5kcmFnZ2VkID1cclxuICAgICAgU29ydGFibGUuZ2hvc3QgPVxyXG4gICAgICBTb3J0YWJsZS5jbG9uZSA9XHJcbiAgICAgIFNvcnRhYmxlLmFjdGl2ZSA9IG51bGw7XHJcbiAgXHJcbiAgICBcclxuICAgICAgICBsZXQgZWwgPSB0aGlzLmVsO1xyXG4gICAgICAgIHNhdmVkSW5wdXRDaGVja2VkLmZvckVhY2goZnVuY3Rpb24gKGNoZWNrRWwpIHtcclxuICAgICAgICAgIGlmIChlbC5jb250YWlucyhjaGVja0VsKSkge1xyXG4gICAgICAgICAgICBjaGVja0VsLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgc2F2ZWRJbnB1dENoZWNrZWQubGVuZ3RoID1cclxuICAgICAgICBsYXN0RHggPVxyXG4gICAgICAgIGxhc3REeSA9IDA7XHJcblxyXG4gICAgICB9KVxyXG5cclxuICAgIH0uYmluZChzb3J0YWJsZSlcclxuICAgICovXHJcbiAgfVxyXG5cclxuICBpc0RyYWdnYWJsZShub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS5hcnJheUl0ZW0gJiYgbm9kZS50eXBlICE9PSAnJHJlZicgJiZcclxuICAgIG5vZGUuYXJyYXlJdGVtVHlwZSA9PT0gJ2xpc3QnICYmIHRoaXMuaXNPcmRlcmFibGUoKSAhPT0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZU9iaikge1xyXG4gICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIix0cnVlKTtcclxuICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcInNvcnRcIixmYWxzZSk7XHJcbiAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJkaXNhYmxlZFwiLCFyZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvL1RPRE8gYWxzbyBuZWVkIHRvIHRoaW5rIG9mIG90aGVyIHR5cGVzIHN1Y2ggYXMgYnV0dG9uIHdoaWNoIGNhbiBiZVxyXG4gIC8vY3JlYXRlZCBieSBhbiBhcmJpdHJhcnkgbGF5b3V0XHJcbiAgaXNGaXhlZChub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS50eXBlID09ICckcmVmJztcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIHNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuICBzaG93V2lkZ2V0KGxheW91dE5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmV2YWx1YXRlQ29uZGl0aW9uKGxheW91dE5vZGUsIHRoaXMuZGF0YUluZGV4KCkpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgZHJhZ2dhYmxlIHN0YXRlXHJcbiAgICB0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMuanNmLnNvcnRhYmxlT3B0aW9ucyQuc3Vic2NyaWJlKFxyXG4gICAgICAob3B0c1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydGFibGVPYmopIHtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKG9wdHNWYWx1ZSkuZm9yRWFjaChvcHQ9PntcclxuICAgICAgICAgICAgbGV0IG9wdFZhbD1vcHRzVmFsdWVbb3B0XTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0YWJsZU9iai5vcHRpb24ob3B0LG9wdFZhbCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcImRpc2FibGVkXCIsdHJ1ZSk7XHJcbiAgICAgICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwic29ydFwiLGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|