@olafvv/ngx-dynamic-form 0.0.2 → 0.1.0
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/components/dynamic-form/dynamic-form.component.mjs +21 -15
- package/esm2022/lib/components/dynamic-form-field/dynamic-form-field.component.mjs +17 -3
- package/esm2022/lib/controls/button/dynamic-button.component.mjs +3 -3
- package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.component.mjs +27 -0
- package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.model.mjs +11 -0
- package/esm2022/lib/controls/checkbox/dynamic-checkbox.component.mjs +5 -11
- package/esm2022/lib/controls/index.mjs +2 -1
- package/esm2022/lib/controls/input/dynamic-input.component.mjs +12 -11
- package/esm2022/lib/controls/input/dynamic-input.model.mjs +2 -1
- package/esm2022/lib/controls/readonly/dynamic-readonly.component.mjs +3 -3
- package/esm2022/lib/controls/select/dynamic-select.component.mjs +5 -11
- package/esm2022/lib/controls/textarea/dynamic-textarea.component.mjs +12 -11
- package/esm2022/lib/models/classes/dynamic-form-field-base.mjs +28 -0
- package/esm2022/lib/models/classes/dynamic-form-field-model.mjs +1 -1
- package/esm2022/lib/models/constants/dynamic-relations.const.mjs +2 -15
- package/esm2022/lib/models/index.mjs +4 -3
- package/esm2022/lib/models/interfaces/dynamic-form-field-config.interface.mjs +1 -1
- package/esm2022/lib/models/interfaces/dynamic-form-field-event.interface.mjs +2 -0
- package/esm2022/lib/models/interfaces/dynamic-form-field-relation.interface.mjs +15 -0
- package/esm2022/lib/services/dynamic-form-relations.service.mjs +3 -2
- package/esm2022/lib/services/dynamic-form.service.mjs +12 -8
- package/fesm2022/olafvv-ngx-dynamic-form.mjs +186 -146
- package/fesm2022/olafvv-ngx-dynamic-form.mjs.map +1 -1
- package/lib/components/dynamic-form/dynamic-form.component.d.ts +15 -9
- package/lib/components/dynamic-form-field/dynamic-form-field.component.d.ts +6 -2
- package/lib/controls/button/dynamic-button.component.d.ts +2 -2
- package/lib/controls/button-toggles/dynamic-button-toggles.component.d.ts +13 -0
- package/lib/controls/button-toggles/dynamic-button-toggles.model.d.ts +12 -0
- package/lib/controls/checkbox/dynamic-checkbox.component.d.ts +3 -5
- package/lib/controls/index.d.ts +1 -0
- package/lib/controls/input/dynamic-input.component.d.ts +6 -6
- package/lib/controls/input/dynamic-input.model.d.ts +2 -0
- package/lib/controls/readonly/dynamic-readonly.component.d.ts +2 -2
- package/lib/controls/select/dynamic-select.component.d.ts +5 -6
- package/lib/controls/textarea/dynamic-textarea.component.d.ts +6 -6
- package/lib/models/classes/{dynamic-form-field-base-component.d.ts → dynamic-form-field-base.d.ts} +2 -8
- package/lib/models/classes/dynamic-form-field-model.d.ts +2 -3
- package/lib/models/constants/dynamic-relations.const.d.ts +1 -29
- package/lib/models/index.d.ts +3 -2
- package/lib/models/interfaces/dynamic-form-field-config.interface.d.ts +4 -5
- package/lib/models/interfaces/dynamic-form-field-event.interface.d.ts +10 -0
- package/lib/models/interfaces/dynamic-form-field-relation.interface.d.ts +29 -0
- package/lib/services/dynamic-form.service.d.ts +12 -8
- package/package.json +1 -1
- package/esm2022/lib/models/classes/dynamic-form-field-base-component.mjs +0 -34
- package/esm2022/lib/models/types/dynamic-form-hook.type.mjs +0 -2
- package/lib/models/types/dynamic-form-hook.type.d.ts +0 -1
|
@@ -13,6 +13,7 @@ export class DynamicInput extends DynamicFormFieldValueModel {
|
|
|
13
13
|
this.pattern = config.pattern ?? '';
|
|
14
14
|
this.autocomplete = config.autocomplete ?? 'off';
|
|
15
15
|
this.prefix = config.prefix ?? null;
|
|
16
|
+
this.hideClearIcon = config.hideClearIcon ?? false;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1pbnB1dC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb250cm9scy9pbnB1dC9keW5hbWljLWlucHV0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5SCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQUM7QUFpQmhELE1BQU0sT0FBTyxZQUFhLFNBQVEsMEJBQXlEO0lBY3pGLFlBQVksTUFBMEI7UUFDcEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSEEsU0FBSSxHQUFHLHdCQUF3QixDQUFDO1FBSzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkVmFsdWVDb25maWcsIER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLXZhbHVlLW1vZGVsJztcblxuZXhwb3J0IGNvbnN0IERZTkFNSUNfRk9STV9GSUVMRF9JTlBVVCA9ICdpbnB1dCc7XG5cbmV4cG9ydCB0eXBlIEh0bWxJbnB1dFR5cGUgPSAndGV4dCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ2VtYWlsJyB8ICdwYXNzd29yZCcgfCAnZGF0ZScgfCAndGltZScgfCAnY29sb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNJbnB1dENvbmZpZyBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRWYWx1ZUNvbmZpZzxzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgbnVsbD4ge1xuICBpbnB1dFR5cGU/OiBIdG1sSW5wdXRUeXBlO1xuICBtYXg/OiBudW1iZXI7XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XG4gIGF1dG9jb21wbGV0ZT86ICdvbicgfCAnb2ZmJztcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBoaWRlQ2xlYXJJY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNJbnB1dCBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsPHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsPiB7XG4gIHB1YmxpYyBpbnB1dFR5cGU6IEh0bWxJbnB1dFR5cGU7XG4gIHB1YmxpYyBtYXg6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBtaW46IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBtYXhMZW5ndGg6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBtaW5MZW5ndGg6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBzdGVwOiBudW1iZXIgfCBudWxsO1xuICBwdWJsaWMgcGF0dGVybjogc3RyaW5nIHwgUmVnRXhwO1xuICBwdWJsaWMgYXV0b2NvbXBsZXRlOiAnb24nIHwgJ29mZic7XG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyBoaWRlQ2xlYXJJY29uOiBib29sZWFuO1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlID0gRFlOQU1JQ19GT1JNX0ZJRUxEX0lOUFVUO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRHluYW1pY0lucHV0Q29uZmlnKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcblxuICAgIHRoaXMuaW5wdXRUeXBlID0gY29uZmlnLmlucHV0VHlwZSA/PyAndGV4dCc7XG4gICAgdGhpcy5tYXggPSBjb25maWcubWF4ID8/IG51bGw7XG4gICAgdGhpcy5taW4gPSBjb25maWcubWluID8/IG51bGw7XG4gICAgdGhpcy5tYXhMZW5ndGggPSB0eXBlb2YgY29uZmlnLm1heExlbmd0aCA9PT0gJ251bWJlcicgPyBjb25maWcubWF4TGVuZ3RoIDogbnVsbDtcbiAgICB0aGlzLm1pbkxlbmd0aCA9IHR5cGVvZiBjb25maWcubWluTGVuZ3RoID09PSAnbnVtYmVyJyA/IGNvbmZpZy5taW5MZW5ndGggOiBudWxsO1xuICAgIHRoaXMuc3RlcCA9IGNvbmZpZy5zdGVwID8/IG51bGw7XG4gICAgdGhpcy5wYXR0ZXJuID0gY29uZmlnLnBhdHRlcm4gPz8gJyc7XG4gICAgdGhpcy5hdXRvY29tcGxldGUgPSBjb25maWcuYXV0b2NvbXBsZXRlID8/ICdvZmYnO1xuICAgIHRoaXMucHJlZml4ID0gY29uZmlnLnByZWZpeCA/PyBudWxsO1xuICAgIHRoaXMuaGlkZUNsZWFySWNvbiA9IGNvbmZpZy5oaWRlQ2xlYXJJY29uID8/IGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
6
|
-
export class DynamicReadonlyComponent extends
|
|
6
|
+
export class DynamicReadonlyComponent extends DynamicFormFieldBase {
|
|
7
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicReadonlyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
8
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicReadonlyComponent, isStandalone: true, selector: "dynamic-readonly", inputs: { model: "model", group: "group" }, usesInheritance: true, ngImport: i0, template: "<div class=\"dynamic-form-field-readonly\"\n [formGroup]=\"group\"\n [id]=\"id\">\n <div class=\"label\">{{model.label}}</div>\n <span>{{model.value}}</span>\n</div>", styles: [".dynamic-form-field-readonly{width:100%;margin:8px 0;color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.dynamic-form-field-readonly .label{font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);margin-bottom:8px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
|
|
9
9
|
}
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
15
15
|
}], group: [{
|
|
16
16
|
type: Input
|
|
17
17
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQVVwRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsb0JBQW9COytHQUFyRCx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrSUNackMsMktBS00sNFZERU0sbUJBQW1COzs0RkFLbEIsd0JBQXdCO2tCQVBwQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLFlBQ3BCLGtCQUFrQjs4QkFLbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNSZWFkb25seSB9IGZyb20gJy4vZHluYW1pYy1yZWFkb25seS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1yZWFkb25seScsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXJlYWRvbmx5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNSZWFkb25seUNvbXBvbmVudCBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRCYXNlIHtcbiAgQElucHV0KCkgbW9kZWwhOiBEeW5hbWljUmVhZG9ubHk7XG4gIEBJbnB1dCgpIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcbn1cbiIsIjxkaXYgY2xhc3M9XCJkeW5hbWljLWZvcm0tZmllbGQtcmVhZG9ubHlcIlxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcbiAgW2lkXT1cImlkXCI+XG4gIDxkaXYgY2xhc3M9XCJsYWJlbFwiPnt7bW9kZWwubGFiZWx9fTwvZGl2PlxuICA8c3Bhbj57e21vZGVsLnZhbHVlfX08L3NwYW4+XG48L2Rpdj4iXX0=
|
|
@@ -5,38 +5,32 @@ import { MatOptionModule } from '@angular/material/core';
|
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
6
|
import { MatInputModule } from '@angular/material/input';
|
|
7
7
|
import { MatSelectModule } from '@angular/material/select';
|
|
8
|
-
import {
|
|
8
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/material/form-field";
|
|
11
11
|
import * as i2 from "@angular/forms";
|
|
12
12
|
import * as i3 from "@angular/material/select";
|
|
13
13
|
import * as i4 from "@angular/material/core";
|
|
14
14
|
import * as i5 from "@angular/material/input";
|
|
15
|
-
export class DynamicSelectComponent extends
|
|
15
|
+
export class DynamicSelectComponent extends DynamicFormFieldBase {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
|
-
this.blur = new EventEmitter();
|
|
19
18
|
this.change = new EventEmitter();
|
|
20
|
-
this.focus = new EventEmitter();
|
|
21
19
|
}
|
|
22
20
|
trackByFn(index, option) {
|
|
23
21
|
return option.value;
|
|
24
22
|
}
|
|
25
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicSelectComponent, isStandalone: true, selector: "dynamic-select", inputs: { model: "model", group: "group" }, outputs: {
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicSelectComponent, isStandalone: true, selector: "dynamic-select", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label>{{model.label}}</mat-label>\n\n <!-- Template for select without grouped options -->\n <ng-container *ngIf=\"model.options$ | async as options\">\n <ng-container *ngIf=\"!model.native else nativeSelect\">\n <mat-select [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\"\n (selectionChange)=\"onChange($event)\">\n <mat-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelect>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </select>\n </ng-template>\n </ng-container>\n\n <!-- Template for select with grouped options -->\n <ng-container *ngIf=\"model.groupedOptions$ | async as groupedOptions\">\n <ng-container *ngIf=\"!model.native else nativeSelectGrouped\">\n <mat-select [formControlName]=\"model.name\"\n (selectionChange)=\"onChange($event)\">\n <mat-optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <mat-option *ngFor=\"let option of group.options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelectGrouped>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <option *ngFor=\"let option of group.options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </optgroup>\n </select>\n </ng-template>\n </ng-container>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}mat-option{padding-top:8px;padding-bottom:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
|
27
25
|
}
|
|
28
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicSelectComponent, decorators: [{
|
|
29
27
|
type: Component,
|
|
30
|
-
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, ReactiveFormsModule, MatSelectModule, MatOptionModule, AsyncPipe, MatInputModule], selector: 'dynamic-select', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label>{{model.label}}</mat-label>\n\n <!-- Template for select without grouped options -->\n <ng-container *ngIf=\"model.options$ | async as options\">\n <ng-container *ngIf=\"!model.native else nativeSelect\">\n <mat-select [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\">\n <mat-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelect>\n <select matNativeControl>\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </select>\n </ng-template>\n </ng-container>\n\n <!-- Template for select with grouped options -->\n <ng-container *ngIf=\"model.groupedOptions$ | async as groupedOptions\">\n <ng-container *ngIf=\"!model.native else nativeSelectGrouped\">\n <mat-select [formControlName]=\"model.name\">\n <mat-optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <mat-option *ngFor=\"let option of group.options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelectGrouped>\n <select matNativeControl>\n <optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <option *ngFor=\"let option of group.options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </optgroup>\n </select>\n </ng-template>\n </ng-container>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}mat-option{padding-top:8px;padding-bottom:8px}\n"] }]
|
|
28
|
+
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, ReactiveFormsModule, MatSelectModule, MatOptionModule, AsyncPipe, MatInputModule], selector: 'dynamic-select', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label>{{model.label}}</mat-label>\n\n <!-- Template for select without grouped options -->\n <ng-container *ngIf=\"model.options$ | async as options\">\n <ng-container *ngIf=\"!model.native else nativeSelect\">\n <mat-select [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\"\n (selectionChange)=\"onChange($event)\">\n <mat-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelect>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </select>\n </ng-template>\n </ng-container>\n\n <!-- Template for select with grouped options -->\n <ng-container *ngIf=\"model.groupedOptions$ | async as groupedOptions\">\n <ng-container *ngIf=\"!model.native else nativeSelectGrouped\">\n <mat-select [formControlName]=\"model.name\"\n (selectionChange)=\"onChange($event)\">\n <mat-optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <mat-option *ngFor=\"let option of group.options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelectGrouped>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <option *ngFor=\"let option of group.options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </optgroup>\n </select>\n </ng-template>\n </ng-container>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}mat-option{padding-top:8px;padding-bottom:8px}\n"] }]
|
|
31
29
|
}], propDecorators: { model: [{
|
|
32
30
|
type: Input
|
|
33
31
|
}], group: [{
|
|
34
32
|
type: Input
|
|
35
|
-
}], blur: [{
|
|
36
|
-
type: Output
|
|
37
33
|
}], change: [{
|
|
38
34
|
type: Output
|
|
39
|
-
}], focus: [{
|
|
40
|
-
type: Output
|
|
41
35
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbnRyb2xzL3NlbGVjdC9keW5hbWljLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBWXBGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFQaEU7O1FBV1ksV0FBTSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0tBSzlEO0lBSFEsU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUF1QztRQUNyRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzsrR0FSVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0S0NuQm5DLDh4RUFpRWlCLG9JRG5ETCxJQUFJLDZGQUFFLEtBQUssa0hBQUUsa0JBQWtCLCtkQUFFLG1CQUFtQixneUJBQUUsZUFBZSwrYUFBRSxlQUFlLDBCQUFFLFNBQVMsNkNBQUUsY0FBYzs7NEZBS2hILHNCQUFzQjtrQkFQbEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxZQUNsSCxnQkFBZ0I7OEJBS2pCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtb3B0aW9uLW1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY1NlbGVjdCB9IGZyb20gJy4vZHluYW1pYy1zZWxlY3QubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBNYXRGb3JtRmllbGRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgTWF0T3B0aW9uTW9kdWxlLCBBc3luY1BpcGUsIE1hdElucHV0TW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdkeW5hbWljLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1NlbGVjdENvbXBvbmVudCBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRCYXNlIHtcbiAgQElucHV0KCkgbW9kZWwhOiBEeW5hbWljU2VsZWN0PHN0cmluZz47XG4gIEBJbnB1dCgpIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcblxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEeW5hbWljRm9ybUZpZWxkRXZlbnQ+KCk7XG5cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBvcHRpb246IER5bmFtaWNGb3JtRmllbGRPcHRpb248dW5rbm93bj4pIHtcbiAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gIFtpZF09XCJpZFwiXG4gIGNvbG9yPVwicHJpbWFyeVwiPlxuICA8bWF0LWxhYmVsPnt7bW9kZWwubGFiZWx9fTwvbWF0LWxhYmVsPlxuXG4gIDwhLS0gVGVtcGxhdGUgZm9yIHNlbGVjdCB3aXRob3V0IGdyb3VwZWQgb3B0aW9ucyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLm9wdGlvbnMkIHwgYXN5bmMgYXMgb3B0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWwubmF0aXZlIGVsc2UgbmF0aXZlU2VsZWN0XCI+XG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIm1vZGVsLm5hbWVcIlxuICAgICAgICBbbXVsdGlwbGVdPVwibW9kZWwubXVsdGlwbGVcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbmF0aXZlU2VsZWN0PlxuICAgICAgPHNlbGVjdCBtYXROYXRpdmVDb250cm9sXG4gICAgICAgIChzZWxlY3Rpb25jaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgIHt7b3B0aW9uLmxhYmVsfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIFRlbXBsYXRlIGZvciBzZWxlY3Qgd2l0aCBncm91cGVkIG9wdGlvbnMgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5ncm91cGVkT3B0aW9ucyQgfCBhc3luYyBhcyBncm91cGVkT3B0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWwubmF0aXZlIGVsc2UgbmF0aXZlU2VsZWN0R3JvdXBlZFwiPlxuICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtb3B0Z3JvdXAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwZWRPcHRpb25zXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZ3JvdXAubmFtZVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgICAgIHt7b3B0aW9uLmxhYmVsfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNuYXRpdmVTZWxlY3RHcm91cGVkPlxuICAgICAgPHNlbGVjdCBtYXROYXRpdmVDb250cm9sXG4gICAgICAgIChzZWxlY3Rpb25jaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8b3B0Z3JvdXAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwZWRPcHRpb25zXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZ3JvdXAubmFtZVwiPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgICAgIHt7b3B0aW9uLmxhYmVsfX1cbiAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgPC9vcHRncm91cD5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cIm1vZGVsLmhpbnRcIlxuICAgIGFsaWduPVwic3RhcnRcIj57e21vZGVsLmhpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdG9yIG9mIG1vZGVsLnZhbGlkYXRvcnNcIlxuICAgIG5nUHJvamVjdEFzPVwibWF0LWVycm9yXCI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImhhc0Vycm9yKHZhbGlkYXRvci5uYW1lKVwiPnt7dmFsaWRhdG9yLm1lc3NhZ2V9fTwvbWF0LWVycm9yPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -3,18 +3,16 @@ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core
|
|
|
3
3
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
5
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
6
|
-
import {
|
|
6
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/material/form-field";
|
|
9
9
|
import * as i2 from "@angular/material/input";
|
|
10
10
|
import * as i3 from "@angular/cdk/text-field";
|
|
11
11
|
import * as i4 from "@angular/forms";
|
|
12
|
-
export class DynamicTextareaComponent extends
|
|
12
|
+
export class DynamicTextareaComponent extends DynamicFormFieldBase {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
-
this.blur = new EventEmitter();
|
|
16
15
|
this.change = new EventEmitter();
|
|
17
|
-
this.focus = new EventEmitter();
|
|
18
16
|
}
|
|
19
17
|
get valueCount() {
|
|
20
18
|
return this.textarea?.value ? this.textarea.value.length : 0;
|
|
@@ -22,12 +20,19 @@ export class DynamicTextareaComponent extends DynamicFormFieldBaseComponent {
|
|
|
22
20
|
get maxCountText() {
|
|
23
21
|
return `${this.valueCount} / ${this.model.maxLength}`;
|
|
24
22
|
}
|
|
23
|
+
onChange(event) {
|
|
24
|
+
// Ignore the native HTML 5 change event
|
|
25
|
+
if (event instanceof Event) {
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
}
|
|
28
|
+
this.change.emit(event);
|
|
29
|
+
}
|
|
25
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicTextareaComponent, isStandalone: true, selector: "dynamic-textarea", inputs: { model: "model", group: "group" }, outputs: {
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicTextareaComponent, isStandalone: true, selector: "dynamic-textarea", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "textarea", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <textarea matInput\n [cdkTextareaAutosize]=\"model.resize\"\n [cdkAutosizeMinRows]=\"model.rows\"\n [cdkAutosizeMaxRows]=\"model.resizeMaxRows\"\n [id]=\"id\"\n [formControlName]=\"model.name\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [rows]=\"model.rows\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\">\n </textarea>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
27
32
|
}
|
|
28
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicTextareaComponent, decorators: [{
|
|
29
34
|
type: Component,
|
|
30
|
-
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, MatInputModule, ReactiveFormsModule], selector: 'dynamic-textarea', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <textarea matInput\n [cdkTextareaAutosize]=\"model.resize\"\n [cdkAutosizeMinRows]=\"model.rows\"\n [cdkAutosizeMaxRows]=\"model.resizeMaxRows\"\n [id]=\"id\"\n [formControlName]=\"model.name\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [rows]=\"model.rows\"\n [autocomplete]=\"model.autocomplete\">\n </textarea>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
35
|
+
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, MatInputModule, ReactiveFormsModule], selector: 'dynamic-textarea', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <textarea matInput\n [cdkTextareaAutosize]=\"model.resize\"\n [cdkAutosizeMinRows]=\"model.rows\"\n [cdkAutosizeMaxRows]=\"model.resizeMaxRows\"\n [id]=\"id\"\n [formControlName]=\"model.name\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [rows]=\"model.rows\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\">\n </textarea>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
31
36
|
}], propDecorators: { textarea: [{
|
|
32
37
|
type: ViewChild,
|
|
33
38
|
args: [MatInput, { static: true }]
|
|
@@ -35,11 +40,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35
40
|
type: Input
|
|
36
41
|
}], group: [{
|
|
37
42
|
type: Input
|
|
38
|
-
}], blur: [{
|
|
39
|
-
type: Output
|
|
40
43
|
}], change: [{
|
|
41
44
|
type: Output
|
|
42
|
-
}], focus: [{
|
|
43
|
-
type: Output
|
|
44
45
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7QUFXcEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjtJQVBsRTs7UUFhWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FrQjlEO0lBaEJDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBb0M7UUFDbEQsd0NBQXdDO1FBQ3hDLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUE4QixDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0F2QlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsaU1BQ3hCLFFBQVEscUZDakJyQixxN0JBNEJpQixzRkRqQkwsSUFBSSw2RkFBRSxLQUFLLGtIQUFFLGtCQUFrQiwrZEFBRSxjQUFjLHlrQkFBRSxtQkFBbUI7OzRGQUtuRSx3QkFBd0I7a0JBUHBDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsWUFDckUsa0JBQWtCOzhCQUtXLFFBQVE7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFNUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCwgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY1RleHRhcmVhIH0gZnJvbSAnLi9keW5hbWljLXRleHRhcmVhLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogMTAwJTt9J11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1RleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZEJhc2Uge1xuICBAVmlld0NoaWxkKE1hdElucHV0LCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZXh0YXJlYSE6IE1hdElucHV0O1xuXG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY1RleHRhcmVhO1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY0Zvcm1GaWVsZEV2ZW50PigpO1xuXG4gIGdldCB2YWx1ZUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudGV4dGFyZWE/LnZhbHVlID8gdGhpcy50ZXh0YXJlYS52YWx1ZS5sZW5ndGggOiAwO1xuICB9XG5cbiAgZ2V0IG1heENvdW50VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnZhbHVlQ291bnR9IC8gJHt0aGlzLm1vZGVsLm1heExlbmd0aH1gO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCB8IER5bmFtaWNGb3JtRmllbGRFdmVudCk6IHZvaWQge1xuICAgIC8vIElnbm9yZSB0aGUgbmF0aXZlIEhUTUwgNSBjaGFuZ2UgZXZlbnRcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBFdmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCBhcyBEeW5hbWljRm9ybUZpZWxkRXZlbnQpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gIFtpZF09XCJpZFwiXG4gIGNvbG9yPVwicHJpbWFyeVwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibW9kZWwubGFiZWxcIj57e21vZGVsLmxhYmVsfX08L21hdC1sYWJlbD5cblxuICA8dGV4dGFyZWEgbWF0SW5wdXRcbiAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJtb2RlbC5yZXNpemVcIlxuICAgIFtjZGtBdXRvc2l6ZU1pblJvd3NdPVwibW9kZWwucm93c1wiXG4gICAgW2Nka0F1dG9zaXplTWF4Um93c109XCJtb2RlbC5yZXNpemVNYXhSb3dzXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibW9kZWwubmFtZVwiXG4gICAgW2F0dHIubWluTGVuZ3RoXT1cIm1vZGVsLm1pbkxlbmd0aFwiXG4gICAgW2F0dHIubWF4TGVuZ3RoXT1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgW3Jvd3NdPVwibW9kZWwucm93c1wiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJtb2RlbC5hdXRvY29tcGxldGVcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICA8L3RleHRhcmVhPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cIm1vZGVsLmhpbnRcIlxuICAgIGFsaWduPVwic3RhcnRcIj57e21vZGVsLmhpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgPG1hdC1oaW50ICpuZ0lmPVwibW9kZWwubWF4TGVuZ3RoXCJcbiAgICBhbGlnbj1cImVuZFwiPnt7bWF4Q291bnRUZXh0fX08L21hdC1oaW50PlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRvciBvZiBtb2RlbC52YWxpZGF0b3JzXCJcbiAgICBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcih2YWxpZGF0b3IubmFtZSlcIj57e3ZhbGlkYXRvci5tZXNzYWdlfX08L21hdC1lcnJvcj5cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export class DynamicFormFieldBase {
|
|
2
|
+
get id() {
|
|
3
|
+
return this.model.id ?? this.model.name;
|
|
4
|
+
}
|
|
5
|
+
get control() {
|
|
6
|
+
const ctrl = this.group.get(this.model.name);
|
|
7
|
+
if (!ctrl) {
|
|
8
|
+
throw new Error(`Provided FormGroup does not contain a control with the name ${this.model.name}`);
|
|
9
|
+
}
|
|
10
|
+
return ctrl;
|
|
11
|
+
}
|
|
12
|
+
get isValid() {
|
|
13
|
+
return this.control.valid;
|
|
14
|
+
}
|
|
15
|
+
get isInvalid() {
|
|
16
|
+
return this.control.invalid;
|
|
17
|
+
}
|
|
18
|
+
onChange(event) {
|
|
19
|
+
this.change.emit(event);
|
|
20
|
+
}
|
|
21
|
+
resetControl() {
|
|
22
|
+
this.group.get(this.model.name)?.reset();
|
|
23
|
+
}
|
|
24
|
+
hasError(name) {
|
|
25
|
+
return this.control.hasError(name);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxPQUFnQixvQkFBb0I7SUFNeEMsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ25HO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVk7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybUZpZWxkIHtcbiAgZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIG1vZGVsOiBEeW5hbWljRm9ybUZpZWxkTW9kZWw7XG4gIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkQmFzZSBpbXBsZW1lbnRzIER5bmFtaWNGb3JtRmllbGQge1xuICBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG4gIG1vZGVsITogRHluYW1pY0Zvcm1GaWVsZE1vZGVsO1xuXG4gIGNoYW5nZSE6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmlkID8/IHRoaXMubW9kZWwubmFtZTtcbiAgfVxuXG4gIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZ3JvdXAuZ2V0KHRoaXMubW9kZWwubmFtZSk7XG5cbiAgICBpZiAoIWN0cmwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgRm9ybUdyb3VwIGRvZXMgbm90IGNvbnRhaW4gYSBjb250cm9sIHdpdGggdGhlIG5hbWUgJHt0aGlzLm1vZGVsLm5hbWV9YCk7XG4gICAgfVxuICAgIHJldHVybiBjdHJsO1xuICB9XG5cbiAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC52YWxpZDtcbiAgfVxuXG4gIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiB1bmtub3duKSB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRDb250cm9sKCkge1xuICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMubW9kZWwubmFtZSk/LnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgaGFzRXJyb3IobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5oYXNFcnJvcihuYW1lKTtcbiAgfVxufVxuIl19
|
|
@@ -21,4 +21,4 @@ export class DynamicFormFieldModel {
|
|
|
21
21
|
this.disabled$.next(disable);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBS25ELE1BQU0sT0FBZ0IscUJBQXFCO0lBZ0J6QyxZQUFZLE1BQThCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1FBRTFDLG9KQUFvSjtRQUNwSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLE9BQWdCO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkTW9kZWwge1xuICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHdpZHRoOiBudW1iZXI7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgbnVsbDtcbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGhpbnQ6IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyB2YWxpZGF0b3JzOiBEeW5hbWljRm9ybVZhbGlkYXRvcltdO1xuICBwdWJsaWMgdXBkYXRlT246ICdzdWJtaXQnIHwgJ2JsdXInIHwgJ2NoYW5nZSc7XG4gIHB1YmxpYyByZWxhdGlvbnM6IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbltdIHwgbnVsbDtcbiAgcHVibGljIGRpc2FibGVkQ2hhbmdlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRHluYW1pY0Zvcm1GaWVsZENvbmZpZykge1xuICAgIHRoaXMuaGlkZGVuID0gY29uZmlnLmhpZGRlbiA/PyBmYWxzZTtcbiAgICB0aGlzLmlkID0gY29uZmlnLmlkID8/IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMud2lkdGggPSBjb25maWcud2lkdGggPz8gMTAwO1xuICAgIHRoaXMubGFiZWwgPSBjb25maWcubGFiZWwgPz8gbnVsbDtcbiAgICB0aGlzLm5hbWUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLmhpbnQgPSBjb25maWcuaGludCA/PyBudWxsO1xuICAgIHRoaXMudmFsaWRhdG9ycyA9IGNvbmZpZy52YWxpZGF0b3JzID8/IFtdO1xuICAgIHRoaXMudXBkYXRlT24gPSBjb25maWcudXBkYXRlT24gPz8gJ2NoYW5nZSc7XG4gICAgdGhpcy5yZWxhdGlvbnMgPSBjb25maWcucmVsYXRpb25zID8/IG51bGw7XG5cbiAgICAvLyBDcmVhdGUgYSBkaXNhYmxlZCBTdWJqZWN0IGFuZCBPYnNlcnZhYmxlIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIEZvcm1Db250cm9sIGluc2lkZSBEeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50IGJ5IHN1YnNjcmliaW5nIHRvIGRpc2FibGVkQ2hhbmdlXG4gICAgdGhpcy5kaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGNvbmZpZy5kaXNhYmxlZCA/PyBmYWxzZSk7XG4gICAgdGhpcy5kaXNhYmxlZENoYW5nZSA9IHRoaXMuZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHNldCBkaXNhYmxlZChkaXNhYmxlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { DynamicFormValidationsService } from '../../services/dynamic-validations.service';
|
|
2
2
|
import { DynamicFormValidators } from '../classes/dynamic-form-validators';
|
|
3
|
-
|
|
4
|
-
(function (RelationActionType) {
|
|
5
|
-
RelationActionType["DISABLED"] = "DISABLED";
|
|
6
|
-
RelationActionType["ENABLED"] = "ENABLED";
|
|
7
|
-
RelationActionType["HIDDEN"] = "HIDDEN";
|
|
8
|
-
RelationActionType["VISIBLE"] = "VISIBLE";
|
|
9
|
-
RelationActionType["REQUIRED"] = "REQUIRED";
|
|
10
|
-
RelationActionType["OPTIONAL"] = "OPTIONAL";
|
|
11
|
-
})(RelationActionType || (RelationActionType = {}));
|
|
12
|
-
export var RelationOperator;
|
|
13
|
-
(function (RelationOperator) {
|
|
14
|
-
RelationOperator["AND"] = "AND";
|
|
15
|
-
RelationOperator["OR"] = "OR";
|
|
16
|
-
})(RelationOperator || (RelationOperator = {}));
|
|
3
|
+
import { RelationActionType } from '../interfaces/dynamic-form-field-relation.interface';
|
|
17
4
|
const DISABLE_ACTION = {
|
|
18
5
|
type: RelationActionType.DISABLED,
|
|
19
6
|
reversedType: RelationActionType.ENABLED,
|
|
@@ -44,4 +31,4 @@ const REQUIRED_ACTION = {
|
|
|
44
31
|
}
|
|
45
32
|
};
|
|
46
33
|
export const RELATION_ACTIONS = [DISABLE_ACTION, HIDDEN_ACTION, REQUIRED_ACTION];
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yZWxhdGlvbnMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2NvbnN0YW50cy9keW5hbWljLXJlbGF0aW9ucy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQXlCLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFHaEgsTUFBTSxjQUFjLEdBQTBCO0lBQzVDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO0lBQ2pDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO0lBQ3hDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSztRQUNwQixLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUEwQjtJQUMzQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtJQUMvQixZQUFZLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUN4QyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUs7UUFDcEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBMEI7SUFDN0MsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVE7SUFDakMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFFBQVE7SUFDekMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVE7UUFDdkMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDcEYsSUFBSSxVQUFrQyxDQUFDO1FBRXZDLElBQUksUUFBUSxFQUFFO1lBQ1osVUFBVSxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2pIO2FBQU07WUFDTCxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7U0FDcEU7UUFFRCxRQUFRLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQTRCLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy12YWxpZGF0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdG9ycyB9IGZyb20gJy4uL2NsYXNzZXMvZHluYW1pYy1mb3JtLXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRHluYW1pY1JlbGF0aW9uQWN0aW9uLCBSZWxhdGlvbkFjdGlvblR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS12YWxpZGF0b3IuaW50ZXJmYWNlJztcblxuY29uc3QgRElTQUJMRV9BQ1RJT046IER5bmFtaWNSZWxhdGlvbkFjdGlvbiA9IHtcbiAgdHlwZTogUmVsYXRpb25BY3Rpb25UeXBlLkRJU0FCTEVELFxuICByZXZlcnNlZFR5cGU6IFJlbGF0aW9uQWN0aW9uVHlwZS5FTkFCTEVELFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsKSB7XG4gICAgbW9kZWwuZGlzYWJsZWQgPSBoYXNNYXRjaDtcbiAgfVxufTtcblxuY29uc3QgSElEREVOX0FDVElPTjogRHluYW1pY1JlbGF0aW9uQWN0aW9uID0ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGUuSElEREVOLFxuICByZXZlcnNlZFR5cGU6IFJlbGF0aW9uQWN0aW9uVHlwZS5WSVNJQkxFLFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsKSB7XG4gICAgbW9kZWwuaGlkZGVuID0gaGFzTWF0Y2g7XG4gIH1cbn07XG5cbmNvbnN0IFJFUVVJUkVEX0FDVElPTjogRHluYW1pY1JlbGF0aW9uQWN0aW9uID0ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGUuUkVRVUlSRUQsXG4gIHJldmVyc2VkVHlwZTogUmVsYXRpb25BY3Rpb25UeXBlLk9QVElPTkFMLFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsLCBjb250cm9sLCBpbmplY3Rvcikge1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkVmFsaWRhdGlvbiA9ICEhbW9kZWwudmFsaWRhdG9ycy5maW5kKChmKSA9PiBmLm5hbWUgPT09ICdyZXF1aXJlZCcpO1xuICAgIGxldCB2YWxpZGF0b3JzOiBEeW5hbWljRm9ybVZhbGlkYXRvcltdO1xuXG4gICAgaWYgKGhhc01hdGNoKSB7XG4gICAgICB2YWxpZGF0b3JzID0gaGFzUmVxdWlyZWRWYWxpZGF0aW9uID8gbW9kZWwudmFsaWRhdG9ycyA6IFsuLi5tb2RlbC52YWxpZGF0b3JzLCBEeW5hbWljRm9ybVZhbGlkYXRvcnMucmVxdWlyZWQoKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkYXRvcnMgPSBtb2RlbC52YWxpZGF0b3JzLmZpbHRlcigoZikgPT4gZi5uYW1lID09PSAncmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBpbmplY3Rvci5nZXQoRHluYW1pY0Zvcm1WYWxpZGF0aW9uc1NlcnZpY2UpLnVwZGF0ZVZhbGlkYXRvcnModmFsaWRhdG9ycywgY29udHJvbCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBSRUxBVElPTl9BQ1RJT05TOiBEeW5hbWljUmVsYXRpb25BY3Rpb25bXSA9IFtESVNBQkxFX0FDVElPTiwgSElEREVOX0FDVElPTiwgUkVRVUlSRURfQUNUSU9OXTtcbiJdfQ==
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export * from './classes/dynamic-form-field-base
|
|
1
|
+
export * from './classes/dynamic-form-field-base';
|
|
2
2
|
export * from './classes/dynamic-form-field-model';
|
|
3
3
|
export * from './classes/dynamic-form-field-option-model';
|
|
4
4
|
export * from './classes/dynamic-form-field-value-model';
|
|
5
5
|
export * from './classes/dynamic-form-validators';
|
|
6
|
-
export * from './constants/dynamic-relations.const';
|
|
7
6
|
export * from './interfaces/dynamic-form-field-config.interface';
|
|
7
|
+
export * from './interfaces/dynamic-form-field-event.interface';
|
|
8
|
+
export * from './interfaces/dynamic-form-field-relation.interface';
|
|
8
9
|
export * from './interfaces/dynamic-form-validator.interface';
|
|
9
10
|
export * from './types/dynamic-form-config.type';
|
|
10
11
|
export * from './tokens/dynamic-form-field-map-fn.token';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLCtDQUErQyxDQUFDO0FBRTlELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtb3B0aW9uLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtdmFsdWUtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL2R5bmFtaWMtZm9ybS12YWxpZGF0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtZXZlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvZHluYW1pYy1mb3JtLWNvbmZpZy50eXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZHluYW1pYy1mb3JtLWZpZWxkLW1hcC1mbi50b2tlbic7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbiB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWZpZWxkLXJlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVZhbGlkYXRvciB9IGZyb20gJy4vZHluYW1pYy1mb3JtLXZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGb3JtRmllbGRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udHJvbCBoYXMgdG8gYmUgZGlzYWJsZWQuXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgaGlkZGVuLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZHMgYW4gaWQgYXR0cmlidXRlIHRvIHRoZSBGb3JtQ29udHJvbC5cbiAgICogV2hlbiBub3QgcHJvdmlkZWQsIHRoZSByZXF1aXJlZCAnbmFtZScgcHJvcGVydHkgaXMgdXNlZCBhcyBpZFxuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0cyB0aGUgd2lkdGggb2YgdGhlIGZpZWxkLCBiYXNlZCBvbiBwZXJjZW50YWdlcy4gRGVmYXVsdCB2YWx1ZSBpcyAxMDAuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgd2lkdGg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBVc2VkIGFzIG1hdC1sYWJlbCB3aGVuIHByb3ZpZGVkXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmcgfCBudWxsO1xuICAvKipcbiAgICogTmFtZSB1c2VkIGFzIEZvcm1Db250cm9sTmFtZVxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEhpbnQgdGV4dCB1bmRlcm5lYXRoIHRoZSBGb3JtQ29udHJvbFxuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIGhpbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBEeW5hbWljIEZvcm0gVmFsaWRhdG9yc1xuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIHZhbGlkYXRvcnM/OiBEeW5hbWljRm9ybVZhbGlkYXRvcltdO1xuICAvKipcbiAgICogQXJyYXkgb2YgRHluYW1pYyBGb3JtIFJlbGF0aW9uc1xuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIHJlbGF0aW9ucz86IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbltdO1xuICAvKipcbiAgICogRXZlbnQgbmFtZSBmb3IgdGhlIGNvbnRyb2wgdG8gdXBkYXRlIG9uLlxuICAgKiBQb3NzaWJsZSB2YWx1ZXM6ICdjaGFuZ2UnLCAnYmx1cicgb3IgJ3N1Ym1pdCcuXG4gICAqIERlZmF1bHQgdmFsdWVzIGlzICdibHVyJ1xuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIHVwZGF0ZU9uPzogJ3N1Ym1pdCcgfCAnYmx1cicgfCAnY2hhbmdlJztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWV2ZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtZXZlbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuLi9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1GaWVsZEV2ZW50IHtcbiAgZXZlbnQ6IHVua25vd247XG4gIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgbW9kZWw6IER5bmFtaWNGb3JtRmllbGRNb2RlbDtcbiAgdHlwZTogRHluYW1pY0Zvcm1GaWVsZEV2ZW50VHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgRHluYW1pY0Zvcm1GaWVsZEV2ZW50VHlwZSA9ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ2ZvY3VzJztcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export var RelationActionType;
|
|
2
|
+
(function (RelationActionType) {
|
|
3
|
+
RelationActionType["DISABLED"] = "DISABLED";
|
|
4
|
+
RelationActionType["ENABLED"] = "ENABLED";
|
|
5
|
+
RelationActionType["HIDDEN"] = "HIDDEN";
|
|
6
|
+
RelationActionType["VISIBLE"] = "VISIBLE";
|
|
7
|
+
RelationActionType["REQUIRED"] = "REQUIRED";
|
|
8
|
+
RelationActionType["OPTIONAL"] = "OPTIONAL";
|
|
9
|
+
})(RelationActionType || (RelationActionType = {}));
|
|
10
|
+
export var RelationOperator;
|
|
11
|
+
(function (RelationOperator) {
|
|
12
|
+
RelationOperator["AND"] = "AND";
|
|
13
|
+
RelationOperator["OR"] = "OR";
|
|
14
|
+
})(RelationOperator || (RelationOperator = {}));
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLXJlbGF0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7SUFDbkIsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsMkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVBXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFPN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLCtCQUFXLENBQUE7SUFDWCw2QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZE1vZGVsIH0gZnJvbSAnLi4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtbW9kZWwnO1xuXG5leHBvcnQgZW51bSBSZWxhdGlvbkFjdGlvblR5cGUge1xuICBESVNBQkxFRCA9ICdESVNBQkxFRCcsXG4gIEVOQUJMRUQgPSAnRU5BQkxFRCcsXG4gIEhJRERFTiA9ICdISURERU4nLFxuICBWSVNJQkxFID0gJ1ZJU0lCTEUnLFxuICBSRVFVSVJFRCA9ICdSRVFVSVJFRCcsXG4gIE9QVElPTkFMID0gJ09QVElPTkFMJ1xufVxuXG5leHBvcnQgZW51bSBSZWxhdGlvbk9wZXJhdG9yIHtcbiAgQU5EID0gJ0FORCcsXG4gIE9SID0gJ09SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbGF0aW9uQ29uZGl0aW9uIHtcbiAgZmllbGROYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiAodmFsOiBhbnkpID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uIHtcbiAgYWN0aW9uVHlwZTogUmVsYXRpb25BY3Rpb25UeXBlO1xuICBvcGVyYXRvcj86IFJlbGF0aW9uT3BlcmF0b3I7XG4gIGNvbmRpdGlvbnM6IFJlbGF0aW9uQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1JlbGF0aW9uQWN0aW9uIHtcbiAgdHlwZTogUmVsYXRpb25BY3Rpb25UeXBlO1xuICByZXZlcnNlZFR5cGU/OiBzdHJpbmc7XG4gIGNoYW5nZShoYXNNYXRjaDogYm9vbGVhbiwgbW9kZWw6IER5bmFtaWNGb3JtRmllbGRNb2RlbCwgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sLCBpbmplY3RvcjogSW5qZWN0b3IpOiB2b2lkO1xufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { inject, Injectable, Injector } from '@angular/core';
|
|
2
2
|
import { distinctUntilChanged, startWith } from 'rxjs';
|
|
3
|
-
import { RELATION_ACTIONS
|
|
3
|
+
import { RELATION_ACTIONS } from '../models/constants/dynamic-relations.const';
|
|
4
|
+
import { RelationOperator } from '../models/interfaces/dynamic-form-field-relation.interface';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class DynamicFormRelationsService {
|
|
6
7
|
constructor() {
|
|
@@ -100,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
100
101
|
providedIn: 'root'
|
|
101
102
|
}]
|
|
102
103
|
}] });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXJlbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS1yZWxhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUdMLGdCQUFnQixFQUVoQixnQkFBZ0IsRUFDakIsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLDJCQUEyQjtJQUh4QztRQUlVLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FrSHRDO0lBakhDOzs7OztPQUtHO0lBQ0ksb0JBQW9CLENBQUMsS0FBNEIsRUFBRSxLQUFnQjtRQUN4RSxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBNkIsRUFBRSxTQUE0QixFQUFFLEVBQUU7WUFDdkYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUF1QixDQUFDO1lBRXJFLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsU0FBUyxDQUFDLFNBQVMsUUFBUSxDQUFDLENBQUM7Z0JBQ25GLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO1lBRUQsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUM7WUFDeEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDO1FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQTZCLEVBQUUsUUFBa0MsRUFBRSxFQUFFO1lBQzdGLE9BQU8sUUFBUSxDQUFD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Q0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFlBQVksRUFBRTtnQkFDL0Msd0VBQXdFO2dCQUN4RSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksUUFBUSxLQUFLLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxPQUFPO29CQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUUzRSwwRUFBMEU7Z0JBQzFFLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTztvQkFBRSxPQUFPLEtBQUssQ0FBQztnQkFFNUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9DO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQWxIVSwyQkFBMkI7bUhBQTNCLDJCQUEyQixjQUYxQixNQUFNOzs0RkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtbW9kZWwnO1xuaW1wb3J0IHtcbiAgRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uLFxuICBEeW5hbWljUmVsYXRpb25BY3Rpb24sXG4gIFJFTEFUSU9OX0FDVElPTlMsXG4gIFJlbGF0aW9uQ29uZGl0aW9uLFxuICBSZWxhdGlvbk9wZXJhdG9yXG59IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMvZHluYW1pYy1yZWxhdGlvbnMuY29uc3QnO1xuaW1wb3J0IHsgUmVsYXRlZEZvcm1Db250cm9scyB9IGZyb20gJy4uL21vZGVscy90eXBlcy9yZWxhdGVkLWZvcm0tY29udHJvbHMudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtUmVsYXRpb25zU2VydmljZSB7XG4gIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgLyoqXG4gICAqIEdldCBhbiBvYmplY3Qgd2l0aCBhbGwgRm9ybUZpZWxkIHRoZSBwcm92aWRlZCBtb2RlbCBoYXMgYSByZWxhdGlvbiB3aXRoXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKiBAcGFyYW0gZ3JvdXBcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBmaW5kUmVsYXRlZEZvcm1GaWVsZChtb2RlbDogRHluYW1pY0Zvcm1GaWVsZE1vZGVsLCBncm91cDogRm9ybUdyb3VwKTogUmVsYXRlZEZvcm1Db250cm9scyB7XG4gICAgY29uc3QgY29uZGl0aW9uUmVkdWNlciA9IChjb250cm9sczogUmVsYXRlZEZvcm1Db250cm9scywgY29uZGl0aW9uOiBSZWxhdGlvbkNvbmRpdGlvbikgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGdyb3VwLmdldChjb25kaXRpb24uZmllbGROYW1lKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgICAgIGlmICghY29udHJvbCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYE5vIHJlbGF0ZWQgZm9ybSBjb250cm9sIHdpdGggdGhlIG5hbWUgJHtjb25kaXRpb24uZmllbGROYW1lfSBmb3VuZGApO1xuICAgICAgICByZXR1cm4gY29udHJvbHM7XG4gICAgICB9XG5cbiAgICAgIGNvbnRyb2xzW2NvbmRpdGlvbi5maWVsZE5hbWVdID0gY29udHJvbDtcbiAgICAgIHJldHVybiBjb250cm9scztcbiAgICB9O1xuXG4gICAgY29uc3QgcmVsYXRpb25zUmVkdWNlciA9IChjb250cm9sczogUmVsYXRlZEZvcm1Db250cm9scywgcmVsYXRpb246IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHJlbGF0aW9uLmNvbmRpdGlvbnMucmVkdWNlKGNvbmRpdGlvblJlZHVjZXIsIGNvbnRyb2xzKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIG1vZGVsLnJlbGF0aW9ucyEucmVkdWNlKHJlbGF0aW9uc1JlZHVjZXIsIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZWxhdGlvblN1YnNjcmlwdGlvbnMoXG4gICAgcmVsYXRlZEZvcm1Db250cm9sczogUmVsYXRlZEZvcm1Db250cm9scyxcbiAgICBtb2RlbDogRHluYW1pY0Zvcm1GaWVsZE1vZGVsLFxuICAgIGNvbnRyb2w6IEZvcm1Db250cm9sXG4gICk6IFN1YnNjcmlwdGlvbltdIHtcbiAgICBjb25zdCBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHZhbHVlIGNoYW5nZXMgb2YgYWxsIEZvcm1Db250cm9scywgcHJvdmlkZSB0aGUgY3VycmVudCB2YWx1ZSBpbnNpZGUgdGhlIHN0YXJ0V2l0aFxuICAgIE9iamVjdC52YWx1ZXMocmVsYXRlZEZvcm1Db250cm9scykuZm9yRWFjaCgocmVsYXRlZENvbnRyb2wpID0+IHtcbiAgICAgIHN1YnMucHVzaChcbiAgICAgICAgcmVsYXRlZENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHJlbGF0ZWRDb250cm9sLnZhbHVlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBtb2RlbC5yZWxhdGlvbnMhLmZvckVhY2goKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAvLyBGaW5kIHRoZSBSZWxhdGlvbkFjdGlvbiBvYmplY3QgYmFzZWQgb24gdGhlIGFjdGlvblR5cGUgcGFzc2VkIGluc2lkZSB0aGUgRHluYW1pY0Zvcm1Db25maWdcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IFJFTEFUSU9OX0FDVElPTlMuZmluZChcbiAgICAgICAgICAgICAgKGFjdGlvbikgPT4gcmVsYXRpb24uYWN0aW9uVHlwZSA9PT0gYWN0aW9uLnR5cGUgfHwgcmVsYXRpb24uYWN0aW9uVHlwZSA9PT0gYWN0aW9uLnJldmVyc2VkVHlwZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICBjb25zdCBzaG91bGRUcmlnZ2VyID0gdGhpcy5jaGVja1JlbGF0aW9uQ29uZGl0aW9uKHJlbGF0aW9uLCByZWxhdGVkRm9ybUNvbnRyb2xzLCBhY3Rpb24pO1xuXG4gICAgICAgICAgICAgIGFjdGlvbi5jaGFuZ2Uoc2hvdWxkVHJpZ2dlciwgbW9kZWwsIGNvbnRyb2wsIHRoaXMuX2luamVjdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3VicztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgY29uZGl0aW9ucyBpbnNpZGUgdGhlIHJlbGF0aW9uc1xuICAgKiBAcGFyYW0gcmVsYXRpb25cbiAgICogQHBhcmFtIHJlbGF0ZWRDb250cm9sXG4gICAqIEBwYXJhbSBhY3Rpb25cbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgY2hlY2tSZWxhdGlvbkNvbmRpdGlvbihcbiAgICByZWxhdGlvbjogRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uLFxuICAgIHJlbGF0ZWRDb250cm9sczogUmVsYXRlZEZvcm1Db250cm9scyxcbiAgICBhY3Rpb246IER5bmFtaWNSZWxhdGlvbkFjdGlvblxuICApOiBib29sZWFuIHtcbiAgICAvLyBEZWZhdWx0IG9wZXJhdG9yIGlzIEFORCwgbWVhbmluZyBhbGwgY29uZGl0aW9ucyBzaG91bGQgcmV0dXJuIHRydWUgYmVmb3JlIHRoZSBwcm92aWRlZCBhY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgIC8vIEluIHRoZSBjYXNlIG9mIGEgcmV2ZXJzZWQgdHlwZSwgdGhlIHJldHVybiB2YWx1ZSB3aG91bGQgYmUgZmFsc2UuXG4gICAgY29uc3Qgb3BlcmF0b3IgPSByZWxhdGlvbi5vcGVyYXRvciA/PyBSZWxhdGlvbk9wZXJhdG9yLkFORDtcblxuICAgIC8vIFVzZSBhIHJlZHVjZXIgdG8gbWFwIGFsbCBjb25kaXRpb25zIHRvIGEgc2luZ2xlIGJvb2xlYW4gdmFsdWUgdG8gZGVjaWRlIGlmIHdlIHdhbnQgdG8gdHJpZ2dlciB0aGUgcHJvdmlkZWQgYWN0aW9uIHR5cGVcbiAgICBjb25zdCByZWR1Y2VyID0gKGlzTWF0Y2g6IGJvb2xlYW4sIGNvbmRpdGlvbjogUmVsYXRpb25Db25kaXRpb24sIGluZGV4OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICAgIC8vIEZpbmQgdGhlIEZvcm1Db250cm9sIG9mIHRoZSByZWxhdGVkIGZpZWxkXG4gICAgICBsZXQgcmVsYXRlZENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IHVuZGVmaW5lZDtcblxuICAgICAgZm9yIChjb25zdCBbZmllbGROYW1lLCBjb250cm9sXSBvZiBPYmplY3QuZW50cmllcyhyZWxhdGVkQ29udHJvbHMpKSB7XG4gICAgICAgIGlmIChmaWVsZE5hbWUgPT09IGNvbmRpdGlvbi5maWVsZE5hbWUpIHtcbiAgICAgICAgICByZWxhdGVkQ29udHJvbCA9IGNvbnRyb2w7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFyZWxhdGVkQ29udHJvbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAvLyBVc2luZyB0aGUgJ25vcm1hbCcgdHlwZSBzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgY29uZGl0aW9uIG1hdGNoZXNcbiAgICAgIGlmIChyZWxhdGlvbi5hY3Rpb25UeXBlID09PSBhY3Rpb24udHlwZSkge1xuICAgICAgICAvLyBTaG9ydGN1dCB0byBmYWxzZSB3aGVuIGEgcHJldmlvdXMgY29uZGl0aW9uIGNoZWNrIHdhcyByZXNvbHZlZCBhcyBmYWxzZVxuICAgICAgICBpZiAoaW5kZXggPiAwICYmIG9wZXJhdG9yID09PSBSZWxhdGlvbk9wZXJhdG9yLkFORCAmJiAhaXNNYXRjaCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0IHRvIHRydWUgd2hlbiBhIHByZXZpb3VzIGNvbmRpdGlvbiBjaGVjayB3YXMgcmVzb2x2ZWQgYXMgdHJ1ZVxuICAgICAgICBpZiAoaW5kZXggPiAwICYmIG9wZXJhdG9yID09PSBSZWxhdGlvbk9wZXJhdG9yLk9SICYmIGlzTWF0Y2gpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIHJldHVybiBjb25kaXRpb24udmFsdWUocmVsYXRlZENvbnRyb2wudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBVc2luZyB0aGUgcmV2ZXJzZWQgdHlwZSBzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIGNvbmRpdGlvbiBtYXRjaGVzLCBiZWNhdXNlIHdlIHdhbnQgdG8gdGhlIG9wcG9zaXRlIG9mIHRoZSBjb25maWd1cmVkIGNoYW5nZSBGdW5jdGlvblxuICAgICAgaWYgKHJlbGF0aW9uLmFjdGlvblR5cGUgPT09IGFjdGlvbi5yZXZlcnNlZFR5cGUpIHtcbiAgICAgICAgLy8gU2hvcnRjdXQgdG8gdHJ1ZSB3aGVuIGEgcHJldmlvdXMgY29uZGl0aW9uIGNoZWNrIHdhcyByZXNvbHZlZCBhcyB0cnVlXG4gICAgICAgIGlmIChpbmRleCA+IDAgJiYgb3BlcmF0b3IgPT09IFJlbGF0aW9uT3BlcmF0b3IuQU5EICYmIGlzTWF0Y2gpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0IHRvIGZhbHNlIHdoZW4gYSBwcmV2aW91cyBjb25kaXRpb24gY2hlY2sgd2FzIHJlc29sdmVkIGFzIGZhbHNlXG4gICAgICAgIGlmIChpbmRleCA+IDAgJiYgb3BlcmF0b3IgPT09IFJlbGF0aW9uT3BlcmF0b3IuT1IgJiYgIWlzTWF0Y2gpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gIWNvbmRpdGlvbi52YWx1ZShyZWxhdGVkQ29udHJvbC52YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbGF0aW9uLmNvbmRpdGlvbnMucmVkdWNlKHJlZHVjZXIsIGZhbHNlKTtcbiAgfVxufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXJlbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS1yZWxhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUlMLGdCQUFnQixFQUNqQixNQUFNLDREQUE0RCxDQUFDOztBQU1wRSxNQUFNLE9BQU8sMkJBQTJCO0lBSHhDO1FBSVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQWtIdEM7SUFqSEM7Ozs7O09BS0c7SUFDSSxvQkFBb0IsQ0FBQyxLQUE0QixFQUFFLEtBQWdCO1FBQ3hFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUE2QixFQUFFLFNBQTRCLEVBQUUsRUFBRTtZQUN2RixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQXVCLENBQUM7WUFFckUsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxTQUFTLENBQUMsU0FBUyxRQUFRLENBQUMsQ0FBQztnQkFDbkYsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFFRCxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUN4QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUM7UUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBNkIsRUFBRSxRQUFr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QzlDO1lBRUQsNElBQTRJO1lBQzVJLElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUMvQyx3RUFBd0U7Z0JBQ3hFLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxJQUFJLE9BQU87b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBRTNFLDBFQUEwRTtnQkFDMUUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUU1RSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0M7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBbEhVLDJCQUEyQjttSEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzRGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5pbXBvcnQgeyBSRUxBVElPTl9BQ1RJT05TIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cy9keW5hbWljLXJlbGF0aW9ucy5jb25zdCc7XG5pbXBvcnQge1xuICBEeW5hbWljRm9ybUZpZWxkUmVsYXRpb24sXG4gIER5bmFtaWNSZWxhdGlvbkFjdGlvbixcbiAgUmVsYXRpb25Db25kaXRpb24sXG4gIFJlbGF0aW9uT3BlcmF0b3Jcbn0gZnJvbSAnLi4vbW9kZWxzL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWZpZWxkLXJlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGVkRm9ybUNvbnRyb2xzIH0gZnJvbSAnLi4vbW9kZWxzL3R5cGVzL3JlbGF0ZWQtZm9ybS1jb250cm9scy50eXBlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1SZWxhdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAvKipcbiAgICogR2V0IGFuIG9iamVjdCB3aXRoIGFsbCBGb3JtRmllbGQgdGhlIHByb3ZpZGVkIG1vZGVsIGhhcyBhIHJlbGF0aW9uIHdpdGhcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqIEBwYXJhbSBncm91cFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGZpbmRSZWxhdGVkRm9ybUZpZWxkKG1vZGVsOiBEeW5hbWljRm9ybUZpZWxkTW9kZWwsIGdyb3VwOiBGb3JtR3JvdXApOiBSZWxhdGVkRm9ybUNvbnRyb2xzIHtcbiAgICBjb25zdCBjb25kaXRpb25SZWR1Y2VyID0gKGNvbnRyb2xzOiBSZWxhdGVkRm9ybUNvbnRyb2xzLCBjb25kaXRpb246IFJlbGF0aW9uQ29uZGl0aW9uKSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gZ3JvdXAuZ2V0KGNvbmRpdGlvbi5maWVsZE5hbWUpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgICAgaWYgKCFjb250cm9sKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgTm8gcmVsYXRlZCBmb3JtIGNvbnRyb2wgd2l0aCB0aGUgbmFtZSAke2NvbmRpdGlvbi5maWVsZE5hbWV9IGZvdW5kYCk7XG4gICAgICAgIHJldHVybiBjb250cm9scztcbiAgICAgIH1cblxuICAgICAgY29udHJvbHNbY29uZGl0aW9uLmZpZWxkTmFtZV0gPSBjb250cm9sO1xuICAgICAgcmV0dXJuIGNvbnRyb2xzO1xuICAgIH07XG5cbiAgICBjb25zdCByZWxhdGlvbnNSZWR1Y2VyID0gKGNvbnRyb2xzOiBSZWxhdGVkRm9ybUNvbnRyb2xzLCByZWxhdGlvbjogRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gcmVsYXRpb24uY29uZGl0aW9ucy5yZWR1Y2UoY29uZGl0aW9uUmVkdWNlciwgY29udHJvbHMpO1xuICAgIH07XG5cbiAgICByZXR1cm4gbW9kZWwucmVsYXRpb25zIS5yZWR1Y2UocmVsYXRpb25zUmVkdWNlciwge30pO1xuICB9XG5cbiAgcHVibGljIGdldFJlbGF0aW9uU3Vic2NyaXB0aW9ucyhcbiAgICByZWxhdGVkRm9ybUNvbnRyb2xzOiBSZWxhdGVkRm9ybUNvbnRyb2xzLFxuICAgIG1vZGVsOiBEeW5hbWljRm9ybUZpZWxkTW9kZWwsXG4gICAgY29udHJvbDogRm9ybUNvbnRyb2xcbiAgKTogU3Vic2NyaXB0aW9uW10ge1xuICAgIGNvbnN0IHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdmFsdWUgY2hhbmdlcyBvZiBhbGwgRm9ybUNvbnRyb2xzLCBwcm92aWRlIHRoZSBjdXJyZW50IHZhbHVlIGluc2lkZSB0aGUgc3RhcnRXaXRoXG4gICAgT2JqZWN0LnZhbHVlcyhyZWxhdGVkRm9ybUNvbnRyb2xzKS5mb3JFYWNoKChyZWxhdGVkQ29udHJvbCkgPT4ge1xuICAgICAgc3Vicy5wdXNoKFxuICAgICAgICByZWxhdGVkQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgocmVsYXRlZENvbnRyb2wudmFsdWUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIG1vZGVsLnJlbGF0aW9ucyEuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgICAgIC8vIEZpbmQgdGhlIFJlbGF0aW9uQWN0aW9uIG9iamVjdCBiYXNlZCBvbiB0aGUgYWN0aW9uVHlwZSBwYXNzZWQgaW5zaWRlIHRoZSBEeW5hbWljRm9ybUNvbmZpZ1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gUkVMQVRJT05fQUNUSU9OUy5maW5kKFxuICAgICAgICAgICAgICAoYWN0aW9uKSA9PiByZWxhdGlvbi5hY3Rpb25UeXBlID09PSBhY3Rpb24udHlwZSB8fCByZWxhdGlvbi5hY3Rpb25UeXBlID09PSBhY3Rpb24ucmV2ZXJzZWRUeXBlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHNob3VsZFRyaWdnZXIgPSB0aGlzLmNoZWNrUmVsYXRpb25Db25kaXRpb24ocmVsYXRpb24sIHJlbGF0ZWRGb3JtQ29udHJvbHMsIGFjdGlvbik7XG5cbiAgICAgICAgICAgICAgYWN0aW9uLmNoYW5nZShzaG91bGRUcmlnZ2VyLCBtb2RlbCwgY29udHJvbCwgdGhpcy5faW5qZWN0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJzO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBjb25kaXRpb25zIGluc2lkZSB0aGUgcmVsYXRpb25zXG4gICAqIEBwYXJhbSByZWxhdGlvblxuICAgKiBAcGFyYW0gcmVsYXRlZENvbnRyb2xcbiAgICogQHBhcmFtIGFjdGlvblxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1JlbGF0aW9uQ29uZGl0aW9uKFxuICAgIHJlbGF0aW9uOiBEeW5hbWljRm9ybUZpZWxkUmVsYXRpb24sXG4gICAgcmVsYXRlZENvbnRyb2xzOiBSZWxhdGVkRm9ybUNvbnRyb2xzLFxuICAgIGFjdGlvbjogRHluYW1pY1JlbGF0aW9uQWN0aW9uXG4gICk6IGJvb2xlYW4ge1xuICAgIC8vIERlZmF1bHQgb3BlcmF0b3IgaXMgQU5ELCBtZWFuaW5nIGFsbCBjb25kaXRpb25zIHNob3VsZCByZXR1cm4gdHJ1ZSBiZWZvcmUgdGhlIHByb3ZpZGVkIGFjdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAgLy8gSW4gdGhlIGNhc2Ugb2YgYSByZXZlcnNlZCB0eXBlLCB0aGUgcmV0dXJuIHZhbHVlIHdob3VsZCBiZSBmYWxzZS5cbiAgICBjb25zdCBvcGVyYXRvciA9IHJlbGF0aW9uLm9wZXJhdG9yID8/IFJlbGF0aW9uT3BlcmF0b3IuQU5EO1xuXG4gICAgLy8gVXNlIGEgcmVkdWNlciB0byBtYXAgYWxsIGNvbmRpdGlvbnMgdG8gYSBzaW5nbGUgYm9vbGVhbiB2YWx1ZSB0byBkZWNpZGUgaWYgd2Ugd2FudCB0byB0cmlnZ2VyIHRoZSBwcm92aWRlZCBhY3Rpb24gdHlwZVxuICAgIGNvbnN0IHJlZHVjZXIgPSAoaXNNYXRjaDogYm9vbGVhbiwgY29uZGl0aW9uOiBSZWxhdGlvbkNvbmRpdGlvbiwgaW5kZXg6IG51bWJlcik6IGJvb2xlYW4gPT4ge1xuICAgICAgLy8gRmluZCB0aGUgRm9ybUNvbnRyb2wgb2YgdGhlIHJlbGF0ZWQgZmllbGRcbiAgICAgIGxldCByZWxhdGVkQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xuXG4gICAgICBmb3IgKGNvbnN0IFtmaWVsZE5hbWUsIGNvbnRyb2xdIG9mIE9iamVjdC5lbnRyaWVzKHJlbGF0ZWRDb250cm9scykpIHtcbiAgICAgICAgaWYgKGZpZWxkTmFtZSA9PT0gY29uZGl0aW9uLmZpZWxkTmFtZSkge1xuICAgICAgICAgIHJlbGF0ZWRDb250cm9sID0gY29udHJvbDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJlbGF0ZWRDb250cm9sKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIC8vIFVzaW5nIHRoZSAnbm9ybWFsJyB0eXBlIHNob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZSBjb25kaXRpb24gbWF0Y2hlc1xuICAgICAgaWYgKHJlbGF0aW9uLmFjdGlvblR5cGUgPT09IGFjdGlvbi50eXBlKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0IHRvIGZhbHNlIHdoZW4gYSBwcmV2aW91cyBjb25kaXRpb24gY2hlY2sgd2FzIHJlc29sdmVkIGFzIGZhbHNlXG4gICAgICAgIGlmIChpbmRleCA+IDAgJiYgb3BlcmF0b3IgPT09IFJlbGF0aW9uT3BlcmF0b3IuQU5EICYmICFpc01hdGNoKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgLy8gU2hvcnRjdXQgdG8gdHJ1ZSB3aGVuIGEgcHJldmlvdXMgY29uZGl0aW9uIGNoZWNrIHdhcyByZXNvbHZlZCBhcyB0cnVlXG4gICAgICAgIGlmIChpbmRleCA+IDAgJiYgb3BlcmF0b3IgPT09IFJlbGF0aW9uT3BlcmF0b3IuT1IgJiYgaXNNYXRjaCkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgcmV0dXJuIGNvbmRpdGlvbi52YWx1ZShyZWxhdGVkQ29udHJvbC52YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFVzaW5nIHRoZSByZXZlcnNlZCB0eXBlIHNob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgY29uZGl0aW9uIG1hdGNoZXMsIGJlY2F1c2Ugd2Ugd2FudCB0byB0aGUgb3Bwb3NpdGUgb2YgdGhlIGNvbmZpZ3VyZWQgY2hhbmdlIEZ1bmN0aW9uXG4gICAgICBpZiAocmVsYXRpb24uYWN0aW9uVHlwZSA9PT0gYWN0aW9uLnJldmVyc2VkVHlwZSkge1xuICAgICAgICAvLyBTaG9ydGN1dCB0byB0cnVlIHdoZW4gYSBwcmV2aW91cyBjb25kaXRpb24gY2hlY2sgd2FzIHJlc29sdmVkIGFzIHRydWVcbiAgICAgICAgaWYgKGluZGV4ID4gMCAmJiBvcGVyYXRvciA9PT0gUmVsYXRpb25PcGVyYXRvci5BTkQgJiYgaXNNYXRjaCkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgLy8gU2hvcnRjdXQgdG8gZmFsc2Ugd2hlbiBhIHByZXZpb3VzIGNvbmRpdGlvbiBjaGVjayB3YXMgcmVzb2x2ZWQgYXMgZmFsc2VcbiAgICAgICAgaWYgKGluZGV4ID4gMCAmJiBvcGVyYXRvciA9PT0gUmVsYXRpb25PcGVyYXRvci5PUiAmJiAhaXNNYXRjaCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiAhY29uZGl0aW9uLnZhbHVlKHJlbGF0ZWRDb250cm9sLnZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgICByZXR1cm4gcmVsYXRpb24uY29uZGl0aW9ucy5yZWR1Y2UocmVkdWNlciwgZmFsc2UpO1xuICB9XG59XG4iXX0=
|
|
@@ -22,8 +22,8 @@ export class DynamicFormService {
|
|
|
22
22
|
/**
|
|
23
23
|
* Create a FormGroup from the provided form configuration.
|
|
24
24
|
* Returns a FormGroup.
|
|
25
|
-
* @param config
|
|
26
|
-
* @returns
|
|
25
|
+
* @param {DynamicFormConfig} config Configuration object of a form
|
|
26
|
+
* @returns {UntypedFormGroup}
|
|
27
27
|
*/
|
|
28
28
|
createFormGroup(config) {
|
|
29
29
|
const group = this.fb.group({});
|
|
@@ -42,12 +42,16 @@ export class DynamicFormService {
|
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Transform any list (Observable) to a list of DynamicFormFieldOption which is used in any Dynamic Form Field with options (e.g. DynamicSelect).
|
|
45
|
+
* Possible to provide the method with Type definitions to define the provided list type and desired option value type:
|
|
46
|
+
*
|
|
47
|
+
* `dynamicFormService.toDynamicOptionList<T, K>(...)`
|
|
48
|
+
*
|
|
45
49
|
* Generic types:
|
|
46
|
-
* T = The type of the items in the provided list
|
|
47
|
-
* K = The type of the value inside an DynamicFormFieldOption
|
|
48
|
-
* @param listObs
|
|
49
|
-
* @param labelCb
|
|
50
|
-
* @param valueCb
|
|
50
|
+
* - T = The type of the items in the provided list
|
|
51
|
+
* - K = The type of the value inside an DynamicFormFieldOption. Default is 'string'
|
|
52
|
+
* @param listObs An Observable of a list of items of type T
|
|
53
|
+
* @param labelCb Callback to define the label of the options in the template
|
|
54
|
+
* @param valueCb Callback to define the value of the options. Must return a value of type K (default string)
|
|
51
55
|
* @returns
|
|
52
56
|
*/
|
|
53
57
|
toDynamicOptionListObs(listObs, labelCb, valueCb) {
|
|
@@ -74,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
74
78
|
}, {
|
|
75
79
|
type: Optional
|
|
76
80
|
}] }, { type: i1.FormBuilder }, { type: i2.DynamicFormValidationsService }]; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBbUMsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7OztBQVM3RixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ3lELHlCQUFvRCxFQUNuRyxFQUFlLEVBQ2YsaUJBQWdEO1FBRkQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNuRyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2Ysc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtJQUN2RCxDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLDZCQUE2QixDQUFDLEtBQTRCO1FBQy9ELE9BQU8sT0FBTyxJQUFJLENBQUMseUJBQXlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsTUFBeUI7UUFDOUMsTUFBTSxLQUFLLEdBQXFCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNyQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sa0JBQWtCLEdBQUcsYUFBcUQsQ0FBQztnQkFDakYsTUFBTSxjQUFjLEdBQXVCO29CQUN6QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7aUJBQzdFLENBQUM7Z0JBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FDcEMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxJQUFJLGtCQUFrQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQzdHLGNBQWMsQ0FDZixDQUFDO2dCQUVGLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLHNCQUFzQixDQUMzQixPQUF3QixFQUN4QixPQUE0QixFQUM1QixPQUF1QjtRQUV2QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3ZCLE9BQU87b0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO2lCQUNyQixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0ExRVUsa0JBQWtCLGtCQUVuQix5QkFBeUI7bUhBRnhCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbE9wdGlvbnMsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW9wdGlvbi1tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkVmFsdWVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtdmFsdWUtbW9kZWwnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTiB9IGZyb20gJy4uL21vZGVscy90b2tlbnMvZHluYW1pYy1mb3JtLWZpZWxkLW1hcC1mbi50b2tlbic7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy90eXBlcy9keW5hbWljLWZvcm0tY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtdmFsaWRhdGlvbnMuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNGb3JtRmllbGRUeXBlTWFwRm4gPSAoZmllbGQ6IER5bmFtaWNGb3JtRmllbGRNb2RlbCkgPT4gVHlwZTxEeW5hbWljRm9ybUZpZWxkPiB8IG51bGw7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTikgQE9wdGlvbmFsKCkgcHJpdmF0ZSBEWU5BTUlDX0ZPUk1fRklFTERfTUFQX0ZOOiBEeW5hbWljRm9ybUZpZWxkVHlwZU1hcEZuLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdmFsaWRhdG9yc1NlcnZpY2U6IER5bmFtaWNGb3JtVmFsaWRhdGlvbnNTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlcmUgaXMgYSBmdW5jdGlvbiBwcm92aWRlZCB0byB1c2UgY3VzdG9tIGZvcm0gY29udHJvbHNcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgZ2V0Q3VzdG9tQ29udHJvbENvbXBvbmVudFR5cGUobW9kZWw6IER5bmFtaWNGb3JtRmllbGRNb2RlbCk6IFR5cGU8RHluYW1pY0Zvcm1GaWVsZD4gfCBudWxsIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTihtb2RlbCkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIEZvcm1Hcm91cCBmcm9tIHRoZSBwcm92aWRlZCBmb3JtIGNvbmZpZ3VyYXRpb24uXG4gICAqIFJldHVybnMgYSBGb3JtR3JvdXAuXG4gICAqIEBwYXJhbSB7RHluYW1pY0Zvcm1Db25maWd9IGNvbmZpZyBDb25maWd1cmF0aW9uIG9iamVjdCBvZiBhIGZvcm1cbiAgICogQHJldHVybnMge1VudHlwZWRGb3JtR3JvdXB9XG4gICAqL1xuICBwdWJsaWMgY3JlYXRlRm9ybUdyb3VwKGNvbmZpZzogRHluYW1pY0Zvcm1Db25maWcpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICBjb25zdCBncm91cDogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuXG4gICAgY29uZmlnLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgcm93LmZvckVhY2goKGNvbnRyb2xDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlQ29uZmlnID0gY29udHJvbENvbmZpZyBhcyBEeW5hbWljRm9ybUZpZWxkVmFsdWVDb25maWc8dW5rbm93bj47XG4gICAgICAgIGNvbnN0IGNvbnRyb2xPcHRpb25zOiBGb3JtQ29udHJvbE9wdGlvbnMgPSB7XG4gICAgICAgICAgdXBkYXRlT246IGNvbnRyb2xDb25maWcudXBkYXRlT24sXG4gICAgICAgICAgdmFsaWRhdG9yczogdGhpcy52YWxpZGF0b3JzU2VydmljZS5nZXRWYWxpZGF0b3JGbnMoY29udHJvbENvbmZpZy52YWxpZGF0b3JzKVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKFxuICAgICAgICAgIHsgdmFsdWU6IGNvbnRyb2xWYWx1ZUNvbmZpZy52YWx1ZSA/PyBjb250cm9sVmFsdWVDb25maWcuZGVmYXVsdFZhbHVlLCBkaXNhYmxlZDogY29udHJvbFZhbHVlQ29uZmlnLmRpc2FibGVkIH0sXG4gICAgICAgICAgY29udHJvbE9wdGlvbnNcbiAgICAgICAgKTtcblxuICAgICAgICBncm91cC5hZGRDb250cm9sKGNvbnRyb2xDb25maWcubmFtZSwgY29udHJvbCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBncm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYW55IGxpc3QgKE9ic2VydmFibGUpIHRvIGEgbGlzdCBvZiBEeW5hbWljRm9ybUZpZWxkT3B0aW9uIHdoaWNoIGlzIHVzZWQgaW4gYW55IER5bmFtaWMgRm9ybSBGaWVsZCB3aXRoIG9wdGlvbnMgKGUuZy4gRHluYW1pY1NlbGVjdCkuXG4gICAqIFBvc3NpYmxlIHRvIHByb3ZpZGUgdGhlIG1ldGhvZCB3aXRoIFR5cGUgZGVmaW5pdGlvbnMgdG8gZGVmaW5lIHRoZSBwcm92aWRlZCBsaXN0IHR5cGUgYW5kIGRlc2lyZWQgb3B0aW9uIHZhbHVlIHR5cGU6XG4gICAqXG4gICAqIGBkeW5hbWljRm9ybVNlcnZpY2UudG9EeW5hbWljT3B0aW9uTGlzdDxULCBLPiguLi4pYFxuICAgKlxuICAgKiBHZW5lcmljIHR5cGVzOlxuICAgKiAgLSBUID0gVGhlIHR5cGUgb2YgdGhlIGl0ZW1zIGluIHRoZSBwcm92aWRlZCBsaXN0XG4gICAqICAtIEsgPSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgaW5zaWRlIGFuIER5bmFtaWNGb3JtRmllbGRPcHRpb24uIERlZmF1bHQgaXMgJ3N0cmluZydcbiAgICogQHBhcmFtIGxpc3RPYnMgQW4gT2JzZXJ2YWJsZSBvZiBhIGxpc3Qgb2YgaXRlbXMgb2YgdHlwZSBUXG4gICAqIEBwYXJhbSBsYWJlbENiIENhbGxiYWNrIHRvIGRlZmluZSB0aGUgbGFiZWwgb2YgdGhlIG9wdGlvbnMgaW4gdGhlIHRlbXBsYXRlXG4gICAqIEBwYXJhbSB2YWx1ZUNiIENhbGxiYWNrIHRvIGRlZmluZSB0aGUgdmFsdWUgb2YgdGhlIG9wdGlvbnMuIE11c3QgcmV0dXJuIGEgdmFsdWUgb2YgdHlwZSBLIChkZWZhdWx0IHN0cmluZylcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyB0b0R5bmFtaWNPcHRpb25MaXN0T2JzPFQsIEsgPSBzdHJpbmc+KFxuICAgIGxpc3RPYnM6IE9ic2VydmFibGU8VFtdPixcbiAgICBsYWJlbENiOiAoaXRlbTogVCkgPT4gc3RyaW5nLFxuICAgIHZhbHVlQ2I6IChpdGVtOiBUKSA9PiBLXG4gICk6IE9ic2VydmFibGU8RHluYW1pY0Zvcm1GaWVsZE9wdGlvbjxLPltdPiB7XG4gICAgcmV0dXJuIGxpc3RPYnMucGlwZShcbiAgICAgIG1hcCgobGlzdCkgPT4ge1xuICAgICAgICByZXR1cm4gbGlzdC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IGxhYmVsQ2IoaXRlbSksXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVDYihpdGVtKVxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|