@updevs/components 1.0.0-alpha.17 → 1.0.0-alpha.19
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/dropdown/dropdown.component.mjs +1 -1
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +18 -3
- package/esm2022/form/form.component.mjs +26 -6
- package/esm2022/form/models/file-upload-field.model.mjs +2 -0
- package/esm2022/form/models/form-config.mjs +2 -0
- package/esm2022/form/models/public-api.mjs +9 -1
- package/esm2022/form/upd-form.module.mjs +8 -4
- package/esm2022/form-controls/abstractions/base-control.mjs +8 -2
- package/esm2022/form-controls/checkbox/checkbox.component.mjs +2 -4
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +1 -1
- package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
- package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
- package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
- package/esm2022/form-controls/file-upload/file-upload.component.mjs +169 -0
- package/esm2022/form-controls/file-upload/index.mjs +2 -0
- package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
- package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +47 -0
- package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
- package/esm2022/form-controls/input/input.component.mjs +5 -15
- package/esm2022/form-controls/radio/radio.component.mjs +3 -8
- package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +1 -1
- package/esm2022/form-controls/select/components/single/select.component.mjs +1 -1
- package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +2 -8
- package/esm2022/form-controls/textarea/textarea.component.mjs +2 -4
- package/esm2022/form-controls/time-picker/time-picker.component.mjs +1 -1
- package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +4 -1
- package/esm2022/list/list.component.mjs +1 -1
- package/esm2022/table/components/filter-row/filter-row.component.mjs +1 -1
- package/esm2022/table/components/search-section/search-section.component.mjs +1 -1
- package/esm2022/table/table.component.mjs +1 -1
- package/fesm2022/updevs-components-dropdown.mjs +1 -1
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-abstractions.mjs +7 -1
- package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-checkbox.mjs +1 -3
- package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-file-upload.mjs +263 -0
- package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
- package/fesm2022/updevs-components-form-controls-input.mjs +4 -14
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-radio.mjs +2 -7
- package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-select.mjs +3 -9
- package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-textarea.mjs +1 -3
- package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-time-picker.mjs +1 -1
- package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form.mjs +46 -8
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/fesm2022/updevs-components-layout.mjs +3 -0
- package/fesm2022/updevs-components-layout.mjs.map +1 -1
- package/fesm2022/updevs-components-list.mjs +1 -1
- package/fesm2022/updevs-components-list.mjs.map +1 -1
- package/fesm2022/updevs-components-table.mjs +3 -3
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/form/components/dynamic-field/dynamic-field.component.d.ts +5 -0
- package/form/form.component.d.ts +3 -3
- package/form/models/file-upload-field.model.d.ts +16 -0
- package/form/models/form-config.d.ts +2 -0
- package/form/models/public-api.d.ts +8 -0
- package/form/upd-form.module.d.ts +2 -1
- package/form-controls/abstractions/base-control.d.ts +15 -10
- package/form-controls/checkbox/checkbox.component.d.ts +1 -3
- package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
- package/form-controls/file-upload/file-upload.component.d.ts +46 -0
- package/form-controls/file-upload/index.d.ts +1 -0
- package/form-controls/file-upload/public-api.d.ts +3 -0
- package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
- package/form-controls/input/input.component.d.ts +2 -6
- package/form-controls/radio/radio.component.d.ts +1 -3
- package/form-controls/select/models/abstractions/base-select.component.d.ts +2 -8
- package/form-controls/textarea/textarea.component.d.ts +1 -3
- package/layout/layouts/blank-layout/blank-layout.component.d.ts +3 -1
- package/package.json +30 -23
|
@@ -138,7 +138,7 @@ export class DropdownComponent extends BaseComponent {
|
|
|
138
138
|
this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
|
|
139
139
|
}
|
|
140
140
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "
|
|
141
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
142
142
|
}
|
|
143
143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
144
144
|
type: Component,
|
|
@@ -11,6 +11,7 @@ import * as i2 from "@updevs/components/form-controls/checkbox";
|
|
|
11
11
|
import * as i3 from "@updevs/components/form-controls/radio";
|
|
12
12
|
import * as i4 from "@updevs/components/form-controls/select";
|
|
13
13
|
import * as i5 from "@updevs/components/form-controls/textarea";
|
|
14
|
+
import * as i6 from "@updevs/components/form-controls/file-upload";
|
|
14
15
|
export class DynamicFieldComponent extends BaseComponent {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
@@ -48,12 +49,20 @@ export class DynamicFieldComponent extends BaseComponent {
|
|
|
48
49
|
get textareaField() {
|
|
49
50
|
return this.field();
|
|
50
51
|
}
|
|
52
|
+
get fileUploadField() {
|
|
53
|
+
return this.field();
|
|
54
|
+
}
|
|
51
55
|
get checkboxGroupOptionsKeys() {
|
|
52
56
|
return Object.keys(this.checkboxGroupField.options);
|
|
53
57
|
}
|
|
54
58
|
get radioGroupOptionsKeys() {
|
|
55
59
|
return Object.keys(this.radioGroupField.options);
|
|
56
60
|
}
|
|
61
|
+
get fileNameControl() {
|
|
62
|
+
return !!this.fileUploadField.fileNameFormProperty
|
|
63
|
+
? this.formGroup().controls[this.fileUploadField.fileNameFormProperty]
|
|
64
|
+
: undefined;
|
|
65
|
+
}
|
|
57
66
|
ngOnInit() {
|
|
58
67
|
const statusSub = this.formControl.statusChanges.subscribe(status => {
|
|
59
68
|
if (status === 'INVALID') {
|
|
@@ -80,17 +89,23 @@ export class DynamicFieldComponent extends BaseComponent {
|
|
|
80
89
|
getOptionDescription(key, type) {
|
|
81
90
|
return type === 'checkbox' ? this.checkboxGroupField.options[key] : this.radioGroupField.options[key];
|
|
82
91
|
}
|
|
92
|
+
handleFileSelected(event) {
|
|
93
|
+
this.formControl.setValue(!!this.fileUploadField.saveAsDataUrl ? event?.dataUrl : event?.file);
|
|
94
|
+
if (!!this.fileUploadField.fileNameFormProperty) {
|
|
95
|
+
this.fileNameControl.setValue(event?.file.name);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
83
98
|
setupWrapperClasses() {
|
|
84
99
|
this.wrapperClasses = ColumnSizeHelper.getSizeClasses(this.field().colSize);
|
|
85
100
|
}
|
|
86
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DynamicFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DynamicFieldComponent, selector: "upd-dynamic-field", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DynamicFieldComponent, selector: "upd-dynamic-field", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n @case (DynamicFieldType.FileUpload) {\n <upd-file-upload [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [isDisabled]=\"field().isDisabled || false\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\" [fileName]=\"fileNameControl?.value\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [allowFilesDrop]=\"fileUploadField.allowFilesDrop || false\"\n [title]=\"fileUploadField.title\" [labelColSize]=\"field().labelColSize\" [minFileSize]=\"fileUploadField.minFileSize\"\n [isMultiple]=\"fileUploadField.isMultiple || false\" [allowedExtensions]=\"fileUploadField.allowedExtensions || '*'\"\n [maxFileSize]=\"fileUploadField.maxFileSize\" [layout]=\"layout()\" (fileChanged)=\"handleFileSelected($event)\"></upd-file-upload>\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i2.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "isCompact", "selected"], outputs: ["selectedItem"] }, { kind: "component", type: i4.SelectMultipleComponent, selector: "upd-select-multiple", outputs: ["selectedItems", "selectedIds"] }, { kind: "component", type: i5.TextareaComponent, selector: "upd-textarea", inputs: ["value", "customClasses", "wrapperClasses", "maxLength", "rows", "displayCharactersCount"], outputs: ["valueChange"] }, { kind: "component", type: i6.FileUploadComponent, selector: "upd-file-upload", inputs: ["fileName", "title", "allowFilesDrop", "isMultiple", "allowedExtensions", "minFileSize", "maxFileSize", "layout"], outputs: ["fileChanged"] }] }); }
|
|
88
103
|
}
|
|
89
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DynamicFieldComponent, decorators: [{
|
|
90
105
|
type: Component,
|
|
91
|
-
args: [{ selector: 'upd-dynamic-field', template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n}\n" }]
|
|
106
|
+
args: [{ selector: 'upd-dynamic-field', template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n @case (DynamicFieldType.FileUpload) {\n <upd-file-upload [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [isDisabled]=\"field().isDisabled || false\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\" [fileName]=\"fileNameControl?.value\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [allowFilesDrop]=\"fileUploadField.allowFilesDrop || false\"\n [title]=\"fileUploadField.title\" [labelColSize]=\"field().labelColSize\" [minFileSize]=\"fileUploadField.minFileSize\"\n [isMultiple]=\"fileUploadField.isMultiple || false\" [allowedExtensions]=\"fileUploadField.allowedExtensions || '*'\"\n [maxFileSize]=\"fileUploadField.maxFileSize\" [layout]=\"layout()\" (fileChanged)=\"handleFileSelected($event)\"></upd-file-upload>\n }\n}\n" }]
|
|
92
107
|
}], propDecorators: { wrapperClasses: [{
|
|
93
108
|
type: HostBinding,
|
|
94
109
|
args: ['class']
|
|
95
110
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0vc3JjL2NvbXBvbmVudHMvZHluYW1pYy1maWVsZC9keW5hbWljLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFFLE1BQU0sRUFBZSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFnRCxNQUFNLG9CQUFvQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBZXpFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBTHhEOztRQU0wQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUUxQyxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxjQUFTLEdBQTJCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxVQUFLLEdBQW1DLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxXQUFNLEdBQXdDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztR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Q0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs4R0E1RVEscUJBQXFCO2tHQUFyQixxQkFBcUIsMGdCQ3hCbEMsc2hOQW1GQTs7MkZEM0RhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxtQkFBbUI7OEJBS1AsY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0U2lnbmFsLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRleHRNb2RlbCwgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbHVtblNpemVIZWxwZXIsIEhvcml6b250YWxWZXJ0aWNhbFR5cGUsIFZhbGlkYXRpb25TdGF0dXNUeXBlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzJztcbmltcG9ydCB7IERlZmF1bHRzIGFzIFNlbGVjdERlZmF1bHRzIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0JztcblxuaW1wb3J0IHsgRXJyb3JzSGVscGVyIH0gZnJvbSAnLi4vLi4vdG9vbHMvZXJyb3JzLWhlbHBlcic7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudW1zL2R5bmFtaWMtZmllbGQudHlwZSc7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IENoZWNrYm94RmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBSYWRpb0ZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFkaW8tZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgU2VsZWN0RmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3QtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0RmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zaW5nbGUtc2VsZWN0LWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IENoZWNrYm94R3JvdXBGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFJhZGlvR3JvdXBGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhZGlvLWdyb3VwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFRleHRhcmVhRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90ZXh0YXJlYS1maWVsZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLWR5bmFtaWMtZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZHluYW1pYy1maWVsZC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHdyYXBwZXJDbGFzc2VzID0gJyc7XG5cbiAgICBEeW5hbWljRmllbGRUeXBlID0gRHluYW1pY0ZpZWxkVHlwZTtcbiAgICBTZWxlY3REZWZhdWx0cyA9IFNlbGVjdERlZmF1bHRzO1xuICAgIGZvcm1Hcm91cDogSW5wdXRTaWduYWw8Rm9ybUdyb3VwPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgZmllbGQ6IElucHV0U2lnbmFsPER5bmFtaWNGaWVsZE1vZGVsPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgbGF5b3V0OiBJbnB1dFNpZ25hbDxIb3Jpem9udGFsVmVydGljYWxUeXBlPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgdmFsaWRhdGlvblN0YXR1cz86IFZhbGlkYXRpb25TdGF0dXNUeXBlO1xuICAgIHZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnM6IFRleHRNb2RlbFtdID0gW107XG4gICAgZ2V0IGZvcm1Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwKCkuY29udHJvbHNbdGhpcy5maWVsZCgpLm5hbWVdIGFzIEZvcm1Db250cm9sO1xuICAgIH1cbiAgICBnZXQgY2hlY2tib3hGaWVsZCgpOiBDaGVja2JveEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIENoZWNrYm94RmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IGNoZWNrYm94R3JvdXBGaWVsZCgpOiBDaGVja2JveEdyb3VwRmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgQ2hlY2tib3hHcm91cEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCByYWRpb0ZpZWxkKCk6IENoZWNrYm94RmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgUmFkaW9GaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgcmFkaW9Hcm91cEZpZWxkKCk6IFJhZGlvR3JvdXBGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBSYWRpb0dyb3VwRmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdEZpZWxkKCk6IFNlbGVjdEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIFNlbGVjdEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBzaW5nbGVTZWxlY3RGaWVsZCgpOiBTaW5nbGVTZWxlY3RGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBTaW5nbGVTZWxlY3RGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgdGV4dGFyZWFGaWVsZCgpOiBUZXh0YXJlYUZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIFRleHRhcmVhRmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IGNoZWNrYm94R3JvdXBPcHRpb25zS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNoZWNrYm94R3JvdXBGaWVsZC5vcHRpb25zKTtcbiAgICB9XG4gICAgZ2V0IHJhZGlvR3JvdXBPcHRpb25zS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnJhZGlvR3JvdXBGaWVsZC5vcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yc0hlbHBlciA9IGluamVjdChFcnJvcnNIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXR1c1N1YiA9IHRoaXMuZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9ucyA9IHRoaXMuZXJyb3JzSGVscGVyLmdldE1lc3NhZ2VzKHRoaXMuZm9ybUNvbnRyb2wpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAodCA9PiAoeyB0ZXh0OiB0LCBpc1RyYW5zbGF0ZWQ6IHRydWUgfSkpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1cyA9ICdpbnZhbGlkJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uU3RhdHVzID0gdGhpcy5maWVsZCgpLnNob3dWYWxpZFN0YXR1cyA/ICd2YWxpZCcgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2V0dXBXcmFwcGVyQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMoc3RhdHVzU3ViKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKCkuc2hvdWxkVmFsaWRhdGVPbkJsdXIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGV4dCh0ZXh0TW9kZWw/OiBUZXh0TW9kZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0U2VydmljZS5nZXRUZXh0KHRleHRNb2RlbCk7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9uRGVzY3JpcHRpb24oa2V5OiBzdHJpbmcsIHR5cGU6ICdjaGVja2JveCcgfCAncmFkaW8nKTogT3B0aW9uYWxUeXBlPFRleHRNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ2NoZWNrYm94JyA/IHRoaXMuY2hlY2tib3hHcm91cEZpZWxkLm9wdGlvbnNba2V5XSA6IHRoaXMucmFkaW9Hcm91cEZpZWxkLm9wdGlvbnNba2V5XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwV3JhcHBlckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JhcHBlckNsYXNzZXMgPSBDb2x1bW5TaXplSGVscGVyLmdldFNpemVDbGFzc2VzKHRoaXMuZmllbGQoKS5jb2xTaXplKTtcbiAgICB9XG59XG4iLCJAc3dpdGNoIChmaWVsZCgpLnR5cGUpIHtcbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5JbnB1dCkge1xuICAgICAgICA8dXBkLWlucHV0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2xheW91dF09XCJsYXlvdXQoKVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdHlwZV09XCJmaWVsZCgpLmlucHV0VHlwZSB8fCAndGV4dCdcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3ZhbHVlXT1cImZvcm1Db250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCIgKGJsdXJyZWQpPVwib25CbHVyKClcIj48L3VwZC1pbnB1dD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3gpIHtcbiAgICAgICAgPHVwZC1jaGVja2JveCBbbmFtZV09XCJmaWVsZCgpLm5hbWVcIiBbbGFiZWxdPVwiZmllbGQoKS5sYWJlbFwiIFtoaW50XT1cImZpZWxkKCkuaGludFwiIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCIgW3ZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNdPVwidmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc1wiIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0NoZWNrZWRdPVwiZm9ybUNvbnRyb2wudmFsdWVcIiBbaXNJbmxpbmVdPVwiY2hlY2tib3hGaWVsZC5pc0lubGluZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXNTd2l0Y2hdPVwiY2hlY2tib3hGaWVsZC5pc1N3aXRjaCB8fCBmYWxzZVwiIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKCRldmVudClcIj48L3VwZC1jaGVja2JveD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3hHcm91cCkge1xuICAgICAgICBAaWYgKCEhZmllbGQoKS5sYWJlbCkge1xuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGNoZWNrYm94R3JvdXBPcHRpb25zS2V5czsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJnZXRPcHRpb25EZXNjcmlwdGlvbihvcHRpb24sICdjaGVja2JveCcpXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCJcbiAgICAgICAgICAgICAgICBbaGludEFzVG9vbHRpcF09XCJmaWVsZCgpLmhpbnRBc1Rvb2x0aXAgfHwgZmFsc2VcIiBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0lubGluZV09XCJjaGVja2JveEZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCIgW2lzU3dpdGNoXT1cImNoZWNrYm94RmllbGQuaXNTd2l0Y2ggfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKG9wdGlvbilcIj48L3VwZC1jaGVja2JveD5cbiAgICAgICAgfVxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpbykge1xuICAgICAgICA8dXBkLXJhZGlvIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0lubGluZV09XCJyYWRpb0ZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvdXBkLXJhZGlvPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpb0dyb3VwKSB7XG4gICAgICAgIEBpZiAoISFmaWVsZCgpLmxhYmVsKSB7XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgZ2V0VGV4dChmaWVsZCgpLmxhYmVsKSB9fTwvbGFiZWw+XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yIChvcHRpb24gb2YgcmFkaW9Hcm91cE9wdGlvbnNLZXlzOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImdldE9wdGlvbkRlc2NyaXB0aW9uKG9wdGlvbiwgJ3JhZGlvJylcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgICAgIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXT1cInZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cImZvcm1Db250cm9sLnZhbHVlXCIgW2lzSW5saW5lXT1cImNoZWNrYm94RmllbGQuaXNJbmxpbmUgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZShvcHRpb24pXCI+PC91cGQtcmFkaW8+XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0KSB7XG4gICAgICAgIDx1cGQtc2VsZWN0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCJcbiAgICAgICAgICAgIFt1c2VTeXN0ZW1TdHlsZV09XCJzaW5nbGVTZWxlY3RGaWVsZC51c2VTeXN0ZW1TdHlsZSB8fCBmYWxzZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwic2VsZWN0RmllbGQuaXRlbXNcIiBbbGF5b3V0XT1cImxheW91dCgpXCIgW2xhYmVsQ29sU2l6ZV09XCJmaWVsZCgpLmxhYmVsQ29sU2l6ZVwiIFtzdG9yZV09XCJzZWxlY3RGaWVsZC5zdG9yZSFcIlxuICAgICAgICAgICAgW29ic2VydmFibGVdPVwic2VsZWN0RmllbGQub2JzZXJ2YWJsZVwiIFtpdGVtS2V5XT1cInNlbGVjdEZpZWxkLml0ZW1LZXlcIiBbaXRlbVZhbHVlXT1cInNlbGVjdEZpZWxkLml0ZW1WYWx1ZVwiXG4gICAgICAgICAgICBbZHJvcGRvd25NYXhIZWlnaHRdPVwic2VsZWN0RmllbGQuZHJvcGRvd25NYXhIZWlnaHQgfHwgU2VsZWN0RGVmYXVsdHMuZHJvcGRvd25NYXhIZWlnaHRcIlxuICAgICAgICAgICAgW3R5cGVhaGVhZERlYm91bmNlXT1cInNlbGVjdEZpZWxkLnR5cGVhaGVhZERlYm91bmNlIHx8IFNlbGVjdERlZmF1bHRzLnR5cGVhaGVhZERlYm91bmNlXCJcbiAgICAgICAgICAgIFtzaG91bGRBdXRvU2VhcmNoXT1cInNlbGVjdEZpZWxkLnNob3VsZEF1dG9TZWFyY2ggfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQXV0b1NlYXJjaFwiXG4gICAgICAgICAgICBbc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja109XCJzZWxlY3RGaWVsZC5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrIHx8IFNlbGVjdERlZmF1bHRzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQ/LnZhbHVlKVwiPjwvdXBkLXNlbGVjdD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0TXVsdGlwbGUpIHtcbiAgICAgICAgPHVwZC1zZWxlY3QtbXVsdGlwbGUgW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImZpZWxkKCkubGFiZWxcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJzZWxlY3RGaWVsZC5pdGVtc1wiIFtsYXlvdXRdPVwibGF5b3V0KClcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3N0b3JlXT1cInNlbGVjdEZpZWxkLnN0b3JlIVwiXG4gICAgICAgICAgICBbb2JzZXJ2YWJsZV09XCJzZWxlY3RGaWVsZC5vYnNlcnZhYmxlXCIgW2l0ZW1LZXldPVwic2VsZWN0RmllbGQuaXRlbUtleVwiIFtpdGVtVmFsdWVdPVwic2VsZWN0RmllbGQuaXRlbVZhbHVlXCJcbiAgICAgICAgICAgIFtkcm9wZG93bk1heEhlaWdodF09XCJzZWxlY3RGaWVsZC5kcm9wZG93bk1heEhlaWdodCB8fCBTZWxlY3REZWZhdWx0cy5kcm9wZG93bk1heEhlaWdodFwiXG4gICAgICAgICAgICBbdHlwZWFoZWFkRGVib3VuY2VdPVwic2VsZWN0RmllbGQudHlwZWFoZWFkRGVib3VuY2UgfHwgU2VsZWN0RGVmYXVsdHMudHlwZWFoZWFkRGVib3VuY2VcIlxuICAgICAgICAgICAgW3Nob3VsZEF1dG9TZWFyY2hdPVwic2VsZWN0RmllbGQuc2hvdWxkQXV0b1NlYXJjaCB8fCBTZWxlY3REZWZhdWx0cy5zaG91bGRBdXRvU2VhcmNoXCJcbiAgICAgICAgICAgIFtzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrXT1cInNlbGVjdEZpZWxkLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja1wiXG4gICAgICAgICAgICAoc2VsZWN0ZWRJZHMpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiPjwvdXBkLXNlbGVjdC1tdWx0aXBsZT5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuTGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5UZXh0QXJlYSkge1xuICAgICAgICA8dXBkLXRleHRhcmVhIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtjdXN0b21DbGFzc2VzXT1cInRleHRhcmVhRmllbGQuY3VzdG9tQ2xhc3Nlc1wiIFt3cmFwcGVyQ2xhc3Nlc109XCJ0ZXh0YXJlYUZpZWxkLndyYXBwZXJDbGFzc2VzXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwidGV4dGFyZWFGaWVsZC5tYXhMZW5ndGhcIiBbcm93c109XCJ0ZXh0YXJlYUZpZWxkLnJvd3NcIlxuICAgICAgICAgICAgW2Rpc3BsYXlDaGFyYWN0ZXJzQ291bnRdPVwidGV4dGFyZWFGaWVsZC5kaXNwbGF5Q2hhcmFjdGVyc0NvdW50IHx8IGZhbHNlXCI+PC91cGQtdGV4dGFyZWE+XG4gICAgfVxufVxuIl19
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0vc3JjL2NvbXBvbmVudHMvZHluYW1pYy1maWVsZC9keW5hbWljLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFFLE1BQU0sRUFBZSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFnRCxNQUFNLG9CQUFvQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFJckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQWV6RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUx4RDs7UUFNMEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFMUMscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEMsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMsY0FBUyxHQUEyQixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsVUFBSyxHQUFtQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekQsV0FBTSxHQUF3QyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7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b3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0U2lnbmFsLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRleHRNb2RlbCwgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbHVtblNpemVIZWxwZXIsIEhvcml6b250YWxWZXJ0aWNhbFR5cGUsIFZhbGlkYXRpb25TdGF0dXNUeXBlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzJztcbmltcG9ydCB7IERlZmF1bHRzIGFzIFNlbGVjdERlZmF1bHRzIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0JztcbmltcG9ydCB7IEZpbGVVcGxvYWRDaGFuZ2VkRXZlbnQgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9maWxlLXVwbG9hZCc7XG5cbmltcG9ydCB7IEZpbGVVcGxvYWRGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtdXBsb2FkLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEVycm9yc0hlbHBlciB9IGZyb20gJy4uLy4uL3Rvb2xzL2Vycm9ycy1oZWxwZXInO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9keW5hbWljLWZpZWxkLnR5cGUnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDaGVja2JveEZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2tib3gtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgUmFkaW9GaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhZGlvLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFNlbGVjdEZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdEZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2luZ2xlLXNlbGVjdC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDaGVja2JveEdyb3VwRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1ncm91cC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBSYWRpb0dyb3VwRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGV4dGFyZWEtZmllbGQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1keW5hbWljLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtZmllbGQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuXG4gICAgRHluYW1pY0ZpZWxkVHlwZSA9IER5bmFtaWNGaWVsZFR5cGU7XG4gICAgU2VsZWN0RGVmYXVsdHMgPSBTZWxlY3REZWZhdWx0cztcbiAgICBmb3JtR3JvdXA6IElucHV0U2lnbmFsPEZvcm1Hcm91cD4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuICAgIGZpZWxkOiBJbnB1dFNpZ25hbDxEeW5hbWljRmllbGRNb2RlbD4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuICAgIGxheW91dDogSW5wdXRTaWduYWw8SG9yaXpvbnRhbFZlcnRpY2FsVHlwZT4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuICAgIHZhbGlkYXRpb25TdGF0dXM/OiBWYWxpZGF0aW9uU3RhdHVzVHlwZTtcbiAgICB2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zOiBUZXh0TW9kZWxbXSA9IFtdO1xuICAgIGdldCBmb3JtQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cCgpLmNvbnRyb2xzW3RoaXMuZmllbGQoKS5uYW1lXSBhcyBGb3JtQ29udHJvbDtcbiAgICB9XG4gICAgZ2V0IGNoZWNrYm94RmllbGQoKTogQ2hlY2tib3hGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBDaGVja2JveEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBjaGVja2JveEdyb3VwRmllbGQoKTogQ2hlY2tib3hHcm91cEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIENoZWNrYm94R3JvdXBGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgcmFkaW9GaWVsZCgpOiBDaGVja2JveEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIFJhZGlvRmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IHJhZGlvR3JvdXBGaWVsZCgpOiBSYWRpb0dyb3VwRmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgUmFkaW9Hcm91cEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBzZWxlY3RGaWVsZCgpOiBTZWxlY3RGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBTZWxlY3RGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgc2luZ2xlU2VsZWN0RmllbGQoKTogU2luZ2xlU2VsZWN0RmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgU2luZ2xlU2VsZWN0RmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IHRleHRhcmVhRmllbGQoKTogVGV4dGFyZWFGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBUZXh0YXJlYUZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBmaWxlVXBsb2FkRmllbGQoKTogRmlsZVVwbG9hZEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIEZpbGVVcGxvYWRGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgY2hlY2tib3hHcm91cE9wdGlvbnNLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY2hlY2tib3hHcm91cEZpZWxkLm9wdGlvbnMpO1xuICAgIH1cbiAgICBnZXQgcmFkaW9Hcm91cE9wdGlvbnNLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMucmFkaW9Hcm91cEZpZWxkLm9wdGlvbnMpO1xuICAgIH1cbiAgICBnZXQgZmlsZU5hbWVDb250cm9sKCk6IE9wdGlvbmFsVHlwZTxGb3JtQ29udHJvbD4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbGVVcGxvYWRGaWVsZC5maWxlTmFtZUZvcm1Qcm9wZXJ0eVxuICAgICAgICAgICAgPyB0aGlzLmZvcm1Hcm91cCgpLmNvbnRyb2xzW3RoaXMuZmlsZVVwbG9hZEZpZWxkLmZpbGVOYW1lRm9ybVByb3BlcnR5XSBhcyBGb3JtQ29udHJvbFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnNIZWxwZXIgPSBpbmplY3QoRXJyb3JzSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRTZXJ2aWNlID0gaW5qZWN0KFRleHRTZXJ2aWNlKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0dXNTdWIgPSB0aGlzLmZvcm1Db250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSAnSU5WQUxJRCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnMgPSB0aGlzLmVycm9yc0hlbHBlci5nZXRNZXNzYWdlcyh0aGlzLmZvcm1Db250cm9sKVxuICAgICAgICAgICAgICAgICAgICAubWFwKHQgPT4gKHsgdGV4dDogdCwgaXNUcmFuc2xhdGVkOiB0cnVlIH0pKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25TdGF0dXMgPSAnaW52YWxpZCc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1cyA9IHRoaXMuZmllbGQoKS5zaG93VmFsaWRTdGF0dXMgPyAndmFsaWQnIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNldHVwV3JhcHBlckNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHN0YXR1c1N1Yik7XG4gICAgfVxuXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWVsZCgpLnNob3VsZFZhbGlkYXRlT25CbHVyKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRleHQodGV4dE1vZGVsPzogVGV4dE1vZGVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dFNlcnZpY2UuZ2V0VGV4dCh0ZXh0TW9kZWwpO1xuICAgIH1cblxuICAgIGdldE9wdGlvbkRlc2NyaXB0aW9uKGtleTogc3RyaW5nLCB0eXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvJyk6IE9wdGlvbmFsVHlwZTxUZXh0TW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdjaGVja2JveCcgPyB0aGlzLmNoZWNrYm94R3JvdXBGaWVsZC5vcHRpb25zW2tleV0gOiB0aGlzLnJhZGlvR3JvdXBGaWVsZC5vcHRpb25zW2tleV07XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsZVNlbGVjdGVkKGV2ZW50PzogRmlsZVVwbG9hZENoYW5nZWRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCEhdGhpcy5maWxlVXBsb2FkRmllbGQuc2F2ZUFzRGF0YVVybCA/IGV2ZW50Py5kYXRhVXJsIDogZXZlbnQ/LmZpbGUpO1xuXG4gICAgICAgIGlmICghIXRoaXMuZmlsZVVwbG9hZEZpZWxkLmZpbGVOYW1lRm9ybVByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVOYW1lQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQ/LmZpbGUubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwV3JhcHBlckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JhcHBlckNsYXNzZXMgPSBDb2x1bW5TaXplSGVscGVyLmdldFNpemVDbGFzc2VzKHRoaXMuZmllbGQoKS5jb2xTaXplKTtcbiAgICB9XG59XG4iLCJAc3dpdGNoIChmaWVsZCgpLnR5cGUpIHtcbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5JbnB1dCkge1xuICAgICAgICA8dXBkLWlucHV0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2xheW91dF09XCJsYXlvdXQoKVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdHlwZV09XCJmaWVsZCgpLmlucHV0VHlwZSB8fCAndGV4dCdcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3ZhbHVlXT1cImZvcm1Db250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCIgKGJsdXJyZWQpPVwib25CbHVyKClcIj48L3VwZC1pbnB1dD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3gpIHtcbiAgICAgICAgPHVwZC1jaGVja2JveCBbbmFtZV09XCJmaWVsZCgpLm5hbWVcIiBbbGFiZWxdPVwiZmllbGQoKS5sYWJlbFwiIFtoaW50XT1cImZpZWxkKCkuaGludFwiIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCIgW3ZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNdPVwidmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc1wiIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0NoZWNrZWRdPVwiZm9ybUNvbnRyb2wudmFsdWVcIiBbaXNJbmxpbmVdPVwiY2hlY2tib3hGaWVsZC5pc0lubGluZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXNTd2l0Y2hdPVwiY2hlY2tib3hGaWVsZC5pc1N3aXRjaCB8fCBmYWxzZVwiIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKCRldmVudClcIj48L3VwZC1jaGVja2JveD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3hHcm91cCkge1xuICAgICAgICBAaWYgKCEhZmllbGQoKS5sYWJlbCkge1xuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGNoZWNrYm94R3JvdXBPcHRpb25zS2V5czsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJnZXRPcHRpb25EZXNjcmlwdGlvbihvcHRpb24sICdjaGVja2JveCcpXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCJcbiAgICAgICAgICAgICAgICBbaGludEFzVG9vbHRpcF09XCJmaWVsZCgpLmhpbnRBc1Rvb2x0aXAgfHwgZmFsc2VcIiBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0lubGluZV09XCJjaGVja2JveEZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCIgW2lzU3dpdGNoXT1cImNoZWNrYm94RmllbGQuaXNTd2l0Y2ggfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKG9wdGlvbilcIj48L3VwZC1jaGVja2JveD5cbiAgICAgICAgfVxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpbykge1xuICAgICAgICA8dXBkLXJhZGlvIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0lubGluZV09XCJyYWRpb0ZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvdXBkLXJhZGlvPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpb0dyb3VwKSB7XG4gICAgICAgIEBpZiAoISFmaWVsZCgpLmxhYmVsKSB7XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgZ2V0VGV4dChmaWVsZCgpLmxhYmVsKSB9fTwvbGFiZWw+XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yIChvcHRpb24gb2YgcmFkaW9Hcm91cE9wdGlvbnNLZXlzOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImdldE9wdGlvbkRlc2NyaXB0aW9uKG9wdGlvbiwgJ3JhZGlvJylcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgICAgIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXT1cInZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cImZvcm1Db250cm9sLnZhbHVlXCIgW2lzSW5saW5lXT1cImNoZWNrYm94RmllbGQuaXNJbmxpbmUgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZShvcHRpb24pXCI+PC91cGQtcmFkaW8+XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0KSB7XG4gICAgICAgIDx1cGQtc2VsZWN0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCJcbiAgICAgICAgICAgIFt1c2VTeXN0ZW1TdHlsZV09XCJzaW5nbGVTZWxlY3RGaWVsZC51c2VTeXN0ZW1TdHlsZSB8fCBmYWxzZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwic2VsZWN0RmllbGQuaXRlbXNcIiBbbGF5b3V0XT1cImxheW91dCgpXCIgW2xhYmVsQ29sU2l6ZV09XCJmaWVsZCgpLmxhYmVsQ29sU2l6ZVwiIFtzdG9yZV09XCJzZWxlY3RGaWVsZC5zdG9yZSFcIlxuICAgICAgICAgICAgW29ic2VydmFibGVdPVwic2VsZWN0RmllbGQub2JzZXJ2YWJsZVwiIFtpdGVtS2V5XT1cInNlbGVjdEZpZWxkLml0ZW1LZXlcIiBbaXRlbVZhbHVlXT1cInNlbGVjdEZpZWxkLml0ZW1WYWx1ZVwiXG4gICAgICAgICAgICBbZHJvcGRvd25NYXhIZWlnaHRdPVwic2VsZWN0RmllbGQuZHJvcGRvd25NYXhIZWlnaHQgfHwgU2VsZWN0RGVmYXVsdHMuZHJvcGRvd25NYXhIZWlnaHRcIlxuICAgICAgICAgICAgW3R5cGVhaGVhZERlYm91bmNlXT1cInNlbGVjdEZpZWxkLnR5cGVhaGVhZERlYm91bmNlIHx8IFNlbGVjdERlZmF1bHRzLnR5cGVhaGVhZERlYm91bmNlXCJcbiAgICAgICAgICAgIFtzaG91bGRBdXRvU2VhcmNoXT1cInNlbGVjdEZpZWxkLnNob3VsZEF1dG9TZWFyY2ggfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQXV0b1NlYXJjaFwiXG4gICAgICAgICAgICBbc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja109XCJzZWxlY3RGaWVsZC5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrIHx8IFNlbGVjdERlZmF1bHRzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQ/LnZhbHVlKVwiPjwvdXBkLXNlbGVjdD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0TXVsdGlwbGUpIHtcbiAgICAgICAgPHVwZC1zZWxlY3QtbXVsdGlwbGUgW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImZpZWxkKCkubGFiZWxcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJzZWxlY3RGaWVsZC5pdGVtc1wiIFtsYXlvdXRdPVwibGF5b3V0KClcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3N0b3JlXT1cInNlbGVjdEZpZWxkLnN0b3JlIVwiXG4gICAgICAgICAgICBbb2JzZXJ2YWJsZV09XCJzZWxlY3RGaWVsZC5vYnNlcnZhYmxlXCIgW2l0ZW1LZXldPVwic2VsZWN0RmllbGQuaXRlbUtleVwiIFtpdGVtVmFsdWVdPVwic2VsZWN0RmllbGQuaXRlbVZhbHVlXCJcbiAgICAgICAgICAgIFtkcm9wZG93bk1heEhlaWdodF09XCJzZWxlY3RGaWVsZC5kcm9wZG93bk1heEhlaWdodCB8fCBTZWxlY3REZWZhdWx0cy5kcm9wZG93bk1heEhlaWdodFwiXG4gICAgICAgICAgICBbdHlwZWFoZWFkRGVib3VuY2VdPVwic2VsZWN0RmllbGQudHlwZWFoZWFkRGVib3VuY2UgfHwgU2VsZWN0RGVmYXVsdHMudHlwZWFoZWFkRGVib3VuY2VcIlxuICAgICAgICAgICAgW3Nob3VsZEF1dG9TZWFyY2hdPVwic2VsZWN0RmllbGQuc2hvdWxkQXV0b1NlYXJjaCB8fCBTZWxlY3REZWZhdWx0cy5zaG91bGRBdXRvU2VhcmNoXCJcbiAgICAgICAgICAgIFtzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrXT1cInNlbGVjdEZpZWxkLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja1wiXG4gICAgICAgICAgICAoc2VsZWN0ZWRJZHMpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiPjwvdXBkLXNlbGVjdC1tdWx0aXBsZT5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuTGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5UZXh0QXJlYSkge1xuICAgICAgICA8dXBkLXRleHRhcmVhIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtjdXN0b21DbGFzc2VzXT1cInRleHRhcmVhRmllbGQuY3VzdG9tQ2xhc3Nlc1wiIFt3cmFwcGVyQ2xhc3Nlc109XCJ0ZXh0YXJlYUZpZWxkLndyYXBwZXJDbGFzc2VzXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwidGV4dGFyZWFGaWVsZC5tYXhMZW5ndGhcIiBbcm93c109XCJ0ZXh0YXJlYUZpZWxkLnJvd3NcIlxuICAgICAgICAgICAgW2Rpc3BsYXlDaGFyYWN0ZXJzQ291bnRdPVwidGV4dGFyZWFGaWVsZC5kaXNwbGF5Q2hhcmFjdGVyc0NvdW50IHx8IGZhbHNlXCI+PC91cGQtdGV4dGFyZWE+XG4gICAgfVxuICAgIEBjYXNlIChEeW5hbWljRmllbGRUeXBlLkZpbGVVcGxvYWQpIHtcbiAgICAgICAgPHVwZC1maWxlLXVwbG9hZCBbbmFtZV09XCJmaWVsZCgpLm5hbWVcIiBbbGFiZWxdPVwiZmllbGQoKS5sYWJlbFwiIFtoaW50XT1cImZpZWxkKCkuaGludFwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaGludEFzVG9vbHRpcF09XCJmaWVsZCgpLmhpbnRBc1Rvb2x0aXAgfHwgZmFsc2VcIiBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCIgW2ZpbGVOYW1lXT1cImZpbGVOYW1lQ29udHJvbD8udmFsdWVcIlxuICAgICAgICAgICAgW3ZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNdPVwidmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc1wiIFthbGxvd0ZpbGVzRHJvcF09XCJmaWxlVXBsb2FkRmllbGQuYWxsb3dGaWxlc0Ryb3AgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImZpbGVVcGxvYWRGaWVsZC50aXRsZVwiIFtsYWJlbENvbFNpemVdPVwiZmllbGQoKS5sYWJlbENvbFNpemVcIiBbbWluRmlsZVNpemVdPVwiZmlsZVVwbG9hZEZpZWxkLm1pbkZpbGVTaXplXCJcbiAgICAgICAgICAgIFtpc011bHRpcGxlXT1cImZpbGVVcGxvYWRGaWVsZC5pc011bHRpcGxlIHx8IGZhbHNlXCIgW2FsbG93ZWRFeHRlbnNpb25zXT1cImZpbGVVcGxvYWRGaWVsZC5hbGxvd2VkRXh0ZW5zaW9ucyB8fCAnKidcIlxuICAgICAgICAgICAgW21heEZpbGVTaXplXT1cImZpbGVVcGxvYWRGaWVsZC5tYXhGaWxlU2l6ZVwiIFtsYXlvdXRdPVwibGF5b3V0KClcIiAoZmlsZUNoYW5nZWQpPVwiaGFuZGxlRmlsZVNlbGVjdGVkKCRldmVudClcIj48L3VwZC1maWxlLXVwbG9hZD5cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import {
|
|
3
|
-
import { BaseComponent } from '@updevs/sdk/layout';
|
|
1
|
+
import { Component, effect, EventEmitter, inject, input, model, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
4
3
|
import { TextService } from '@updevs/sdk';
|
|
4
|
+
import { BaseComponent } from '@updevs/sdk/layout';
|
|
5
|
+
import { DynamicFieldType } from './models/enums/dynamic-field.type';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/forms";
|
|
7
8
|
import * as i2 from "@updevs/components/button";
|
|
@@ -82,8 +83,27 @@ export class FormComponent extends BaseComponent {
|
|
|
82
83
|
if (field.isRequired && !validators.includes(Validators.required)) {
|
|
83
84
|
validators.push(Validators.required);
|
|
84
85
|
}
|
|
85
|
-
// TODO: handle
|
|
86
|
-
|
|
86
|
+
// TODO: handle extra cases, when ready. DateRange, DateTimeRange, TimeRange, etc.
|
|
87
|
+
switch (field.type) {
|
|
88
|
+
case DynamicFieldType.FileUpload:
|
|
89
|
+
this.formGroup().addControl(field.name, new FormControl({
|
|
90
|
+
value: field.initValue,
|
|
91
|
+
disabled: field.isDisabled || this.isDisabled()
|
|
92
|
+
}, { validators: validators }));
|
|
93
|
+
const fileNameFormProp = field.fileNameFormProperty;
|
|
94
|
+
if (!!fileNameFormProp) {
|
|
95
|
+
this.formGroup().addControl(fileNameFormProp, new FormControl({
|
|
96
|
+
value: field.initValue,
|
|
97
|
+
disabled: field.isDisabled || this.isDisabled()
|
|
98
|
+
}, { validators: validators }));
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
default:
|
|
102
|
+
this.formGroup().addControl(field.name, new FormControl({
|
|
103
|
+
value: field.initValue,
|
|
104
|
+
disabled: field.isDisabled || this.isDisabled()
|
|
105
|
+
}, { validators: validators }));
|
|
106
|
+
}
|
|
87
107
|
});
|
|
88
108
|
}
|
|
89
109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -99,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
99
119
|
}], submitted: [{
|
|
100
120
|
type: Output
|
|
101
121
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFXckQsTUFBTSxPQUFPLGFBQWlCLFNBQVEsYUFBYTtJQTRDL0MsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBSUQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQWxETyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUMsQ0FBQyxvQkFBb0I7UUFDeEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFFckQ7O1dBRUc7UUFDSCxTQUFJLEdBQWdDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRDs7V0FFRztRQUNILFdBQU0sR0FBd0MsS0FBSyxDQUF5QixVQUFVLENBQUMsQ0FBQztRQUN4Rjs7O1dBR0c7UUFDSCxVQUFLLEdBQXlDLEtBQUssQ0FBMEIsU0FBUyxDQUFDLENB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Q3pDLENBQUM7WUFFRCw4RkFBOEY7WUFDOUYsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FDdkIsS0FBSyxDQUFDLElBQUksRUFDVixJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQzNILENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBOUZRLGFBQWE7a0dBQWIsYUFBYSx1L0NDZDFCLDBpQ0EwQkE7OzJGRFphLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0ksVUFBVTt3REFLRCxXQUFXO3NCQUE3QixNQUFNO2dCQUNZLFVBQVU7c0JBQTVCLE1BQU07Z0JBQ1ksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgbW9kZWwsIElucHV0U2lnbmFsLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUZXh0TW9kZWwsIFRleHRTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFZlcnRpY2FsVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5cbmltcG9ydCB7IEZvcm1Sb3dNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2Zvcm0tcm93Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGluaXRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBkYXRhTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpOyAvLyBUT0RPOiBpbXBsZW1lbnRhclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBSb3dzIHRvIGdlbmVyYXRlIHRoZSBmb3JtLlxuICAgICAqL1xuICAgIHJvd3M6IElucHV0U2lnbmFsPEZvcm1Sb3dNb2RlbFtdPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgLyoqXG4gICAgICogRm9ybSdzIGxheW91dC5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IElucHV0U2lnbmFsPEhvcml6b250YWxWZXJ0aWNhbFR5cGU+ID0gaW5wdXQ8SG9yaXpvbnRhbFZlcnRpY2FsVHlwZT4oJ3ZlcnRpY2FsJyk7XG4gICAgLyoqXG4gICAgICogVGl0bGUgb2YgdGhlIGZvcm0uXG4gICAgICogT3B0aW9uYWwuXG4gICAgICovXG4gICAgdGl0bGU6IElucHV0U2lnbmFsPE9wdGlvbmFsVHlwZTxUZXh0TW9kZWw+PiA9IGlucHV0PE9wdGlvbmFsVHlwZTxUZXh0TW9kZWw+Pih1bmRlZmluZWQpO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGFjdGlvbnMgc2VjdGlvbiB3aWxsIGJlIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBoYXNBY3Rpb25zU2VjdGlvbiA9IGlucHV0KHRydWUpO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvcm0gaXMgY29udGFpbmVkIGluIGEgY2FyZC5cbiAgICAgKiBJZiB0cnVlLCBpdCdsbCBkaXNwbGF5IGEgY2FyZCBhcyBhIGZvcm0gd3JhcHBlci5cbiAgICAgKi9cbiAgICBpc0NhcmQgPSBpbnB1dChmYWxzZSk7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybSBpcyBpbiByZWFkIG9ubHkgbW9kZSwgd2hpY2ggbWVhbnMgbm8gZmllbGRzIGNhbiBiZSBlZGl0ZWQuXG4gICAgICovXG4gICAgaXNEaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogKHZhbDogYm9vbGVhbiB8IHN0cmluZykgPT4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgPyB2YWwgPT09ICcnIDogdmFsIH0pO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGZvcm0gaXMgbG9hZGluZy5cbiAgICAgKi9cbiAgICBpc0xvYWRpbmcgPSBpbnB1dChmYWxzZSk7IC8vIFRPRE86IGltcGxlbWVudGFyXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybSBpcyBzYXZpbmcuXG4gICAgICovXG4gICAgaXNTYXZpbmcgPSBpbnB1dChmYWxzZSk7IC8vIFRPRE86IGltcGxlbWVudGFyXG4gICAgLyoqXG4gICAgICogQ3VycmVudCBmb3JtIGRhdGEuXG4gICAgICovXG4gICAgZm9ybURhdGEgPSBtb2RlbCh7fSBhcyBUKTtcbiAgICBmb3JtR3JvdXAgPSBtb2RlbChuZXcgRm9ybUdyb3VwKHt9KSk7XG4gICAgZ2V0IHRpdGxlVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0U2VydmljZS5nZXRUZXh0KHRoaXMudGl0bGUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0U2VydmljZSA9IGluamVjdChUZXh0U2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yb3dzKCk7XG4gICAgICAgICAgICB0aGlzLnNldHVwRm9ybUdyb3VwKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldHVwRm9ybUdyb3VwKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQuZW1pdCgpO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlQ2hhbmdlc1N1YiA9IHRoaXMuZm9ybUdyb3VwKCkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmZvcm1EYXRhLnNldCh0aGlzLmZvcm1Hcm91cCgpLmdldFJhd1ZhbHVlKCkgYXMgVCkpO1xuXG4gICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyh2YWx1ZUNoYW5nZXNTdWIpO1xuICAgIH1cblxuICAgIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwKCkudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwKCkuY29udHJvbHMpLmZvckVhY2goY29udHJvbCA9PiAoY29udHJvbCBhcyBGb3JtQ29udHJvbCkudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKTtcblxuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAoKS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQuZW1pdCh0aGlzLmZvcm1Hcm91cCgpLnZhbHVlIGFzIFQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEZvcm1Hcm91cCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsRmllbGRzID0gdGhpcy5yb3dzKCkubWFwKHIgPT4gci5maWVsZHMpLnJlZHVjZSgoYWNjLCBmaWVsZHMpID0+IGFjYy5jb25jYXQoZmllbGRzKSwgW10pO1xuXG4gICAgICAgIGFsbEZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBmaWVsZC52YWxpZGF0b3JzIHx8IFtdO1xuXG4gICAgICAgICAgICBpZiAoZmllbGQuaXNSZXF1aXJlZCAmJiAhdmFsaWRhdG9ycy5pbmNsdWRlcyhWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVE9ETzogaGFuZGxlIHNwZWNpZmljIGNhc2VzLCB3aGVuIHJlYWR5LiBEYXRlUmFuZ2UsIERhdGVUaW1lUmFuZ2UsIFRpbWVSYW5nZSBhbmQgRmlsZVVwbG9hZFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgIGZpZWxkLm5hbWUsXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IGZpZWxkLmluaXRWYWx1ZSwgZGlzYWJsZWQ6IGZpZWxkLmlzRGlzYWJsZWQgfHwgdGhpcy5pc0Rpc2FibGVkKCkgfSwgeyB2YWxpZGF0b3JzOiB2YWxpZGF0b3JzIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLkZvcm0nXCI+XG4gICAgPGRpdiBbY2xhc3MuY2FyZF09XCJpc0NhcmQoKVwiPlxuICAgICAgICBAaWYgKCEhdGl0bGVUZXh0KSB7XG4gICAgICAgICAgICA8ZGl2IFtjbGFzcy5jYXJkLWhlYWRlcl09XCJpc0NhcmQoKVwiPlxuICAgICAgICAgICAgICAgIDxoMyBbY2xhc3MuY2FyZC10aXRsZV09XCJpc0NhcmQoKVwiPnt7IHRpdGxlVGV4dCB9fTwvaDM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IFtjbGFzcy5jYXJkLWJvZHldPVwiaXNDYXJkKClcIj5cbiAgICAgICAgICAgIEBmb3IgKHJvdyBvZiByb3dzKCk7IHRyYWNrIHJvdzsgbGV0IGlzRmlyc3QgPSAkZmlyc3QpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgW2NsYXNzLm10LTRdPVwiIWlzRmlyc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoZmllbGQgb2Ygcm93LmZpZWxkczsgdHJhY2sgZmllbGQubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1keW5hbWljLWZpZWxkIFtsYXlvdXRdPVwibGF5b3V0KClcIiBbZmllbGRdPVwiZmllbGRcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCgpXCI+PC91cGQtZHluYW1pYy1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGhhc0FjdGlvbnNTZWN0aW9uKCkpIHtcbiAgICAgICAgICAgIDxkaXYgW2NsYXNzLmNhcmQtZm9vdGVyXT1cImlzQ2FyZCgpXCIgW2NsYXNzLm10LTRdPVwiIWlzQ2FyZCgpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY29sb3JTdHlsZT1cInByaW1hcnlcIiAoY2xpY2tlZCk9XCJzdWJtaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdTdWJtaXQnKSB9fVxuICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpGLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFTckUsTUFBTSxPQUFPLGFBQWlCLFNBQVEsYUFBYTtJQTRDL0MsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBSUQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQWxETyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUMsQ0FBQyxvQkFBb0I7UUFDeEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFFckQ7O1dBRUc7UUFDSCxTQUFJLEdBQWdDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRDs7V0FFRztRQUNILFdBQU0sR0FBd0MsS0FBSyxDQUF5QixVQUFVLENBQUMsQ0FBQztRQUN4Rjs7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QUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBMUhRLGFBQWE7a0dBQWIsYUFBYSx1L0NDaEIxQiwwaUNBMEJBOzsyRkRWYSxhQUFhO2tCQUx6QixTQUFTOytCQUNJLFVBQVU7d0RBS0QsV0FBVztzQkFBN0IsTUFBTTtnQkFDWSxVQUFVO3NCQUE1QixNQUFNO2dCQUNZLFNBQVM7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCwgbW9kZWwsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEhvcml6b250YWxWZXJ0aWNhbFR5cGUgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVGV4dE1vZGVsLCBUZXh0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgT3B0aW9uYWxUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuXG5pbXBvcnQgeyBEeW5hbWljRmllbGRUeXBlIH0gZnJvbSAnLi9tb2RlbHMvZW51bXMvZHluYW1pYy1maWVsZC50eXBlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRGaWVsZE1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvZmlsZS11cGxvYWQtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybVJvd01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvZm9ybS1yb3cubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Db21wb25lbnQ8VD4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGRhdGFMb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7IC8vIFRPRE86IGltcGxlbWVudGFyXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHN1Ym1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIC8qKlxuICAgICAqIFJvd3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0uXG4gICAgICovXG4gICAgcm93czogSW5wdXRTaWduYWw8Rm9ybVJvd01vZGVsW10+ID0gaW5wdXQucmVxdWlyZWQoKTtcbiAgICAvKipcbiAgICAgKiBGb3JtJ3MgbGF5b3V0LlxuICAgICAqL1xuICAgIGxheW91dDogSW5wdXRTaWduYWw8SG9yaXpvbnRhbFZlcnRpY2FsVHlwZT4gPSBpbnB1dDxIb3Jpem9udGFsVmVydGljYWxUeXBlPigndmVydGljYWwnKTtcbiAgICAvKipcbiAgICAgKiBUaXRsZSBvZiB0aGUgZm9ybS5cbiAgICAgKiBPcHRpb25hbC5cbiAgICAgKi9cbiAgICB0aXRsZTogSW5wdXRTaWduYWw8T3B0aW9uYWxUeXBlPFRleHRNb2RlbD4+ID0gaW5wdXQ8T3B0aW9uYWxUeXBlPFRleHRNb2RlbD4+KHVuZGVmaW5lZCk7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgYWN0aW9ucyBzZWN0aW9uIHdpbGwgYmUgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIGhhc0FjdGlvbnNTZWN0aW9uID0gaW5wdXQodHJ1ZSk7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybSBpcyBjb250YWluZWQgaW4gYSBjYXJkLlxuICAgICAqIElmIHRydWUsIGl0J2xsIGRpc3BsYXkgYSBjYXJkIGFzIGEgZm9ybSB3cmFwcGVyLlxuICAgICAqL1xuICAgIGlzQ2FyZCA9IGlucHV0KGZhbHNlKTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmb3JtIGlzIGluIHJlYWQgb25seSBtb2RlLCB3aGljaCBtZWFucyBubyBmaWVsZHMgY2FuIGJlIGVkaXRlZC5cbiAgICAgKi9cbiAgICBpc0Rpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiAodmFsOiBib29sZWFuIHwgc3RyaW5nKSA9PiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJyA/IHZhbCA9PT0gJycgOiB2YWwgfSk7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZm9ybSBpcyBsb2FkaW5nLlxuICAgICAqL1xuICAgIGlzTG9hZGluZyA9IGlucHV0KGZhbHNlKTsgLy8gVE9ETzogaW1wbGVtZW50YXJcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmb3JtIGlzIHNhdmluZy5cbiAgICAgKi9cbiAgICBpc1NhdmluZyA9IGlucHV0KGZhbHNlKTsgLy8gVE9ETzogaW1wbGVtZW50YXJcbiAgICAvKipcbiAgICAgKiBDdXJyZW50IGZvcm0gZGF0YS5cbiAgICAgKi9cbiAgICBmb3JtRGF0YSA9IG1vZGVsKHt9IGFzIFQpO1xuICAgIGZvcm1Hcm91cCA9IG1vZGVsKG5ldyBGb3JtR3JvdXAoe30pKTtcbiAgICBnZXQgdGl0bGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQodGhpcy50aXRsZSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRTZXJ2aWNlID0gaW5qZWN0KFRleHRTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJvd3MoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBGb3JtR3JvdXAoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBGb3JtR3JvdXAoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZC5lbWl0KCk7XG5cbiAgICAgICAgY29uc3QgdmFsdWVDaGFuZ2VzU3ViID0gdGhpcy5mb3JtR3JvdXAoKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuZm9ybURhdGEuc2V0KHRoaXMuZm9ybUdyb3VwKCkuZ2V0UmF3VmFsdWUoKSBhcyBUKSk7XG5cbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHZhbHVlQ2hhbmdlc1N1Yik7XG4gICAgfVxuXG4gICAgc3VibWl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCgpLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIE9iamVjdC52YWx1ZXModGhpcy5mb3JtR3JvdXAoKS5jb250cm9scykuZm9yRWFjaChjb250cm9sID0+IChjb250cm9sIGFzIEZvcm1Db250cm9sKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCkpO1xuXG4gICAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCgpLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHRoaXMuZm9ybUdyb3VwKCkudmFsdWUgYXMgVCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbGxGaWVsZHMgPSB0aGlzLnJvd3MoKS5tYXAociA9PiByLmZpZWxkcykucmVkdWNlKChhY2MsIGZpZWxkcykgPT4gYWNjLmNvbmNhdChmaWVsZHMpLCBbXSk7XG5cbiAgICAgICAgYWxsRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IGZpZWxkLnZhbGlkYXRvcnMgfHwgW107XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pc1JlcXVpcmVkICYmICF2YWxpZGF0b3JzLmluY2x1ZGVzKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUT0RPOiBoYW5kbGUgZXh0cmEgY2FzZXMsIHdoZW4gcmVhZHkuIERhdGVSYW5nZSwgRGF0ZVRpbWVSYW5nZSwgVGltZVJhbmdlLCBldGMuXG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIER5bmFtaWNGaWVsZFR5cGUuRmlsZVVwbG9hZDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpZWxkLmluaXRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZmllbGQuaXNEaXNhYmxlZCB8fCB0aGlzLmlzRGlzYWJsZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgeyB2YWxpZGF0b3JzOiB2YWxpZGF0b3JzIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVGb3JtUHJvcCA9IChmaWVsZCBhcyBGaWxlVXBsb2FkRmllbGRNb2RlbCkuZmlsZU5hbWVGb3JtUHJvcGVydHk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEhZmlsZU5hbWVGb3JtUHJvcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lRm9ybVByb3AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpZWxkLmluaXRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGZpZWxkLmlzRGlzYWJsZWQgfHwgdGhpcy5pc0Rpc2FibGVkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7IHZhbGlkYXRvcnM6IHZhbGlkYXRvcnMgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cCgpLmFkZENvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGQuaW5pdFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmaWVsZC5pc0Rpc2FibGVkIHx8IHRoaXMuaXNEaXNhYmxlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB7IHZhbGlkYXRvcnM6IHZhbGlkYXRvcnMgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHQ7IHByZWZpeDogJ1VwRGV2cy5Gb3JtJ1wiPlxuICAgIDxkaXYgW2NsYXNzLmNhcmRdPVwiaXNDYXJkKClcIj5cbiAgICAgICAgQGlmICghIXRpdGxlVGV4dCkge1xuICAgICAgICAgICAgPGRpdiBbY2xhc3MuY2FyZC1oZWFkZXJdPVwiaXNDYXJkKClcIj5cbiAgICAgICAgICAgICAgICA8aDMgW2NsYXNzLmNhcmQtdGl0bGVdPVwiaXNDYXJkKClcIj57eyB0aXRsZVRleHQgfX08L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBbY2xhc3MuY2FyZC1ib2R5XT1cImlzQ2FyZCgpXCI+XG4gICAgICAgICAgICBAZm9yIChyb3cgb2Ygcm93cygpOyB0cmFjayByb3c7IGxldCBpc0ZpcnN0ID0gJGZpcnN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIFtjbGFzcy5tdC00XT1cIiFpc0ZpcnN0XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGZpZWxkIG9mIHJvdy5maWVsZHM7IHRyYWNrIGZpZWxkLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtZHluYW1pYy1maWVsZCBbbGF5b3V0XT1cImxheW91dCgpXCIgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAoKVwiPjwvdXBkLWR5bmFtaWMtZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChoYXNBY3Rpb25zU2VjdGlvbigpKSB7XG4gICAgICAgICAgICA8ZGl2IFtjbGFzcy5jYXJkLWZvb3Rlcl09XCJpc0NhcmQoKVwiIFtjbGFzcy5tdC00XT1cIiFpc0NhcmQoKVwiPlxuICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIGNvbG9yU3R5bGU9XCJwcmltYXJ5XCIgKGNsaWNrZWQpPVwic3VibWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgnU3VibWl0JykgfX1cbiAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvbW9kZWxzL2ZpbGUtdXBsb2FkLWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0TW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5cbmltcG9ydCB7IER5bmFtaWNGaWVsZE1vZGVsIH0gZnJvbSAnLi9keW5hbWljLWZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlVXBsb2FkRmllbGRNb2RlbCBleHRlbmRzIER5bmFtaWNGaWVsZE1vZGVsIHtcbiAgICB0aXRsZT86IFRleHRNb2RlbDtcbiAgICBhbGxvd0ZpbGVzRHJvcD86IGJvb2xlYW47XG4gICAgaXNNdWx0aXBsZT86IGJvb2xlYW47XG4gICAgYWxsb3dlZEV4dGVuc2lvbnM/OiBzdHJpbmc7XG4gICAgbWluRmlsZVNpemU/OiBudW1iZXI7XG4gICAgbWF4RmlsZVNpemU/OiBudW1iZXI7XG4gICAgc2F2ZUFzRGF0YVVybD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSWYgc2V0LCB1c2VzIHRoaXMgcHJvcGVydHkgdG8gc3RvcmUvcmVhZCB0aGUgbmFtZSBvZiB0aGUgZmlsZS5cbiAgICAgKiAqTk9URSo6IFJlcXVpcmVkIHdoZW4gdXNpbmcgc2F2ZUFzRGF0YVVybC5cbiAgICAgKi9cbiAgICBmaWxlTmFtZUZvcm1Qcm9wZXJ0eT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvbW9kZWxzL2Zvcm0tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZvcm1Db25maWcge1xuXG59XG4iXX0=
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
export * from './enums/public-api';
|
|
2
2
|
export * from './checkbox-field.model';
|
|
3
|
+
export * from './checkbox-group-field.model';
|
|
3
4
|
export * from './dynamic-field.model';
|
|
5
|
+
export * from './file-upload-field.model';
|
|
6
|
+
export * from './form-config';
|
|
4
7
|
export * from './form-row.model';
|
|
5
8
|
export * from './radio-field.model';
|
|
6
|
-
|
|
9
|
+
export * from './radio-field.model';
|
|
10
|
+
export * from './radio-group-field.model';
|
|
11
|
+
export * from './select-field.model';
|
|
12
|
+
export * from './single-select-field.model';
|
|
13
|
+
export * from './textarea-field.model';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtL3NyYy9tb2RlbHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtZ3JvdXAtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQtZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tcm93Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tZmllbGQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JhZGlvLWdyb3VwLWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWZpZWxkLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2luZ2xlLXNlbGVjdC1maWVsZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhLWZpZWxkLm1vZGVsJztcbiJdfQ==
|
|
@@ -8,6 +8,7 @@ import { UpdRadioModule } from '@updevs/components/form-controls/radio';
|
|
|
8
8
|
import { UpdDatePickerModule } from '@updevs/components/form-controls/date-picker';
|
|
9
9
|
import { UpdSelectModule } from '@updevs/components/form-controls/select';
|
|
10
10
|
import { UpdTextareaModule } from '@updevs/components/form-controls/textarea';
|
|
11
|
+
import { UpdFileUploadModule } from '@updevs/components/form-controls/file-upload';
|
|
11
12
|
import { TranslocoDirective, TranslocoService } from '@jsverse/transloco';
|
|
12
13
|
import * as en from './assets/i18n/en.json';
|
|
13
14
|
import * as pt from './assets/i18n/pt.json';
|
|
@@ -32,7 +33,8 @@ export class UpdFormModule {
|
|
|
32
33
|
UpdRadioModule,
|
|
33
34
|
UpdDatePickerModule,
|
|
34
35
|
UpdSelectModule,
|
|
35
|
-
UpdTextareaModule
|
|
36
|
+
UpdTextareaModule,
|
|
37
|
+
UpdFileUploadModule], exports: [FormComponent] }); }
|
|
36
38
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdFormModule, providers: [
|
|
37
39
|
ErrorsHelper
|
|
38
40
|
], imports: [CommonModule,
|
|
@@ -43,7 +45,8 @@ export class UpdFormModule {
|
|
|
43
45
|
UpdRadioModule,
|
|
44
46
|
UpdDatePickerModule,
|
|
45
47
|
UpdSelectModule,
|
|
46
|
-
UpdTextareaModule
|
|
48
|
+
UpdTextareaModule,
|
|
49
|
+
UpdFileUploadModule] }); }
|
|
47
50
|
}
|
|
48
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdFormModule, decorators: [{
|
|
49
52
|
type: NgModule,
|
|
@@ -58,7 +61,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
58
61
|
UpdRadioModule,
|
|
59
62
|
UpdDatePickerModule,
|
|
60
63
|
UpdSelectModule,
|
|
61
|
-
UpdTextareaModule
|
|
64
|
+
UpdTextareaModule,
|
|
65
|
+
UpdFileUploadModule
|
|
62
66
|
],
|
|
63
67
|
declarations: [
|
|
64
68
|
FormComponent,
|
|
@@ -72,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
72
76
|
]
|
|
73
77
|
}]
|
|
74
78
|
}], ctorParameters: () => [{ type: i1.TranslocoService }] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0vc3JjL3VwZC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQTJCckQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBWSxnQkFBa0M7UUFDMUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7OEdBSlEsYUFBYTsrR0FBYixhQUFhLGlCQVZsQixhQUFhO1lBQ2IscUJBQXFCLGFBZHJCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUIsYUFPbkIsYUFBYTsrR0FNUixhQUFhLGFBSlg7WUFDUCxZQUFZO1NBQ2YsWUFyQkcsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixlQUFlO1lBRWYsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsbUJBQW1COzsyRkFhZCxhQUFhO2tCQXpCekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRTt3QkFDVixhQUFhO3dCQUNiLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGFBQWE7cUJBQ2hCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVXBkQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBVcGRJbnB1dE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL2lucHV0JztcbmltcG9ydCB7IFVwZENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgVXBkUmFkaW9Nb2R1bGUgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9yYWRpbyc7XG5pbXBvcnQgeyBVcGREYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgVXBkU2VsZWN0TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0JztcbmltcG9ydCB7IFVwZFRleHRhcmVhTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvdGV4dGFyZWEnO1xuaW1wb3J0IHsgVXBkRmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL2ZpbGUtdXBsb2FkJztcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCAqIGFzIGVuIGZyb20gJy4vYXNzZXRzL2kxOG4vZW4uanNvbic7XG5pbXBvcnQgKiBhcyBwdCBmcm9tICcuL2Fzc2V0cy9pMThuL3B0Lmpzb24nO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGQvZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JzSGVscGVyIH0gZnJvbSAnLi90b29scy9lcnJvcnMtaGVscGVyJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVXBkQnV0dG9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmUsXG4gICAgICAgIFVwZElucHV0TW9kdWxlLFxuICAgICAgICBVcGRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgVXBkUmFkaW9Nb2R1bGUsXG4gICAgICAgIFVwZERhdGVQaWNrZXJNb2R1bGUsXG4gICAgICAgIFVwZFNlbGVjdE1vZHVsZSxcbiAgICAgICAgVXBkVGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIFVwZEZpbGVVcGxvYWRNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBGb3JtQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRmllbGRDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9ybUNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEVycm9yc0hlbHBlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBkRm9ybU1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IodHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSkge1xuICAgICAgICB0cmFuc2xvY29TZXJ2aWNlLnNldFRyYW5zbGF0aW9uKGVuLCAnZW4nKTtcbiAgICAgICAgdHJhbnNsb2NvU2VydmljZS5zZXRUcmFuc2xhdGlvbihwdCwgJ3B0Jyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { Directive, inject, input } from '@angular/core';
|
|
2
2
|
import { TextService } from '@updevs/sdk';
|
|
3
|
+
import { Tools } from '@updevs/sdk/core';
|
|
3
4
|
import { BaseComponent } from '@updevs/sdk/layout';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class BaseControl extends BaseComponent {
|
|
6
7
|
constructor() {
|
|
7
8
|
super(...arguments);
|
|
9
|
+
this.name = input(Tools.Guid.generate());
|
|
8
10
|
this.placeholder = input();
|
|
9
11
|
this.label = input();
|
|
10
12
|
this.description = input();
|
|
11
13
|
this.validationStatusDescriptions = input([]);
|
|
14
|
+
this.labelColSize = input();
|
|
15
|
+
this.showValidStatus = input(false);
|
|
16
|
+
this.isRequired = input(false);
|
|
17
|
+
this.isDisabled = input(false);
|
|
12
18
|
this.hint = input();
|
|
13
19
|
this.hintTemplate = input();
|
|
14
20
|
this.hintAsTooltip = input(false);
|
|
@@ -31,10 +37,10 @@ export class BaseControl extends BaseComponent {
|
|
|
31
37
|
return this._textService.getText(this.hint());
|
|
32
38
|
}
|
|
33
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
35
41
|
}
|
|
36
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, decorators: [{
|
|
37
43
|
type: Directive,
|
|
38
44
|
args: [{}]
|
|
39
45
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvYWJzdHJhY3Rpb25zL3NyYy9iYXNlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJbkQsTUFBTSxPQUFnQixXQUFZLFNBQVEsYUFBYTtJQUR2RDs7UUFFYSxTQUFJLEdBQUcsS0FBSyxDQUFTLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQ2pDLGlDQUE0QixHQUFHLEtBQUssQ0FBYyxFQUFFLENBQUMsQ0FBQztRQUN0RCxpQkFBWSxHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsU0FBSSxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQ3pDLGtCQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLHFCQUFnQixHQUFHLEtBQUssRUFBd0IsQ0FBQztRQXNCdkMsaUJBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDekQ7SUFyQkcsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDckIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBakNpQixXQUFXO2tHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHRNb2RlbCwgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBUb29scyB9IGZyb20gJ0B1cGRldnMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBSb3dDb2x1bW5TaXplLCBWYWxpZGF0aW9uU3RhdHVzVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cyc7XG5cbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbnRyb2wgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPihUb29scy5HdWlkLmdlbmVyYXRlKCkpO1xuICAgIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnMgPSBpbnB1dDxUZXh0TW9kZWxbXT4oW10pO1xuICAgIHJlYWRvbmx5IGxhYmVsQ29sU2l6ZSA9IGlucHV0PFJvd0NvbHVtblNpemU+KCk7XG4gICAgcmVhZG9ubHkgc2hvd1ZhbGlkU3RhdHVzID0gaW5wdXQoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGlzUmVxdWlyZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgcmVhZG9ubHkgaXNEaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgICByZWFkb25seSBoaW50ID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IGhpbnRUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gICAgcmVhZG9ubHkgaGludEFzVG9vbHRpcCA9IGlucHV0KGZhbHNlKTtcbiAgICByZWFkb25seSB2YWxpZGF0aW9uU3RhdHVzID0gaW5wdXQ8VmFsaWRhdGlvblN0YXR1c1R5cGU+KCk7XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0U2VydmljZS5nZXRUZXh0KHRoaXMucGxhY2Vob2xkZXIoKSk7XG4gICAgfVxuXG4gICAgZ2V0IGxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dFNlcnZpY2UuZ2V0VGV4dCh0aGlzLmxhYmVsKCkpO1xuICAgIH1cblxuICAgIGdldCBkZXNjcmlwdGlvblRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRTZXJ2aWNlLmdldFRleHQodGhpcy5kZXNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsaWRhdGlvblN0YXR1c1RleHRzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9ucygpLm1hcChkZXNjID0+IHRoaXMuX3RleHRTZXJ2aWNlLmdldFRleHQoZGVzYykpO1xuICAgIH1cblxuICAgIGdldCBoaW50VGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dFNlcnZpY2UuZ2V0VGV4dCh0aGlzLmhpbnQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF90ZXh0U2VydmljZSA9IGluamVjdChUZXh0U2VydmljZSk7XG59XG4iXX0=
|