aril 1.2.16 → 1.2.17
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/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.mjs +2 -2
- package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +19 -5
- package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +1 -1
- package/fesm2022/aril-ui-business-enumPicker.mjs +18 -4
- package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-translate-input.mjs +1 -1
- package/fesm2022/aril-ui-translate-input.mjs.map +1 -1
- package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
- package/package.json +188 -188
- package/ui-business/enumPicker/src/enum-picker.component.d.ts +2 -1
|
@@ -46,7 +46,7 @@ export class ArilLangModalComponent {
|
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArilLangModalComponent, deps: [{ token: i1.DynamicDialogConfig }, { token: i1.DynamicDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ArilLangModalComponent, isStandalone: true, selector: "aril-lang-modal", ngImport: i0, template: "<div>\r\n\t<aril-field\r\n\t\t[label]=\"translocoService.translate('translationModal.addLanguage')\"\r\n\t\t[cols]=\"{ default: 12 }\"\r\n\t\tclass=\"mb-4 block\">\r\n\t\t<enum-picker\r\n\t\t\t[(ngModel)]=\"selectedLanguages\"\r\n\t\t\t[items]=\"availableLanguages\"\r\n\t\t\t[isMultiple]=\"true\"\r\n\t\t\titemKey=\"code\"\r\n\t\t\titemText=\"name\" />\r\n\t</aril-field>\r\n\r\n\t@for (lang of selectedLanguages; track lang) {\r\n\t\t<div class=\"border-1 border-gray-300 border-round py-2 px-4 mb-2 flex justify-content-between items-center\">\r\n\t\t\t<aril-field labelPos=\"left\" [label]=\"getLabel(lang)\" [cols]=\"{ default: 12 }\" [labelWidth]=\"15\" [valueWidth]=\"85\">\r\n\t\t\t\t<aril-text class=\"value-input\" [(ngModel)]=\"translations[lang]\" />\r\n\t\t\t</aril-field>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<div class=\"mt-4\">\r\n\t\t@if (mandatoryLanguages.length && isSaveDisabled()) {\r\n\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t<p-tag [value]=\"getInfoText()\" severity=\"info\" />\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<div class=\"mt-4 flex justify-content-end\">\r\n\t\t<aril-button\r\n\t\t\tcolor=\"danger\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[label]=\"translocoService.translate('cancel')\"\r\n\t\t\t[raised]=\"false\"\r\n\t\t\ticon=\"TIMES\"\r\n\t\t\t(clickEvent)=\"close()\" />\r\n\t\t<aril-button\r\n\t\t\t[label]=\"translocoService.translate('save')\"\r\n\t\t\tcolor=\"success\"\r\n\t\t\ticon=\"CHECK\"\r\n\t\t\tclass=\"ml-2\"\r\n\t\t\t(clickEvent)=\"save()\"\r\n\t\t\t[disabled]=\"isSaveDisabled()\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host .value-input ::ng-deep input{width:100%}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData", "infoDataOverlayPanel"] }, { kind: "component", type: EnumPickerComponent, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: ["itemKey", "itemText", "groupName", "parentSelectionKey", "tabindex", "items", "isMultiple", "grouped", "showClearButton", "placeholder", "searchExpr", "acceptCustomValue", "textClampCharacters", "useVirtualScroll", "virtualScrollItemSize", "scrollHeight", "selectedItemsLabel", "appendTo", "style", "styleClass", "tooltip", "tooltipPosition"], outputs: ["onSelectionChanged"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }] }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ArilLangModalComponent, isStandalone: true, selector: "aril-lang-modal", ngImport: i0, template: "<div>\r\n\t<aril-field\r\n\t\t[label]=\"translocoService.translate('translationModal.addLanguage')\"\r\n\t\t[cols]=\"{ default: 12 }\"\r\n\t\tclass=\"mb-4 block\">\r\n\t\t<enum-picker\r\n\t\t\t[(ngModel)]=\"selectedLanguages\"\r\n\t\t\t[items]=\"availableLanguages\"\r\n\t\t\t[isMultiple]=\"true\"\r\n\t\t\titemKey=\"code\"\r\n\t\t\titemText=\"name\" />\r\n\t</aril-field>\r\n\r\n\t@for (lang of selectedLanguages; track lang) {\r\n\t\t<div class=\"border-1 border-gray-300 border-round py-2 px-4 mb-2 flex justify-content-between items-center\">\r\n\t\t\t<aril-field labelPos=\"left\" [label]=\"getLabel(lang)\" [cols]=\"{ default: 12 }\" [labelWidth]=\"15\" [valueWidth]=\"85\">\r\n\t\t\t\t<aril-text class=\"value-input\" [(ngModel)]=\"translations[lang]\" />\r\n\t\t\t</aril-field>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<div class=\"mt-4\">\r\n\t\t@if (mandatoryLanguages.length && isSaveDisabled()) {\r\n\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t<p-tag [value]=\"getInfoText()\" severity=\"info\" />\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<div class=\"mt-4 flex justify-content-end\">\r\n\t\t<aril-button\r\n\t\t\tcolor=\"danger\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[label]=\"translocoService.translate('cancel')\"\r\n\t\t\t[raised]=\"false\"\r\n\t\t\ticon=\"TIMES\"\r\n\t\t\t(clickEvent)=\"close()\" />\r\n\t\t<aril-button\r\n\t\t\t[label]=\"translocoService.translate('save')\"\r\n\t\t\tcolor=\"success\"\r\n\t\t\ticon=\"CHECK\"\r\n\t\t\tclass=\"ml-2\"\r\n\t\t\t(clickEvent)=\"save()\"\r\n\t\t\t[disabled]=\"isSaveDisabled()\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host .value-input ::ng-deep input{width:100%}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData", "infoDataOverlayPanel"] }, { kind: "component", type: EnumPickerComponent, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: ["itemKey", "itemText", "groupName", "parentSelectionKey", "tabindex", "items", "isMultiple", "excludedKeys", "grouped", "showClearButton", "placeholder", "searchExpr", "acceptCustomValue", "textClampCharacters", "useVirtualScroll", "virtualScrollItemSize", "scrollHeight", "selectedItemsLabel", "appendTo", "style", "styleClass", "tooltip", "tooltipPosition"], outputs: ["onSelectionChanged"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }] }); }
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArilLangModalComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
61
61
|
TagModule
|
|
62
62
|
], standalone: true, template: "<div>\r\n\t<aril-field\r\n\t\t[label]=\"translocoService.translate('translationModal.addLanguage')\"\r\n\t\t[cols]=\"{ default: 12 }\"\r\n\t\tclass=\"mb-4 block\">\r\n\t\t<enum-picker\r\n\t\t\t[(ngModel)]=\"selectedLanguages\"\r\n\t\t\t[items]=\"availableLanguages\"\r\n\t\t\t[isMultiple]=\"true\"\r\n\t\t\titemKey=\"code\"\r\n\t\t\titemText=\"name\" />\r\n\t</aril-field>\r\n\r\n\t@for (lang of selectedLanguages; track lang) {\r\n\t\t<div class=\"border-1 border-gray-300 border-round py-2 px-4 mb-2 flex justify-content-between items-center\">\r\n\t\t\t<aril-field labelPos=\"left\" [label]=\"getLabel(lang)\" [cols]=\"{ default: 12 }\" [labelWidth]=\"15\" [valueWidth]=\"85\">\r\n\t\t\t\t<aril-text class=\"value-input\" [(ngModel)]=\"translations[lang]\" />\r\n\t\t\t</aril-field>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<div class=\"mt-4\">\r\n\t\t@if (mandatoryLanguages.length && isSaveDisabled()) {\r\n\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t<p-tag [value]=\"getInfoText()\" severity=\"info\" />\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<div class=\"mt-4 flex justify-content-end\">\r\n\t\t<aril-button\r\n\t\t\tcolor=\"danger\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[label]=\"translocoService.translate('cancel')\"\r\n\t\t\t[raised]=\"false\"\r\n\t\t\ticon=\"TIMES\"\r\n\t\t\t(clickEvent)=\"close()\" />\r\n\t\t<aril-button\r\n\t\t\t[label]=\"translocoService.translate('save')\"\r\n\t\t\tcolor=\"success\"\r\n\t\t\ticon=\"CHECK\"\r\n\t\t\tclass=\"ml-2\"\r\n\t\t\t(clickEvent)=\"save()\"\r\n\t\t\t[disabled]=\"isSaveDisabled()\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host .value-input ::ng-deep input{width:100%}\n"] }]
|
|
63
63
|
}], ctorParameters: () => [{ type: i1.DynamicDialogConfig }, { type: i1.DynamicDialogRef }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdHJhbnNsYXRlLWlucHV0L3NyYy9hcmlsLWxhbmctbW9kYWwvYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdHJhbnNsYXRlLWlucHV0L3NyYy9hcmlsLWxhbmctbW9kYWwvYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFrQnhDLE1BQU0sT0FBTyxzQkFBc0I7SUFPbEMsWUFDUSxNQUEwQyxFQUMxQyxHQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUMxQyxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQVI3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxzQkFBaUIsR0FBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0IsaUJBQVksR0FBc0IsRUFBRSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQU1qQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLElBQUksRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsOENBQThDO1FBQzlDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsY0FBYztRQUNiLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLHFDQUFxQyxFQUFFO1lBQzdFLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNqRixDQUFDLENBQUM7SUFDSixDQUFDOzhHQXRDVyxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyRUNsQ25DLDBoREE4Q0EsMEdEekJFLGFBQWEsa0xBQ2IsV0FBVyw4VkFDWCxZQUFZLCtCQUNaLGVBQWUsNk5BQ2YsZUFBZSwrQkFDZixjQUFjLHlMQUNkLG1CQUFtQiwyZ0JBQ25CLFNBQVM7OzJGQU1FLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0MsaUJBQWlCLFdBQ2xCO3dCQUNSLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsU0FBUztxQkFDVCxjQUNXLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFnJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IEVudW1QaWNrZXJDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpLWJ1c2luZXNzL2VudW1QaWNrZXInO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9maWVsZCc7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ01vZGFsRGF0YSwgVHJhbnNsYXRpb25PYmplY3QgfSBmcm9tICcuLi9pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBTExfTEFOR1MgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FyaWwtbGFuZy1tb2RhbCcsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0VGV4dENvbXBvbmVudCxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0VHJhbnNsb2NvTW9kdWxlLFxyXG5cdFx0RmllbGRDb21wb25lbnQsXHJcblx0XHRFbnVtUGlja2VyQ29tcG9uZW50LFxyXG5cdFx0VGFnTW9kdWxlXHJcblx0XSxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHRlbXBsYXRlVXJsOiAnYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFyaWxMYW5nTW9kYWxDb21wb25lbnQge1xyXG5cdHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XHJcblx0c2VsZWN0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdID0gWyd0cicsICdlbiddO1xyXG5cdGF2YWlsYWJsZUxhbmd1YWdlcyA9IEFMTF9MQU5HUztcclxuXHR0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uT2JqZWN0ID0ge307XHJcblx0bWFuZGF0b3J5TGFuZ3VhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHB1YmxpYyBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWc8TGFuZ01vZGFsRGF0YT4sXHJcblx0XHRwdWJsaWMgcmVmOiBEeW5hbWljRGlhbG9nUmVmXHJcblx0KSB7XHJcblx0XHR0aGlzLnRyYW5zbGF0aW9ucyA9IHsgLi4udGhpcy5jb25maWcuZGF0YT8udHJhbnNsYXRpb25zIH07XHJcblx0XHR0aGlzLm1hbmRhdG9yeUxhbmd1YWdlcyA9IHRoaXMuY29uZmlnLmRhdGE/Lm1hbmRhdG9yeUxhbmd1YWdlcyB8fCBbXTtcclxuXHR9XHJcblxyXG5cdHNhdmUoKSB7XHJcblx0XHRjb25zdCBhbGxvd2VkID0gbmV3IFNldCh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzKTtcclxuXHRcdC8vIG9ubHkgb3V0cHV0IHRoZSBsYW5ndWFnZXMgdGhhdCBhcmUgc2VsZWN0ZWRcclxuXHRcdGNvbnN0IG91dHB1dFRyYW5zbGF0aW9ucyA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0aGlzLnRyYW5zbGF0aW9ucykuZmlsdGVyKChba10pID0+IGFsbG93ZWQuaGFzKGspKSk7XHJcblx0XHR0aGlzLnJlZi5jbG9zZShvdXRwdXRUcmFuc2xhdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0Y2xvc2UoKSB7XHJcblx0XHR0aGlzLnJlZi5jbG9zZSgpO1xyXG5cdH1cclxuXHJcblx0Z2V0TGFiZWwoY29kZTogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMuZmluZCgobGFuZykgPT4gbGFuZy5jb2RlID09PSBjb2RlKT8ubmFtZTtcclxuXHR9XHJcblxyXG5cdGlzU2F2ZURpc2FibGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMubWFuZGF0b3J5TGFuZ3VhZ2VzPy5zb21lKChsYW5nKSA9PiAhdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5pbmNsdWRlcyhsYW5nKSB8fCAhdGhpcy50cmFuc2xhdGlvbnNbbGFuZ10pO1xyXG5cdH1cclxuXHJcblx0Z2V0SW5mb1RleHQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndHJhbnNsYXRpb25Nb2RhbC5tYW5kYXRvcnlMYW5ndWFnZXMnLCB7XHJcblx0XHRcdGxhbmd1YWdlczogdGhpcy5tYW5kYXRvcnlMYW5ndWFnZXM/Lm1hcCgobGFuZykgPT4gdGhpcy5nZXRMYWJlbChsYW5nKSkuam9pbignLCAnKVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXY+XHJcblx0PGFyaWwtZmllbGRcclxuXHRcdFtsYWJlbF09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndHJhbnNsYXRpb25Nb2RhbC5hZGRMYW5ndWFnZScpXCJcclxuXHRcdFtjb2xzXT1cInsgZGVmYXVsdDogMTIgfVwiXHJcblx0XHRjbGFzcz1cIm1iLTQgYmxvY2tcIj5cclxuXHRcdDxlbnVtLXBpY2tlclxyXG5cdFx0XHRbKG5nTW9kZWwpXT1cInNlbGVjdGVkTGFuZ3VhZ2VzXCJcclxuXHRcdFx0W2l0ZW1zXT1cImF2YWlsYWJsZUxhbmd1YWdlc1wiXHJcblx0XHRcdFtpc011bHRpcGxlXT1cInRydWVcIlxyXG5cdFx0XHRpdGVtS2V5PVwiY29kZVwiXHJcblx0XHRcdGl0ZW1UZXh0PVwibmFtZVwiIC8+XHJcblx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRAZm9yIChsYW5nIG9mIHNlbGVjdGVkTGFuZ3VhZ2VzOyB0cmFjayBsYW5nKSB7XHJcblx0XHQ8ZGl2IGNsYXNzPVwiYm9yZGVyLTEgYm9yZGVyLWdyYXktMzAwIGJvcmRlci1yb3VuZCBweS0yIHB4LTQgbWItMiBmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHQ8YXJpbC1maWVsZCBsYWJlbFBvcz1cImxlZnRcIiBbbGFiZWxdPVwiZ2V0TGFiZWwobGFuZylcIiBbY29sc109XCJ7IGRlZmF1bHQ6IDEyIH1cIiBbbGFiZWxXaWR0aF09XCIxNVwiIFt2YWx1ZVdpZHRoXT1cIjg1XCI+XHJcblx0XHRcdFx0PGFyaWwtdGV4dCBjbGFzcz1cInZhbHVlLWlucHV0XCIgWyhuZ01vZGVsKV09XCJ0cmFuc2xhdGlvbnNbbGFuZ11cIiAvPlxyXG5cdFx0XHQ8L2FyaWwtZmllbGQ+XHJcblx0XHQ8L2Rpdj5cclxuXHR9XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJtdC00XCI+XHJcblx0XHRAaWYgKG1hbmRhdG9yeUxhbmd1YWdlcy5sZW5ndGggJiYgaXNTYXZlRGlzYWJsZWQoKSkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG5cdFx0XHRcdDxwLXRhZyBbdmFsdWVdPVwiZ2V0SW5mb1RleHQoKVwiIHNldmVyaXR5PVwiaW5mb1wiIC8+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0fVxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwibXQtNCBmbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuXHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRjb2xvcj1cImRhbmdlclwiXHJcblx0XHRcdFtvdXRsaW5lZF09XCJ0cnVlXCJcclxuXHRcdFx0W2xhYmVsXT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdjYW5jZWwnKVwiXHJcblx0XHRcdFtyYWlzZWRdPVwiZmFsc2VcIlxyXG5cdFx0XHRpY29uPVwiVElNRVNcIlxyXG5cdFx0XHQoY2xpY2tFdmVudCk9XCJjbG9zZSgpXCIgLz5cclxuXHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRbbGFiZWxdPVwidHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3NhdmUnKVwiXHJcblx0XHRcdGNvbG9yPVwic3VjY2Vzc1wiXHJcblx0XHRcdGljb249XCJDSEVDS1wiXHJcblx0XHRcdGNsYXNzPVwibWwtMlwiXHJcblx0XHRcdChjbGlja0V2ZW50KT1cInNhdmUoKVwiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJpc1NhdmVEaXNhYmxlZCgpXCIgLz5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -37,6 +37,8 @@ export class EnumPickerComponent extends BaseInputComponent {
|
|
|
37
37
|
this.tabindex = input(0);
|
|
38
38
|
this.items = input();
|
|
39
39
|
this.isMultiple = input(false);
|
|
40
|
+
// Cross-validation RemoveItem action ile set edilir; verilen selectionKey'leri item listesinden filtreler.
|
|
41
|
+
this.excludedKeys = input([]);
|
|
40
42
|
this.selectedItemText = '';
|
|
41
43
|
/** * @description when grouped = true, option item structure { key:string, items:[] } */
|
|
42
44
|
this.grouped = input(false);
|
|
@@ -65,6 +67,13 @@ export class EnumPickerComponent extends BaseInputComponent {
|
|
|
65
67
|
if (this.groupName() || this.parentSelectionKey())
|
|
66
68
|
this.getSelectionItems();
|
|
67
69
|
});
|
|
70
|
+
// excludedKeys değişince item listesini yeniden filtrele (originalSelectionItems korunur)
|
|
71
|
+
effect(() => {
|
|
72
|
+
this.excludedKeys();
|
|
73
|
+
if (this.originalSelectionItems.length > 0) {
|
|
74
|
+
this.updateSelectionItemsText();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
68
77
|
this.translocoService.langChanges$.subscribe(() => {
|
|
69
78
|
if (this.selectionItems() && this.selectionItems()?.length > 0) {
|
|
70
79
|
this.updateSelectionItemsText();
|
|
@@ -105,7 +114,10 @@ export class EnumPickerComponent extends BaseInputComponent {
|
|
|
105
114
|
}
|
|
106
115
|
const currentLang = this.translocoService.getActiveLang();
|
|
107
116
|
this.selectionItems.set(null);
|
|
108
|
-
const
|
|
117
|
+
const excluded = new Set(this.excludedKeys() || []);
|
|
118
|
+
const mappedItems = this.originalSelectionItems
|
|
119
|
+
.filter((item) => !excluded.has(item.selectionKey))
|
|
120
|
+
.map((item) => ({
|
|
109
121
|
key: item.selectionKey,
|
|
110
122
|
text: item?.selectionMultiLanguageDisplays?.[currentLang] ?
|
|
111
123
|
item.selectionMultiLanguageDisplays[currentLang]
|
|
@@ -116,9 +128,11 @@ export class EnumPickerComponent extends BaseInputComponent {
|
|
|
116
128
|
this.rebuildSelectBoxDataSource(mappedItems);
|
|
117
129
|
this.filterCurrentValueBySelectionItems();
|
|
118
130
|
}
|
|
119
|
-
// Parent enum (multiple) değiştiğinde
|
|
131
|
+
// Parent enum (multiple) değiştiğinde veya excludedKeys aktifken
|
|
132
|
+
// form'daki geçersiz key'leri temizler (selectionItems zaten filtrelenmiş haliyle gelir).
|
|
120
133
|
filterCurrentValueBySelectionItems() {
|
|
121
|
-
|
|
134
|
+
const hasExcluded = (this.excludedKeys() || []).length > 0;
|
|
135
|
+
if (!this.parentSelectionKey() && !hasExcluded)
|
|
122
136
|
return;
|
|
123
137
|
const currentValue = this.ngControl.control?.value;
|
|
124
138
|
const validKeys = new Set((this.selectionItems() || []).map((item) => item[this.itemKey()]));
|
|
@@ -169,7 +183,7 @@ export class EnumPickerComponent extends BaseInputComponent {
|
|
|
169
183
|
}));
|
|
170
184
|
}
|
|
171
185
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EnumPickerComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
172
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: EnumPickerComponent, isStandalone: true, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "isMultiple", isSignal: true, isRequired: false, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null }, acceptCustomValue: { classPropertyName: "acceptCustomValue", publicName: "acceptCustomValue", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, useVirtualScroll: { classPropertyName: "useVirtualScroll", publicName: "useVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "@if (isMultiple()) {\r\n\t<p-multiSelect\r\n\t\t[options]=\"selectionItems() || items() || []\"\r\n\t\t[optionValue]=\"itemKey()\"\r\n\t\t[optionLabel]=\"itemText()\"\r\n\t\t[defaultLabel]=\"placeholder()\"\r\n\t\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t\t[style]=\"style()\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t[tooltip]=\"tooltip()\"\r\n\t\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t\t[maxSelectedLabels]=\"2\"\r\n\t\t[appendTo]=\"appendTo()\"\r\n\t\t[virtualScroll]=\"useVirtualScroll()\"\r\n\t\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t\t[scrollHeight]=\"scrollHeight()\"\r\n\t\t[filter]=\"true\"\r\n\t\t[panelStyle]=\"{ 'max-width': '400px', 'min-width': 'auto' }\">\r\n\t\t<ng-template let-enum pTemplate=\"item\">\r\n\t\t\t<div [pTooltip]=\"enum[itemText()]?.length > textClampCharacters() ? enum[itemText()] : ''\">\r\n\t\t\t\t@if (enum[itemText()]?.length > textClampCharacters()) {\r\n\t\t\t\t\t{{ enum[itemText()].slice(0, textClampCharacters()) }}...\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t{{ enum[itemText()] }}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-multiSelect>\r\n} @else {\r\n\t<dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n\t\t[valueExpr]=\"itemKey()\"\r\n\t\t[displayExpr]=\"itemText()\"\r\n\t\t[searchEnabled]=\"true\"\r\n\t\t[searchExpr]=\"searchExpr()\"\r\n\t\t[tabIndex]=\"tabindex()\"\r\n\t\t[grouped]=\"grouped()\"\r\n\t\t[placeholder]=\"placeholder()\"\r\n\t\t[showClearButton]=\"showClearButton()\"\r\n\t\t[acceptCustomValue]=\"acceptCustomValue()\"\r\n\t\t(onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n\t\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\t\tvalidationMessagePosition=\"top\"\r\n\t\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n\t</dx-select-box>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
|
|
186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: EnumPickerComponent, isStandalone: true, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "isMultiple", isSignal: true, isRequired: false, transformFunction: null }, excludedKeys: { classPropertyName: "excludedKeys", publicName: "excludedKeys", isSignal: true, isRequired: false, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null }, acceptCustomValue: { classPropertyName: "acceptCustomValue", publicName: "acceptCustomValue", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, useVirtualScroll: { classPropertyName: "useVirtualScroll", publicName: "useVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "@if (isMultiple()) {\r\n\t<p-multiSelect\r\n\t\t[options]=\"selectionItems() || items() || []\"\r\n\t\t[optionValue]=\"itemKey()\"\r\n\t\t[optionLabel]=\"itemText()\"\r\n\t\t[defaultLabel]=\"placeholder()\"\r\n\t\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t\t[style]=\"style()\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t[tooltip]=\"tooltip()\"\r\n\t\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t\t[maxSelectedLabels]=\"2\"\r\n\t\t[appendTo]=\"appendTo()\"\r\n\t\t[virtualScroll]=\"useVirtualScroll()\"\r\n\t\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t\t[scrollHeight]=\"scrollHeight()\"\r\n\t\t[filter]=\"true\"\r\n\t\t[panelStyle]=\"{ 'max-width': '400px', 'min-width': 'auto' }\">\r\n\t\t<ng-template let-enum pTemplate=\"item\">\r\n\t\t\t<div [pTooltip]=\"enum[itemText()]?.length > textClampCharacters() ? enum[itemText()] : ''\">\r\n\t\t\t\t@if (enum[itemText()]?.length > textClampCharacters()) {\r\n\t\t\t\t\t{{ enum[itemText()].slice(0, textClampCharacters()) }}...\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t{{ enum[itemText()] }}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-multiSelect>\r\n} @else {\r\n\t<dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n\t\t[valueExpr]=\"itemKey()\"\r\n\t\t[displayExpr]=\"itemText()\"\r\n\t\t[searchEnabled]=\"true\"\r\n\t\t[searchExpr]=\"searchExpr()\"\r\n\t\t[tabIndex]=\"tabindex()\"\r\n\t\t[grouped]=\"grouped()\"\r\n\t\t[placeholder]=\"placeholder()\"\r\n\t\t[showClearButton]=\"showClearButton()\"\r\n\t\t[acceptCustomValue]=\"acceptCustomValue()\"\r\n\t\t(onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n\t\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\t\tvalidationMessagePosition=\"top\"\r\n\t\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n\t</dx-select-box>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
|
|
173
187
|
}
|
|
174
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EnumPickerComponent, decorators: [{
|
|
175
189
|
type: Component,
|
|
@@ -177,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
177
191
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { onSelectionChanged: [{
|
|
178
192
|
type: Output
|
|
179
193
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9lbnVtUGlja2VyL3NyYy9lbnVtLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2VudW1QaWNrZXIvc3JjL2VudW0tcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFFckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQ04sa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQVVoRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lB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QixFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLENBQUMsYUFDbEgsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFDbEIsQ0FBQyxzQkFBc0IsQ0FBQzs4R0E0QzlCLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIGVmZmVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgRHhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvc2VsZWN0LWJveCc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgRGF0YVNvdXJjZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvZGF0YV9zb3VyY2UnO1xyXG5pbXBvcnQgQXJyYXlTdG9yZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvYXJyYXlfc3RvcmUnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQge1xyXG5cdEJhc2VJbnB1dENvbXBvbmVudCxcclxuXHREWElucHV0RXJyb3JNZXNzYWdlUGlwZSxcclxuXHRJbnB1dEVycm9yTWVzc2FnZVBpcGUsXHJcblx0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZVxyXG59IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7IFNlbGVjdEJveEl0ZW0sIFNlbGVjdGlvbkdyb3VwRFRPLCBTZWxlY3Rpb25JdGVtLCBTZWxlY3Rpb25SZXF1ZXN0RFRPIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdlbnVtLXBpY2tlcltuZ01vZGVsXSwgZW51bS1waWNrZXJbZm9ybUNvbnRyb2xdLCBlbnVtLXBpY2tlcltmb3JtQ29udHJvbE5hbWVdJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZW51bS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBEeFNlbGVjdEJveE1vZHVsZSwgRFhJbnB1dEVycm9yTWVzc2FnZVBpcGUsIFRyYW5zbG9jb01vZHVsZSwgTXVsdGlTZWxlY3RNb2R1bGUsIFRvb2x0aXBNb2R1bGVdLFxyXG5cdHByb3ZpZGVyczogW0lucHV0RXJyb3JNZXNzYWdlUGlwZV0sXHJcblx0aG9zdERpcmVjdGl2ZXM6IFtWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW51bVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudCB7XHJcblx0c2VsZWN0aW9uSXRlbXMgPSBzaWduYWw8U2VsZWN0Qm94SXRlbVtdIHwgbnVsbD4obnVsbCk7XHJcblx0c2VsZWN0Qm94RGF0YVNvdXJjZSA9IHNpZ25hbDxEYXRhU291cmNlIHwgbnVsbD4obnVsbCk7XHJcblx0cHJpdmF0ZSBvcmlnaW5hbFNlbGVjdGlvbkl0ZW1zOiBTZWxlY3Rpb25JdGVtW10gPSBbXTtcclxuXHQvKipcclxuXHQgKiBTaW5nbGUgU2VsZWN0IFN0YXRlc1xyXG5cdCAqL1xyXG5cclxuXHRpdGVtS2V5ID0gaW5wdXQoJ2tleScpO1xyXG5cdGl0ZW1UZXh0ID0gaW5wdXQoJ3RleHQnKTtcclxuXHRncm91cE5hbWUgPSBpbnB1dCgnJyk7XHJcblx0cGFyZW50U2VsZWN0aW9uS2V5ID0gaW5wdXQobnVsbCk7XHJcblx0dGFiaW5kZXggPSBpbnB1dDxudW1iZXI+KDApO1xyXG5cdGl0ZW1zID0gaW5wdXQ8U2VsZWN0Qm94SXRlbVtdPigpO1xyXG5cdGlzTXVsdGlwbGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2VsZWN0ZWRJdGVtVGV4dCA9ICcnO1xyXG5cdC8qKiAqIEBkZXNjcmlwdGlvbiB3aGVuIGdyb3VwZWQgPSB0cnVlLCBvcHRpb24gaXRlbSBzdHJ1Y3R1cmUgeyBrZXk6c3RyaW5nLCBpdGVtczpbXSB9ICovXHJcblx0Z3JvdXBlZCA9IGlucHV0KGZhbHNlKTtcclxuXHRzaG93Q2xlYXJCdXR0b24gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNlYXJjaEV4cHIgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oJycpO1xyXG5cdGFjY2VwdEN1c3RvbVZhbHVlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRleHRDbGFtcENoYXJhY3RlcnMgPSBpbnB1dDxudW1iZXI+KDQwKTtcclxuXHJcblx0LyoqXHJcblx0ICogVmlydHVhbCBTY3JvbGwgU3RhdGVzXHJcblx0ICovXHJcblx0dXNlVmlydHVhbFNjcm9sbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHR2aXJ0dWFsU2Nyb2xsSXRlbVNpemUgPSBpbnB1dDxudW1iZXI+KDMwKTtcclxuXHRzY3JvbGxIZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCczMDBweCcpO1xyXG5cclxuXHQvKipcclxuXHQgKiBNdWx0aSBTZWxlY3QgU3RhdGVzXHJcblx0ICovXHJcblxyXG5cdHNlbGVjdGVkSXRlbXNMYWJlbCA9IGlucHV0PHN0cmluZz4oJ3swfSAgZGXEn2VyIHNlw6dpbGRpJyk7IC8vIGRlZmF1bHQgdmFsdWUgLT4gKHswfSBpdGVtcyBzZWxlY3RlZFxyXG5cdGFwcGVuZFRvID0gaW5wdXQ8c3RyaW5nPignYm9keScpO1xyXG5cdHN0eWxlID0gaW5wdXQ8b2JqZWN0Pih7fSk7XHJcblx0c3R5bGVDbGFzcyA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHR0b29sdGlwUG9zaXRpb24gPSBpbnB1dDxhbnk+KCd0b3AnKTtcclxuXHJcblx0QE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0Qm94SXRlbT4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmdyb3VwTmFtZSgpIHx8IHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkpIHRoaXMuZ2V0U2VsZWN0aW9uSXRlbXMoKTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0aW9uSXRlbXMoKSAmJiAodGhpcy5zZWxlY3Rpb25JdGVtcygpIGFzIFNlbGVjdEJveEl0ZW1bXSk/Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVNlbGVjdGlvbkl0ZW1zVGV4dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNldFRpdGxlKGV2ZW50PzogYW55KSB7XHJcblx0XHRpZiAoZXZlbnQgJiYgZXZlbnRbdGhpcy5pdGVtVGV4dCgpXS5sZW5ndGggPiAyNSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkSXRlbVRleHQgPSBldmVudCA/IGV2ZW50W3RoaXMuaXRlbVRleHQoKV0gOiAnJztcclxuXHRcdH1cclxuXHRcdHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0U2VsZWN0aW9uSXRlbXMoKSB7XHJcblx0XHRjb25zdCBwYXlsb2FkOiBQYXJ0aWFsPFNlbGVjdGlvblJlcXVlc3REVE8+ID0ge1xyXG5cdFx0XHRncm91cE5hbWU6IHRoaXMuZ3JvdXBOYW1lKClcclxuXHRcdH07XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSkpIHtcclxuXHRcdFx0cGF5bG9hZC5wYXJlbnRTZWxlY3Rpb25LZXlzID0gdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHBheWxvYWQucGFyZW50U2VsZWN0aW9uS2V5ID0gdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBob3N0QXBpID0gQVBJX0NPTkZJR1MuZ2V0RXh0ZXJuYWxBcHBFbmRwb2ludChBcHBzLk1ORyk7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdDxTZWxlY3Rpb25Hcm91cERUTz4oaG9zdEFwaSArICcvc2VsZWN0aW9uLWdyb3VwL2xvYWQnLCBwYXlsb2FkKVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0dGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zID0gc2VsZWN0aW9uR3JvdXA/LnNlbGVjdGlvbkl0ZW1zIHx8IFtdO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0dGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zID0gW107XHJcblx0XHR9XHJcblx0XHR0aGlzLnVwZGF0ZVNlbGVjdGlvbkl0ZW1zVGV4dCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb25JdGVtc1RleHQoKSB7XHJcblx0XHRpZiAoIXRoaXMub3JpZ2luYWxTZWxlY3Rpb25JdGVtcyB8fCB0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KG51bGwpO1xyXG5cdFx0XHR0aGlzLnNlbGVjdEJveERhdGFTb3VyY2Uuc2V0KG51bGwpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0dGhpcy5zZWxlY3Rpb25JdGVtcy5zZXQobnVsbCk7XHJcblxyXG5cdFx0Y29uc3QgbWFwcGVkSXRlbXMgPSB0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubWFwKChpdGVtOiBTZWxlY3Rpb25JdGVtKSA9PiAoe1xyXG5cdFx0XHRrZXk6IGl0ZW0uc2VsZWN0aW9uS2V5LFxyXG5cdFx0XHR0ZXh0OlxyXG5cdFx0XHRcdGl0ZW0/LnNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz8uW2N1cnJlbnRMYW5nXSA/XHJcblx0XHRcdFx0XHRpdGVtLnNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5c1tjdXJyZW50TGFuZ11cclxuXHRcdFx0XHQ6XHRpdGVtLnNlbGVjdGlvbkRpc3BsYXksXHJcblx0XHRcdHBhcmVudFNlbGVjdGlvbktleTogaXRlbS5wYXJlbnRTZWxlY3Rpb25LZXlcclxuXHRcdH0pKTtcclxuXHJcblx0XHR0aGlzLnNlbGVjdGlvbkl0ZW1zLnNldChtYXBwZWRJdGVtcyk7XHJcblx0XHR0aGlzLnJlYnVpbGRTZWxlY3RCb3hEYXRhU291cmNlKG1hcHBlZEl0ZW1zKTtcclxuXHRcdHRoaXMuZmlsdGVyQ3VycmVudFZhbHVlQnlTZWxlY3Rpb25JdGVtcygpO1xyXG5cdH1cclxuXHJcblx0Ly8gUGFyZW50IGVudW0gKG11bHRpcGxlKSBkZcSfacWfdGnEn2luZGUgY2hpbGQnZGFuIHNhZGVjZSBnZcOnZXJzaXoga2V5J2xlcmkgdGVtaXpsZXJcclxuXHRmaWx0ZXJDdXJyZW50VmFsdWVCeVNlbGVjdGlvbkl0ZW1zKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpKSByZXR1cm47XHJcblx0XHRjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sPy52YWx1ZTtcclxuXHRcdGNvbnN0IHZhbGlkS2V5cyA9IG5ldyBTZXQoXHJcblx0XHRcdCh0aGlzLnNlbGVjdGlvbkl0ZW1zKCkgfHwgW10pLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtW3RoaXMuaXRlbUtleSgpXSlcclxuXHRcdCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuaXNNdWx0aXBsZSgpKSB7XHJcblx0XHRcdC8vIENoaWxkIG11bHRpLXNlbGVjdDogZ2XDp2Vyc2l6IGtleSdsZXJpIGZpbHRyZWxlLCBnZcOnZXJsaWxlcmkgYsSxcmFrXHJcblx0XHRcdGlmICghQXJyYXkuaXNBcnJheShjdXJyZW50VmFsdWUpIHx8IGN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHRcdFx0Y29uc3QgZmlsdGVyZWQgPSAoY3VycmVudFZhbHVlIGFzIHN0cmluZ1tdKS5maWx0ZXIoKGtleSkgPT4gdmFsaWRLZXlzLmhhcyhrZXkpKTtcclxuXHRcdFx0aWYgKGZpbHRlcmVkLmxlbmd0aCAhPT0gY3VycmVudFZhbHVlLmxlbmd0aCkge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKGZpbHRlcmVkLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKCFjdXJyZW50VmFsdWUpIHJldHVybjtcclxuXHRcdFx0XHJcblx0XHRcdGlmICghdmFsaWRLZXlzLmhhcyhjdXJyZW50VmFsdWUpKSB7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2wuY29udHJvbD8ucmVzZXQobnVsbCwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uQ3VzdG9tSXRlbUNyZWF0aW5nKGV2ZW50OiBhbnkpIHtcclxuXHRcdGlmICghZXZlbnQudGV4dCkge1xyXG5cdFx0XHRldmVudC5jdXN0b21JdGVtID0gbnVsbDtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgbmV3SXRlbSA9IHtcclxuXHRcdFx0W3RoaXMuaXRlbUtleSgpXTogZXZlbnQudGV4dCxcclxuXHRcdFx0W3RoaXMuaXRlbVRleHQoKV06IGV2ZW50LnRleHRcclxuXHRcdH07XHJcblx0XHRjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLnNlbGVjdGlvbkl0ZW1zKCkgfHwgW107XHJcblx0XHRjb25zdCB1cGRhdGVkSXRlbXMgPSBbLi4uY3VycmVudEl0ZW1zLCBuZXdJdGVtXTtcclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KHVwZGF0ZWRJdGVtcyk7XHJcblx0XHR0aGlzLnJlYnVpbGRTZWxlY3RCb3hEYXRhU291cmNlKHVwZGF0ZWRJdGVtcyk7XHJcblx0XHRldmVudC5jdXN0b21JdGVtID0gbmV3SXRlbTtcclxuXHR9XHJcblxyXG5cdFx0cHJpdmF0ZSByZWJ1aWxkU2VsZWN0Qm94RGF0YVNvdXJjZShpdGVtczogU2VsZWN0Qm94SXRlbVtdKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMudXNlVmlydHVhbFNjcm9sbCgpKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0Qm94RGF0YVNvdXJjZS5zZXQobnVsbCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VsZWN0Qm94RGF0YVNvdXJjZS5zZXQoXHJcblx0XHRcdG5ldyBEYXRhU291cmNlKHtcclxuXHRcdFx0XHRzdG9yZTogbmV3IEFycmF5U3RvcmUoe1xyXG5cdFx0XHRcdFx0ZGF0YTogaXRlbXMsXHJcblx0XHRcdFx0XHRrZXk6IHRoaXMuaXRlbUtleSgpXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0cGFnaW5hdGU6IHRydWUsXHJcblx0XHRcdFx0cGFnZVNpemU6IDUwXHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iLCJAaWYgKGlzTXVsdGlwbGUoKSkge1xyXG5cdDxwLW11bHRpU2VsZWN0XHJcblx0XHRbb3B0aW9uc109XCJzZWxlY3Rpb25JdGVtcygpIHx8IGl0ZW1zKCkgfHwgW11cIlxyXG5cdFx0W29wdGlvblZhbHVlXT1cIml0ZW1LZXkoKVwiXHJcblx0XHRbb3B0aW9uTGFiZWxdPVwiaXRlbVRleHQoKVwiXHJcblx0XHRbZGVmYXVsdExhYmVsXT1cInBsYWNlaG9sZGVyKClcIlxyXG5cdFx0W3NlbGVjdGVkSXRlbXNMYWJlbF09XCJzZWxlY3RlZEl0ZW1zTGFiZWwoKVwiXHJcblx0XHRbc3R5bGVdPVwic3R5bGUoKVwiXHJcblx0XHRbc3R5bGVDbGFzc109XCJzdHlsZUNsYXNzKClcIlxyXG5cdFx0W3Rvb2x0aXBdPVwidG9vbHRpcCgpXCJcclxuXHRcdFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uKClcIlxyXG5cdFx0W2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcclxuXHRcdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuXHRcdFttYXhTZWxlY3RlZExhYmVsc109XCIyXCJcclxuXHRcdFthcHBlbmRUb109XCJhcHBlbmRUbygpXCJcclxuXHRcdFt2aXJ0dWFsU2Nyb2xsXT1cInVzZVZpcnR1YWxTY3JvbGwoKVwiXHJcblx0XHRbdmlydHVhbFNjcm9sbEl0ZW1TaXplXT1cInZpcnR1YWxTY3JvbGxJdGVtU2l6ZSgpXCJcclxuXHRcdFtzY3JvbGxIZWlnaHRdPVwic2Nyb2xsSGVpZ2h0KClcIlxyXG5cdFx0W2ZpbHRlcl09XCJ0cnVlXCJcclxuXHRcdFtwYW5lbFN0eWxlXT1cInsgJ21heC13aWR0aCc6ICc0MDBweCcsICdtaW4td2lkdGgnOiAnYXV0bycgfVwiPlxyXG5cdFx0PG5nLXRlbXBsYXRlIGxldC1lbnVtIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuXHRcdFx0PGRpdiBbcFRvb2x0aXBdPVwiZW51bVtpdGVtVGV4dCgpXT8ubGVuZ3RoID4gdGV4dENsYW1wQ2hhcmFjdGVycygpID8gZW51bVtpdGVtVGV4dCgpXSA6ICcnXCI+XHJcblx0XHRcdFx0QGlmIChlbnVtW2l0ZW1UZXh0KCldPy5sZW5ndGggPiB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkpIHtcclxuXHRcdFx0XHRcdHt7IGVudW1baXRlbVRleHQoKV0uc2xpY2UoMCwgdGV4dENsYW1wQ2hhcmFjdGVycygpKSB9fS4uLlxyXG5cdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0e3sgZW51bVtpdGVtVGV4dCgpXSB9fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdDwvcC1tdWx0aVNlbGVjdD5cclxufSBAZWxzZSB7XHJcblx0PGR4LXNlbGVjdC1ib3hcclxuICAgIFtkYXRhU291cmNlXT1cInVzZVZpcnR1YWxTY3JvbGwoKSA/IHNlbGVjdEJveERhdGFTb3VyY2UoKSA6IChzZWxlY3Rpb25JdGVtcygpIHx8IGl0ZW1zKCkgfHwgW10pXCJcclxuXHRcdFt2YWx1ZUV4cHJdPVwiaXRlbUtleSgpXCJcclxuXHRcdFtkaXNwbGF5RXhwcl09XCJpdGVtVGV4dCgpXCJcclxuXHRcdFtzZWFyY2hFbmFibGVkXT1cInRydWVcIlxyXG5cdFx0W3NlYXJjaEV4cHJdPVwic2VhcmNoRXhwcigpXCJcclxuXHRcdFt0YWJJbmRleF09XCJ0YWJpbmRleCgpXCJcclxuXHRcdFtncm91cGVkXT1cImdyb3VwZWQoKVwiXHJcblx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcblx0XHRbc2hvd0NsZWFyQnV0dG9uXT1cInNob3dDbGVhckJ1dHRvbigpXCJcclxuXHRcdFthY2NlcHRDdXN0b21WYWx1ZV09XCJhY2NlcHRDdXN0b21WYWx1ZSgpXCJcclxuXHRcdChvbkN1c3RvbUl0ZW1DcmVhdGluZyk9XCJvbkN1c3RvbUl0ZW1DcmVhdGluZygkZXZlbnQpXCJcclxuXHRcdFtpc1ZhbGlkXT1cIm5nQ29udHJvbD8uY29udHJvbD8udmFsaWQgfHwgbmdDb250cm9sPy5jb250cm9sPy5wcmlzdGluZSB8fCBuZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGVkIHx8IGZhbHNlXCJcclxuXHRcdFt2YWxpZGF0aW9uRXJyb3JdPVwibmdDb250cm9sPy5jb250cm9sPy5lcnJvcnMgfCBkeElucHV0RXJyb3JNZXNzYWdlOiBuZ0NvbnRyb2w/LmNvbnRyb2xcIlxyXG5cdFx0dmFsaWRhdGlvbk1lc3NhZ2VQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRbbm9EYXRhVGV4dF09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMubm9EYXRhVG9EaXNwbGF5JylcIlxyXG5cdFx0W2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcclxuXHRcdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50LnNlbGVjdGVkSXRlbSk7c2V0VGl0bGUoJGV2ZW50LnNlbGVjdGVkSXRlbSlcIlxyXG4gICAgW2lucHV0QXR0cl09XCJ7ICd0aXRsZSc6IHNlbGVjdGVkSXRlbVRleHQgfVwiPlxyXG5cdDwvZHgtc2VsZWN0LWJveD5cclxufVxyXG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9lbnVtUGlja2VyL3NyYy9lbnVtLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2VudW1QaWNrZXIvc3JjL2VudW0tcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFFckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQ04sa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQVVoRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lB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QUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxPQUFPO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQzNCLElBQUksVUFBVSxDQUFDO1lBQ2QsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDO2dCQUNyQixJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTthQUNuQixDQUFDO1lBQ0YsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FDRixDQUFDO0lBQ0gsQ0FBQzs4R0ExTFcsbUJBQW1CO2tHQUFuQixtQkFBbUIsaTFHQUhwQixDQUFDLHFCQUFxQixDQUFDLDZHQzlCbkMsODJFQXFEQSwyQ0R4QlcsbUJBQW1CLHlUQUFFLGlCQUFpQiw0cUZBQUUsdUJBQXVCLDJEQUFFLGVBQWUsOEJBQUUsaUJBQWlCLDI3Q0FBRSxhQUFhOzsyRkFJaEgsbUJBQW1CO2tCQVIvQixTQUFTO2lDQUNHLElBQUksWUFDTiw4RUFBOEUsV0FFL0UsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLGFBQ2xILENBQUMscUJBQXFCLENBQUMsa0JBQ2xCLENBQUMsc0JBQXNCLENBQUM7OEdBOEM5QixrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBlZmZlY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcbmltcG9ydCB7IER4U2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL3NlbGVjdC1ib3gnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IERhdGFTb3VyY2UgZnJvbSAnZGV2ZXh0cmVtZS9kYXRhL2RhdGFfc291cmNlJztcclxuaW1wb3J0IEFycmF5U3RvcmUgZnJvbSAnZGV2ZXh0cmVtZS9kYXRhL2FycmF5X3N0b3JlJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBBcHBzIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuaW1wb3J0IHtcclxuXHRCYXNlSW5wdXRDb21wb25lbnQsXHJcblx0RFhJbnB1dEVycm9yTWVzc2FnZVBpcGUsXHJcblx0SW5wdXRFcnJvck1lc3NhZ2VQaXBlLFxyXG5cdFZhbHVlQWNjZXNzb3JEaXJlY3RpdmVcclxufSBmcm9tICdhcmlsL3VpL2xpYic7XHJcblxyXG5pbXBvcnQgeyBTZWxlY3RCb3hJdGVtLCBTZWxlY3Rpb25Hcm91cERUTywgU2VsZWN0aW9uSXRlbSwgU2VsZWN0aW9uUmVxdWVzdERUTyB9IGZyb20gJy4vaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnZW51bS1waWNrZXJbbmdNb2RlbF0sIGVudW0tcGlja2VyW2Zvcm1Db250cm9sXSwgZW51bS1waWNrZXJbZm9ybUNvbnRyb2xOYW1lXScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2VudW0tcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgRHhTZWxlY3RCb3hNb2R1bGUsIERYSW5wdXRFcnJvck1lc3NhZ2VQaXBlLCBUcmFuc2xvY29Nb2R1bGUsIE11bHRpU2VsZWN0TW9kdWxlLCBUb29sdGlwTW9kdWxlXSxcclxuXHRwcm92aWRlcnM6IFtJbnB1dEVycm9yTWVzc2FnZVBpcGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudW1QaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQge1xyXG5cdHNlbGVjdGlvbkl0ZW1zID0gc2lnbmFsPFNlbGVjdEJveEl0ZW1bXSB8IG51bGw+KG51bGwpO1xyXG5cdHNlbGVjdEJveERhdGFTb3VyY2UgPSBzaWduYWw8RGF0YVNvdXJjZSB8IG51bGw+KG51bGwpO1xyXG5cdHByaXZhdGUgb3JpZ2luYWxTZWxlY3Rpb25JdGVtczogU2VsZWN0aW9uSXRlbVtdID0gW107XHJcblx0LyoqXHJcblx0ICogU2luZ2xlIFNlbGVjdCBTdGF0ZXNcclxuXHQgKi9cclxuXHJcblx0aXRlbUtleSA9IGlucHV0KCdrZXknKTtcclxuXHRpdGVtVGV4dCA9IGlucHV0KCd0ZXh0Jyk7XHJcblx0Z3JvdXBOYW1lID0gaW5wdXQoJycpO1xyXG5cdHBhcmVudFNlbGVjdGlvbktleSA9IGlucHV0KG51bGwpO1xyXG5cdHRhYmluZGV4ID0gaW5wdXQ8bnVtYmVyPigwKTtcclxuXHRpdGVtcyA9IGlucHV0PFNlbGVjdEJveEl0ZW1bXT4oKTtcclxuXHRpc011bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdC8vIENyb3NzLXZhbGlkYXRpb24gUmVtb3ZlSXRlbSBhY3Rpb24gaWxlIHNldCBlZGlsaXI7IHZlcmlsZW4gc2VsZWN0aW9uS2V5J2xlcmkgaXRlbSBsaXN0ZXNpbmRlbiBmaWx0cmVsZXIuXHJcblx0ZXhjbHVkZWRLZXlzID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcclxuXHRzZWxlY3RlZEl0ZW1UZXh0ID0gJyc7XHJcblx0LyoqICogQGRlc2NyaXB0aW9uIHdoZW4gZ3JvdXBlZCA9IHRydWUsIG9wdGlvbiBpdGVtIHN0cnVjdHVyZSB7IGtleTpzdHJpbmcsIGl0ZW1zOltdIH0gKi9cclxuXHRncm91cGVkID0gaW5wdXQoZmFsc2UpO1xyXG5cdHNob3dDbGVhckJ1dHRvbiA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0c2VhcmNoRXhwciA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPignJyk7XHJcblx0YWNjZXB0Q3VzdG9tVmFsdWUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0dGV4dENsYW1wQ2hhcmFjdGVycyA9IGlucHV0PG51bWJlcj4oNDApO1xyXG5cclxuXHQvKipcclxuXHQgKiBWaXJ0dWFsIFNjcm9sbCBTdGF0ZXNcclxuXHQgKi9cclxuXHR1c2VWaXJ0dWFsU2Nyb2xsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHZpcnR1YWxTY3JvbGxJdGVtU2l6ZSA9IGlucHV0PG51bWJlcj4oMzApO1xyXG5cdHNjcm9sbEhlaWdodCA9IGlucHV0PHN0cmluZz4oJzMwMHB4Jyk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE11bHRpIFNlbGVjdCBTdGF0ZXNcclxuXHQgKi9cclxuXHJcblx0c2VsZWN0ZWRJdGVtc0xhYmVsID0gaW5wdXQ8c3RyaW5nPignezB9ICBkZcSfZXIgc2XDp2lsZGknKTsgLy8gZGVmYXVsdCB2YWx1ZSAtPiAoezB9IGl0ZW1zIHNlbGVjdGVkXHJcblx0YXBwZW5kVG8gPSBpbnB1dDxzdHJpbmc+KCdib2R5Jyk7XHJcblx0c3R5bGUgPSBpbnB1dDxvYmplY3Q+KHt9KTtcclxuXHRzdHlsZUNsYXNzID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0dG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PGFueT4oJ3RvcCcpO1xyXG5cclxuXHRAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RCb3hJdGVtPigpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlXHJcblx0KSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuZ3JvdXBOYW1lKCkgfHwgdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSkgdGhpcy5nZXRTZWxlY3Rpb25JdGVtcygpO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0Ly8gZXhjbHVkZWRLZXlzIGRlxJ9pxZ9pbmNlIGl0ZW0gbGlzdGVzaW5pIHllbmlkZW4gZmlsdHJlbGUgKG9yaWdpbmFsU2VsZWN0aW9uSXRlbXMga29ydW51cilcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdHRoaXMuZXhjbHVkZWRLZXlzKCk7XHJcblx0XHRcdGlmICh0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdHRoaXMudXBkYXRlU2VsZWN0aW9uSXRlbXNUZXh0KCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0aW9uSXRlbXMoKSAmJiAodGhpcy5zZWxlY3Rpb25JdGVtcygpIGFzIFNlbGVjdEJveEl0ZW1bXSk/Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVNlbGVjdGlvbkl0ZW1zVGV4dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNldFRpdGxlKGV2ZW50PzogYW55KSB7XHJcblx0XHRpZiAoZXZlbnQgJiYgZXZlbnRbdGhpcy5pdGVtVGV4dCgpXS5sZW5ndGggPiAyNSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkSXRlbVRleHQgPSBldmVudCA/IGV2ZW50W3RoaXMuaXRlbVRleHQoKV0gOiAnJztcclxuXHRcdH1cclxuXHRcdHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0U2VsZWN0aW9uSXRlbXMoKSB7XHJcblx0XHRjb25zdCBwYXlsb2FkOiBQYXJ0aWFsPFNlbGVjdGlvblJlcXVlc3REVE8+ID0ge1xyXG5cdFx0XHRncm91cE5hbWU6IHRoaXMuZ3JvdXBOYW1lKClcclxuXHRcdH07XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSkpIHtcclxuXHRcdFx0cGF5bG9hZC5wYXJlbnRTZWxlY3Rpb25LZXlzID0gdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHBheWxvYWQucGFyZW50U2VsZWN0aW9uS2V5ID0gdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBob3N0QXBpID0gQVBJX0NPTkZJR1MuZ2V0RXh0ZXJuYWxBcHBFbmRwb2ludChBcHBzLk1ORyk7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdDxTZWxlY3Rpb25Hcm91cERUTz4oaG9zdEFwaSArICcvc2VsZWN0aW9uLWdyb3VwL2xvYWQnLCBwYXlsb2FkKVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0dGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zID0gc2VsZWN0aW9uR3JvdXA/LnNlbGVjdGlvbkl0ZW1zIHx8IFtdO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0dGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zID0gW107XHJcblx0XHR9XHJcblx0XHR0aGlzLnVwZGF0ZVNlbGVjdGlvbkl0ZW1zVGV4dCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb25JdGVtc1RleHQoKSB7XHJcblx0XHRpZiAoIXRoaXMub3JpZ2luYWxTZWxlY3Rpb25JdGVtcyB8fCB0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KG51bGwpO1xyXG5cdFx0XHR0aGlzLnNlbGVjdEJveERhdGFTb3VyY2Uuc2V0KG51bGwpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0dGhpcy5zZWxlY3Rpb25JdGVtcy5zZXQobnVsbCk7XHJcblxyXG5cdFx0Y29uc3QgZXhjbHVkZWQgPSBuZXcgU2V0KHRoaXMuZXhjbHVkZWRLZXlzKCkgfHwgW10pO1xyXG5cdFx0Y29uc3QgbWFwcGVkSXRlbXMgPSB0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXNcclxuXHRcdFx0LmZpbHRlcigoaXRlbTogU2VsZWN0aW9uSXRlbSkgPT4gIWV4Y2x1ZGVkLmhhcyhpdGVtLnNlbGVjdGlvbktleSkpXHJcblx0XHRcdC5tYXAoKGl0ZW06IFNlbGVjdGlvbkl0ZW0pID0+ICh7XHJcblx0XHRcdFx0a2V5OiBpdGVtLnNlbGVjdGlvbktleSxcclxuXHRcdFx0XHR0ZXh0OlxyXG5cdFx0XHRcdFx0aXRlbT8uc2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPy5bY3VycmVudExhbmddID9cclxuXHRcdFx0XHRcdFx0aXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXNbY3VycmVudExhbmddXHJcblx0XHRcdFx0XHQ6XHRpdGVtLnNlbGVjdGlvbkRpc3BsYXksXHJcblx0XHRcdFx0cGFyZW50U2VsZWN0aW9uS2V5OiBpdGVtLnBhcmVudFNlbGVjdGlvbktleVxyXG5cdFx0XHR9KSk7XHJcblxyXG5cdFx0dGhpcy5zZWxlY3Rpb25JdGVtcy5zZXQobWFwcGVkSXRlbXMpO1xyXG5cdFx0dGhpcy5yZWJ1aWxkU2VsZWN0Qm94RGF0YVNvdXJjZShtYXBwZWRJdGVtcyk7XHJcblx0XHR0aGlzLmZpbHRlckN1cnJlbnRWYWx1ZUJ5U2VsZWN0aW9uSXRlbXMoKTtcclxuXHR9XHJcblxyXG5cdC8vIFBhcmVudCBlbnVtIChtdWx0aXBsZSkgZGXEn2nFn3RpxJ9pbmRlIHZleWEgZXhjbHVkZWRLZXlzIGFrdGlma2VuXHJcblx0Ly8gZm9ybSdkYWtpIGdlw6dlcnNpeiBrZXknbGVyaSB0ZW1pemxlciAoc2VsZWN0aW9uSXRlbXMgemF0ZW4gZmlsdHJlbGVubWnFnyBoYWxpeWxlIGdlbGlyKS5cclxuXHRmaWx0ZXJDdXJyZW50VmFsdWVCeVNlbGVjdGlvbkl0ZW1zKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgaGFzRXhjbHVkZWQgPSAodGhpcy5leGNsdWRlZEtleXMoKSB8fCBbXSkubGVuZ3RoID4gMDtcclxuXHRcdGlmICghdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSAmJiAhaGFzRXhjbHVkZWQpIHJldHVybjtcclxuXHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnZhbHVlO1xyXG5cdFx0Y29uc3QgdmFsaWRLZXlzID0gbmV3IFNldChcclxuXHRcdFx0KHRoaXMuc2VsZWN0aW9uSXRlbXMoKSB8fCBbXSkubWFwKChpdGVtOiBhbnkpID0+IGl0ZW1bdGhpcy5pdGVtS2V5KCldKVxyXG5cdFx0KTtcclxuXHJcblx0XHRpZiAodGhpcy5pc011bHRpcGxlKCkpIHtcclxuXHRcdFx0Ly8gQ2hpbGQgbXVsdGktc2VsZWN0OiBnZcOnZXJzaXoga2V5J2xlcmkgZmlsdHJlbGUsIGdlw6dlcmxpbGVyaSBixLFyYWtcclxuXHRcdFx0aWYgKCFBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkgfHwgY3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG5cdFx0XHRjb25zdCBmaWx0ZXJlZCA9IChjdXJyZW50VmFsdWUgYXMgc3RyaW5nW10pLmZpbHRlcigoa2V5KSA9PiB2YWxpZEtleXMuaGFzKGtleSkpO1xyXG5cdFx0XHRpZiAoZmlsdGVyZWQubGVuZ3RoICE9PSBjdXJyZW50VmFsdWUubGVuZ3RoKSB7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uc2V0VmFsdWUoZmlsdGVyZWQsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAoIWN1cnJlbnRWYWx1ZSkgcmV0dXJuO1xyXG5cdFx0XHRcclxuXHRcdFx0aWYgKCF2YWxpZEtleXMuaGFzKGN1cnJlbnRWYWx1ZSkpIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbC5jb250cm9sPy5yZXNldChudWxsLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25DdXN0b21JdGVtQ3JlYXRpbmcoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKCFldmVudC50ZXh0KSB7XHJcblx0XHRcdGV2ZW50LmN1c3RvbUl0ZW0gPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBuZXdJdGVtID0ge1xyXG5cdFx0XHRbdGhpcy5pdGVtS2V5KCldOiBldmVudC50ZXh0LFxyXG5cdFx0XHRbdGhpcy5pdGVtVGV4dCgpXTogZXZlbnQudGV4dFxyXG5cdFx0fTtcclxuXHRcdGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRoaXMuc2VsZWN0aW9uSXRlbXMoKSB8fCBbXTtcclxuXHRcdGNvbnN0IHVwZGF0ZWRJdGVtcyA9IFsuLi5jdXJyZW50SXRlbXMsIG5ld0l0ZW1dO1xyXG5cdFx0dGhpcy5zZWxlY3Rpb25JdGVtcy5zZXQodXBkYXRlZEl0ZW1zKTtcclxuXHRcdHRoaXMucmVidWlsZFNlbGVjdEJveERhdGFTb3VyY2UodXBkYXRlZEl0ZW1zKTtcclxuXHRcdGV2ZW50LmN1c3RvbUl0ZW0gPSBuZXdJdGVtO1xyXG5cdH1cclxuXHJcblx0XHRwcml2YXRlIHJlYnVpbGRTZWxlY3RCb3hEYXRhU291cmNlKGl0ZW1zOiBTZWxlY3RCb3hJdGVtW10pOiB2b2lkIHtcclxuXHRcdGlmICghdGhpcy51c2VWaXJ0dWFsU2Nyb2xsKCkpIHtcclxuXHRcdFx0dGhpcy5zZWxlY3RCb3hEYXRhU291cmNlLnNldChudWxsKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWxlY3RCb3hEYXRhU291cmNlLnNldChcclxuXHRcdFx0bmV3IERhdGFTb3VyY2Uoe1xyXG5cdFx0XHRcdHN0b3JlOiBuZXcgQXJyYXlTdG9yZSh7XHJcblx0XHRcdFx0XHRkYXRhOiBpdGVtcyxcclxuXHRcdFx0XHRcdGtleTogdGhpcy5pdGVtS2V5KClcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0XHRwYWdpbmF0ZTogdHJ1ZSxcclxuXHRcdFx0XHRwYWdlU2l6ZTogNTBcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiIsIkBpZiAoaXNNdWx0aXBsZSgpKSB7XHJcblx0PHAtbXVsdGlTZWxlY3RcclxuXHRcdFtvcHRpb25zXT1cInNlbGVjdGlvbkl0ZW1zKCkgfHwgaXRlbXMoKSB8fCBbXVwiXHJcblx0XHRbb3B0aW9uVmFsdWVdPVwiaXRlbUtleSgpXCJcclxuXHRcdFtvcHRpb25MYWJlbF09XCJpdGVtVGV4dCgpXCJcclxuXHRcdFtkZWZhdWx0TGFiZWxdPVwicGxhY2Vob2xkZXIoKVwiXHJcblx0XHRbc2VsZWN0ZWRJdGVtc0xhYmVsXT1cInNlbGVjdGVkSXRlbXNMYWJlbCgpXCJcclxuXHRcdFtzdHlsZV09XCJzdHlsZSgpXCJcclxuXHRcdFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MoKVwiXHJcblx0XHRbdG9vbHRpcF09XCJ0b29sdGlwKClcIlxyXG5cdFx0W3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oKVwiXHJcblx0XHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG5cdFx0KG5nTW9kZWxDaGFuZ2UpPVwibmdDb250cm9sLnZpZXdUb01vZGVsVXBkYXRlKCRldmVudClcIlxyXG5cdFx0W21heFNlbGVjdGVkTGFiZWxzXT1cIjJcIlxyXG5cdFx0W2FwcGVuZFRvXT1cImFwcGVuZFRvKClcIlxyXG5cdFx0W3ZpcnR1YWxTY3JvbGxdPVwidXNlVmlydHVhbFNjcm9sbCgpXCJcclxuXHRcdFt2aXJ0dWFsU2Nyb2xsSXRlbVNpemVdPVwidmlydHVhbFNjcm9sbEl0ZW1TaXplKClcIlxyXG5cdFx0W3Njcm9sbEhlaWdodF09XCJzY3JvbGxIZWlnaHQoKVwiXHJcblx0XHRbZmlsdGVyXT1cInRydWVcIlxyXG5cdFx0W3BhbmVsU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogJzQwMHB4JywgJ21pbi13aWR0aCc6ICdhdXRvJyB9XCI+XHJcblx0XHQ8bmctdGVtcGxhdGUgbGV0LWVudW0gcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG5cdFx0XHQ8ZGl2IFtwVG9vbHRpcF09XCJlbnVtW2l0ZW1UZXh0KCldPy5sZW5ndGggPiB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkgPyBlbnVtW2l0ZW1UZXh0KCldIDogJydcIj5cclxuXHRcdFx0XHRAaWYgKGVudW1baXRlbVRleHQoKV0/Lmxlbmd0aCA+IHRleHRDbGFtcENoYXJhY3RlcnMoKSkge1xyXG5cdFx0XHRcdFx0e3sgZW51bVtpdGVtVGV4dCgpXS5zbGljZSgwLCB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkpIH19Li4uXHJcblx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHR7eyBlbnVtW2l0ZW1UZXh0KCldIH19XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0PC9wLW11bHRpU2VsZWN0PlxyXG59IEBlbHNlIHtcclxuXHQ8ZHgtc2VsZWN0LWJveFxyXG4gICAgW2RhdGFTb3VyY2VdPVwidXNlVmlydHVhbFNjcm9sbCgpID8gc2VsZWN0Qm94RGF0YVNvdXJjZSgpIDogKHNlbGVjdGlvbkl0ZW1zKCkgfHwgaXRlbXMoKSB8fCBbXSlcIlxyXG5cdFx0W3ZhbHVlRXhwcl09XCJpdGVtS2V5KClcIlxyXG5cdFx0W2Rpc3BsYXlFeHByXT1cIml0ZW1UZXh0KClcIlxyXG5cdFx0W3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXHJcblx0XHRbc2VhcmNoRXhwcl09XCJzZWFyY2hFeHByKClcIlxyXG5cdFx0W3RhYkluZGV4XT1cInRhYmluZGV4KClcIlxyXG5cdFx0W2dyb3VwZWRdPVwiZ3JvdXBlZCgpXCJcclxuXHRcdFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcclxuXHRcdFtzaG93Q2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uKClcIlxyXG5cdFx0W2FjY2VwdEN1c3RvbVZhbHVlXT1cImFjY2VwdEN1c3RvbVZhbHVlKClcIlxyXG5cdFx0KG9uQ3VzdG9tSXRlbUNyZWF0aW5nKT1cIm9uQ3VzdG9tSXRlbUNyZWF0aW5nKCRldmVudClcIlxyXG5cdFx0W2lzVmFsaWRdPVwibmdDb250cm9sPy5jb250cm9sPy52YWxpZCB8fCBuZ0NvbnRyb2w/LmNvbnRyb2w/LnByaXN0aW5lIHx8IG5nQ29udHJvbD8uY29udHJvbD8uZGlzYWJsZWQgfHwgZmFsc2VcIlxyXG5cdFx0W3ZhbGlkYXRpb25FcnJvcl09XCJuZ0NvbnRyb2w/LmNvbnRyb2w/LmVycm9ycyB8IGR4SW5wdXRFcnJvck1lc3NhZ2U6IG5nQ29udHJvbD8uY29udHJvbFwiXHJcblx0XHR2YWxpZGF0aW9uTWVzc2FnZVBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFtub0RhdGFUZXh0XT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5ub0RhdGFUb0Rpc3BsYXknKVwiXHJcblx0XHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG5cdFx0KG5nTW9kZWxDaGFuZ2UpPVwibmdDb250cm9sLnZpZXdUb01vZGVsVXBkYXRlKCRldmVudClcIlxyXG4gICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQuc2VsZWN0ZWRJdGVtKTtzZXRUaXRsZSgkZXZlbnQuc2VsZWN0ZWRJdGVtKVwiXHJcbiAgICBbaW5wdXRBdHRyXT1cInsgJ3RpdGxlJzogc2VsZWN0ZWRJdGVtVGV4dCB9XCI+XHJcblx0PC9keC1zZWxlY3QtYm94PlxyXG59XHJcbiJdfQ==
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
42
42
|
type: HostListener,
|
|
43
43
|
args: ['activeIndexChange', ['$event']]
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1hY3RpdmUtdGFiLXJvdXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdXRpbC9zeW5jLWFjdGl2ZS10YWItcm91dGUvc3JjL3N5bmMtYWN0aXZlLXRhYi1yb3V0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXBDLE1BQU0sT0FBTywyQkFBMkI7SUFHdkMsWUFDa0IsTUFBYyxFQUNkLE9BQWdCLEVBQ2hCLFFBQWtCO1FBRmxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMbkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTWhELENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBR0QsV0FBVyxDQUFDLENBQVM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxNQUFNO2FBQ1QsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNsQixXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQzdCLG1CQUFtQixFQUFFLE9BQU87U0FDNUIsQ0FBQzthQUNELFFBQVEsRUFBRSxDQUNaLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0FqQ1csMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCO3dIQXFCQSxXQUFXO3NCQURWLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFRhYlZpZXcgfSBmcm9tICdwcmltZW5nL3RhYnZpZXcnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW3N5bmNBY3RpdmVUYWJSb3V0ZV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFN5bmNBY3RpdmVUYWJSb3V0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblx0cHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcblx0XHRwcml2YXRlIHJlYWRvbmx5IHRhYlZpZXc6IFRhYlZpZXcsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb25cblx0KSB7fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcblx0XHRcdHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QucXVlcnlQYXJhbU1hcC5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuXHRcdFx0XHRpZiAocGFyYW1zLmhhcygnYWN0aXZlVGFiJykpIHtcblx0XHRcdFx0XHR0aGlzLnRhYlZpZXcuYWN0aXZlSW5kZXggPSBOdW1iZXIocGFyYW1zLmdldCgnYWN0aXZlVGFiJykpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdhY3RpdmVJbmRleENoYW5nZScsIFsnJGV2ZW50J10pXG5cdG9uVGFiQ2hhbmdlKGU6IG51bWJlcikge1xuXHRcdHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKFxuXHRcdFx0dGhpcy5yb3V0ZXJcblx0XHRcdFx0LmNyZWF0ZVVybFRyZWUoW10sIHtcblx0XHRcdFx0XHRxdWVyeVBhcmFtczogeyBhY3RpdmVUYWI6IGUgfSxcblx0XHRcdFx0XHRxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50b1N0cmluZygpXG5cdFx0KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -38,6 +38,8 @@ class EnumPickerComponent extends BaseInputComponent {
|
|
|
38
38
|
this.tabindex = input(0);
|
|
39
39
|
this.items = input();
|
|
40
40
|
this.isMultiple = input(false);
|
|
41
|
+
// Cross-validation RemoveItem action ile set edilir; verilen selectionKey'leri item listesinden filtreler.
|
|
42
|
+
this.excludedKeys = input([]);
|
|
41
43
|
this.selectedItemText = '';
|
|
42
44
|
/** * @description when grouped = true, option item structure { key:string, items:[] } */
|
|
43
45
|
this.grouped = input(false);
|
|
@@ -66,6 +68,13 @@ class EnumPickerComponent extends BaseInputComponent {
|
|
|
66
68
|
if (this.groupName() || this.parentSelectionKey())
|
|
67
69
|
this.getSelectionItems();
|
|
68
70
|
});
|
|
71
|
+
// excludedKeys değişince item listesini yeniden filtrele (originalSelectionItems korunur)
|
|
72
|
+
effect(() => {
|
|
73
|
+
this.excludedKeys();
|
|
74
|
+
if (this.originalSelectionItems.length > 0) {
|
|
75
|
+
this.updateSelectionItemsText();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
69
78
|
this.translocoService.langChanges$.subscribe(() => {
|
|
70
79
|
if (this.selectionItems() && this.selectionItems()?.length > 0) {
|
|
71
80
|
this.updateSelectionItemsText();
|
|
@@ -106,7 +115,10 @@ class EnumPickerComponent extends BaseInputComponent {
|
|
|
106
115
|
}
|
|
107
116
|
const currentLang = this.translocoService.getActiveLang();
|
|
108
117
|
this.selectionItems.set(null);
|
|
109
|
-
const
|
|
118
|
+
const excluded = new Set(this.excludedKeys() || []);
|
|
119
|
+
const mappedItems = this.originalSelectionItems
|
|
120
|
+
.filter((item) => !excluded.has(item.selectionKey))
|
|
121
|
+
.map((item) => ({
|
|
110
122
|
key: item.selectionKey,
|
|
111
123
|
text: item?.selectionMultiLanguageDisplays?.[currentLang] ?
|
|
112
124
|
item.selectionMultiLanguageDisplays[currentLang]
|
|
@@ -117,9 +129,11 @@ class EnumPickerComponent extends BaseInputComponent {
|
|
|
117
129
|
this.rebuildSelectBoxDataSource(mappedItems);
|
|
118
130
|
this.filterCurrentValueBySelectionItems();
|
|
119
131
|
}
|
|
120
|
-
// Parent enum (multiple) değiştiğinde
|
|
132
|
+
// Parent enum (multiple) değiştiğinde veya excludedKeys aktifken
|
|
133
|
+
// form'daki geçersiz key'leri temizler (selectionItems zaten filtrelenmiş haliyle gelir).
|
|
121
134
|
filterCurrentValueBySelectionItems() {
|
|
122
|
-
|
|
135
|
+
const hasExcluded = (this.excludedKeys() || []).length > 0;
|
|
136
|
+
if (!this.parentSelectionKey() && !hasExcluded)
|
|
123
137
|
return;
|
|
124
138
|
const currentValue = this.ngControl.control?.value;
|
|
125
139
|
const validKeys = new Set((this.selectionItems() || []).map((item) => item[this.itemKey()]));
|
|
@@ -170,7 +184,7 @@ class EnumPickerComponent extends BaseInputComponent {
|
|
|
170
184
|
}));
|
|
171
185
|
}
|
|
172
186
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EnumPickerComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
173
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: EnumPickerComponent, isStandalone: true, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "isMultiple", isSignal: true, isRequired: false, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null }, acceptCustomValue: { classPropertyName: "acceptCustomValue", publicName: "acceptCustomValue", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, useVirtualScroll: { classPropertyName: "useVirtualScroll", publicName: "useVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "@if (isMultiple()) {\r\n\t<p-multiSelect\r\n\t\t[options]=\"selectionItems() || items() || []\"\r\n\t\t[optionValue]=\"itemKey()\"\r\n\t\t[optionLabel]=\"itemText()\"\r\n\t\t[defaultLabel]=\"placeholder()\"\r\n\t\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t\t[style]=\"style()\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t[tooltip]=\"tooltip()\"\r\n\t\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t\t[maxSelectedLabels]=\"2\"\r\n\t\t[appendTo]=\"appendTo()\"\r\n\t\t[virtualScroll]=\"useVirtualScroll()\"\r\n\t\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t\t[scrollHeight]=\"scrollHeight()\"\r\n\t\t[filter]=\"true\"\r\n\t\t[panelStyle]=\"{ 'max-width': '400px', 'min-width': 'auto' }\">\r\n\t\t<ng-template let-enum pTemplate=\"item\">\r\n\t\t\t<div [pTooltip]=\"enum[itemText()]?.length > textClampCharacters() ? enum[itemText()] : ''\">\r\n\t\t\t\t@if (enum[itemText()]?.length > textClampCharacters()) {\r\n\t\t\t\t\t{{ enum[itemText()].slice(0, textClampCharacters()) }}...\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t{{ enum[itemText()] }}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-multiSelect>\r\n} @else {\r\n\t<dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n\t\t[valueExpr]=\"itemKey()\"\r\n\t\t[displayExpr]=\"itemText()\"\r\n\t\t[searchEnabled]=\"true\"\r\n\t\t[searchExpr]=\"searchExpr()\"\r\n\t\t[tabIndex]=\"tabindex()\"\r\n\t\t[grouped]=\"grouped()\"\r\n\t\t[placeholder]=\"placeholder()\"\r\n\t\t[showClearButton]=\"showClearButton()\"\r\n\t\t[acceptCustomValue]=\"acceptCustomValue()\"\r\n\t\t(onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n\t\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\t\tvalidationMessagePosition=\"top\"\r\n\t\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n\t</dx-select-box>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
|
|
187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: EnumPickerComponent, isStandalone: true, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "isMultiple", isSignal: true, isRequired: false, transformFunction: null }, excludedKeys: { classPropertyName: "excludedKeys", publicName: "excludedKeys", isSignal: true, isRequired: false, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null }, acceptCustomValue: { classPropertyName: "acceptCustomValue", publicName: "acceptCustomValue", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, useVirtualScroll: { classPropertyName: "useVirtualScroll", publicName: "useVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "@if (isMultiple()) {\r\n\t<p-multiSelect\r\n\t\t[options]=\"selectionItems() || items() || []\"\r\n\t\t[optionValue]=\"itemKey()\"\r\n\t\t[optionLabel]=\"itemText()\"\r\n\t\t[defaultLabel]=\"placeholder()\"\r\n\t\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t\t[style]=\"style()\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t[tooltip]=\"tooltip()\"\r\n\t\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t\t[maxSelectedLabels]=\"2\"\r\n\t\t[appendTo]=\"appendTo()\"\r\n\t\t[virtualScroll]=\"useVirtualScroll()\"\r\n\t\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t\t[scrollHeight]=\"scrollHeight()\"\r\n\t\t[filter]=\"true\"\r\n\t\t[panelStyle]=\"{ 'max-width': '400px', 'min-width': 'auto' }\">\r\n\t\t<ng-template let-enum pTemplate=\"item\">\r\n\t\t\t<div [pTooltip]=\"enum[itemText()]?.length > textClampCharacters() ? enum[itemText()] : ''\">\r\n\t\t\t\t@if (enum[itemText()]?.length > textClampCharacters()) {\r\n\t\t\t\t\t{{ enum[itemText()].slice(0, textClampCharacters()) }}...\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t{{ enum[itemText()] }}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-multiSelect>\r\n} @else {\r\n\t<dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n\t\t[valueExpr]=\"itemKey()\"\r\n\t\t[displayExpr]=\"itemText()\"\r\n\t\t[searchEnabled]=\"true\"\r\n\t\t[searchExpr]=\"searchExpr()\"\r\n\t\t[tabIndex]=\"tabindex()\"\r\n\t\t[grouped]=\"grouped()\"\r\n\t\t[placeholder]=\"placeholder()\"\r\n\t\t[showClearButton]=\"showClearButton()\"\r\n\t\t[acceptCustomValue]=\"acceptCustomValue()\"\r\n\t\t(onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n\t\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\t\tvalidationMessagePosition=\"top\"\r\n\t\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n\t</dx-select-box>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i6.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
|
|
174
188
|
}
|
|
175
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EnumPickerComponent, decorators: [{
|
|
176
190
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-business-enumPicker.mjs","sources":["../../projects/aril/ui-business/enumPicker/src/enum-picker.component.ts","../../projects/aril/ui-business/enumPicker/src/enum-picker.component.html","../../projects/aril/ui-business/enumPicker/aril-ui-business-enumPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\n\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport ArrayStore from 'devextreme/data/array_store';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport {\r\n\tBaseInputComponent,\r\n\tDXInputErrorMessagePipe,\r\n\tInputErrorMessagePipe,\r\n\tValueAccessorDirective\r\n} from 'aril/ui/lib';\r\n\r\nimport { SelectBoxItem, SelectionGroupDTO, SelectionItem, SelectionRequestDTO } from './interface';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]',\r\n\ttemplateUrl: './enum-picker.component.html',\r\n\timports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule, MultiSelectModule, TooltipModule],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class EnumPickerComponent extends BaseInputComponent {\r\n\tselectionItems = signal<SelectBoxItem[] | null>(null);\r\n\tselectBoxDataSource = signal<DataSource | null>(null);\r\n\tprivate originalSelectionItems: SelectionItem[] = [];\r\n\t/**\r\n\t * Single Select States\r\n\t */\r\n\r\n\titemKey = input('key');\r\n\titemText = input('text');\r\n\tgroupName = input('');\r\n\tparentSelectionKey = input(null);\r\n\ttabindex = input<number>(0);\r\n\titems = input<SelectBoxItem[]>();\r\n\tisMultiple = input<boolean>(false);\r\n\tselectedItemText = '';\r\n\t/** * @description when grouped = true, option item structure { key:string, items:[] } */\r\n\tgrouped = input(false);\r\n\tshowClearButton = input<boolean>(true);\r\n\tplaceholder = input<string>('');\r\n\tsearchExpr = input<string | string[]>('');\r\n\tacceptCustomValue = input<boolean>(false);\r\n\ttextClampCharacters = input<number>(40);\r\n\r\n\t/**\r\n\t * Virtual Scroll States\r\n\t */\r\n\tuseVirtualScroll = input<boolean>(false);\r\n\tvirtualScrollItemSize = input<number>(30);\r\n\tscrollHeight = input<string>('300px');\r\n\r\n\t/**\r\n\t * Multi Select States\r\n\t */\r\n\r\n\tselectedItemsLabel = input<string>('{0} değer seçildi'); // default value -> ({0} items selected\r\n\tappendTo = input<string>('body');\r\n\tstyle = input<object>({});\r\n\tstyleClass = input<string>('');\r\n\ttooltip = input<string>('');\r\n\ttooltipPosition = input<any>('top');\r\n\r\n\t@Output() onSelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly http: HttpClient,\r\n\t\tpublic translocoService: TranslocoService\r\n\t) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.groupName() || this.parentSelectionKey()) this.getSelectionItems();\r\n\t\t});\r\n\r\n\t\tthis.translocoService.langChanges$.subscribe(() => {\r\n\t\t\tif (this.selectionItems() && (this.selectionItems() as SelectBoxItem[])?.length > 0) {\r\n\t\t\t\tthis.updateSelectionItemsText();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetTitle(event?: any) {\r\n\t\tif (event && event[this.itemText()].length > 25) {\r\n\t\t\tthis.selectedItemText = event ? event[this.itemText()] : '';\r\n\t\t}\r\n\t\tthis.onSelectionChanged.emit(event);\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst payload: Partial<SelectionRequestDTO> = {\r\n\t\t\tgroupName: this.groupName()\r\n\t\t};\r\n\r\n\t\tif (Array.isArray(this.parentSelectionKey())) {\r\n\t\t\tpayload.parentSelectionKeys = this.parentSelectionKey();\r\n\t\t} else {\r\n\t\t\tpayload.parentSelectionKey = this.parentSelectionKey();\r\n\t\t}\r\n\r\n\t\tconst hostApi = API_CONFIGS.getExternalAppEndpoint(Apps.MNG);\r\n\r\n\t\ttry {\r\n\t\t\tconst selectionGroup = await firstValueFrom(\r\n\t\t\t\tthis.http.post<SelectionGroupDTO>(hostApi + '/selection-group/load', payload)\r\n\t\t\t);\r\n\r\n\t\t\tthis.originalSelectionItems = selectionGroup?.selectionItems || [];\r\n\t\t} catch (error) {\r\n\t\t\tthis.originalSelectionItems = [];\r\n\t\t}\r\n\t\tthis.updateSelectionItemsText();\r\n\t}\r\n\r\n\tprivate updateSelectionItemsText() {\r\n\t\tif (!this.originalSelectionItems || this.originalSelectionItems.length === 0) {\r\n\t\t\tthis.selectionItems.set(null);\r\n\t\t\tthis.selectBoxDataSource.set(null);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst currentLang = this.translocoService.getActiveLang();\r\n\r\n\t\tthis.selectionItems.set(null);\r\n\r\n\t\tconst mappedItems = this.originalSelectionItems.map((item: SelectionItem) => ({\r\n\t\t\tkey: item.selectionKey,\r\n\t\t\ttext:\r\n\t\t\t\titem?.selectionMultiLanguageDisplays?.[currentLang] ?\r\n\t\t\t\t\titem.selectionMultiLanguageDisplays[currentLang]\r\n\t\t\t\t:\titem.selectionDisplay,\r\n\t\t\tparentSelectionKey: item.parentSelectionKey\r\n\t\t}));\r\n\r\n\t\tthis.selectionItems.set(mappedItems);\r\n\t\tthis.rebuildSelectBoxDataSource(mappedItems);\r\n\t\tthis.filterCurrentValueBySelectionItems();\r\n\t}\r\n\r\n\t// Parent enum (multiple) değiştiğinde child'dan sadece geçersiz key'leri temizler\r\n\tfilterCurrentValueBySelectionItems(): void {\r\n\t\tif (!this.parentSelectionKey()) return;\r\n\t\tconst currentValue = this.ngControl.control?.value;\r\n\t\tconst validKeys = new Set(\r\n\t\t\t(this.selectionItems() || []).map((item: any) => item[this.itemKey()])\r\n\t\t);\r\n\r\n\t\tif (this.isMultiple()) {\r\n\t\t\t// Child multi-select: geçersiz key'leri filtrele, geçerlileri bırak\r\n\t\t\tif (!Array.isArray(currentValue) || currentValue.length === 0) return;\r\n\t\t\tconst filtered = (currentValue as string[]).filter((key) => validKeys.has(key));\r\n\t\t\tif (filtered.length !== currentValue.length) {\r\n\t\t\t\tthis.ngControl.control?.setValue(filtered, { emitEvent: true });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (!currentValue) return;\r\n\t\t\t\r\n\t\t\tif (!validKeys.has(currentValue)) {\r\n\t\t\t\tthis.ngControl.control?.reset(null, { emitEvent: true });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCustomItemCreating(event: any) {\r\n\t\tif (!event.text) {\r\n\t\t\tevent.customItem = null;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst newItem = {\r\n\t\t\t[this.itemKey()]: event.text,\r\n\t\t\t[this.itemText()]: event.text\r\n\t\t};\r\n\t\tconst currentItems = this.selectionItems() || [];\r\n\t\tconst updatedItems = [...currentItems, newItem];\r\n\t\tthis.selectionItems.set(updatedItems);\r\n\t\tthis.rebuildSelectBoxDataSource(updatedItems);\r\n\t\tevent.customItem = newItem;\r\n\t}\r\n\r\n\t\tprivate rebuildSelectBoxDataSource(items: SelectBoxItem[]): void {\r\n\t\tif (!this.useVirtualScroll()) {\r\n\t\t\tthis.selectBoxDataSource.set(null);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.selectBoxDataSource.set(\r\n\t\t\tnew DataSource({\r\n\t\t\t\tstore: new ArrayStore({\r\n\t\t\t\t\tdata: items,\r\n\t\t\t\t\tkey: this.itemKey()\r\n\t\t\t\t}),\r\n\t\t\t\tpaginate: true,\r\n\t\t\t\tpageSize: 50\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","@if (isMultiple()) {\r\n\t<p-multiSelect\r\n\t\t[options]=\"selectionItems() || items() || []\"\r\n\t\t[optionValue]=\"itemKey()\"\r\n\t\t[optionLabel]=\"itemText()\"\r\n\t\t[defaultLabel]=\"placeholder()\"\r\n\t\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t\t[style]=\"style()\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t[tooltip]=\"tooltip()\"\r\n\t\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t\t[maxSelectedLabels]=\"2\"\r\n\t\t[appendTo]=\"appendTo()\"\r\n\t\t[virtualScroll]=\"useVirtualScroll()\"\r\n\t\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t\t[scrollHeight]=\"scrollHeight()\"\r\n\t\t[filter]=\"true\"\r\n\t\t[panelStyle]=\"{ 'max-width': '400px', 'min-width': 'auto' }\">\r\n\t\t<ng-template let-enum pTemplate=\"item\">\r\n\t\t\t<div [pTooltip]=\"enum[itemText()]?.length > textClampCharacters() ? enum[itemText()] : ''\">\r\n\t\t\t\t@if (enum[itemText()]?.length > textClampCharacters()) {\r\n\t\t\t\t\t{{ enum[itemText()].slice(0, textClampCharacters()) }}...\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t{{ enum[itemText()] }}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-multiSelect>\r\n} @else {\r\n\t<dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n\t\t[valueExpr]=\"itemKey()\"\r\n\t\t[displayExpr]=\"itemText()\"\r\n\t\t[searchEnabled]=\"true\"\r\n\t\t[searchExpr]=\"searchExpr()\"\r\n\t\t[tabIndex]=\"tabindex()\"\r\n\t\t[grouped]=\"grouped()\"\r\n\t\t[placeholder]=\"placeholder()\"\r\n\t\t[showClearButton]=\"showClearButton()\"\r\n\t\t[acceptCustomValue]=\"acceptCustomValue()\"\r\n\t\t(onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n\t\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\t\tvalidationMessagePosition=\"top\"\r\n\t\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n\t</dx-select-box>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-ui-business-enumPicker.mjs","sources":["../../projects/aril/ui-business/enumPicker/src/enum-picker.component.ts","../../projects/aril/ui-business/enumPicker/src/enum-picker.component.html","../../projects/aril/ui-business/enumPicker/aril-ui-business-enumPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\n\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport ArrayStore from 'devextreme/data/array_store';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport {\r\n\tBaseInputComponent,\r\n\tDXInputErrorMessagePipe,\r\n\tInputErrorMessagePipe,\r\n\tValueAccessorDirective\r\n} from 'aril/ui/lib';\r\n\r\nimport { SelectBoxItem, SelectionGroupDTO, SelectionItem, SelectionRequestDTO } from './interface';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]',\r\n\ttemplateUrl: './enum-picker.component.html',\r\n\timports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule, MultiSelectModule, TooltipModule],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class EnumPickerComponent extends BaseInputComponent {\r\n\tselectionItems = signal<SelectBoxItem[] | null>(null);\r\n\tselectBoxDataSource = signal<DataSource | null>(null);\r\n\tprivate originalSelectionItems: SelectionItem[] = [];\r\n\t/**\r\n\t * Single Select States\r\n\t */\r\n\r\n\titemKey = input('key');\r\n\titemText = input('text');\r\n\tgroupName = input('');\r\n\tparentSelectionKey = input(null);\r\n\ttabindex = input<number>(0);\r\n\titems = input<SelectBoxItem[]>();\r\n\tisMultiple = input<boolean>(false);\r\n\t// Cross-validation RemoveItem action ile set edilir; verilen selectionKey'leri item listesinden filtreler.\r\n\texcludedKeys = input<string[]>([]);\r\n\tselectedItemText = '';\r\n\t/** * @description when grouped = true, option item structure { key:string, items:[] } */\r\n\tgrouped = input(false);\r\n\tshowClearButton = input<boolean>(true);\r\n\tplaceholder = input<string>('');\r\n\tsearchExpr = input<string | string[]>('');\r\n\tacceptCustomValue = input<boolean>(false);\r\n\ttextClampCharacters = input<number>(40);\r\n\r\n\t/**\r\n\t * Virtual Scroll States\r\n\t */\r\n\tuseVirtualScroll = input<boolean>(false);\r\n\tvirtualScrollItemSize = input<number>(30);\r\n\tscrollHeight = input<string>('300px');\r\n\r\n\t/**\r\n\t * Multi Select States\r\n\t */\r\n\r\n\tselectedItemsLabel = input<string>('{0} değer seçildi'); // default value -> ({0} items selected\r\n\tappendTo = input<string>('body');\r\n\tstyle = input<object>({});\r\n\tstyleClass = input<string>('');\r\n\ttooltip = input<string>('');\r\n\ttooltipPosition = input<any>('top');\r\n\r\n\t@Output() onSelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly http: HttpClient,\r\n\t\tpublic translocoService: TranslocoService\r\n\t) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.groupName() || this.parentSelectionKey()) this.getSelectionItems();\r\n\t\t});\r\n\r\n\t\t// excludedKeys değişince item listesini yeniden filtrele (originalSelectionItems korunur)\r\n\t\teffect(() => {\r\n\t\t\tthis.excludedKeys();\r\n\t\t\tif (this.originalSelectionItems.length > 0) {\r\n\t\t\t\tthis.updateSelectionItemsText();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.translocoService.langChanges$.subscribe(() => {\r\n\t\t\tif (this.selectionItems() && (this.selectionItems() as SelectBoxItem[])?.length > 0) {\r\n\t\t\t\tthis.updateSelectionItemsText();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetTitle(event?: any) {\r\n\t\tif (event && event[this.itemText()].length > 25) {\r\n\t\t\tthis.selectedItemText = event ? event[this.itemText()] : '';\r\n\t\t}\r\n\t\tthis.onSelectionChanged.emit(event);\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst payload: Partial<SelectionRequestDTO> = {\r\n\t\t\tgroupName: this.groupName()\r\n\t\t};\r\n\r\n\t\tif (Array.isArray(this.parentSelectionKey())) {\r\n\t\t\tpayload.parentSelectionKeys = this.parentSelectionKey();\r\n\t\t} else {\r\n\t\t\tpayload.parentSelectionKey = this.parentSelectionKey();\r\n\t\t}\r\n\r\n\t\tconst hostApi = API_CONFIGS.getExternalAppEndpoint(Apps.MNG);\r\n\r\n\t\ttry {\r\n\t\t\tconst selectionGroup = await firstValueFrom(\r\n\t\t\t\tthis.http.post<SelectionGroupDTO>(hostApi + '/selection-group/load', payload)\r\n\t\t\t);\r\n\r\n\t\t\tthis.originalSelectionItems = selectionGroup?.selectionItems || [];\r\n\t\t} catch (error) {\r\n\t\t\tthis.originalSelectionItems = [];\r\n\t\t}\r\n\t\tthis.updateSelectionItemsText();\r\n\t}\r\n\r\n\tprivate updateSelectionItemsText() {\r\n\t\tif (!this.originalSelectionItems || this.originalSelectionItems.length === 0) {\r\n\t\t\tthis.selectionItems.set(null);\r\n\t\t\tthis.selectBoxDataSource.set(null);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst currentLang = this.translocoService.getActiveLang();\r\n\r\n\t\tthis.selectionItems.set(null);\r\n\r\n\t\tconst excluded = new Set(this.excludedKeys() || []);\r\n\t\tconst mappedItems = this.originalSelectionItems\r\n\t\t\t.filter((item: SelectionItem) => !excluded.has(item.selectionKey))\r\n\t\t\t.map((item: SelectionItem) => ({\r\n\t\t\t\tkey: item.selectionKey,\r\n\t\t\t\ttext:\r\n\t\t\t\t\titem?.selectionMultiLanguageDisplays?.[currentLang] ?\r\n\t\t\t\t\t\titem.selectionMultiLanguageDisplays[currentLang]\r\n\t\t\t\t\t:\titem.selectionDisplay,\r\n\t\t\t\tparentSelectionKey: item.parentSelectionKey\r\n\t\t\t}));\r\n\r\n\t\tthis.selectionItems.set(mappedItems);\r\n\t\tthis.rebuildSelectBoxDataSource(mappedItems);\r\n\t\tthis.filterCurrentValueBySelectionItems();\r\n\t}\r\n\r\n\t// Parent enum (multiple) değiştiğinde veya excludedKeys aktifken\r\n\t// form'daki geçersiz key'leri temizler (selectionItems zaten filtrelenmiş haliyle gelir).\r\n\tfilterCurrentValueBySelectionItems(): void {\r\n\t\tconst hasExcluded = (this.excludedKeys() || []).length > 0;\r\n\t\tif (!this.parentSelectionKey() && !hasExcluded) return;\r\n\t\tconst currentValue = this.ngControl.control?.value;\r\n\t\tconst validKeys = new Set(\r\n\t\t\t(this.selectionItems() || []).map((item: any) => item[this.itemKey()])\r\n\t\t);\r\n\r\n\t\tif (this.isMultiple()) {\r\n\t\t\t// Child multi-select: geçersiz key'leri filtrele, geçerlileri bırak\r\n\t\t\tif (!Array.isArray(currentValue) || currentValue.length === 0) return;\r\n\t\t\tconst filtered = (currentValue as string[]).filter((key) => validKeys.has(key));\r\n\t\t\tif (filtered.length !== currentValue.length) {\r\n\t\t\t\tthis.ngControl.control?.setValue(filtered, { emitEvent: true });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (!currentValue) return;\r\n\t\t\t\r\n\t\t\tif (!validKeys.has(currentValue)) {\r\n\t\t\t\tthis.ngControl.control?.reset(null, { emitEvent: true });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCustomItemCreating(event: any) {\r\n\t\tif (!event.text) {\r\n\t\t\tevent.customItem = null;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst newItem = {\r\n\t\t\t[this.itemKey()]: event.text,\r\n\t\t\t[this.itemText()]: event.text\r\n\t\t};\r\n\t\tconst currentItems = this.selectionItems() || [];\r\n\t\tconst updatedItems = [...currentItems, newItem];\r\n\t\tthis.selectionItems.set(updatedItems);\r\n\t\tthis.rebuildSelectBoxDataSource(updatedItems);\r\n\t\tevent.customItem = newItem;\r\n\t}\r\n\r\n\t\tprivate rebuildSelectBoxDataSource(items: SelectBoxItem[]): void {\r\n\t\tif (!this.useVirtualScroll()) {\r\n\t\t\tthis.selectBoxDataSource.set(null);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.selectBoxDataSource.set(\r\n\t\t\tnew DataSource({\r\n\t\t\t\tstore: new ArrayStore({\r\n\t\t\t\t\tdata: items,\r\n\t\t\t\t\tkey: this.itemKey()\r\n\t\t\t\t}),\r\n\t\t\t\tpaginate: true,\r\n\t\t\t\tpageSize: 50\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","@if (isMultiple()) {\r\n\t<p-multiSelect\r\n\t\t[options]=\"selectionItems() || items() || []\"\r\n\t\t[optionValue]=\"itemKey()\"\r\n\t\t[optionLabel]=\"itemText()\"\r\n\t\t[defaultLabel]=\"placeholder()\"\r\n\t\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t\t[style]=\"style()\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t[tooltip]=\"tooltip()\"\r\n\t\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t\t[maxSelectedLabels]=\"2\"\r\n\t\t[appendTo]=\"appendTo()\"\r\n\t\t[virtualScroll]=\"useVirtualScroll()\"\r\n\t\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t\t[scrollHeight]=\"scrollHeight()\"\r\n\t\t[filter]=\"true\"\r\n\t\t[panelStyle]=\"{ 'max-width': '400px', 'min-width': 'auto' }\">\r\n\t\t<ng-template let-enum pTemplate=\"item\">\r\n\t\t\t<div [pTooltip]=\"enum[itemText()]?.length > textClampCharacters() ? enum[itemText()] : ''\">\r\n\t\t\t\t@if (enum[itemText()]?.length > textClampCharacters()) {\r\n\t\t\t\t\t{{ enum[itemText()].slice(0, textClampCharacters()) }}...\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t{{ enum[itemText()] }}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-multiSelect>\r\n} @else {\r\n\t<dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n\t\t[valueExpr]=\"itemKey()\"\r\n\t\t[displayExpr]=\"itemText()\"\r\n\t\t[searchEnabled]=\"true\"\r\n\t\t[searchExpr]=\"searchExpr()\"\r\n\t\t[tabIndex]=\"tabindex()\"\r\n\t\t[grouped]=\"grouped()\"\r\n\t\t[placeholder]=\"placeholder()\"\r\n\t\t[showClearButton]=\"showClearButton()\"\r\n\t\t[acceptCustomValue]=\"acceptCustomValue()\"\r\n\t\t(onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n\t\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\t\tvalidationMessagePosition=\"top\"\r\n\t\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t\t[formControl]=\"ngControl.control\"\r\n\t\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n\t</dx-select-box>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,7 @@ class ArilLangModalComponent {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArilLangModalComponent, deps: [{ token: i1.DynamicDialogConfig }, { token: i1.DynamicDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ArilLangModalComponent, isStandalone: true, selector: "aril-lang-modal", ngImport: i0, template: "<div>\r\n\t<aril-field\r\n\t\t[label]=\"translocoService.translate('translationModal.addLanguage')\"\r\n\t\t[cols]=\"{ default: 12 }\"\r\n\t\tclass=\"mb-4 block\">\r\n\t\t<enum-picker\r\n\t\t\t[(ngModel)]=\"selectedLanguages\"\r\n\t\t\t[items]=\"availableLanguages\"\r\n\t\t\t[isMultiple]=\"true\"\r\n\t\t\titemKey=\"code\"\r\n\t\t\titemText=\"name\" />\r\n\t</aril-field>\r\n\r\n\t@for (lang of selectedLanguages; track lang) {\r\n\t\t<div class=\"border-1 border-gray-300 border-round py-2 px-4 mb-2 flex justify-content-between items-center\">\r\n\t\t\t<aril-field labelPos=\"left\" [label]=\"getLabel(lang)\" [cols]=\"{ default: 12 }\" [labelWidth]=\"15\" [valueWidth]=\"85\">\r\n\t\t\t\t<aril-text class=\"value-input\" [(ngModel)]=\"translations[lang]\" />\r\n\t\t\t</aril-field>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<div class=\"mt-4\">\r\n\t\t@if (mandatoryLanguages.length && isSaveDisabled()) {\r\n\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t<p-tag [value]=\"getInfoText()\" severity=\"info\" />\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<div class=\"mt-4 flex justify-content-end\">\r\n\t\t<aril-button\r\n\t\t\tcolor=\"danger\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[label]=\"translocoService.translate('cancel')\"\r\n\t\t\t[raised]=\"false\"\r\n\t\t\ticon=\"TIMES\"\r\n\t\t\t(clickEvent)=\"close()\" />\r\n\t\t<aril-button\r\n\t\t\t[label]=\"translocoService.translate('save')\"\r\n\t\t\tcolor=\"success\"\r\n\t\t\ticon=\"CHECK\"\r\n\t\t\tclass=\"ml-2\"\r\n\t\t\t(clickEvent)=\"save()\"\r\n\t\t\t[disabled]=\"isSaveDisabled()\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host .value-input ::ng-deep input{width:100%}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData", "infoDataOverlayPanel"] }, { kind: "component", type: EnumPickerComponent, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: ["itemKey", "itemText", "groupName", "parentSelectionKey", "tabindex", "items", "isMultiple", "grouped", "showClearButton", "placeholder", "searchExpr", "acceptCustomValue", "textClampCharacters", "useVirtualScroll", "virtualScrollItemSize", "scrollHeight", "selectedItemsLabel", "appendTo", "style", "styleClass", "tooltip", "tooltipPosition"], outputs: ["onSelectionChanged"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }] }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ArilLangModalComponent, isStandalone: true, selector: "aril-lang-modal", ngImport: i0, template: "<div>\r\n\t<aril-field\r\n\t\t[label]=\"translocoService.translate('translationModal.addLanguage')\"\r\n\t\t[cols]=\"{ default: 12 }\"\r\n\t\tclass=\"mb-4 block\">\r\n\t\t<enum-picker\r\n\t\t\t[(ngModel)]=\"selectedLanguages\"\r\n\t\t\t[items]=\"availableLanguages\"\r\n\t\t\t[isMultiple]=\"true\"\r\n\t\t\titemKey=\"code\"\r\n\t\t\titemText=\"name\" />\r\n\t</aril-field>\r\n\r\n\t@for (lang of selectedLanguages; track lang) {\r\n\t\t<div class=\"border-1 border-gray-300 border-round py-2 px-4 mb-2 flex justify-content-between items-center\">\r\n\t\t\t<aril-field labelPos=\"left\" [label]=\"getLabel(lang)\" [cols]=\"{ default: 12 }\" [labelWidth]=\"15\" [valueWidth]=\"85\">\r\n\t\t\t\t<aril-text class=\"value-input\" [(ngModel)]=\"translations[lang]\" />\r\n\t\t\t</aril-field>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<div class=\"mt-4\">\r\n\t\t@if (mandatoryLanguages.length && isSaveDisabled()) {\r\n\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t<p-tag [value]=\"getInfoText()\" severity=\"info\" />\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<div class=\"mt-4 flex justify-content-end\">\r\n\t\t<aril-button\r\n\t\t\tcolor=\"danger\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[label]=\"translocoService.translate('cancel')\"\r\n\t\t\t[raised]=\"false\"\r\n\t\t\ticon=\"TIMES\"\r\n\t\t\t(clickEvent)=\"close()\" />\r\n\t\t<aril-button\r\n\t\t\t[label]=\"translocoService.translate('save')\"\r\n\t\t\tcolor=\"success\"\r\n\t\t\ticon=\"CHECK\"\r\n\t\t\tclass=\"ml-2\"\r\n\t\t\t(clickEvent)=\"save()\"\r\n\t\t\t[disabled]=\"isSaveDisabled()\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host .value-input ::ng-deep input{width:100%}\n"], dependencies: [{ kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData", "infoDataOverlayPanel"] }, { kind: "component", type: EnumPickerComponent, selector: "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", inputs: ["itemKey", "itemText", "groupName", "parentSelectionKey", "tabindex", "items", "isMultiple", "excludedKeys", "grouped", "showClearButton", "placeholder", "searchExpr", "acceptCustomValue", "textClampCharacters", "useVirtualScroll", "virtualScrollItemSize", "scrollHeight", "selectedItemsLabel", "appendTo", "style", "styleClass", "tooltip", "tooltipPosition"], outputs: ["onSelectionChanged"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }] }); }
|
|
74
74
|
}
|
|
75
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArilLangModalComponent, decorators: [{
|
|
76
76
|
type: Component,
|