aril 1.1.89 → 1.1.91

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.
@@ -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", "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", "grouped", "showClearButton", "placeholder", "searchExpr", "acceptCustomValue", "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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdHJhbnNsYXRlLWlucHV0L3NyYy9hcmlsLWxhbmctbW9kYWwvYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdHJhbnNsYXRlLWlucHV0L3NyYy9hcmlsLWxhbmctbW9kYWwvYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFrQnhDLE1BQU0sT0FBTyxzQkFBc0I7SUFPbEMsWUFDUSxNQUEwQyxFQUMxQyxHQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUMxQyxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQVI3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxzQkFBaUIsR0FBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0IsaUJBQVksR0FBc0IsRUFBRSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQU1qQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLElBQUksRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsOENBQThDO1FBQzlDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsY0FBYztRQUNiLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLHFDQUFxQyxFQUFFO1lBQzdFLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNqRixDQUFDLENBQUM7SUFDSixDQUFDOzhHQXRDVyxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyRUNsQ25DLDBoREE4Q0EsMEdEekJFLGFBQWEsa0xBQ2IsV0FBVyw4VkFDWCxZQUFZLCtCQUNaLGVBQWUsNk5BQ2YsZUFBZSwrQkFDZixjQUFjLHlMQUNkLG1CQUFtQix1YUFDbkIsU0FBUzs7MkZBTUUsc0JBQXNCO2tCQWhCbEMsU0FBUzsrQkFDQyxpQkFBaUIsV0FDbEI7d0JBQ1IsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixTQUFTO3FCQUNULGNBQ1csSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgVGFnTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWcnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgRW51bVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWktYnVzaW5lc3MvZW51bVBpY2tlcic7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2ZpZWxkJztcclxuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvdGV4dCc7XHJcblxyXG5pbXBvcnQgeyBMYW5nTW9kYWxEYXRhLCBUcmFuc2xhdGlvbk9iamVjdCB9IGZyb20gJy4uL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFMTF9MQU5HUyB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXJpbC1sYW5nLW1vZGFsJyxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRUZXh0Q29tcG9uZW50LFxyXG5cdFx0Rm9ybXNNb2R1bGUsXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRCdXR0b25Db21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRGaWVsZENvbXBvbmVudCxcclxuXHRcdEVudW1QaWNrZXJDb21wb25lbnQsXHJcblx0XHRUYWdNb2R1bGVcclxuXHRdLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0dGVtcGxhdGVVcmw6ICdhcmlsLWxhbmctbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWydhcmlsLWxhbmctbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJpbExhbmdNb2RhbENvbXBvbmVudCB7XHJcblx0dHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcclxuXHRzZWxlY3RlZExhbmd1YWdlczogc3RyaW5nW10gPSBbJ3RyJywgJ2VuJ107XHJcblx0YXZhaWxhYmxlTGFuZ3VhZ2VzID0gQUxMX0xBTkdTO1xyXG5cdHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25PYmplY3QgPSB7fTtcclxuXHRtYW5kYXRvcnlMYW5ndWFnZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZzxMYW5nTW9kYWxEYXRhPixcclxuXHRcdHB1YmxpYyByZWY6IER5bmFtaWNEaWFsb2dSZWZcclxuXHQpIHtcclxuXHRcdHRoaXMudHJhbnNsYXRpb25zID0geyAuLi50aGlzLmNvbmZpZy5kYXRhPy50cmFuc2xhdGlvbnMgfTtcclxuXHRcdHRoaXMubWFuZGF0b3J5TGFuZ3VhZ2VzID0gdGhpcy5jb25maWcuZGF0YT8ubWFuZGF0b3J5TGFuZ3VhZ2VzIHx8IFtdO1xyXG5cdH1cclxuXHJcblx0c2F2ZSgpIHtcclxuXHRcdGNvbnN0IGFsbG93ZWQgPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMpO1xyXG5cdFx0Ly8gb25seSBvdXRwdXQgdGhlIGxhbmd1YWdlcyB0aGF0IGFyZSBzZWxlY3RlZFxyXG5cdFx0Y29uc3Qgb3V0cHV0VHJhbnNsYXRpb25zID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHRoaXMudHJhbnNsYXRpb25zKS5maWx0ZXIoKFtrXSkgPT4gYWxsb3dlZC5oYXMoaykpKTtcclxuXHRcdHRoaXMucmVmLmNsb3NlKG91dHB1dFRyYW5zbGF0aW9ucyk7XHJcblx0fVxyXG5cclxuXHRjbG9zZSgpIHtcclxuXHRcdHRoaXMucmVmLmNsb3NlKCk7XHJcblx0fVxyXG5cclxuXHRnZXRMYWJlbChjb2RlOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlcy5maW5kKChsYW5nKSA9PiBsYW5nLmNvZGUgPT09IGNvZGUpPy5uYW1lO1xyXG5cdH1cclxuXHJcblx0aXNTYXZlRGlzYWJsZWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5tYW5kYXRvcnlMYW5ndWFnZXM/LnNvbWUoKGxhbmcpID0+ICF0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmcpIHx8ICF0aGlzLnRyYW5zbGF0aW9uc1tsYW5nXSk7XHJcblx0fVxyXG5cclxuXHRnZXRJbmZvVGV4dCgpIHtcclxuXHRcdHJldHVybiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0cmFuc2xhdGlvbk1vZGFsLm1hbmRhdG9yeUxhbmd1YWdlcycsIHtcclxuXHRcdFx0bGFuZ3VhZ2VzOiB0aGlzLm1hbmRhdG9yeUxhbmd1YWdlcz8ubWFwKChsYW5nKSA9PiB0aGlzLmdldExhYmVsKGxhbmcpKS5qb2luKCcsICcpXHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdj5cclxuXHQ8YXJpbC1maWVsZFxyXG5cdFx0W2xhYmVsXT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0cmFuc2xhdGlvbk1vZGFsLmFkZExhbmd1YWdlJylcIlxyXG5cdFx0W2NvbHNdPVwieyBkZWZhdWx0OiAxMiB9XCJcclxuXHRcdGNsYXNzPVwibWItNCBibG9ja1wiPlxyXG5cdFx0PGVudW0tcGlja2VyXHJcblx0XHRcdFsobmdNb2RlbCldPVwic2VsZWN0ZWRMYW5ndWFnZXNcIlxyXG5cdFx0XHRbaXRlbXNdPVwiYXZhaWxhYmxlTGFuZ3VhZ2VzXCJcclxuXHRcdFx0W2lzTXVsdGlwbGVdPVwidHJ1ZVwiXHJcblx0XHRcdGl0ZW1LZXk9XCJjb2RlXCJcclxuXHRcdFx0aXRlbVRleHQ9XCJuYW1lXCIgLz5cclxuXHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdEBmb3IgKGxhbmcgb2Ygc2VsZWN0ZWRMYW5ndWFnZXM7IHRyYWNrIGxhbmcpIHtcclxuXHRcdDxkaXYgY2xhc3M9XCJib3JkZXItMSBib3JkZXItZ3JheS0zMDAgYm9yZGVyLXJvdW5kIHB5LTIgcHgtNCBtYi0yIGZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdDxhcmlsLWZpZWxkIGxhYmVsUG9zPVwibGVmdFwiIFtsYWJlbF09XCJnZXRMYWJlbChsYW5nKVwiIFtjb2xzXT1cInsgZGVmYXVsdDogMTIgfVwiIFtsYWJlbFdpZHRoXT1cIjE1XCIgW3ZhbHVlV2lkdGhdPVwiODVcIj5cclxuXHRcdFx0XHQ8YXJpbC10ZXh0IGNsYXNzPVwidmFsdWUtaW5wdXRcIiBbKG5nTW9kZWwpXT1cInRyYW5zbGF0aW9uc1tsYW5nXVwiIC8+XHJcblx0XHRcdDwvYXJpbC1maWVsZD5cclxuXHRcdDwvZGl2PlxyXG5cdH1cclxuXHJcblx0PGRpdiBjbGFzcz1cIm10LTRcIj5cclxuXHRcdEBpZiAobWFuZGF0b3J5TGFuZ3VhZ2VzLmxlbmd0aCAmJiBpc1NhdmVEaXNhYmxlZCgpKSB7XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJtYi0yXCI+XHJcblx0XHRcdFx0PHAtdGFnIFt2YWx1ZV09XCJnZXRJbmZvVGV4dCgpXCIgc2V2ZXJpdHk9XCJpbmZvXCIgLz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJtdC00IGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG5cdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdGNvbG9yPVwiZGFuZ2VyXCJcclxuXHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRbbGFiZWxdPVwidHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2NhbmNlbCcpXCJcclxuXHRcdFx0W3JhaXNlZF09XCJmYWxzZVwiXHJcblx0XHRcdGljb249XCJUSU1FU1wiXHJcblx0XHRcdChjbGlja0V2ZW50KT1cImNsb3NlKClcIiAvPlxyXG5cdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFtsYWJlbF09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnc2F2ZScpXCJcclxuXHRcdFx0Y29sb3I9XCJzdWNjZXNzXCJcclxuXHRcdFx0aWNvbj1cIkNIRUNLXCJcclxuXHRcdFx0Y2xhc3M9XCJtbC0yXCJcclxuXHRcdFx0KGNsaWNrRXZlbnQpPVwic2F2ZSgpXCJcclxuXHRcdFx0W2Rpc2FibGVkXT1cImlzU2F2ZURpc2FibGVkKClcIiAvPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdHJhbnNsYXRlLWlucHV0L3NyYy9hcmlsLWxhbmctbW9kYWwvYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdHJhbnNsYXRlLWlucHV0L3NyYy9hcmlsLWxhbmctbW9kYWwvYXJpbC1sYW5nLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFrQnhDLE1BQU0sT0FBTyxzQkFBc0I7SUFPbEMsWUFDUSxNQUEwQyxFQUMxQyxHQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUMxQyxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQVI3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxzQkFBaUIsR0FBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0IsaUJBQVksR0FBc0IsRUFBRSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQU1qQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLElBQUksRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsOENBQThDO1FBQzlDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsY0FBYztRQUNiLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLHFDQUFxQyxFQUFFO1lBQzdFLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNqRixDQUFDLENBQUM7SUFDSixDQUFDOzhHQXRDVyxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyRUNsQ25DLDBoREE4Q0EsMEdEekJFLGFBQWEsa0xBQ2IsV0FBVyw4VkFDWCxZQUFZLCtCQUNaLGVBQWUsNk5BQ2YsZUFBZSwrQkFDZixjQUFjLHlMQUNkLG1CQUFtQixvZUFDbkIsU0FBUzs7MkZBTUUsc0JBQXNCO2tCQWhCbEMsU0FBUzsrQkFDQyxpQkFBaUIsV0FDbEI7d0JBQ1IsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixTQUFTO3FCQUNULGNBQ1csSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgVGFnTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWcnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgRW51bVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWktYnVzaW5lc3MvZW51bVBpY2tlcic7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2ZpZWxkJztcclxuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvdGV4dCc7XHJcblxyXG5pbXBvcnQgeyBMYW5nTW9kYWxEYXRhLCBUcmFuc2xhdGlvbk9iamVjdCB9IGZyb20gJy4uL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFMTF9MQU5HUyB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXJpbC1sYW5nLW1vZGFsJyxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRUZXh0Q29tcG9uZW50LFxyXG5cdFx0Rm9ybXNNb2R1bGUsXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRCdXR0b25Db21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRGaWVsZENvbXBvbmVudCxcclxuXHRcdEVudW1QaWNrZXJDb21wb25lbnQsXHJcblx0XHRUYWdNb2R1bGVcclxuXHRdLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0dGVtcGxhdGVVcmw6ICdhcmlsLWxhbmctbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWydhcmlsLWxhbmctbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJpbExhbmdNb2RhbENvbXBvbmVudCB7XHJcblx0dHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcclxuXHRzZWxlY3RlZExhbmd1YWdlczogc3RyaW5nW10gPSBbJ3RyJywgJ2VuJ107XHJcblx0YXZhaWxhYmxlTGFuZ3VhZ2VzID0gQUxMX0xBTkdTO1xyXG5cdHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25PYmplY3QgPSB7fTtcclxuXHRtYW5kYXRvcnlMYW5ndWFnZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZzxMYW5nTW9kYWxEYXRhPixcclxuXHRcdHB1YmxpYyByZWY6IER5bmFtaWNEaWFsb2dSZWZcclxuXHQpIHtcclxuXHRcdHRoaXMudHJhbnNsYXRpb25zID0geyAuLi50aGlzLmNvbmZpZy5kYXRhPy50cmFuc2xhdGlvbnMgfTtcclxuXHRcdHRoaXMubWFuZGF0b3J5TGFuZ3VhZ2VzID0gdGhpcy5jb25maWcuZGF0YT8ubWFuZGF0b3J5TGFuZ3VhZ2VzIHx8IFtdO1xyXG5cdH1cclxuXHJcblx0c2F2ZSgpIHtcclxuXHRcdGNvbnN0IGFsbG93ZWQgPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMpO1xyXG5cdFx0Ly8gb25seSBvdXRwdXQgdGhlIGxhbmd1YWdlcyB0aGF0IGFyZSBzZWxlY3RlZFxyXG5cdFx0Y29uc3Qgb3V0cHV0VHJhbnNsYXRpb25zID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHRoaXMudHJhbnNsYXRpb25zKS5maWx0ZXIoKFtrXSkgPT4gYWxsb3dlZC5oYXMoaykpKTtcclxuXHRcdHRoaXMucmVmLmNsb3NlKG91dHB1dFRyYW5zbGF0aW9ucyk7XHJcblx0fVxyXG5cclxuXHRjbG9zZSgpIHtcclxuXHRcdHRoaXMucmVmLmNsb3NlKCk7XHJcblx0fVxyXG5cclxuXHRnZXRMYWJlbChjb2RlOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlcy5maW5kKChsYW5nKSA9PiBsYW5nLmNvZGUgPT09IGNvZGUpPy5uYW1lO1xyXG5cdH1cclxuXHJcblx0aXNTYXZlRGlzYWJsZWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5tYW5kYXRvcnlMYW5ndWFnZXM/LnNvbWUoKGxhbmcpID0+ICF0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmcpIHx8ICF0aGlzLnRyYW5zbGF0aW9uc1tsYW5nXSk7XHJcblx0fVxyXG5cclxuXHRnZXRJbmZvVGV4dCgpIHtcclxuXHRcdHJldHVybiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0cmFuc2xhdGlvbk1vZGFsLm1hbmRhdG9yeUxhbmd1YWdlcycsIHtcclxuXHRcdFx0bGFuZ3VhZ2VzOiB0aGlzLm1hbmRhdG9yeUxhbmd1YWdlcz8ubWFwKChsYW5nKSA9PiB0aGlzLmdldExhYmVsKGxhbmcpKS5qb2luKCcsICcpXHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdj5cclxuXHQ8YXJpbC1maWVsZFxyXG5cdFx0W2xhYmVsXT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0cmFuc2xhdGlvbk1vZGFsLmFkZExhbmd1YWdlJylcIlxyXG5cdFx0W2NvbHNdPVwieyBkZWZhdWx0OiAxMiB9XCJcclxuXHRcdGNsYXNzPVwibWItNCBibG9ja1wiPlxyXG5cdFx0PGVudW0tcGlja2VyXHJcblx0XHRcdFsobmdNb2RlbCldPVwic2VsZWN0ZWRMYW5ndWFnZXNcIlxyXG5cdFx0XHRbaXRlbXNdPVwiYXZhaWxhYmxlTGFuZ3VhZ2VzXCJcclxuXHRcdFx0W2lzTXVsdGlwbGVdPVwidHJ1ZVwiXHJcblx0XHRcdGl0ZW1LZXk9XCJjb2RlXCJcclxuXHRcdFx0aXRlbVRleHQ9XCJuYW1lXCIgLz5cclxuXHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdEBmb3IgKGxhbmcgb2Ygc2VsZWN0ZWRMYW5ndWFnZXM7IHRyYWNrIGxhbmcpIHtcclxuXHRcdDxkaXYgY2xhc3M9XCJib3JkZXItMSBib3JkZXItZ3JheS0zMDAgYm9yZGVyLXJvdW5kIHB5LTIgcHgtNCBtYi0yIGZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdDxhcmlsLWZpZWxkIGxhYmVsUG9zPVwibGVmdFwiIFtsYWJlbF09XCJnZXRMYWJlbChsYW5nKVwiIFtjb2xzXT1cInsgZGVmYXVsdDogMTIgfVwiIFtsYWJlbFdpZHRoXT1cIjE1XCIgW3ZhbHVlV2lkdGhdPVwiODVcIj5cclxuXHRcdFx0XHQ8YXJpbC10ZXh0IGNsYXNzPVwidmFsdWUtaW5wdXRcIiBbKG5nTW9kZWwpXT1cInRyYW5zbGF0aW9uc1tsYW5nXVwiIC8+XHJcblx0XHRcdDwvYXJpbC1maWVsZD5cclxuXHRcdDwvZGl2PlxyXG5cdH1cclxuXHJcblx0PGRpdiBjbGFzcz1cIm10LTRcIj5cclxuXHRcdEBpZiAobWFuZGF0b3J5TGFuZ3VhZ2VzLmxlbmd0aCAmJiBpc1NhdmVEaXNhYmxlZCgpKSB7XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJtYi0yXCI+XHJcblx0XHRcdFx0PHAtdGFnIFt2YWx1ZV09XCJnZXRJbmZvVGV4dCgpXCIgc2V2ZXJpdHk9XCJpbmZvXCIgLz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJtdC00IGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG5cdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdGNvbG9yPVwiZGFuZ2VyXCJcclxuXHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRbbGFiZWxdPVwidHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2NhbmNlbCcpXCJcclxuXHRcdFx0W3JhaXNlZF09XCJmYWxzZVwiXHJcblx0XHRcdGljb249XCJUSU1FU1wiXHJcblx0XHRcdChjbGlja0V2ZW50KT1cImNsb3NlKClcIiAvPlxyXG5cdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFtsYWJlbF09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnc2F2ZScpXCJcclxuXHRcdFx0Y29sb3I9XCJzdWNjZXNzXCJcclxuXHRcdFx0aWNvbj1cIkNIRUNLXCJcclxuXHRcdFx0Y2xhc3M9XCJtbC0yXCJcclxuXHRcdFx0KGNsaWNrRXZlbnQpPVwic2F2ZSgpXCJcclxuXHRcdFx0W2Rpc2FibGVkXT1cImlzU2F2ZURpc2FibGVkKClcIiAvPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -4,6 +4,8 @@ import { MultiSelectModule } from 'primeng/multiselect';
4
4
  import { TranslocoModule } from '@ngneat/transloco';
5
5
  import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';
6
6
  import { firstValueFrom } from 'rxjs';
7
+ import DataSource from 'devextreme/data/data_source';
8
+ import ArrayStore from 'devextreme/data/array_store';
7
9
  import { API_CONFIGS } from 'aril/boot/config/api';
8
10
  import { Apps } from 'aril/boot/config/apps';
9
11
  import { BaseInputComponent, DXInputErrorMessagePipe, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
@@ -20,6 +22,7 @@ export class EnumPickerComponent extends BaseInputComponent {
20
22
  this.http = http;
21
23
  this.translocoService = translocoService;
22
24
  this.selectionItems = signal(null);
25
+ this.selectBoxDataSource = signal(null);
23
26
  this.originalSelectionItems = [];
24
27
  /**
25
28
  * Single Select States
@@ -38,6 +41,12 @@ export class EnumPickerComponent extends BaseInputComponent {
38
41
  this.placeholder = input('');
39
42
  this.searchExpr = input('');
40
43
  this.acceptCustomValue = input(false);
44
+ /**
45
+ * Virtual Scroll States
46
+ */
47
+ this.useVirtualScroll = input(false);
48
+ this.virtualScrollItemSize = input(30);
49
+ this.scrollHeight = input('300px');
41
50
  /**
42
51
  * Multi Select States
43
52
  */
@@ -87,17 +96,44 @@ export class EnumPickerComponent extends BaseInputComponent {
87
96
  updateSelectionItemsText() {
88
97
  if (!this.originalSelectionItems || this.originalSelectionItems.length === 0) {
89
98
  this.selectionItems.set(null);
99
+ this.selectBoxDataSource.set(null);
90
100
  return;
91
101
  }
92
102
  const currentLang = this.translocoService.getActiveLang();
93
103
  this.selectionItems.set(null);
94
- this.selectionItems.set(this.originalSelectionItems.map((item) => ({
104
+ const mappedItems = this.originalSelectionItems.map((item) => ({
95
105
  key: item.selectionKey,
96
106
  text: item?.selectionMultiLanguageDisplays?.[currentLang] ?
97
107
  item.selectionMultiLanguageDisplays[currentLang]
98
108
  : item.selectionDisplay,
99
109
  parentSelectionKey: item.parentSelectionKey
100
- })));
110
+ }));
111
+ this.selectionItems.set(mappedItems);
112
+ this.rebuildSelectBoxDataSource(mappedItems);
113
+ this.filterCurrentValueBySelectionItems();
114
+ }
115
+ // Parent enum (multiple) değiştiğinde child'dan sadece geçersiz key'leri temizler
116
+ filterCurrentValueBySelectionItems() {
117
+ if (!this.parentSelectionKey())
118
+ return;
119
+ const currentValue = this.ngControl.control?.value;
120
+ const validKeys = new Set((this.selectionItems() || []).map((item) => item[this.itemKey()]));
121
+ if (this.isMultiple()) {
122
+ // Child multi-select: geçersiz key'leri filtrele, geçerlileri bırak
123
+ if (!Array.isArray(currentValue) || currentValue.length === 0)
124
+ return;
125
+ const filtered = currentValue.filter((key) => validKeys.has(key));
126
+ if (filtered.length !== currentValue.length) {
127
+ this.ngControl.control?.setValue(filtered, { emitEvent: true });
128
+ }
129
+ }
130
+ else {
131
+ if (!currentValue)
132
+ return;
133
+ if (!validKeys.has(currentValue)) {
134
+ this.ngControl.control?.reset(null, { emitEvent: true });
135
+ }
136
+ }
101
137
  }
102
138
  onCustomItemCreating(event) {
103
139
  if (!event.text) {
@@ -109,16 +145,32 @@ export class EnumPickerComponent extends BaseInputComponent {
109
145
  [this.itemText()]: event.text
110
146
  };
111
147
  const currentItems = this.selectionItems() || [];
112
- this.selectionItems.set([...currentItems, newItem]);
148
+ const updatedItems = [...currentItems, newItem];
149
+ this.selectionItems.set(updatedItems);
150
+ this.rebuildSelectBoxDataSource(updatedItems);
113
151
  event.customItem = newItem;
114
152
  }
153
+ rebuildSelectBoxDataSource(items) {
154
+ if (!this.useVirtualScroll()) {
155
+ this.selectBoxDataSource.set(null);
156
+ return;
157
+ }
158
+ this.selectBoxDataSource.set(new DataSource({
159
+ store: new ArrayStore({
160
+ data: items,
161
+ key: this.itemKey()
162
+ }),
163
+ paginate: true,
164
+ pageSize: 50
165
+ }));
166
+ }
115
167
  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 }); }
116
- 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 }, 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 <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [items]=\"selectionItems() || items() || []\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </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"] }] }); }
168
+ 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 }, 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 <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\"\r\n [virtualScroll]=\"useVirtualScroll()\"\r\n\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[filter]=\"true\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </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"] }] }); }
117
169
  }
118
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EnumPickerComponent, decorators: [{
119
171
  type: Component,
120
- args: [{ standalone: true, selector: 'enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule, MultiSelectModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "@if(isMultiple()){\r\n <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [items]=\"selectionItems() || items() || []\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </dx-select-box>\r\n}\r\n" }]
172
+ args: [{ standalone: true, selector: 'enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule, MultiSelectModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "@if(isMultiple()){\r\n <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\"\r\n [virtualScroll]=\"useVirtualScroll()\"\r\n\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[filter]=\"true\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </dx-select-box>\r\n}\r\n" }]
121
173
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { onSelectionChanged: [{
122
174
  type: Output
123
175
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9lbnVtUGlja2VyL3NyYy9lbnVtLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2VudW1QaWNrZXIvc3JjL2VudW0tcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQ04sa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQVlyQixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBbUMxRCxZQUNrQixJQUFnQixFQUMxQixnQkFBa0M7UUFFekMsS0FBSyxFQUFFLENBQUM7UUFIUyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFw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OEdBbUM5QixrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBlZmZlY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcbmltcG9ydCB7IER4U2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL3NlbGVjdC1ib3gnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQge1xyXG5cdEJhc2VJbnB1dENvbXBvbmVudCxcclxuXHREWElucHV0RXJyb3JNZXNzYWdlUGlwZSxcclxuXHRJbnB1dEVycm9yTWVzc2FnZVBpcGUsXHJcblx0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZVxyXG59IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7IFNlbGVjdEJveEl0ZW0sIFNlbGVjdGlvbkdyb3VwRFRPLCBTZWxlY3Rpb25JdGVtLCBTZWxlY3Rpb25SZXF1ZXN0RFRPIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2VudW0tcGlja2VyW25nTW9kZWxdLCBlbnVtLXBpY2tlcltmb3JtQ29udHJvbF0sIGVudW0tcGlja2VyW2Zvcm1Db250cm9sTmFtZV0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9lbnVtLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIER4U2VsZWN0Qm94TW9kdWxlLCBEWElucHV0RXJyb3JNZXNzYWdlUGlwZSwgVHJhbnNsb2NvTW9kdWxlLCBNdWx0aVNlbGVjdE1vZHVsZV0sXHJcblx0cHJvdmlkZXJzOiBbSW5wdXRFcnJvck1lc3NhZ2VQaXBlXSxcclxuXHRob3N0RGlyZWN0aXZlczogW1ZhbHVlQWNjZXNzb3JEaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnVtUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IHtcclxuXHRzZWxlY3Rpb25JdGVtcyA9IHNpZ25hbDxTZWxlY3RCb3hJdGVtW10gfCBudWxsPihudWxsKTtcclxuXHRwcml2YXRlIG9yaWdpbmFsU2VsZWN0aW9uSXRlbXM6IFNlbGVjdGlvbkl0ZW1bXSA9IFtdO1xyXG5cdC8qKlxyXG5cdCAqIFNpbmdsZSBTZWxlY3QgU3RhdGVzXHJcblx0ICovXHJcblxyXG5cdGl0ZW1LZXkgPSBpbnB1dCgna2V5Jyk7XHJcblx0aXRlbVRleHQgPSBpbnB1dCgndGV4dCcpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0KCcnKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dChudWxsKTtcclxuXHR0YWJpbmRleCA9IGlucHV0PG51bWJlcj4oMCk7XHJcblx0aXRlbXMgPSBpbnB1dDxTZWxlY3RCb3hJdGVtW10+KCk7XHJcblx0aXNNdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzZWxlY3RlZEl0ZW1UZXh0OiBzdHJpbmcgPSAnJztcclxuXHQvKiogKiBAZGVzY3JpcHRpb24gd2hlbiBncm91cGVkID0gdHJ1ZSwgb3B0aW9uIGl0ZW0gc3RydWN0dXJlIHsga2V5OnN0cmluZywgaXRlbXM6W10gfSAqL1xyXG5cdGdyb3VwZWQgPSBpbnB1dChmYWxzZSk7XHJcblx0c2hvd0NsZWFyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzZWFyY2hFeHByID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuXHRhY2NlcHRDdXN0b21WYWx1ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0LyoqXHJcblx0ICogTXVsdGkgU2VsZWN0IFN0YXRlc1xyXG5cdCAqL1xyXG5cclxuXHRzZWxlY3RlZEl0ZW1zTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCd7MH0gIGRlxJ9lciBzZcOnaWxkaScpOyAvLyBkZWZhdWx0IHZhbHVlIC0+ICh7MH0gaXRlbXMgc2VsZWN0ZWRcclxuXHRhcHBlbmRUbyA9IGlucHV0PHN0cmluZz4oJ2JvZHknKTtcclxuXHRzdHlsZSA9IGlucHV0PG9iamVjdD4oe30pO1xyXG5cdHN0eWxlQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHR0b29sdGlwID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0dG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8YW55PigndG9wJyk7XHJcblxyXG5cdEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJveEl0ZW0+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxyXG5cdFx0cHVibGljIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5ncm91cE5hbWUoKSB8fCB0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpKSB0aGlzLmdldFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnRyYW5zbG9jb1NlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLnNlbGVjdGlvbkl0ZW1zKCkgJiYgKHRoaXMuc2VsZWN0aW9uSXRlbXMoKSBhcyBTZWxlY3RCb3hJdGVtW10pPy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZWxlY3Rpb25JdGVtc1RleHQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzZXRUaXRsZShldmVudD86IGFueSkge1xyXG5cdFx0aWYgKGV2ZW50ICYmIGV2ZW50W3RoaXMuaXRlbVRleHQoKV0ubGVuZ3RoID4gMjUpIHtcclxuXHRcdFx0dGhpcy5zZWxlY3RlZEl0ZW1UZXh0ID0gZXZlbnQgPyBldmVudFt0aGlzLml0ZW1UZXh0KCldIDogJyc7XHJcblx0XHR9XHJcblx0XHR0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldFNlbGVjdGlvbkl0ZW1zKCkge1xyXG5cdFx0Y29uc3QgcGF5bG9hZDogUGFydGlhbDxTZWxlY3Rpb25SZXF1ZXN0RFRPPiA9IHtcclxuXHRcdFx0Z3JvdXBOYW1lOiB0aGlzLmdyb3VwTmFtZSgpXHJcblx0XHR9O1xyXG5cclxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkpKSB7XHJcblx0XHRcdHBheWxvYWQucGFyZW50U2VsZWN0aW9uS2V5cyA9IHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRwYXlsb2FkLnBhcmVudFNlbGVjdGlvbktleSA9IHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaG9zdEFwaSA9IEFQSV9DT05GSUdTLmdldEV4dGVybmFsQXBwRW5kcG9pbnQoQXBwcy5NTkcpO1xyXG5cclxuXHRcdHRyeSB7XHJcblx0XHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdFx0dGhpcy5odHRwLnBvc3Q8U2VsZWN0aW9uR3JvdXBEVE8+KGhvc3RBcGkgKyAnL3NlbGVjdGlvbi1ncm91cC9sb2FkJywgcGF5bG9hZClcclxuXHRcdFx0KTtcclxuXHJcblx0XHRcdHRoaXMub3JpZ2luYWxTZWxlY3Rpb25JdGVtcyA9IHNlbGVjdGlvbkdyb3VwPy5zZWxlY3Rpb25JdGVtcyB8fCBbXTtcclxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdHRoaXMub3JpZ2luYWxTZWxlY3Rpb25JdGVtcyA9IFtdO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy51cGRhdGVTZWxlY3Rpb25JdGVtc1RleHQoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgdXBkYXRlU2VsZWN0aW9uSXRlbXNUZXh0KCkge1xyXG5cdFx0aWYgKCF0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMgfHwgdGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkl0ZW1zLnNldChudWxsKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpO1xyXG5cclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KG51bGwpO1xyXG5cclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KFxyXG5cdFx0XHR0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubWFwKChpdGVtOiBTZWxlY3Rpb25JdGVtKSA9PiAoe1xyXG5cdFx0XHRcdGtleTogaXRlbS5zZWxlY3Rpb25LZXksXHJcblx0XHRcdFx0dGV4dDpcclxuXHRcdFx0XHRcdGl0ZW0/LnNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz8uW2N1cnJlbnRMYW5nXSA/XHJcblx0XHRcdFx0XHRcdGl0ZW0uc2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzW2N1cnJlbnRMYW5nXVxyXG5cdFx0XHRcdFx0Olx0aXRlbS5zZWxlY3Rpb25EaXNwbGF5LFxyXG5cdFx0XHRcdHBhcmVudFNlbGVjdGlvbktleTogaXRlbS5wYXJlbnRTZWxlY3Rpb25LZXlcclxuXHRcdFx0fSkpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0b25DdXN0b21JdGVtQ3JlYXRpbmcoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKCFldmVudC50ZXh0KSB7XHJcblx0XHRcdGV2ZW50LmN1c3RvbUl0ZW0gPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBuZXdJdGVtID0ge1xyXG5cdFx0XHRbdGhpcy5pdGVtS2V5KCldOiBldmVudC50ZXh0LFxyXG5cdFx0XHRbdGhpcy5pdGVtVGV4dCgpXTogZXZlbnQudGV4dFxyXG5cdFx0fTtcclxuXHRcdGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRoaXMuc2VsZWN0aW9uSXRlbXMoKSB8fCBbXTtcclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KFsuLi5jdXJyZW50SXRlbXMsIG5ld0l0ZW1dKTtcclxuXHRcdGV2ZW50LmN1c3RvbUl0ZW0gPSBuZXdJdGVtO1xyXG5cdH1cclxufVxyXG4iLCJAaWYoaXNNdWx0aXBsZSgpKXtcclxuICA8cC1tdWx0aVNlbGVjdFxyXG5cdFtvcHRpb25zXT1cInNlbGVjdGlvbkl0ZW1zKCkgfHwgaXRlbXMoKSB8fCBbXVwiXHJcblx0W29wdGlvbkxhYmVsXT1cIml0ZW1UZXh0KClcIlxyXG5cdFtvcHRpb25WYWx1ZV09XCJpdGVtS2V5KClcIlxyXG5cdFtkZWZhdWx0TGFiZWxdPVwicGxhY2Vob2xkZXIoKVwiXHJcblx0W3NlbGVjdGVkSXRlbXNMYWJlbF09XCJzZWxlY3RlZEl0ZW1zTGFiZWwoKVwiXHJcblx0W3N0eWxlXT1cInN0eWxlKClcIlxyXG5cdFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MoKVwiXHJcblx0W3Rvb2x0aXBdPVwidG9vbHRpcCgpXCJcclxuXHRbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcclxuXHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG5cdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwiMlwiXHJcblx0W2FwcGVuZFRvXT1cImFwcGVuZFRvKClcIj5cclxuPC9wLW11bHRpU2VsZWN0PlxyXG59QGVsc2Uge1xyXG4gIDxkeC1zZWxlY3QtYm94XHJcbiAgICBbaXRlbXNdPVwic2VsZWN0aW9uSXRlbXMoKSB8fCBpdGVtcygpIHx8IFtdXCJcclxuICAgIFt2YWx1ZUV4cHJdPVwiaXRlbUtleSgpXCJcclxuICAgIFtkaXNwbGF5RXhwcl09XCJpdGVtVGV4dCgpXCJcclxuICAgIFtzZWFyY2hFbmFibGVkXT1cInRydWVcIlxyXG4gICAgW3NlYXJjaEV4cHJdPVwic2VhcmNoRXhwcigpXCJcclxuICAgIFt0YWJJbmRleF09XCJ0YWJpbmRleCgpXCJcclxuICAgIFtncm91cGVkXT1cImdyb3VwZWQoKVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcbiAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInNob3dDbGVhckJ1dHRvbigpXCJcclxuICAgIFthY2NlcHRDdXN0b21WYWx1ZV09XCJhY2NlcHRDdXN0b21WYWx1ZSgpXCJcclxuICAgIChvbkN1c3RvbUl0ZW1DcmVhdGluZyk9XCJvbkN1c3RvbUl0ZW1DcmVhdGluZygkZXZlbnQpXCJcclxuICAgIFtpc1ZhbGlkXT1cIm5nQ29udHJvbD8uY29udHJvbD8udmFsaWQgfHwgbmdDb250cm9sPy5jb250cm9sPy5wcmlzdGluZSB8fCBuZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGVkIHx8IGZhbHNlXCJcclxuICAgIFt2YWxpZGF0aW9uRXJyb3JdPVwibmdDb250cm9sPy5jb250cm9sPy5lcnJvcnMgfCBkeElucHV0RXJyb3JNZXNzYWdlOiBuZ0NvbnRyb2w/LmNvbnRyb2xcIlxyXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VQb3NpdGlvbj1cInRvcFwiXHJcbiAgICBbbm9EYXRhVGV4dF09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMubm9EYXRhVG9EaXNwbGF5JylcIlxyXG4gICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50LnNlbGVjdGVkSXRlbSk7c2V0VGl0bGUoJGV2ZW50LnNlbGVjdGVkSXRlbSlcIlxyXG4gICAgW2lucHV0QXR0cl09XCJ7ICd0aXRsZSc6IHNlbGVjdGVkSXRlbVRleHQgfVwiPlxyXG4gIDwvZHgtc2VsZWN0LWJveD5cclxufVxyXG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9lbnVtUGlja2VyL3NyYy9lbnVtLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2VudW1QaWNrZXIvc3JjL2VudW0tcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFFckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQ04sa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQVlyQixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBMkMxRCxZQUNrQixJQUFnQixFQUMxQixnQkFBa0M7UUFFekMsS0FBSyxFQUFF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QjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIGVmZmVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgRHhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvc2VsZWN0LWJveCc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgRGF0YVNvdXJjZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvZGF0YV9zb3VyY2UnO1xyXG5pbXBvcnQgQXJyYXlTdG9yZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvYXJyYXlfc3RvcmUnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQge1xyXG5cdEJhc2VJbnB1dENvbXBvbmVudCxcclxuXHREWElucHV0RXJyb3JNZXNzYWdlUGlwZSxcclxuXHRJbnB1dEVycm9yTWVzc2FnZVBpcGUsXHJcblx0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZVxyXG59IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7IFNlbGVjdEJveEl0ZW0sIFNlbGVjdGlvbkdyb3VwRFRPLCBTZWxlY3Rpb25JdGVtLCBTZWxlY3Rpb25SZXF1ZXN0RFRPIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2VudW0tcGlja2VyW25nTW9kZWxdLCBlbnVtLXBpY2tlcltmb3JtQ29udHJvbF0sIGVudW0tcGlja2VyW2Zvcm1Db250cm9sTmFtZV0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9lbnVtLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIER4U2VsZWN0Qm94TW9kdWxlLCBEWElucHV0RXJyb3JNZXNzYWdlUGlwZSwgVHJhbnNsb2NvTW9kdWxlLCBNdWx0aVNlbGVjdE1vZHVsZV0sXHJcblx0cHJvdmlkZXJzOiBbSW5wdXRFcnJvck1lc3NhZ2VQaXBlXSxcclxuXHRob3N0RGlyZWN0aXZlczogW1ZhbHVlQWNjZXNzb3JEaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnVtUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IHtcclxuXHRzZWxlY3Rpb25JdGVtcyA9IHNpZ25hbDxTZWxlY3RCb3hJdGVtW10gfCBudWxsPihudWxsKTtcclxuXHRzZWxlY3RCb3hEYXRhU291cmNlID0gc2lnbmFsPERhdGFTb3VyY2UgfCBudWxsPihudWxsKTtcclxuXHRwcml2YXRlIG9yaWdpbmFsU2VsZWN0aW9uSXRlbXM6IFNlbGVjdGlvbkl0ZW1bXSA9IFtdO1xyXG5cdC8qKlxyXG5cdCAqIFNpbmdsZSBTZWxlY3QgU3RhdGVzXHJcblx0ICovXHJcblxyXG5cdGl0ZW1LZXkgPSBpbnB1dCgna2V5Jyk7XHJcblx0aXRlbVRleHQgPSBpbnB1dCgndGV4dCcpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0KCcnKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dChudWxsKTtcclxuXHR0YWJpbmRleCA9IGlucHV0PG51bWJlcj4oMCk7XHJcblx0aXRlbXMgPSBpbnB1dDxTZWxlY3RCb3hJdGVtW10+KCk7XHJcblx0aXNNdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzZWxlY3RlZEl0ZW1UZXh0OiBzdHJpbmcgPSAnJztcclxuXHQvKiogKiBAZGVzY3JpcHRpb24gd2hlbiBncm91cGVkID0gdHJ1ZSwgb3B0aW9uIGl0ZW0gc3RydWN0dXJlIHsga2V5OnN0cmluZywgaXRlbXM6W10gfSAqL1xyXG5cdGdyb3VwZWQgPSBpbnB1dChmYWxzZSk7XHJcblx0c2hvd0NsZWFyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzZWFyY2hFeHByID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuXHRhY2NlcHRDdXN0b21WYWx1ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0LyoqXHJcblx0ICogVmlydHVhbCBTY3JvbGwgU3RhdGVzXHJcblx0ICovXHJcblx0dXNlVmlydHVhbFNjcm9sbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHR2aXJ0dWFsU2Nyb2xsSXRlbVNpemUgPSBpbnB1dDxudW1iZXI+KDMwKTtcclxuXHRzY3JvbGxIZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCczMDBweCcpO1xyXG5cclxuXHQvKipcclxuXHQgKiBNdWx0aSBTZWxlY3QgU3RhdGVzXHJcblx0ICovXHJcblxyXG5cdHNlbGVjdGVkSXRlbXNMYWJlbCA9IGlucHV0PHN0cmluZz4oJ3swfSAgZGXEn2VyIHNlw6dpbGRpJyk7IC8vIGRlZmF1bHQgdmFsdWUgLT4gKHswfSBpdGVtcyBzZWxlY3RlZFxyXG5cdGFwcGVuZFRvID0gaW5wdXQ8c3RyaW5nPignYm9keScpO1xyXG5cdHN0eWxlID0gaW5wdXQ8b2JqZWN0Pih7fSk7XHJcblx0c3R5bGVDbGFzcyA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHR0b29sdGlwUG9zaXRpb24gPSBpbnB1dDxhbnk+KCd0b3AnKTtcclxuXHJcblx0QE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0Qm94SXRlbT4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmdyb3VwTmFtZSgpIHx8IHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkpIHRoaXMuZ2V0U2VsZWN0aW9uSXRlbXMoKTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0aW9uSXRlbXMoKSAmJiAodGhpcy5zZWxlY3Rpb25JdGVtcygpIGFzIFNlbGVjdEJveEl0ZW1bXSk/Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVNlbGVjdGlvbkl0ZW1zVGV4dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNldFRpdGxlKGV2ZW50PzogYW55KSB7XHJcblx0XHRpZiAoZXZlbnQgJiYgZXZlbnRbdGhpcy5pdGVtVGV4dCgpXS5sZW5ndGggPiAyNSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkSXRlbVRleHQgPSBldmVudCA/IGV2ZW50W3RoaXMuaXRlbVRleHQoKV0gOiAnJztcclxuXHRcdH1cclxuXHRcdHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0U2VsZWN0aW9uSXRlbXMoKSB7XHJcblx0XHRjb25zdCBwYXlsb2FkOiBQYXJ0aWFsPFNlbGVjdGlvblJlcXVlc3REVE8+ID0ge1xyXG5cdFx0XHRncm91cE5hbWU6IHRoaXMuZ3JvdXBOYW1lKClcclxuXHRcdH07XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSkpIHtcclxuXHRcdFx0cGF5bG9hZC5wYXJlbnRTZWxlY3Rpb25LZXlzID0gdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHBheWxvYWQucGFyZW50U2VsZWN0aW9uS2V5ID0gdGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBob3N0QXBpID0gQVBJX0NPTkZJR1MuZ2V0RXh0ZXJuYWxBcHBFbmRwb2ludChBcHBzLk1ORyk7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdDxTZWxlY3Rpb25Hcm91cERUTz4oaG9zdEFwaSArICcvc2VsZWN0aW9uLWdyb3VwL2xvYWQnLCBwYXlsb2FkKVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0dGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zID0gc2VsZWN0aW9uR3JvdXA/LnNlbGVjdGlvbkl0ZW1zIHx8IFtdO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0dGhpcy5vcmlnaW5hbFNlbGVjdGlvbkl0ZW1zID0gW107XHJcblx0XHR9XHJcblx0XHR0aGlzLnVwZGF0ZVNlbGVjdGlvbkl0ZW1zVGV4dCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb25JdGVtc1RleHQoKSB7XHJcblx0XHRpZiAoIXRoaXMub3JpZ2luYWxTZWxlY3Rpb25JdGVtcyB8fCB0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KG51bGwpO1xyXG5cdFx0XHR0aGlzLnNlbGVjdEJveERhdGFTb3VyY2Uuc2V0KG51bGwpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0dGhpcy5zZWxlY3Rpb25JdGVtcy5zZXQobnVsbCk7XHJcblxyXG5cdFx0Y29uc3QgbWFwcGVkSXRlbXMgPSB0aGlzLm9yaWdpbmFsU2VsZWN0aW9uSXRlbXMubWFwKChpdGVtOiBTZWxlY3Rpb25JdGVtKSA9PiAoe1xyXG5cdFx0XHRrZXk6IGl0ZW0uc2VsZWN0aW9uS2V5LFxyXG5cdFx0XHR0ZXh0OlxyXG5cdFx0XHRcdGl0ZW0/LnNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz8uW2N1cnJlbnRMYW5nXSA/XHJcblx0XHRcdFx0XHRpdGVtLnNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5c1tjdXJyZW50TGFuZ11cclxuXHRcdFx0XHQ6XHRpdGVtLnNlbGVjdGlvbkRpc3BsYXksXHJcblx0XHRcdHBhcmVudFNlbGVjdGlvbktleTogaXRlbS5wYXJlbnRTZWxlY3Rpb25LZXlcclxuXHRcdH0pKTtcclxuXHJcblx0XHR0aGlzLnNlbGVjdGlvbkl0ZW1zLnNldChtYXBwZWRJdGVtcyk7XHJcblx0XHR0aGlzLnJlYnVpbGRTZWxlY3RCb3hEYXRhU291cmNlKG1hcHBlZEl0ZW1zKTtcclxuXHRcdHRoaXMuZmlsdGVyQ3VycmVudFZhbHVlQnlTZWxlY3Rpb25JdGVtcygpO1xyXG5cdH1cclxuXHJcblx0Ly8gUGFyZW50IGVudW0gKG11bHRpcGxlKSBkZcSfacWfdGnEn2luZGUgY2hpbGQnZGFuIHNhZGVjZSBnZcOnZXJzaXoga2V5J2xlcmkgdGVtaXpsZXJcclxuXHRmaWx0ZXJDdXJyZW50VmFsdWVCeVNlbGVjdGlvbkl0ZW1zKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpKSByZXR1cm47XHJcblx0XHRjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sPy52YWx1ZTtcclxuXHRcdGNvbnN0IHZhbGlkS2V5cyA9IG5ldyBTZXQoXHJcblx0XHRcdCh0aGlzLnNlbGVjdGlvbkl0ZW1zKCkgfHwgW10pLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtW3RoaXMuaXRlbUtleSgpXSlcclxuXHRcdCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuaXNNdWx0aXBsZSgpKSB7XHJcblx0XHRcdC8vIENoaWxkIG11bHRpLXNlbGVjdDogZ2XDp2Vyc2l6IGtleSdsZXJpIGZpbHRyZWxlLCBnZcOnZXJsaWxlcmkgYsSxcmFrXHJcblx0XHRcdGlmICghQXJyYXkuaXNBcnJheShjdXJyZW50VmFsdWUpIHx8IGN1cnJlbnRWYWx1ZS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHRcdFx0Y29uc3QgZmlsdGVyZWQgPSAoY3VycmVudFZhbHVlIGFzIHN0cmluZ1tdKS5maWx0ZXIoKGtleSkgPT4gdmFsaWRLZXlzLmhhcyhrZXkpKTtcclxuXHRcdFx0aWYgKGZpbHRlcmVkLmxlbmd0aCAhPT0gY3VycmVudFZhbHVlLmxlbmd0aCkge1xyXG5cdFx0XHRcdHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKGZpbHRlcmVkLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKCFjdXJyZW50VmFsdWUpIHJldHVybjtcclxuXHRcdFx0XHJcblx0XHRcdGlmICghdmFsaWRLZXlzLmhhcyhjdXJyZW50VmFsdWUpKSB7XHJcblx0XHRcdFx0dGhpcy5uZ0NvbnRyb2wuY29udHJvbD8ucmVzZXQobnVsbCwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uQ3VzdG9tSXRlbUNyZWF0aW5nKGV2ZW50OiBhbnkpIHtcclxuXHRcdGlmICghZXZlbnQudGV4dCkge1xyXG5cdFx0XHRldmVudC5jdXN0b21JdGVtID0gbnVsbDtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgbmV3SXRlbSA9IHtcclxuXHRcdFx0W3RoaXMuaXRlbUtleSgpXTogZXZlbnQudGV4dCxcclxuXHRcdFx0W3RoaXMuaXRlbVRleHQoKV06IGV2ZW50LnRleHRcclxuXHRcdH07XHJcblx0XHRjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLnNlbGVjdGlvbkl0ZW1zKCkgfHwgW107XHJcblx0XHRjb25zdCB1cGRhdGVkSXRlbXMgPSBbLi4uY3VycmVudEl0ZW1zLCBuZXdJdGVtXTtcclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KHVwZGF0ZWRJdGVtcyk7XHJcblx0XHR0aGlzLnJlYnVpbGRTZWxlY3RCb3hEYXRhU291cmNlKHVwZGF0ZWRJdGVtcyk7XHJcblx0XHRldmVudC5jdXN0b21JdGVtID0gbmV3SXRlbTtcclxuXHR9XHJcblxyXG5cdFx0cHJpdmF0ZSByZWJ1aWxkU2VsZWN0Qm94RGF0YVNvdXJjZShpdGVtczogU2VsZWN0Qm94SXRlbVtdKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMudXNlVmlydHVhbFNjcm9sbCgpKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0Qm94RGF0YVNvdXJjZS5zZXQobnVsbCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VsZWN0Qm94RGF0YVNvdXJjZS5zZXQoXHJcblx0XHRcdG5ldyBEYXRhU291cmNlKHtcclxuXHRcdFx0XHRzdG9yZTogbmV3IEFycmF5U3RvcmUoe1xyXG5cdFx0XHRcdFx0ZGF0YTogaXRlbXMsXHJcblx0XHRcdFx0XHRrZXk6IHRoaXMuaXRlbUtleSgpXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0cGFnaW5hdGU6IHRydWUsXHJcblx0XHRcdFx0cGFnZVNpemU6IDUwXHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iLCJAaWYoaXNNdWx0aXBsZSgpKXtcclxuICA8cC1tdWx0aVNlbGVjdFxyXG5cdFtvcHRpb25zXT1cInNlbGVjdGlvbkl0ZW1zKCkgfHwgaXRlbXMoKSB8fCBbXVwiXHJcblx0W29wdGlvbkxhYmVsXT1cIml0ZW1UZXh0KClcIlxyXG5cdFtvcHRpb25WYWx1ZV09XCJpdGVtS2V5KClcIlxyXG5cdFtkZWZhdWx0TGFiZWxdPVwicGxhY2Vob2xkZXIoKVwiXHJcblx0W3NlbGVjdGVkSXRlbXNMYWJlbF09XCJzZWxlY3RlZEl0ZW1zTGFiZWwoKVwiXHJcblx0W3N0eWxlXT1cInN0eWxlKClcIlxyXG5cdFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MoKVwiXHJcblx0W3Rvb2x0aXBdPVwidG9vbHRpcCgpXCJcclxuXHRbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcclxuXHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG5cdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwiMlwiXHJcblx0W2FwcGVuZFRvXT1cImFwcGVuZFRvKClcIlxyXG4gIFt2aXJ0dWFsU2Nyb2xsXT1cInVzZVZpcnR1YWxTY3JvbGwoKVwiXHJcblx0W3ZpcnR1YWxTY3JvbGxJdGVtU2l6ZV09XCJ2aXJ0dWFsU2Nyb2xsSXRlbVNpemUoKVwiXHJcblx0W3Njcm9sbEhlaWdodF09XCJzY3JvbGxIZWlnaHQoKVwiXHJcblx0W2ZpbHRlcl09XCJ0cnVlXCI+XHJcbjwvcC1tdWx0aVNlbGVjdD5cclxufUBlbHNlIHtcclxuICA8ZHgtc2VsZWN0LWJveFxyXG4gICAgW2RhdGFTb3VyY2VdPVwidXNlVmlydHVhbFNjcm9sbCgpID8gc2VsZWN0Qm94RGF0YVNvdXJjZSgpIDogKHNlbGVjdGlvbkl0ZW1zKCkgfHwgaXRlbXMoKSB8fCBbXSlcIlxyXG4gICAgW3ZhbHVlRXhwcl09XCJpdGVtS2V5KClcIlxyXG4gICAgW2Rpc3BsYXlFeHByXT1cIml0ZW1UZXh0KClcIlxyXG4gICAgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICBbc2VhcmNoRXhwcl09XCJzZWFyY2hFeHByKClcIlxyXG4gICAgW3RhYkluZGV4XT1cInRhYmluZGV4KClcIlxyXG4gICAgW2dyb3VwZWRdPVwiZ3JvdXBlZCgpXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcclxuICAgIFtzaG93Q2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uKClcIlxyXG4gICAgW2FjY2VwdEN1c3RvbVZhbHVlXT1cImFjY2VwdEN1c3RvbVZhbHVlKClcIlxyXG4gICAgKG9uQ3VzdG9tSXRlbUNyZWF0aW5nKT1cIm9uQ3VzdG9tSXRlbUNyZWF0aW5nKCRldmVudClcIlxyXG4gICAgW2lzVmFsaWRdPVwibmdDb250cm9sPy5jb250cm9sPy52YWxpZCB8fCBuZ0NvbnRyb2w/LmNvbnRyb2w/LnByaXN0aW5lIHx8IG5nQ29udHJvbD8uY29udHJvbD8uZGlzYWJsZWQgfHwgZmFsc2VcIlxyXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJuZ0NvbnRyb2w/LmNvbnRyb2w/LmVycm9ycyB8IGR4SW5wdXRFcnJvck1lc3NhZ2U6IG5nQ29udHJvbD8uY29udHJvbFwiXHJcbiAgICB2YWxpZGF0aW9uTWVzc2FnZVBvc2l0aW9uPVwidG9wXCJcclxuICAgIFtub0RhdGFUZXh0XT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5ub0RhdGFUb0Rpc3BsYXknKVwiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwibmdDb250cm9sLnZpZXdUb01vZGVsVXBkYXRlKCRldmVudClcIlxyXG4gICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQuc2VsZWN0ZWRJdGVtKTtzZXRUaXRsZSgkZXZlbnQuc2VsZWN0ZWRJdGVtKVwiXHJcbiAgICBbaW5wdXRBdHRyXT1cInsgJ3RpdGxlJzogc2VsZWN0ZWRJdGVtVGV4dCB9XCI+XHJcbiAgPC9keC1zZWxlY3QtYm94PlxyXG59XHJcbiJdfQ==
@@ -9,6 +9,8 @@ import { TranslocoModule } from '@ngneat/transloco';
9
9
  import * as i5 from 'devextreme-angular/ui/select-box';
10
10
  import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';
11
11
  import { firstValueFrom } from 'rxjs';
12
+ import DataSource from 'devextreme/data/data_source';
13
+ import ArrayStore from 'devextreme/data/array_store';
12
14
  import { API_CONFIGS } from 'aril/boot/config/api';
13
15
  import { Apps } from 'aril/boot/config/apps';
14
16
  import * as i3 from 'aril/ui/lib';
@@ -21,6 +23,7 @@ class EnumPickerComponent extends BaseInputComponent {
21
23
  this.http = http;
22
24
  this.translocoService = translocoService;
23
25
  this.selectionItems = signal(null);
26
+ this.selectBoxDataSource = signal(null);
24
27
  this.originalSelectionItems = [];
25
28
  /**
26
29
  * Single Select States
@@ -39,6 +42,12 @@ class EnumPickerComponent extends BaseInputComponent {
39
42
  this.placeholder = input('');
40
43
  this.searchExpr = input('');
41
44
  this.acceptCustomValue = input(false);
45
+ /**
46
+ * Virtual Scroll States
47
+ */
48
+ this.useVirtualScroll = input(false);
49
+ this.virtualScrollItemSize = input(30);
50
+ this.scrollHeight = input('300px');
42
51
  /**
43
52
  * Multi Select States
44
53
  */
@@ -88,17 +97,44 @@ class EnumPickerComponent extends BaseInputComponent {
88
97
  updateSelectionItemsText() {
89
98
  if (!this.originalSelectionItems || this.originalSelectionItems.length === 0) {
90
99
  this.selectionItems.set(null);
100
+ this.selectBoxDataSource.set(null);
91
101
  return;
92
102
  }
93
103
  const currentLang = this.translocoService.getActiveLang();
94
104
  this.selectionItems.set(null);
95
- this.selectionItems.set(this.originalSelectionItems.map((item) => ({
105
+ const mappedItems = this.originalSelectionItems.map((item) => ({
96
106
  key: item.selectionKey,
97
107
  text: item?.selectionMultiLanguageDisplays?.[currentLang] ?
98
108
  item.selectionMultiLanguageDisplays[currentLang]
99
109
  : item.selectionDisplay,
100
110
  parentSelectionKey: item.parentSelectionKey
101
- })));
111
+ }));
112
+ this.selectionItems.set(mappedItems);
113
+ this.rebuildSelectBoxDataSource(mappedItems);
114
+ this.filterCurrentValueBySelectionItems();
115
+ }
116
+ // Parent enum (multiple) değiştiğinde child'dan sadece geçersiz key'leri temizler
117
+ filterCurrentValueBySelectionItems() {
118
+ if (!this.parentSelectionKey())
119
+ return;
120
+ const currentValue = this.ngControl.control?.value;
121
+ const validKeys = new Set((this.selectionItems() || []).map((item) => item[this.itemKey()]));
122
+ if (this.isMultiple()) {
123
+ // Child multi-select: geçersiz key'leri filtrele, geçerlileri bırak
124
+ if (!Array.isArray(currentValue) || currentValue.length === 0)
125
+ return;
126
+ const filtered = currentValue.filter((key) => validKeys.has(key));
127
+ if (filtered.length !== currentValue.length) {
128
+ this.ngControl.control?.setValue(filtered, { emitEvent: true });
129
+ }
130
+ }
131
+ else {
132
+ if (!currentValue)
133
+ return;
134
+ if (!validKeys.has(currentValue)) {
135
+ this.ngControl.control?.reset(null, { emitEvent: true });
136
+ }
137
+ }
102
138
  }
103
139
  onCustomItemCreating(event) {
104
140
  if (!event.text) {
@@ -110,15 +146,31 @@ class EnumPickerComponent extends BaseInputComponent {
110
146
  [this.itemText()]: event.text
111
147
  };
112
148
  const currentItems = this.selectionItems() || [];
113
- this.selectionItems.set([...currentItems, newItem]);
149
+ const updatedItems = [...currentItems, newItem];
150
+ this.selectionItems.set(updatedItems);
151
+ this.rebuildSelectBoxDataSource(updatedItems);
114
152
  event.customItem = newItem;
115
153
  }
154
+ rebuildSelectBoxDataSource(items) {
155
+ if (!this.useVirtualScroll()) {
156
+ this.selectBoxDataSource.set(null);
157
+ return;
158
+ }
159
+ this.selectBoxDataSource.set(new DataSource({
160
+ store: new ArrayStore({
161
+ data: items,
162
+ key: this.itemKey()
163
+ }),
164
+ paginate: true,
165
+ pageSize: 50
166
+ }));
167
+ }
116
168
  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 }); }
117
- 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 }, 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 <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [items]=\"selectionItems() || items() || []\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </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"] }] }); }
169
+ 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 }, 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 <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\"\r\n [virtualScroll]=\"useVirtualScroll()\"\r\n\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[filter]=\"true\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </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"] }] }); }
118
170
  }
119
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EnumPickerComponent, decorators: [{
120
172
  type: Component,
121
- args: [{ standalone: true, selector: 'enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule, MultiSelectModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "@if(isMultiple()){\r\n <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [items]=\"selectionItems() || items() || []\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </dx-select-box>\r\n}\r\n" }]
173
+ args: [{ standalone: true, selector: 'enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule, MultiSelectModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "@if(isMultiple()){\r\n <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\"\r\n [virtualScroll]=\"useVirtualScroll()\"\r\n\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[filter]=\"true\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </dx-select-box>\r\n}\r\n" }]
122
174
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { onSelectionChanged: [{
123
175
  type: Output
124
176
  }] } });
@@ -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 { 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\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],\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\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: string = '';\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\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\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\tthis.selectionItems.set(\r\n\t\t\tthis.originalSelectionItems.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\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\tthis.selectionItems.set([...currentItems, newItem]);\r\n\t\tevent.customItem = newItem;\r\n\t}\r\n}\r\n","@if(isMultiple()){\r\n <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [items]=\"selectionItems() || items() || []\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </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\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],\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: string = '';\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\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 <p-multiSelect\r\n\t[options]=\"selectionItems() || items() || []\"\r\n\t[optionLabel]=\"itemText()\"\r\n\t[optionValue]=\"itemKey()\"\r\n\t[defaultLabel]=\"placeholder()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n [maxSelectedLabels]=\"2\"\r\n\t[appendTo]=\"appendTo()\"\r\n [virtualScroll]=\"useVirtualScroll()\"\r\n\t[virtualScrollItemSize]=\"virtualScrollItemSize()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[filter]=\"true\">\r\n</p-multiSelect>\r\n}@else {\r\n <dx-select-box\r\n [dataSource]=\"useVirtualScroll() ? selectBoxDataSource() : (selectionItems() || items() || [])\"\r\n [valueExpr]=\"itemKey()\"\r\n [displayExpr]=\"itemText()\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"searchExpr()\"\r\n [tabIndex]=\"tabindex()\"\r\n [grouped]=\"grouped()\"\r\n [placeholder]=\"placeholder()\"\r\n [showClearButton]=\"showClearButton()\"\r\n [acceptCustomValue]=\"acceptCustomValue()\"\r\n (onCustomItemCreating)=\"onCustomItemCreating($event)\"\r\n [isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n [validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n validationMessagePosition=\"top\"\r\n [noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n [formControl]=\"ngControl.control\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n [inputAttr]=\"{ 'title': selectedItemText }\">\r\n </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", "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", "grouped", "showClearButton", "placeholder", "searchExpr", "acceptCustomValue", "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,
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-translate-input.mjs","sources":["../../projects/aril/ui/translate-input/src/aril-lang-modal/constants.ts","../../projects/aril/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.ts","../../projects/aril/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.html","../../projects/aril/ui/translate-input/src/aril-translate-input.component.ts","../../projects/aril/ui/translate-input/aril-ui-translate-input.ts"],"sourcesContent":["import { LanguageDto } from '../interface';\r\n\r\nexport const ALL_LANGS: LanguageDto[] = [\r\n\t{ code: 'en', name: '🇬🇧 English' },\r\n\t{ code: 'tr', name: '🇹🇷 Türkçe' },\r\n\t{ code: 'de', name: '🇩🇪 Deutsch' },\r\n\t{ code: 'fr', name: '🇫🇷 Français' },\r\n\t{ code: 'es', name: '🇪🇸 Español' },\r\n\t{ code: 'ar', name: '🇸🇦 العربية (السعودية)' },\r\n\t{ code: 'he', name: '🇮🇱 עברית' },\r\n\t{ code: 'fa', name: '🇮🇷 فارسی' },\r\n\t{ code: 'ro', name: '🇷🇴 Română' },\r\n\t{ code: 'ru', name: '🇷🇺 Русский' },\r\n\t{ code: 'ja', name: '🇯🇵 日本語' },\r\n\t{ code: 'zh', name: '🇨🇳 简体中文' }\r\n];\r\n","/* eslint-disable @angular-eslint/component-selector */\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { TagModule } from 'primeng/tag';\r\n\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { EnumPickerComponent } from 'aril/ui-business/enumPicker';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { FieldComponent } from 'aril/ui/field';\r\nimport { TextComponent } from 'aril/ui/text';\r\n\r\nimport { LangModalData, TranslationObject } from '../interface';\r\nimport { ALL_LANGS } from './constants';\r\n\r\n@Component({\r\n\tselector: 'aril-lang-modal',\r\n\timports: [\r\n\t\tTextComponent,\r\n\t\tFormsModule,\r\n\t\tCommonModule,\r\n\t\tButtonComponent,\r\n\t\tTranslocoModule,\r\n\t\tFieldComponent,\r\n\t\tEnumPickerComponent,\r\n\t\tTagModule\r\n\t],\r\n\tstandalone: true,\r\n\ttemplateUrl: 'aril-lang-modal.component.html',\r\n\tstyleUrls: ['aril-lang-modal.component.scss']\r\n})\r\nexport class ArilLangModalComponent {\r\n\ttranslocoService = inject(TranslocoService);\r\n\tselectedLanguages: string[] = ['tr', 'en'];\r\n\tavailableLanguages = ALL_LANGS;\r\n\ttranslations: TranslationObject = {};\r\n\tmandatoryLanguages: string[] = [];\r\n\r\n\tconstructor(\r\n\t\tpublic config: DynamicDialogConfig<LangModalData>,\r\n\t\tpublic ref: DynamicDialogRef\r\n\t) {\r\n\t\tthis.translations = { ...this.config.data?.translations };\r\n\t\tthis.mandatoryLanguages = this.config.data?.mandatoryLanguages || [];\r\n\t}\r\n\r\n\tsave() {\r\n\t\tconst allowed = new Set(this.selectedLanguages);\r\n\t\t// only output the languages that are selected\r\n\t\tconst outputTranslations = Object.fromEntries(Object.entries(this.translations).filter(([k]) => allowed.has(k)));\r\n\t\tthis.ref.close(outputTranslations);\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.ref.close();\r\n\t}\r\n\r\n\tgetLabel(code: string) {\r\n\t\treturn this.availableLanguages.find((lang) => lang.code === code)?.name;\r\n\t}\r\n\r\n\tisSaveDisabled() {\r\n\t\treturn this.mandatoryLanguages?.some((lang) => !this.selectedLanguages.includes(lang) || !this.translations[lang]);\r\n\t}\r\n\r\n\tgetInfoText() {\r\n\t\treturn this.translocoService.translate('translationModal.mandatoryLanguages', {\r\n\t\t\tlanguages: this.mandatoryLanguages?.map((lang) => this.getLabel(lang)).join(', ')\r\n\t\t});\r\n\t}\r\n}\r\n","<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","import { Component, input } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { ArilLangModalComponent } from './aril-lang-modal/aril-lang-modal.component';\r\nimport { TranslationObject } from './interface';\r\n\r\n@Component({\r\n\tselector: 'aril-translate-input[ngModel], aril-translate-input[formControl], aril-translate-input[formControlName]',\r\n\tstandalone: true,\r\n\timports: [FormsModule, ReactiveFormsModule, InputTextModule, TooltipModule, InputErrorMessagePipe, ButtonModule],\r\n\thostDirectives: [ValueAccessorDirective],\r\n\ttemplate: `\r\n\t\t<div class=\"p-inputgroup\">\r\n\t\t\t<input\r\n\t\t\t\tpInputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\t[placeholder]=\"placeholder()\"\r\n\t\t\t\t[ngModel]=\"getDisplayValue()\"\r\n\t\t\t\t(ngModelChange)=\"onInputChange($event)\"\r\n\t\t\t\t[pTooltip]=\"shouldShowError() ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t\t\t[tooltipOptions]=\"tooltipOptions\" />\r\n\t\t\t<p-button icon=\"pi pi-language\" (onClick)=\"openModal()\" styleClass=\"p-button-text p-button-rounded\"> </p-button>\r\n\t\t</div>\r\n\t`,\r\n\tstyles: [\r\n\t\t`\r\n\t\t\t:host ::ng-deep .p-inputgroup {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t:host ::ng-deep .p-inputgroup .p-inputtext {\r\n\t\t\t\tflex: 1 1 auto;\r\n\t\t\t\tborder-top-right-radius: 0;\r\n\t\t\t\tborder-bottom-right-radius: 0;\r\n\t\t\t}\r\n\r\n\t\t\t:host ::ng-deep .p-inputgroup .p-button {\r\n\t\t\t\tborder-top-left-radius: 0;\r\n\t\t\t\tborder-bottom-left-radius: 0;\r\n\t\t\t}\r\n\r\n\t\t\t:host ::ng-deep .p-inputgroup-sm .p-inputtext,\r\n\t\t\t:host ::ng-deep .p-inputgroup-sm .p-button {\r\n\t\t\t\tline-height: 1.3;\r\n\t\t\t}\r\n\t\t`\r\n\t]\r\n})\r\nexport class ArilTranslateInputComponent extends BaseInputComponent {\r\n\tplaceholder = input<string>('');\r\n\tmandatoryLanguages = input<string[]>();\r\n\r\n\tvalue: TranslationObject = {};\r\n\tcurrentLang!: string;\r\n\r\n\tonChange = (used: any) => {};\r\n\tonTouch = () => {};\r\n\r\n\tconstructor(\r\n\t\treadonly dialogService: DialogService,\r\n\t\treadonly translocoService: TranslocoService\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.currentLang = this.translocoService.getActiveLang();\r\n\t}\r\n\r\n\twriteValue(value: TranslationObject): void {\r\n\t\tif (!value) {\r\n\t\t\tthis.value = {};\r\n\t\t} else if (typeof value === 'object') {\r\n\t\t\tthis.value = value || {};\r\n\t\t} else {\r\n\t\t\tconsole.error('Invalid value type for translations, expected object');\r\n\t\t\tthis.value = {};\r\n\t\t}\r\n\t\tthis.updateFormControlSilently(this.value);\r\n\t}\r\n\r\n\tprivate updateFormControlSilently(value: TranslationObject): void {\r\n\t\tif (this.ngControl?.control) {\r\n\t\t\tthis.ngControl.control.setValue(value, { emitEvent: false });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateValueAndFormControl(newValue: TranslationObject): void {\r\n\t\tthis.value = { ...newValue };\r\n\t\tthis.updateFormControlSilently(this.value);\r\n\t\tthis.onChange(this.value);\r\n\t\tthis.onTouch();\r\n\t}\r\n\r\n\tonInputChange(newValue: string): void {\r\n\t\tconst updatedValue = {\r\n\t\t\t...this.value,\r\n\t\t\t[this.currentLang]: newValue\r\n\t\t};\r\n\t\tthis.updateValueAndFormControl(updatedValue);\r\n\t}\r\n\r\n\tgetDisplayValue(): string {\r\n\t\tlet translationObj = this.value;\r\n\r\n\t\tconst controlValue = this.ngControl?.control?.value;\r\n\t\tif (controlValue && typeof controlValue === 'object') {\r\n\t\t\ttranslationObj = controlValue;\r\n\t\t}\r\n\r\n\t\treturn translationObj?.[this.currentLang] || '';\r\n\t}\r\n\r\n\topenModal() {\r\n\t\tconst currentTranslations = this.ngControl?.control?.value || this.value || {};\r\n\t\tconst ref = this.dialogService.open(ArilLangModalComponent, {\r\n\t\t\twidth: '40%',\r\n\t\t\tdata: {\r\n\t\t\t\ttranslations: { ...currentTranslations },\r\n\t\t\t\tcurrentLang: this.currentLang,\r\n\t\t\t\tmandatoryLanguages: this.mandatoryLanguages()\r\n\t\t\t},\r\n\t\t\theader: this.translocoService.translate('translationModal.title')\r\n\t\t});\r\n\r\n\t\tref.onClose.subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.updateValueAndFormControl(result);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.updateValueAndFormControl({ ...result });\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tshouldShowError(): boolean {\r\n\t\tif (!this.ngControl?.invalid) return false;\r\n\t\tif (this.value && typeof this.value === 'object') {\r\n\t\t\tconst hasAnyTranslation = Object.values(this.value).some((val) => val && val.trim() !== '');\r\n\t\t\tif (hasAnyTranslation) return false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"aril-ui-translate-input.mjs","sources":["../../projects/aril/ui/translate-input/src/aril-lang-modal/constants.ts","../../projects/aril/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.ts","../../projects/aril/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.html","../../projects/aril/ui/translate-input/src/aril-translate-input.component.ts","../../projects/aril/ui/translate-input/aril-ui-translate-input.ts"],"sourcesContent":["import { LanguageDto } from '../interface';\r\n\r\nexport const ALL_LANGS: LanguageDto[] = [\r\n\t{ code: 'en', name: '🇬🇧 English' },\r\n\t{ code: 'tr', name: '🇹🇷 Türkçe' },\r\n\t{ code: 'de', name: '🇩🇪 Deutsch' },\r\n\t{ code: 'fr', name: '🇫🇷 Français' },\r\n\t{ code: 'es', name: '🇪🇸 Español' },\r\n\t{ code: 'ar', name: '🇸🇦 العربية (السعودية)' },\r\n\t{ code: 'he', name: '🇮🇱 עברית' },\r\n\t{ code: 'fa', name: '🇮🇷 فارسی' },\r\n\t{ code: 'ro', name: '🇷🇴 Română' },\r\n\t{ code: 'ru', name: '🇷🇺 Русский' },\r\n\t{ code: 'ja', name: '🇯🇵 日本語' },\r\n\t{ code: 'zh', name: '🇨🇳 简体中文' }\r\n];\r\n","/* eslint-disable @angular-eslint/component-selector */\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { TagModule } from 'primeng/tag';\r\n\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { EnumPickerComponent } from 'aril/ui-business/enumPicker';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { FieldComponent } from 'aril/ui/field';\r\nimport { TextComponent } from 'aril/ui/text';\r\n\r\nimport { LangModalData, TranslationObject } from '../interface';\r\nimport { ALL_LANGS } from './constants';\r\n\r\n@Component({\r\n\tselector: 'aril-lang-modal',\r\n\timports: [\r\n\t\tTextComponent,\r\n\t\tFormsModule,\r\n\t\tCommonModule,\r\n\t\tButtonComponent,\r\n\t\tTranslocoModule,\r\n\t\tFieldComponent,\r\n\t\tEnumPickerComponent,\r\n\t\tTagModule\r\n\t],\r\n\tstandalone: true,\r\n\ttemplateUrl: 'aril-lang-modal.component.html',\r\n\tstyleUrls: ['aril-lang-modal.component.scss']\r\n})\r\nexport class ArilLangModalComponent {\r\n\ttranslocoService = inject(TranslocoService);\r\n\tselectedLanguages: string[] = ['tr', 'en'];\r\n\tavailableLanguages = ALL_LANGS;\r\n\ttranslations: TranslationObject = {};\r\n\tmandatoryLanguages: string[] = [];\r\n\r\n\tconstructor(\r\n\t\tpublic config: DynamicDialogConfig<LangModalData>,\r\n\t\tpublic ref: DynamicDialogRef\r\n\t) {\r\n\t\tthis.translations = { ...this.config.data?.translations };\r\n\t\tthis.mandatoryLanguages = this.config.data?.mandatoryLanguages || [];\r\n\t}\r\n\r\n\tsave() {\r\n\t\tconst allowed = new Set(this.selectedLanguages);\r\n\t\t// only output the languages that are selected\r\n\t\tconst outputTranslations = Object.fromEntries(Object.entries(this.translations).filter(([k]) => allowed.has(k)));\r\n\t\tthis.ref.close(outputTranslations);\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.ref.close();\r\n\t}\r\n\r\n\tgetLabel(code: string) {\r\n\t\treturn this.availableLanguages.find((lang) => lang.code === code)?.name;\r\n\t}\r\n\r\n\tisSaveDisabled() {\r\n\t\treturn this.mandatoryLanguages?.some((lang) => !this.selectedLanguages.includes(lang) || !this.translations[lang]);\r\n\t}\r\n\r\n\tgetInfoText() {\r\n\t\treturn this.translocoService.translate('translationModal.mandatoryLanguages', {\r\n\t\t\tlanguages: this.mandatoryLanguages?.map((lang) => this.getLabel(lang)).join(', ')\r\n\t\t});\r\n\t}\r\n}\r\n","<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","import { Component, input } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { ArilLangModalComponent } from './aril-lang-modal/aril-lang-modal.component';\r\nimport { TranslationObject } from './interface';\r\n\r\n@Component({\r\n\tselector: 'aril-translate-input[ngModel], aril-translate-input[formControl], aril-translate-input[formControlName]',\r\n\tstandalone: true,\r\n\timports: [FormsModule, ReactiveFormsModule, InputTextModule, TooltipModule, InputErrorMessagePipe, ButtonModule],\r\n\thostDirectives: [ValueAccessorDirective],\r\n\ttemplate: `\r\n\t\t<div class=\"p-inputgroup\">\r\n\t\t\t<input\r\n\t\t\t\tpInputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\t[placeholder]=\"placeholder()\"\r\n\t\t\t\t[ngModel]=\"getDisplayValue()\"\r\n\t\t\t\t(ngModelChange)=\"onInputChange($event)\"\r\n\t\t\t\t[pTooltip]=\"shouldShowError() ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t\t\t[tooltipOptions]=\"tooltipOptions\" />\r\n\t\t\t<p-button icon=\"pi pi-language\" (onClick)=\"openModal()\" styleClass=\"p-button-text p-button-rounded\"> </p-button>\r\n\t\t</div>\r\n\t`,\r\n\tstyles: [\r\n\t\t`\r\n\t\t\t:host ::ng-deep .p-inputgroup {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t:host ::ng-deep .p-inputgroup .p-inputtext {\r\n\t\t\t\tflex: 1 1 auto;\r\n\t\t\t\tborder-top-right-radius: 0;\r\n\t\t\t\tborder-bottom-right-radius: 0;\r\n\t\t\t}\r\n\r\n\t\t\t:host ::ng-deep .p-inputgroup .p-button {\r\n\t\t\t\tborder-top-left-radius: 0;\r\n\t\t\t\tborder-bottom-left-radius: 0;\r\n\t\t\t}\r\n\r\n\t\t\t:host ::ng-deep .p-inputgroup-sm .p-inputtext,\r\n\t\t\t:host ::ng-deep .p-inputgroup-sm .p-button {\r\n\t\t\t\tline-height: 1.3;\r\n\t\t\t}\r\n\t\t`\r\n\t]\r\n})\r\nexport class ArilTranslateInputComponent extends BaseInputComponent {\r\n\tplaceholder = input<string>('');\r\n\tmandatoryLanguages = input<string[]>();\r\n\r\n\tvalue: TranslationObject = {};\r\n\tcurrentLang!: string;\r\n\r\n\tonChange = (used: any) => {};\r\n\tonTouch = () => {};\r\n\r\n\tconstructor(\r\n\t\treadonly dialogService: DialogService,\r\n\t\treadonly translocoService: TranslocoService\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.currentLang = this.translocoService.getActiveLang();\r\n\t}\r\n\r\n\twriteValue(value: TranslationObject): void {\r\n\t\tif (!value) {\r\n\t\t\tthis.value = {};\r\n\t\t} else if (typeof value === 'object') {\r\n\t\t\tthis.value = value || {};\r\n\t\t} else {\r\n\t\t\tconsole.error('Invalid value type for translations, expected object');\r\n\t\t\tthis.value = {};\r\n\t\t}\r\n\t\tthis.updateFormControlSilently(this.value);\r\n\t}\r\n\r\n\tprivate updateFormControlSilently(value: TranslationObject): void {\r\n\t\tif (this.ngControl?.control) {\r\n\t\t\tthis.ngControl.control.setValue(value, { emitEvent: false });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateValueAndFormControl(newValue: TranslationObject): void {\r\n\t\tthis.value = { ...newValue };\r\n\t\tthis.updateFormControlSilently(this.value);\r\n\t\tthis.onChange(this.value);\r\n\t\tthis.onTouch();\r\n\t}\r\n\r\n\tonInputChange(newValue: string): void {\r\n\t\tconst updatedValue = {\r\n\t\t\t...this.value,\r\n\t\t\t[this.currentLang]: newValue\r\n\t\t};\r\n\t\tthis.updateValueAndFormControl(updatedValue);\r\n\t}\r\n\r\n\tgetDisplayValue(): string {\r\n\t\tlet translationObj = this.value;\r\n\r\n\t\tconst controlValue = this.ngControl?.control?.value;\r\n\t\tif (controlValue && typeof controlValue === 'object') {\r\n\t\t\ttranslationObj = controlValue;\r\n\t\t}\r\n\r\n\t\treturn translationObj?.[this.currentLang] || '';\r\n\t}\r\n\r\n\topenModal() {\r\n\t\tconst currentTranslations = this.ngControl?.control?.value || this.value || {};\r\n\t\tconst ref = this.dialogService.open(ArilLangModalComponent, {\r\n\t\t\twidth: '40%',\r\n\t\t\tdata: {\r\n\t\t\t\ttranslations: { ...currentTranslations },\r\n\t\t\t\tcurrentLang: this.currentLang,\r\n\t\t\t\tmandatoryLanguages: this.mandatoryLanguages()\r\n\t\t\t},\r\n\t\t\theader: this.translocoService.translate('translationModal.title')\r\n\t\t});\r\n\r\n\t\tref.onClose.subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.updateValueAndFormControl(result);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.updateValueAndFormControl({ ...result });\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tshouldShowError(): boolean {\r\n\t\tif (!this.ngControl?.invalid) return false;\r\n\t\tif (this.value && typeof this.value === 'object') {\r\n\t\t\tconst hasAnyTranslation = Object.values(this.value).some((val) => val && val.trim() !== '');\r\n\t\t\tif (hasAnyTranslation) return false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aril",
3
- "version": "1.1.89",
3
+ "version": "1.1.91",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "~17.1.0",
6
6
  "@angular/common": "^17.1.0",
@@ -46,18 +46,18 @@
46
46
  "esm": "./esm2022/aril.mjs",
47
47
  "default": "./fesm2022/aril.mjs"
48
48
  },
49
- "./boot": {
50
- "types": "./boot/index.d.ts",
51
- "esm2022": "./esm2022/boot/aril-boot.mjs",
52
- "esm": "./esm2022/boot/aril-boot.mjs",
53
- "default": "./fesm2022/aril-boot.mjs"
54
- },
55
49
  "./http": {
56
50
  "types": "./http/index.d.ts",
57
51
  "esm2022": "./esm2022/http/aril-http.mjs",
58
52
  "esm": "./esm2022/http/aril-http.mjs",
59
53
  "default": "./fesm2022/aril-http.mjs"
60
54
  },
55
+ "./boot": {
56
+ "types": "./boot/index.d.ts",
57
+ "esm2022": "./esm2022/boot/aril-boot.mjs",
58
+ "esm": "./esm2022/boot/aril-boot.mjs",
59
+ "default": "./fesm2022/aril-boot.mjs"
60
+ },
61
61
  "./i18n": {
62
62
  "types": "./i18n/index.d.ts",
63
63
  "esm2022": "./esm2022/i18n/aril-i18n.mjs",
@@ -172,18 +172,18 @@
172
172
  "esm": "./esm2022/ui/collapse-reorder-list/aril-ui-collapse-reorder-list.mjs",
173
173
  "default": "./fesm2022/aril-ui-collapse-reorder-list.mjs"
174
174
  },
175
- "./ui/dxEditor": {
176
- "types": "./ui/dxEditor/index.d.ts",
177
- "esm2022": "./esm2022/ui/dxEditor/aril-ui-dxEditor.mjs",
178
- "esm": "./esm2022/ui/dxEditor/aril-ui-dxEditor.mjs",
179
- "default": "./fesm2022/aril-ui-dxEditor.mjs"
180
- },
181
175
  "./ui/dxField": {
182
176
  "types": "./ui/dxField/index.d.ts",
183
177
  "esm2022": "./esm2022/ui/dxField/aril-ui-dxField.mjs",
184
178
  "esm": "./esm2022/ui/dxField/aril-ui-dxField.mjs",
185
179
  "default": "./fesm2022/aril-ui-dxField.mjs"
186
180
  },
181
+ "./ui/dxEditor": {
182
+ "types": "./ui/dxEditor/index.d.ts",
183
+ "esm2022": "./esm2022/ui/dxEditor/aril-ui-dxEditor.mjs",
184
+ "esm": "./esm2022/ui/dxEditor/aril-ui-dxEditor.mjs",
185
+ "default": "./fesm2022/aril-ui-dxEditor.mjs"
186
+ },
187
187
  "./ui/editor": {
188
188
  "types": "./ui/editor/index.d.ts",
189
189
  "esm2022": "./esm2022/ui/editor/aril-ui-editor.mjs",
@@ -208,35 +208,41 @@
208
208
  "esm": "./esm2022/ui/form/aril-ui-form.mjs",
209
209
  "default": "./fesm2022/aril-ui-form.mjs"
210
210
  },
211
- "./ui/loader": {
212
- "types": "./ui/loader/index.d.ts",
213
- "esm2022": "./esm2022/ui/loader/aril-ui-loader.mjs",
214
- "esm": "./esm2022/ui/loader/aril-ui-loader.mjs",
215
- "default": "./fesm2022/aril-ui-loader.mjs"
216
- },
217
211
  "./ui/img-viewer": {
218
212
  "types": "./ui/img-viewer/index.d.ts",
219
213
  "esm2022": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
220
214
  "esm": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
221
215
  "default": "./fesm2022/aril-ui-img-viewer.mjs"
222
216
  },
217
+ "./ui/json-diff-comparison": {
218
+ "types": "./ui/json-diff-comparison/index.d.ts",
219
+ "esm2022": "./esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs",
220
+ "esm": "./esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs",
221
+ "default": "./fesm2022/aril-ui-json-diff-comparison.mjs"
222
+ },
223
223
  "./ui/lib": {
224
224
  "types": "./ui/lib/index.d.ts",
225
225
  "esm2022": "./esm2022/ui/lib/aril-ui-lib.mjs",
226
226
  "esm": "./esm2022/ui/lib/aril-ui-lib.mjs",
227
227
  "default": "./fesm2022/aril-ui-lib.mjs"
228
228
  },
229
+ "./ui/loader": {
230
+ "types": "./ui/loader/index.d.ts",
231
+ "esm2022": "./esm2022/ui/loader/aril-ui-loader.mjs",
232
+ "esm": "./esm2022/ui/loader/aril-ui-loader.mjs",
233
+ "default": "./fesm2022/aril-ui-loader.mjs"
234
+ },
229
235
  "./ui/mask": {
230
236
  "types": "./ui/mask/index.d.ts",
231
237
  "esm2022": "./esm2022/ui/mask/aril-ui-mask.mjs",
232
238
  "esm": "./esm2022/ui/mask/aril-ui-mask.mjs",
233
239
  "default": "./fesm2022/aril-ui-mask.mjs"
234
240
  },
235
- "./ui/json-diff-comparison": {
236
- "types": "./ui/json-diff-comparison/index.d.ts",
237
- "esm2022": "./esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs",
238
- "esm": "./esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs",
239
- "default": "./fesm2022/aril-ui-json-diff-comparison.mjs"
241
+ "./ui/multiSelect": {
242
+ "types": "./ui/multiSelect/index.d.ts",
243
+ "esm2022": "./esm2022/ui/multiSelect/aril-ui-multiSelect.mjs",
244
+ "esm": "./esm2022/ui/multiSelect/aril-ui-multiSelect.mjs",
245
+ "default": "./fesm2022/aril-ui-multiSelect.mjs"
240
246
  },
241
247
  "./ui/number": {
242
248
  "types": "./ui/number/index.d.ts",
@@ -250,24 +256,18 @@
250
256
  "esm": "./esm2022/ui/operation-types-dialog/aril-ui-operation-types-dialog.mjs",
251
257
  "default": "./fesm2022/aril-ui-operation-types-dialog.mjs"
252
258
  },
253
- "./ui/panel": {
254
- "types": "./ui/panel/index.d.ts",
255
- "esm2022": "./esm2022/ui/panel/aril-ui-panel.mjs",
256
- "esm": "./esm2022/ui/panel/aril-ui-panel.mjs",
257
- "default": "./fesm2022/aril-ui-panel.mjs"
258
- },
259
- "./ui/multiSelect": {
260
- "types": "./ui/multiSelect/index.d.ts",
261
- "esm2022": "./esm2022/ui/multiSelect/aril-ui-multiSelect.mjs",
262
- "esm": "./esm2022/ui/multiSelect/aril-ui-multiSelect.mjs",
263
- "default": "./fesm2022/aril-ui-multiSelect.mjs"
264
- },
265
259
  "./ui/overlayPanel": {
266
260
  "types": "./ui/overlayPanel/index.d.ts",
267
261
  "esm2022": "./esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs",
268
262
  "esm": "./esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs",
269
263
  "default": "./fesm2022/aril-ui-overlayPanel.mjs"
270
264
  },
265
+ "./ui/panel": {
266
+ "types": "./ui/panel/index.d.ts",
267
+ "esm2022": "./esm2022/ui/panel/aril-ui-panel.mjs",
268
+ "esm": "./esm2022/ui/panel/aril-ui-panel.mjs",
269
+ "default": "./fesm2022/aril-ui-panel.mjs"
270
+ },
271
271
  "./ui/password": {
272
272
  "types": "./ui/password/index.d.ts",
273
273
  "esm2022": "./esm2022/ui/password/aril-ui-password.mjs",
@@ -280,18 +280,18 @@
280
280
  "esm": "./esm2022/ui/pdf-viewer/aril-ui-pdf-viewer.mjs",
281
281
  "default": "./fesm2022/aril-ui-pdf-viewer.mjs"
282
282
  },
283
- "./ui/radioButton": {
284
- "types": "./ui/radioButton/index.d.ts",
285
- "esm2022": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
286
- "esm": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
287
- "default": "./fesm2022/aril-ui-radioButton.mjs"
288
- },
289
283
  "./ui/progressbar": {
290
284
  "types": "./ui/progressbar/index.d.ts",
291
285
  "esm2022": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
292
286
  "esm": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
293
287
  "default": "./fesm2022/aril-ui-progressbar.mjs"
294
288
  },
289
+ "./ui/radioButton": {
290
+ "types": "./ui/radioButton/index.d.ts",
291
+ "esm2022": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
292
+ "esm": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
293
+ "default": "./fesm2022/aril-ui-radioButton.mjs"
294
+ },
295
295
  "./ui/relativeDateSelector": {
296
296
  "types": "./ui/relativeDateSelector/index.d.ts",
297
297
  "esm2022": "./esm2022/ui/relativeDateSelector/aril-ui-relativeDateSelector.mjs",
@@ -304,36 +304,36 @@
304
304
  "esm": "./esm2022/ui/selectBox/aril-ui-selectBox.mjs",
305
305
  "default": "./fesm2022/aril-ui-selectBox.mjs"
306
306
  },
307
- "./ui/table": {
308
- "types": "./ui/table/index.d.ts",
309
- "esm2022": "./esm2022/ui/table/aril-ui-table.mjs",
310
- "esm": "./esm2022/ui/table/aril-ui-table.mjs",
311
- "default": "./fesm2022/aril-ui-table.mjs"
312
- },
313
307
  "./ui/switch": {
314
308
  "types": "./ui/switch/index.d.ts",
315
309
  "esm2022": "./esm2022/ui/switch/aril-ui-switch.mjs",
316
310
  "esm": "./esm2022/ui/switch/aril-ui-switch.mjs",
317
311
  "default": "./fesm2022/aril-ui-switch.mjs"
318
312
  },
313
+ "./ui/table": {
314
+ "types": "./ui/table/index.d.ts",
315
+ "esm2022": "./esm2022/ui/table/aril-ui-table.mjs",
316
+ "esm": "./esm2022/ui/table/aril-ui-table.mjs",
317
+ "default": "./fesm2022/aril-ui-table.mjs"
318
+ },
319
319
  "./ui/table-expand": {
320
320
  "types": "./ui/table-expand/index.d.ts",
321
321
  "esm2022": "./esm2022/ui/table-expand/aril-ui-table-expand.mjs",
322
322
  "esm": "./esm2022/ui/table-expand/aril-ui-table-expand.mjs",
323
323
  "default": "./fesm2022/aril-ui-table-expand.mjs"
324
324
  },
325
- "./ui/tagBox": {
326
- "types": "./ui/tagBox/index.d.ts",
327
- "esm2022": "./esm2022/ui/tagBox/aril-ui-tagBox.mjs",
328
- "esm": "./esm2022/ui/tagBox/aril-ui-tagBox.mjs",
329
- "default": "./fesm2022/aril-ui-tagBox.mjs"
330
- },
331
325
  "./ui/tag": {
332
326
  "types": "./ui/tag/index.d.ts",
333
327
  "esm2022": "./esm2022/ui/tag/aril-ui-tag.mjs",
334
328
  "esm": "./esm2022/ui/tag/aril-ui-tag.mjs",
335
329
  "default": "./fesm2022/aril-ui-tag.mjs"
336
330
  },
331
+ "./ui/tagBox": {
332
+ "types": "./ui/tagBox/index.d.ts",
333
+ "esm2022": "./esm2022/ui/tagBox/aril-ui-tagBox.mjs",
334
+ "esm": "./esm2022/ui/tagBox/aril-ui-tagBox.mjs",
335
+ "default": "./fesm2022/aril-ui-tagBox.mjs"
336
+ },
337
337
  "./ui/text": {
338
338
  "types": "./ui/text/index.d.ts",
339
339
  "esm2022": "./esm2022/ui/text/aril-ui-text.mjs",
@@ -370,23 +370,17 @@
370
370
  "esm": "./esm2022/ui/tree/aril-ui-tree.mjs",
371
371
  "default": "./fesm2022/aril-ui-tree.mjs"
372
372
  },
373
- "./ui/treeTable": {
374
- "types": "./ui/treeTable/index.d.ts",
375
- "esm2022": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
376
- "esm": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
377
- "default": "./fesm2022/aril-ui-treeTable.mjs"
378
- },
379
373
  "./ui/treeSelect": {
380
374
  "types": "./ui/treeSelect/index.d.ts",
381
375
  "esm2022": "./esm2022/ui/treeSelect/aril-ui-treeSelect.mjs",
382
376
  "esm": "./esm2022/ui/treeSelect/aril-ui-treeSelect.mjs",
383
377
  "default": "./fesm2022/aril-ui-treeSelect.mjs"
384
378
  },
385
- "./ui-business/assetPicker": {
386
- "types": "./ui-business/assetPicker/index.d.ts",
387
- "esm2022": "./esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs",
388
- "esm": "./esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs",
389
- "default": "./fesm2022/aril-ui-business-assetPicker.mjs"
379
+ "./ui/treeTable": {
380
+ "types": "./ui/treeTable/index.d.ts",
381
+ "esm2022": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
382
+ "esm": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
383
+ "default": "./fesm2022/aril-ui-treeTable.mjs"
390
384
  },
391
385
  "./ui/value": {
392
386
  "types": "./ui/value/index.d.ts",
@@ -394,11 +388,11 @@
394
388
  "esm": "./esm2022/ui/value/aril-ui-value.mjs",
395
389
  "default": "./fesm2022/aril-ui-value.mjs"
396
390
  },
397
- "./ui-business/enumPicker": {
398
- "types": "./ui-business/enumPicker/index.d.ts",
399
- "esm2022": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
400
- "esm": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
401
- "default": "./fesm2022/aril-ui-business-enumPicker.mjs"
391
+ "./ui-business/assetPicker": {
392
+ "types": "./ui-business/assetPicker/index.d.ts",
393
+ "esm2022": "./esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs",
394
+ "esm": "./esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs",
395
+ "default": "./fesm2022/aril-ui-business-assetPicker.mjs"
402
396
  },
403
397
  "./ui-business/detailed-overlay-panel": {
404
398
  "types": "./ui-business/detailed-overlay-panel/index.d.ts",
@@ -406,17 +400,23 @@
406
400
  "esm": "./esm2022/ui-business/detailed-overlay-panel/aril-ui-business-detailed-overlay-panel.mjs",
407
401
  "default": "./fesm2022/aril-ui-business-detailed-overlay-panel.mjs"
408
402
  },
403
+ "./ui-business/image-viewer": {
404
+ "types": "./ui-business/image-viewer/index.d.ts",
405
+ "esm2022": "./esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs",
406
+ "esm": "./esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs",
407
+ "default": "./fesm2022/aril-ui-business-image-viewer.mjs"
408
+ },
409
409
  "./ui-business/multiple-ref-value": {
410
410
  "types": "./ui-business/multiple-ref-value/index.d.ts",
411
411
  "esm2022": "./esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs",
412
412
  "esm": "./esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs",
413
413
  "default": "./fesm2022/aril-ui-business-multiple-ref-value.mjs"
414
414
  },
415
- "./ui-business/image-viewer": {
416
- "types": "./ui-business/image-viewer/index.d.ts",
417
- "esm2022": "./esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs",
418
- "esm": "./esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs",
419
- "default": "./fesm2022/aril-ui-business-image-viewer.mjs"
415
+ "./ui-business/enumPicker": {
416
+ "types": "./ui-business/enumPicker/index.d.ts",
417
+ "esm2022": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
418
+ "esm": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
419
+ "default": "./fesm2022/aril-ui-business-enumPicker.mjs"
420
420
  },
421
421
  "./ui-business/notification-templates-dialog": {
422
422
  "types": "./ui-business/notification-templates-dialog/index.d.ts",
@@ -424,12 +424,6 @@
424
424
  "esm": "./esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs",
425
425
  "default": "./fesm2022/aril-ui-business-notification-templates-dialog.mjs"
426
426
  },
427
- "./ui-business/operation-types-dialog": {
428
- "types": "./ui-business/operation-types-dialog/index.d.ts",
429
- "esm2022": "./esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs",
430
- "esm": "./esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs",
431
- "default": "./fesm2022/aril-ui-business-operation-types-dialog.mjs"
432
- },
433
427
  "./ui-business/ref-value": {
434
428
  "types": "./ui-business/ref-value/index.d.ts",
435
429
  "esm2022": "./esm2022/ui-business/ref-value/aril-ui-business-ref-value.mjs",
@@ -442,6 +436,12 @@
442
436
  "esm": "./esm2022/ui-business/rolePicker/aril-ui-business-rolePicker.mjs",
443
437
  "default": "./fesm2022/aril-ui-business-rolePicker.mjs"
444
438
  },
439
+ "./ui-business/operation-types-dialog": {
440
+ "types": "./ui-business/operation-types-dialog/index.d.ts",
441
+ "esm2022": "./esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs",
442
+ "esm": "./esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs",
443
+ "default": "./fesm2022/aril-ui-business-operation-types-dialog.mjs"
444
+ },
445
445
  "./ui-business/userPicker": {
446
446
  "types": "./ui-business/userPicker/index.d.ts",
447
447
  "esm2022": "./esm2022/ui-business/userPicker/aril-ui-business-userPicker.mjs",
@@ -454,23 +454,17 @@
454
454
  "esm": "./esm2022/util/block/aril-util-block.mjs",
455
455
  "default": "./fesm2022/aril-util-block.mjs"
456
456
  },
457
- "./util/directives": {
458
- "types": "./util/directives/index.d.ts",
459
- "esm2022": "./esm2022/util/directives/aril-util-directives.mjs",
460
- "esm": "./esm2022/util/directives/aril-util-directives.mjs",
461
- "default": "./fesm2022/aril-util-directives.mjs"
462
- },
463
457
  "./util/custom_pages": {
464
458
  "types": "./util/custom_pages/index.d.ts",
465
459
  "esm2022": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
466
460
  "esm": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
467
461
  "default": "./fesm2022/aril-util-custom_pages.mjs"
468
462
  },
469
- "./util/loaders": {
470
- "types": "./util/loaders/index.d.ts",
471
- "esm2022": "./esm2022/util/loaders/aril-util-loaders.mjs",
472
- "esm": "./esm2022/util/loaders/aril-util-loaders.mjs",
473
- "default": "./fesm2022/aril-util-loaders.mjs"
463
+ "./util/directives": {
464
+ "types": "./util/directives/index.d.ts",
465
+ "esm2022": "./esm2022/util/directives/aril-util-directives.mjs",
466
+ "esm": "./esm2022/util/directives/aril-util-directives.mjs",
467
+ "default": "./fesm2022/aril-util-directives.mjs"
474
468
  },
475
469
  "./util/lib": {
476
470
  "types": "./util/lib/index.d.ts",
@@ -478,11 +472,11 @@
478
472
  "esm": "./esm2022/util/lib/aril-util-lib.mjs",
479
473
  "default": "./fesm2022/aril-util-lib.mjs"
480
474
  },
481
- "./util/primitive-extensions": {
482
- "types": "./util/primitive-extensions/index.d.ts",
483
- "esm2022": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
484
- "esm": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
485
- "default": "./fesm2022/aril-util-primitive-extensions.mjs"
475
+ "./util/loaders": {
476
+ "types": "./util/loaders/index.d.ts",
477
+ "esm2022": "./esm2022/util/loaders/aril-util-loaders.mjs",
478
+ "esm": "./esm2022/util/loaders/aril-util-loaders.mjs",
479
+ "default": "./fesm2022/aril-util-loaders.mjs"
486
480
  },
487
481
  "./util/pipes": {
488
482
  "types": "./util/pipes/index.d.ts",
@@ -490,11 +484,11 @@
490
484
  "esm": "./esm2022/util/pipes/aril-util-pipes.mjs",
491
485
  "default": "./fesm2022/aril-util-pipes.mjs"
492
486
  },
493
- "./util/sync-active-tab-route": {
494
- "types": "./util/sync-active-tab-route/index.d.ts",
495
- "esm2022": "./esm2022/util/sync-active-tab-route/aril-util-sync-active-tab-route.mjs",
496
- "esm": "./esm2022/util/sync-active-tab-route/aril-util-sync-active-tab-route.mjs",
497
- "default": "./fesm2022/aril-util-sync-active-tab-route.mjs"
487
+ "./util/primitive-extensions": {
488
+ "types": "./util/primitive-extensions/index.d.ts",
489
+ "esm2022": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
490
+ "esm": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
491
+ "default": "./fesm2022/aril-util-primitive-extensions.mjs"
498
492
  },
499
493
  "./util/pub-sub": {
500
494
  "types": "./util/pub-sub/index.d.ts",
@@ -502,11 +496,11 @@
502
496
  "esm": "./esm2022/util/pub-sub/aril-util-pub-sub.mjs",
503
497
  "default": "./fesm2022/aril-util-pub-sub.mjs"
504
498
  },
505
- "./boot/config/apps": {
506
- "types": "./boot/config/apps/index.d.ts",
507
- "esm2022": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
508
- "esm": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
509
- "default": "./fesm2022/aril-boot-config-apps.mjs"
499
+ "./util/sync-active-tab-route": {
500
+ "types": "./util/sync-active-tab-route/index.d.ts",
501
+ "esm2022": "./esm2022/util/sync-active-tab-route/aril-util-sync-active-tab-route.mjs",
502
+ "esm": "./esm2022/util/sync-active-tab-route/aril-util-sync-active-tab-route.mjs",
503
+ "default": "./fesm2022/aril-util-sync-active-tab-route.mjs"
510
504
  },
511
505
  "./util/unwrap": {
512
506
  "types": "./util/unwrap/index.d.ts",
@@ -520,17 +514,23 @@
520
514
  "esm": "./esm2022/boot/config/api/aril-boot-config-api.mjs",
521
515
  "default": "./fesm2022/aril-boot-config-api.mjs"
522
516
  },
523
- "./boot/config/translate": {
524
- "types": "./boot/config/translate/index.d.ts",
525
- "esm2022": "./esm2022/boot/config/translate/aril-boot-config-translate.mjs",
526
- "esm": "./esm2022/boot/config/translate/aril-boot-config-translate.mjs",
527
- "default": "./fesm2022/aril-boot-config-translate.mjs"
517
+ "./boot/config/apps": {
518
+ "types": "./boot/config/apps/index.d.ts",
519
+ "esm2022": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
520
+ "esm": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
521
+ "default": "./fesm2022/aril-boot-config-apps.mjs"
528
522
  },
529
523
  "./boot/config/plugins": {
530
524
  "types": "./boot/config/plugins/index.d.ts",
531
525
  "esm2022": "./esm2022/boot/config/plugins/aril-boot-config-plugins.mjs",
532
526
  "esm": "./esm2022/boot/config/plugins/aril-boot-config-plugins.mjs",
533
527
  "default": "./fesm2022/aril-boot-config-plugins.mjs"
528
+ },
529
+ "./boot/config/translate": {
530
+ "types": "./boot/config/translate/index.d.ts",
531
+ "esm2022": "./esm2022/boot/config/translate/aril-boot-config-translate.mjs",
532
+ "esm": "./esm2022/boot/config/translate/aril-boot-config-translate.mjs",
533
+ "default": "./fesm2022/aril-boot-config-translate.mjs"
534
534
  }
535
535
  }
536
536
  }
@@ -1,6 +1,7 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { EventEmitter } from '@angular/core';
3
3
  import { TranslocoService } from '@ngneat/transloco';
4
+ import DataSource from 'devextreme/data/data_source';
4
5
  import { BaseInputComponent } from 'aril/ui/lib';
5
6
  import { SelectBoxItem } from './interface';
6
7
  import * as i0 from "@angular/core";
@@ -9,6 +10,7 @@ export declare class EnumPickerComponent extends BaseInputComponent {
9
10
  private readonly http;
10
11
  translocoService: TranslocoService;
11
12
  selectionItems: import("@angular/core").WritableSignal<SelectBoxItem[] | null>;
13
+ selectBoxDataSource: import("@angular/core").WritableSignal<DataSource<any, any> | null>;
12
14
  private originalSelectionItems;
13
15
  /**
14
16
  * Single Select States
@@ -27,6 +29,12 @@ export declare class EnumPickerComponent extends BaseInputComponent {
27
29
  placeholder: import("@angular/core").InputSignal<string, string>;
28
30
  searchExpr: import("@angular/core").InputSignal<string | string[], string | string[]>;
29
31
  acceptCustomValue: import("@angular/core").InputSignal<boolean, boolean>;
32
+ /**
33
+ * Virtual Scroll States
34
+ */
35
+ useVirtualScroll: import("@angular/core").InputSignal<boolean, boolean>;
36
+ virtualScrollItemSize: import("@angular/core").InputSignal<number, number>;
37
+ scrollHeight: import("@angular/core").InputSignal<string, string>;
30
38
  /**
31
39
  * Multi Select States
32
40
  */
@@ -41,7 +49,9 @@ export declare class EnumPickerComponent extends BaseInputComponent {
41
49
  setTitle(event?: any): void;
42
50
  getSelectionItems(): Promise<void>;
43
51
  private updateSelectionItemsText;
52
+ filterCurrentValueBySelectionItems(): void;
44
53
  onCustomItemCreating(event: any): void;
54
+ private rebuildSelectBoxDataSource;
45
55
  static ɵfac: i0.ɵɵFactoryDeclaration<EnumPickerComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<EnumPickerComponent, "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", never, { "itemKey": { "alias": "itemKey"; "required": false; "isSignal": true; }; "itemText": { "alias": "itemText"; "required": false; "isSignal": true; }; "groupName": { "alias": "groupName"; "required": false; "isSignal": true; }; "parentSelectionKey": { "alias": "parentSelectionKey"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "isMultiple": { "alias": "isMultiple"; "required": false; "isSignal": true; }; "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; "showClearButton": { "alias": "showClearButton"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchExpr": { "alias": "searchExpr"; "required": false; "isSignal": true; }; "acceptCustomValue": { "alias": "acceptCustomValue"; "required": false; "isSignal": true; }; "selectedItemsLabel": { "alias": "selectedItemsLabel"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, { "onSelectionChanged": "onSelectionChanged"; }, never, never, true, [{ directive: typeof i1.ValueAccessorDirective; inputs: {}; outputs: {}; }]>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<EnumPickerComponent, "enum-picker[ngModel], enum-picker[formControl], enum-picker[formControlName]", never, { "itemKey": { "alias": "itemKey"; "required": false; "isSignal": true; }; "itemText": { "alias": "itemText"; "required": false; "isSignal": true; }; "groupName": { "alias": "groupName"; "required": false; "isSignal": true; }; "parentSelectionKey": { "alias": "parentSelectionKey"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "isMultiple": { "alias": "isMultiple"; "required": false; "isSignal": true; }; "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; "showClearButton": { "alias": "showClearButton"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchExpr": { "alias": "searchExpr"; "required": false; "isSignal": true; }; "acceptCustomValue": { "alias": "acceptCustomValue"; "required": false; "isSignal": true; }; "useVirtualScroll": { "alias": "useVirtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "selectedItemsLabel": { "alias": "selectedItemsLabel"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, { "onSelectionChanged": "onSelectionChanged"; }, never, never, true, [{ directive: typeof i1.ValueAccessorDirective; inputs: {}; outputs: {}; }]>;
47
57
  }