aril 1.2.9 → 1.2.11

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.
Files changed (26) hide show
  1. package/esm2022/theme/layout/app/history/history.service.mjs +4 -3
  2. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +6 -5
  3. package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +17 -8
  4. package/esm2022/ui/autoComplete/src/auto-complete.component.mjs +13 -9
  5. package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +5 -5
  6. package/esm2022/ui-business/rolePicker/src/role-picker.component.mjs +13 -9
  7. package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +1 -1
  8. package/fesm2022/aril-theme-layout.mjs +23 -13
  9. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  10. package/fesm2022/aril-ui-autoComplete.mjs +12 -8
  11. package/fesm2022/aril-ui-autoComplete.mjs.map +1 -1
  12. package/fesm2022/aril-ui-business-assetPicker.mjs +4 -4
  13. package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -1
  14. package/fesm2022/aril-ui-business-rolePicker.mjs +12 -8
  15. package/fesm2022/aril-ui-business-rolePicker.mjs.map +1 -1
  16. package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
  17. package/package.json +183 -183
  18. package/theme/layout/app/history/history.service.ts +5 -2
  19. package/theme/layout/app/site-map/site-map-sidebar.component.html +121 -121
  20. package/theme/layout/app/site-map/site-map-sidebar.component.ts +3 -2
  21. package/theme/layout/app/static-sidebar/static-sidebar.component.d.ts +0 -1
  22. package/theme/layout/app/static-sidebar/static-sidebar.component.html +3 -3
  23. package/theme/layout/app/static-sidebar/static-sidebar.component.ts +14 -7
  24. package/ui/autoComplete/src/auto-complete.component.d.ts +3 -1
  25. package/ui-business/assetPicker/src/asset-picker.component.d.ts +1 -1
  26. package/ui-business/rolePicker/src/role-picker.component.d.ts +3 -1
@@ -1,20 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, effect, Component, ViewChild } from '@angular/core';
3
- import * as i3 from '@angular/forms';
3
+ import * as i4 from '@angular/forms';
4
4
  import { ReactiveFormsModule } from '@angular/forms';
5
- import * as i4 from 'primeng/autocomplete';
5
+ import * as i5 from 'primeng/autocomplete';
6
6
  import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
7
7
  import { ObjectUtils } from 'primeng/utils';
8
8
  import { firstValueFrom } from 'rxjs';
9
9
  import { API_CONFIGS } from 'aril/boot/config/api';
10
- import * as i2 from 'aril/ui/lib';
10
+ import * as i3 from 'aril/ui/lib';
11
11
  import { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
12
12
  import * as i1 from '@angular/common/http';
13
+ import * as i2 from '@ngneat/transloco';
13
14
 
14
15
  class AutoCompleteComponent extends BaseInputComponent {
15
- constructor(http) {
16
+ constructor(http, translocoService) {
16
17
  super();
17
18
  this.http = http;
19
+ this.translocoService = translocoService;
18
20
  this.items = input([]);
19
21
  this.referenceAsset = input(null);
20
22
  this.placeholder = input('Arama...');
@@ -48,11 +50,13 @@ class AutoCompleteComponent extends BaseInputComponent {
48
50
  let filtered = this.multiple() ?
49
51
  selectionItems.filter((t) => this.ngControl.value?.some((v) => v === t.key)) ?? []
50
52
  : [];
53
+ const lang = this.translocoService.getActiveLang();
54
+ const lowerQuery = query.toLocaleLowerCase(lang);
51
55
  return [
52
56
  ...new Set([
53
57
  ...filtered,
54
58
  ...selectionItems.filter((selectionItem) => {
55
- return selectionItem.text.toLowerCase().indexOf(query.toLowerCase()) == 0;
59
+ return selectionItem.text.toLocaleLowerCase(lang).indexOf(lowerQuery) == 0;
56
60
  })
57
61
  ])
58
62
  ];
@@ -97,13 +101,13 @@ class AutoCompleteComponent extends BaseInputComponent {
97
101
  if (selectedItem)
98
102
  this.autoCompleteRef.writeValue(this.autoCompleteRef.getOptionLabel(selectedItem));
99
103
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AutoCompleteComponent, isStandalone: true, selector: "aril-auto-complete[ngModel], aril-auto-complete[formControl], aril-auto-complete[formControlName]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, referenceAsset: { classPropertyName: "referenceAsset", publicName: "referenceAsset", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[minLength]=\"minLength()\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\">\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AutoCompleteComponent, isStandalone: true, selector: "aril-auto-complete[ngModel], aril-auto-complete[formControl], aril-auto-complete[formControlName]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, referenceAsset: { classPropertyName: "referenceAsset", publicName: "referenceAsset", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[minLength]=\"minLength()\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\">\r\n</p-autoComplete>\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: AutoCompleteModule }, { kind: "component", type: i5.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] }); }
102
106
  }
103
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AutoCompleteComponent, decorators: [{
104
108
  type: Component,
105
109
  args: [{ standalone: true, selector: 'aril-auto-complete[ngModel], aril-auto-complete[formControl], aril-auto-complete[formControlName]', imports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[minLength]=\"minLength()\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\">\r\n</p-autoComplete>\r\n" }]
106
- }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { autoCompleteRef: [{
110
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { autoCompleteRef: [{
107
111
  type: ViewChild,
108
112
  args: [AutoComplete]
109
113
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-autoComplete.mjs","sources":["../../projects/aril/ui/autoComplete/src/auto-complete.component.ts","../../projects/aril/ui/autoComplete/src/auto-complete.component.html","../../projects/aril/ui/autoComplete/aril-ui-autoComplete.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ViewChild, effect, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { ReferenceAsset, SelectionItemRequestDTO, SuggestionsDTO } from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-auto-complete[ngModel], aril-auto-complete[formControl], aril-auto-complete[formControlName]',\r\n\ttemplateUrl: './auto-complete.component.html',\r\n\timports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class AutoCompleteComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\r\n\titems = input<SuggestionsDTO[]>([]);\r\n\treferenceAsset = input<ReferenceAsset | null>(null);\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\tminLength = input<number>(1);\r\n\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\toptionLabel = input<keyof SuggestionsDTO>('text');\r\n\r\n\tselectionItems!: SuggestionsDTO[];\r\n\tfilteredSelectionItems!: SuggestionsDTO[];\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.referenceAsset()) this.getSelectionItems();\r\n\r\n\t\t\tif (this.items()?.length) this.setSelectionItems();\r\n\t\t});\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn (\r\n\t\t\tthis.optionValue() ?\r\n\t\t\t\ttypeof option === 'object' ?\r\n\t\t\t\t\tObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t:\toption\r\n\t\t\t:\toption\r\n\t\t);\r\n\t}\r\n\r\n\tsearch(event: any) {\r\n\t\tconst query = event.query;\r\n\r\n\t\tthis.filteredSelectionItems = this.filterSelection(query, this.selectionItems);\r\n\t}\r\n\r\n\tfilterSelection(query: string, selectionItems: SuggestionsDTO[]): SuggestionsDTO[] {\r\n\t\tlet filtered: SuggestionsDTO[] =\r\n\t\t\tthis.multiple() ?\r\n\t\t\t\tselectionItems.filter((t) => this.ngControl.value?.some((v: unknown) => v === t.key)) ?? []\r\n\t\t\t:\t[];\r\n\r\n\t\treturn [\r\n\t\t\t...new Set([\r\n\t\t\t\t...filtered,\r\n\t\t\t\t...selectionItems.filter((selectionItem) => {\r\n\t\t\t\t\treturn selectionItem.text.toLowerCase().indexOf(query.toLowerCase()) == 0;\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t];\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst payload: SelectionItemRequestDTO = {\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: 100,\r\n\t\t\t\tpageNumber: 1\r\n\t\t\t},\r\n\t\t\tasset: {\r\n\t\t\t\talias: 'cp',\r\n\t\t\t\tassetDefinitionCode: this.referenceAsset()!.referringAssetCode\r\n\t\t\t},\r\n\t\t\tattributes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tattribute: {\r\n\t\t\t\t\t\talias: 'cp',\r\n\t\t\t\t\t\tattributeCode: this.referenceAsset()!.referringAttributeCode\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\r\n\t\tconst selectionGroup = await firstValueFrom(this.http.post<any>(API_CONFIGS.api + '/md/search', payload));\r\n\r\n\t\tthis.selectionItems = selectionGroup?.result.map((item: any) => ({\r\n\t\t\tkey: item.id,\r\n\t\t\ttext: String(item.attributes[0].value)\r\n\t\t}));\r\n\r\n\t\tthis.writeValue();\r\n\t}\r\n\r\n\tsetSelectionItems() {\r\n\t\tthis.selectionItems = this.items();\r\n\r\n\t\tthis.writeValue();\r\n\t}\r\n\r\n\tprivate writeValue() {\r\n\t\tif (this.multiple()) {\r\n\t\t\t// BUG issue https://github.com/primefaces/primeng/issues/15495\r\n\t\t\tthis.autoCompleteRef.completeMethod.emit({ originalEvent: null as any, query: '' });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst selectedItem = this.selectionItems?.find((item) => item.key === this.ngControl.value);\r\n\r\n\t\tif (selectedItem) this.autoCompleteRef.writeValue(this.autoCompleteRef.getOptionLabel(selectedItem));\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[minLength]=\"minLength()\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\">\r\n</p-autoComplete>\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-autoComplete.mjs","sources":["../../projects/aril/ui/autoComplete/src/auto-complete.component.ts","../../projects/aril/ui/autoComplete/src/auto-complete.component.html","../../projects/aril/ui/autoComplete/aril-ui-autoComplete.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ViewChild, effect, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { ReferenceAsset, SelectionItemRequestDTO, SuggestionsDTO } from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-auto-complete[ngModel], aril-auto-complete[formControl], aril-auto-complete[formControlName]',\r\n\ttemplateUrl: './auto-complete.component.html',\r\n\timports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class AutoCompleteComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\r\n\titems = input<SuggestionsDTO[]>([]);\r\n\treferenceAsset = input<ReferenceAsset | null>(null);\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\tminLength = input<number>(1);\r\n\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\toptionLabel = input<keyof SuggestionsDTO>('text');\r\n\r\n\tselectionItems!: SuggestionsDTO[];\r\n\tfilteredSelectionItems!: SuggestionsDTO[];\r\n\r\n\tconstructor(private http: HttpClient, private translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.referenceAsset()) this.getSelectionItems();\r\n\r\n\t\t\tif (this.items()?.length) this.setSelectionItems();\r\n\t\t});\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn (\r\n\t\t\tthis.optionValue() ?\r\n\t\t\t\ttypeof option === 'object' ?\r\n\t\t\t\t\tObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t:\toption\r\n\t\t\t:\toption\r\n\t\t);\r\n\t}\r\n\r\n\tsearch(event: any) {\r\n\t\tconst query = event.query;\r\n\r\n\t\tthis.filteredSelectionItems = this.filterSelection(query, this.selectionItems);\r\n\t}\r\n\r\n\tfilterSelection(query: string, selectionItems: SuggestionsDTO[]): SuggestionsDTO[] {\r\n\t\tlet filtered: SuggestionsDTO[] =\r\n\t\t\tthis.multiple() ?\r\n\t\t\t\tselectionItems.filter((t) => this.ngControl.value?.some((v: unknown) => v === t.key)) ?? []\r\n\t\t\t:\t[];\r\n\r\n\t\tconst lang = this.translocoService.getActiveLang();\r\n\t\tconst lowerQuery = query.toLocaleLowerCase(lang);\r\n\t\treturn [\r\n\t\t\t...new Set([\r\n\t\t\t\t...filtered,\r\n\t\t\t\t...selectionItems.filter((selectionItem) => {\r\n\t\t\t\t\treturn selectionItem.text.toLocaleLowerCase(lang).indexOf(lowerQuery) == 0;\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t];\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst payload: SelectionItemRequestDTO = {\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: 100,\r\n\t\t\t\tpageNumber: 1\r\n\t\t\t},\r\n\t\t\tasset: {\r\n\t\t\t\talias: 'cp',\r\n\t\t\t\tassetDefinitionCode: this.referenceAsset()!.referringAssetCode\r\n\t\t\t},\r\n\t\t\tattributes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tattribute: {\r\n\t\t\t\t\t\talias: 'cp',\r\n\t\t\t\t\t\tattributeCode: this.referenceAsset()!.referringAttributeCode\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\r\n\t\tconst selectionGroup = await firstValueFrom(this.http.post<any>(API_CONFIGS.api + '/md/search', payload));\r\n\r\n\t\tthis.selectionItems = selectionGroup?.result.map((item: any) => ({\r\n\t\t\tkey: item.id,\r\n\t\t\ttext: String(item.attributes[0].value)\r\n\t\t}));\r\n\r\n\t\tthis.writeValue();\r\n\t}\r\n\r\n\tsetSelectionItems() {\r\n\t\tthis.selectionItems = this.items();\r\n\r\n\t\tthis.writeValue();\r\n\t}\r\n\r\n\tprivate writeValue() {\r\n\t\tif (this.multiple()) {\r\n\t\t\t// BUG issue https://github.com/primefaces/primeng/issues/15495\r\n\t\t\tthis.autoCompleteRef.completeMethod.emit({ originalEvent: null as any, query: '' });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst selectedItem = this.selectionItems?.find((item) => item.key === this.ngControl.value);\r\n\r\n\t\tif (selectedItem) this.autoCompleteRef.writeValue(this.autoCompleteRef.getOptionLabel(selectedItem));\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[minLength]=\"minLength()\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\">\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ class AssetPickerComponent extends BaseInputComponent {
57
57
  const searchQuery = typeof currentValue === 'string' ? currentValue : currentValue?.text;
58
58
  if (searchQuery) {
59
59
  this.isUpdateMode.set(true);
60
- this.search({ query: searchQuery });
60
+ this.search({ query: searchQuery }, true);
61
61
  }
62
62
  }
63
63
  // React to programmatic patches (createFormDataObject / patchAssetResponseToForm)
@@ -69,7 +69,7 @@ class AssetPickerComponent extends BaseInputComponent {
69
69
  .subscribe(value => {
70
70
  if (!this.isUpdateMode()) {
71
71
  this.isUpdateMode.set(true);
72
- this.search({ query: value.text });
72
+ this.search({ query: value.text }, true);
73
73
  }
74
74
  });
75
75
  }
@@ -123,7 +123,7 @@ class AssetPickerComponent extends BaseInputComponent {
123
123
  }
124
124
  return value;
125
125
  }
126
- search(event) {
126
+ search(event, skipMql = false) {
127
127
  if (!event?.query || typeof event.query !== 'string')
128
128
  return;
129
129
  const query = this.validateInput(event.query);
@@ -137,7 +137,7 @@ class AssetPickerComponent extends BaseInputComponent {
137
137
  pageNumber: 1
138
138
  }
139
139
  };
140
- if (this.mql())
140
+ if (!skipMql && this.mql())
141
141
  payload.mql = this.mql();
142
142
  this.cacheSearchRequest$.next(payload);
143
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-business-assetPicker.mjs","sources":["../../projects/aril/ui-business/assetPicker/src/asset-picker.component.ts","../../projects/aril/ui-business/assetPicker/src/asset-picker.component.html","../../projects/aril/ui-business/assetPicker/aril-ui-business-assetPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tDestroyRef,\r\n\tEventEmitter,\r\n\tOnInit,\r\n\tOutput,\r\n\tViewChild,\r\n\teffect,\r\n\tinject,\r\n\tinput,\r\n\tsignal\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Subject, filter, switchMap } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { SelectionGroupService } from 'aril/theme/layout';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport {\r\n\tAssetAggregate,\r\n\tAttributeElement,\r\n\tCacheSearchRequestDTO,\r\n\tDefaultSearchAggregateAssetAggregate,\r\n\tSuggestionsDTO,\r\n\tSuggestionsGroupDTO\r\n} from './interface';\r\n\r\ntype ValueTypes = 'text' | 'number';\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]',\r\n\ttemplateUrl: './asset-picker.component.html',\r\n\tstyles: [\r\n\t\t`\r\n\t\t\t::ng-deep .p-autocomplete-multiple-container {\r\n\t\t\t\tflex-wrap: wrap;\r\n\t\t\t\tmax-height: 50px;\r\n\t\t\t\toverflow-y: auto;\r\n\t\t\t\talign-items: center;\r\n\t\t\t}\r\n\r\n\t\t\t::ng-deep .p-autocomplete-token {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t}\r\n\r\n\t\t\t::ng-deep .p-autocomplete-input-token {\r\n\t\t\t\tflex: 1;\r\n\t\t\t\tmin-width: 150px;\r\n\t\t\t}\r\n\t\t`\r\n\t],\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class AssetPickerComponent extends BaseInputComponent implements AfterViewInit, OnInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\tassetCode = input<string | string[] | null>(null);\r\n\ttype = input<ValueTypes | null>(null);\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\tshowClear = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\tappendTo = input<string | HTMLElement | null>('body');\r\n\tmql = input<string>();\r\n\tshowOnlyAssetNumber = input<boolean>(false);\r\n\tenableAutoSearchOnInit = input<boolean>(false);\r\n\tisUpdateMode = signal<boolean>(false);\r\n\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\tselectionDefinitions!: DefaultSearchAggregateAssetAggregate;\r\n\tcacheSearchRequest$ = new Subject<CacheSearchRequestDTO>();\r\n\tdestroyRef = inject(DestroyRef);\r\n\t@Output() selectedDefinitionEvent: EventEmitter<AssetAggregate> = new EventEmitter<AssetAggregate>();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly http: HttpClient,\r\n\t\tpublic translocoService: TranslocoService,\r\n\t\tprivate readonly selectionGroupService: SelectionGroupService\r\n\t) {\r\n\t\tsuper();\r\n\r\n\t\teffect(() => {\r\n\t\t\tthis.selectionGroupService.selectionGroups();\r\n\t\t\tif (this.selectionDefinitions) {\r\n\t\t\t\tthis.refreshFilteredSelectionItems();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cacheSearchRequest$\r\n\t\t\t.pipe(\r\n\t\t\t\tswitchMap((payload) =>\r\n\t\t\t\t\tthis.http.post<any>(API_CONFIGS.getExternalAppEndpoint(Apps.MNG) + '/master-data/cache-search', payload)\r\n\t\t\t\t),\r\n\t\t\t\ttakeUntilDestroyed(this.destroyRef)\r\n\t\t\t)\r\n\t\t\t.subscribe((selectionGroup) => {\r\n\t\t\t\tthis.selectionDefinitions = selectionGroup;\r\n\t\t\t\tthis.refreshFilteredSelectionItems();\r\n\t\t\t});\r\n\r\n\t\t// If the form control's value is a string, perform a cache search to retrieve the ID.\r\n\t\tconst currentValue = this.ngControl?.control?.value;\r\n\t\tif (this.enableAutoSearchOnInit() || (currentValue && typeof currentValue === 'string')) {\r\n\t\t\t\tconst searchQuery = typeof currentValue === 'string' ? currentValue : currentValue?.text;\r\n\t\t\t\tif (searchQuery) {\r\n\t\t\t\t\tthis.isUpdateMode.set(true);\r\n\t\t\t\t\tthis.search({ query: searchQuery });\r\n\t\t\t\t}\r\n\t\t}\r\n\r\n\t\t// React to programmatic patches (createFormDataObject / patchAssetResponseToForm)\r\n\t\tthis.ngControl?.control?.valueChanges\r\n\t\t\t.pipe(\r\n\t\t\t\tfilter(value =>\r\n\t\t\t\t\tvalue &&\r\n\t\t\t\t\ttypeof value === 'object' &&\r\n\t\t\t\t\t'text' in value &&\r\n\t\t\t\t\t!('attributes' in value)\r\n\t\t\t\t),\r\n\t\t\t\ttakeUntilDestroyed(this.destroyRef)\r\n\t\t\t)\r\n\t\t\t.subscribe(value => {\r\n\t\t\t\tif (!this.isUpdateMode()) {\r\n\t\t\t\t\tthis.isUpdateMode.set(true);\r\n\t\t\t\t\tthis.search({ query: value.text });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t}\r\n\r\n\tprivate refreshFilteredSelectionItems(): void {\r\n\t\tif (!this.selectionDefinitions) return;\r\n\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\r\n\t\tObject.keys(this.selectionDefinitions).forEach((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = {\r\n\t\t\t\ttext: this.selectionDefinitions[key]?.result[0]?.assets[0]?.assetDefinitionName,\r\n\t\t\t\tkey: key,\r\n\t\t\t\titems: this.selectionDefinitions[key].result.map(\r\n\t\t\t\t\t(item: AssetAggregate) =>\r\n\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\t\t\ttext: this.getAttiributesValueDescr(item.attributes),\r\n\t\t\t\t\t\t\tassetNumber: this.getAssetNumberValue(item.attributes),\r\n\t\t\t\t\t\t\tattributes: item.attributes,\r\n\t\t\t\t\t\t\tassetDefinitionCode: item.assetDefinitionCode\r\n\t\t\t\t\t\t}) as SuggestionsDTO\r\n\t\t\t\t)\r\n\t\t\t};\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\r\n\t\t\t// If the string value is patched in update mode and there is group data, select the first item\r\n\t\t\tif (this.isUpdateMode() && groupData.items.length === 1 && !this.multiple()) {\r\n\t\t\t\tthis.ngControl?.control?.setValue(groupData.items[0]);\r\n\t\t\t\tthis.isUpdateMode.set(false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\tif (!this.optionValue()) {\r\n\t\t\treturn option;\r\n\t\t}\r\n\r\n\t\tif (typeof option === 'object') {\r\n\t\t\treturn ObjectUtils.resolveFieldData(option, this.optionValue());\r\n\t\t}\r\n\r\n\t\treturn option;\r\n\t}\r\n\r\n\tonNgModelChange(value: string) {\r\n\t\tconst validatedValue = this.validateInput(value);\r\n\t\tthis.ngControl.viewToModelUpdate(validatedValue);\r\n\t}\r\n\r\n\tvalidateInput(value: string) {\r\n\t\tif (this.type() === 'number') {\r\n\t\t\treturn value.replace(/\\D/g, '');\r\n\t\t} else if (this.type() === 'text') {\r\n\t\t\treturn value.replace(/[^a-zA-ZğüşıöçĞÜŞİÖÇ\\s]/g, '');\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n\r\n\tsearch(event: any) {\r\n\t\tif (!event?.query || typeof event.query !== 'string') return;\r\n\r\n\t\tconst query = this.validateInput(event.query);\r\n\t\tif (!query?.trim()) return;\r\n\r\n\t\tconst payload: CacheSearchRequestDTO = {\r\n\t\t\tsearchText: query?.trim(),\r\n\t\t\tassetDefinitionCodes: Array.isArray(this.assetCode()) ? this.assetCode() : ([this.assetCode()] as any),\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: 5,\r\n\t\t\t\tpageNumber: 1\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (this.mql()) payload.mql = this.mql();\r\n\r\n\t\tthis.cacheSearchRequest$.next(payload);\r\n\t}\r\n\r\n\tgetAttiributesValueDescr(attributes: AttributeElement[]): string {\r\n\t\tconst excludedAttributes = ['AssetId', 'AssetDefinitionName'];\r\n\t\treturn attributes\r\n\t\t\t?.filter((attr) => !excludedAttributes.includes(attr.attribute?.attributeCode))\r\n\t\t\t?.map((attr) => {\r\n\t\t\t\t// Handle SELECT type attributes using SelectionGroupService\r\n\t\t\t\tif (attr.attribute?.attributeType === 'SELECT' && attr.attribute?.selectOption) {\r\n\t\t\t\t\treturn this.getSelectionDisplay(attr.attribute.selectOption, attr.value as string);\r\n\t\t\t\t}\r\n\t\t\t\tconst value = attr.valueDesc ? attr.valueDesc : attr.value;\r\n\t\t\t\treturn typeof value === 'object' ? JSON.stringify(value) : String(value);\r\n\t\t\t})\r\n\t\t\t.join(' - ');\r\n\t}\r\n\tprivate getAssetNumberValue(attributes: AttributeElement[]): string {\r\n\t\tconst assetNumberAttr = attributes?.find((attr) => attr.attribute?.attributeCode === 'AssetNumber');\r\n\t\tif (!assetNumberAttr) return '';\r\n\t\treturn String(assetNumberAttr.valueDesc || assetNumberAttr.value || '');\r\n\t}\r\n\tprivate getSelectionDisplay(groupName: string, value: string): string {\r\n\t\tconst key = `${groupName}~ALL`;\r\n\t\tconst selectionGroup = this.selectionGroupService.selectionGroups()[key];\r\n\r\n\t\tif (!selectionGroup) {\r\n\t\t\tthis.selectionGroupService.fetchEnum(groupName, 'ALL');\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\tconst currentLang = this.translocoService.getActiveLang();\r\n\t\tconst selectionItem = selectionGroup.selectionItems?.find((t) => t.selectionKey === value) as {\r\n\t\t\tselectionMultiLanguageDisplays?: { [lang: string]: string };\r\n\t\t\tselectionDisplay?: string;\r\n\t\t};\r\n\r\n\t\tif (!selectionItem) return value;\r\n\r\n\t\treturn selectionItem.selectionMultiLanguageDisplays?.[currentLang] ?? selectionItem.selectionDisplay ?? value;\r\n\t}\r\n\r\n\ttriggerSelectedEvents(event: any) {\r\n\t\tconst selectedItems: AssetAggregate[] = Object.keys(this.selectionDefinitions).map((key: string) => {\r\n\t\t\treturn this.selectionDefinitions[key].result.find((item: AssetAggregate) => item.id === event?.value?.key);\r\n\t\t}) as AssetAggregate[];\r\n\r\n\t\tconst selectedItem = selectedItems[0];\r\n\r\n\t\tconst selectedEvent = {\r\n\t\t\t...selectedItem,\r\n\t\t\tkey: selectedItem?.id,\r\n\t\t\ttext: selectedItem?.assetDefinitionName,\r\n\t\t\tattributes: selectedItem?.attributes,\r\n\t\t\tassetDefinitionCode: selectedItem?.assetDefinitionCode\r\n\t\t};\r\n\r\n\t\tthis.selectedDefinitionEvent.emit(selectedEvent);\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"700\"\r\n\t[minLength]=\"3\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\t[appendTo]=\"appendTo()\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<span class=\"font-bold\">{{ group.text }}</span>\r\n\t</ng-template>\r\n\t@if (showOnlyAssetNumber()) {\r\n\t\t<ng-template let-value pTemplate=\"selectedItem\">\r\n\t\t\t<span>{{ value?.assetNumber || value?.text }}</span>\r\n\t\t</ng-template>\r\n\t}\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiEM,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;AAsB3D,IAAA,WAAA,CACkB,IAAgB,EAC1B,gBAAkC,EACxB,qBAA4C,EAAA;AAE7D,QAAA,KAAK,EAAE,CAAC;QAJS,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAC1B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QACxB,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;AAvB9D,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAA2B,IAAI,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAoB,IAAI,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,UAAU,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA8B,IAAI,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA8B,MAAM,CAAC,CAAC;QACtD,IAAG,CAAA,GAAA,GAAG,KAAK,EAAU,CAAC;AACtB,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,sBAAsB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;AAItC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAyB,CAAC;AAC3D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,uBAAuB,GAAiC,IAAI,YAAY,EAAkB,CAAC;QASpG,MAAM,CAAC,MAAK;AACX,YAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC;AAC7C,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC9B,IAAI,CAAC,6BAA6B,EAAE,CAAC;aACrC;AACF,SAAC,CAAC,CAAC;KAEH;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,mBAAmB;AACtB,aAAA,IAAI,CACJ,SAAS,CAAC,CAAC,OAAO,KACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,2BAA2B,EAAE,OAAO,CAAC,CACxG,EACD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CACnC;AACA,aAAA,SAAS,CAAC,CAAC,cAAc,KAAI;AAC7B,YAAA,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC;YAC3C,IAAI,CAAC,6BAA6B,EAAE,CAAC;AACtC,SAAC,CAAC,CAAC;;QAGJ,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;AACpD,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,EAAE;AACvF,YAAA,MAAM,WAAW,GAAG,OAAO,YAAY,KAAK,QAAQ,GAAG,YAAY,GAAG,YAAY,EAAE,IAAI,CAAC;YACzF,IAAI,WAAW,EAAE;AAChB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;aACpC;SACF;;AAGD,QAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY;AACnC,aAAA,IAAI,CACJ,MAAM,CAAC,KAAK,IACX,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;AACzB,YAAA,MAAM,IAAI,KAAK;AACf,YAAA,EAAE,YAAY,IAAI,KAAK,CAAC,CACxB,EACD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CACnC;aACA,SAAS,CAAC,KAAK,IAAG;AAClB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;AACzB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACnC;AACF,SAAC,CAAC,CAAC;KAEJ;IAEO,6BAA6B,GAAA;QACpC,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAEvC,MAAM,2BAA2B,GAA0B,EAAE,CAAC;AAE9D,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AAC9D,YAAA,MAAM,SAAS,GAAwB;AACtC,gBAAA,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB;AAC/E,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAC/C,CAAC,IAAoB,MACnB;oBACA,GAAG,EAAE,IAAI,CAAC,EAAE;oBACZ,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;oBACpD,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtD,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAC7C,iBAAA,CAAmB,CACrB;aACD,CAAC;AACF,YAAA,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AAG5C,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC5E,gBAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC7B;AACF,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,sBAAsB,GAAG,2BAA2B,CAAC;KAC1D;IAED,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrE;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACxB,YAAA,OAAO,MAAM,CAAC;SACd;AAED,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC/B,OAAO,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAChE;AAED,QAAA,OAAO,MAAM,CAAC;KACd;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;KACjD;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAChC;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE;YAClC,OAAO,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;SACrD;AACD,QAAA,OAAO,KAAK,CAAC;KACb;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;QAChB,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;YAAE,OAAO;AAE3B,QAAA,MAAM,OAAO,GAA0B;AACtC,YAAA,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAS;AACtG,YAAA,KAAK,EAAE;AACN,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,UAAU,EAAE,CAAC;AACb,aAAA;SACD,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,YAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;AAED,IAAA,wBAAwB,CAAC,UAA8B,EAAA;AACtD,QAAA,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAC9D,QAAA,OAAO,UAAU;AAChB,cAAE,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC/E,cAAE,GAAG,CAAC,CAAC,IAAI,KAAI;;AAEd,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;AAC/E,gBAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,KAAe,CAAC,CAAC;aACnF;AACD,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,SAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;KACd;AACO,IAAA,mBAAmB,CAAC,UAA8B,EAAA;AACzD,QAAA,MAAM,eAAe,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,aAAa,KAAK,aAAa,CAAC,CAAC;AACpG,QAAA,IAAI,CAAC,eAAe;AAAE,YAAA,OAAO,EAAE,CAAC;AAChC,QAAA,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;KACxE;IACO,mBAAmB,CAAC,SAAiB,EAAE,KAAa,EAAA;AAC3D,QAAA,MAAM,GAAG,GAAG,CAAG,EAAA,SAAS,MAAM,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;QAEzE,IAAI,CAAC,cAAc,EAAE;YACpB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACvD,YAAA,OAAO,KAAK,CAAC;SACb;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;AAC1D,QAAA,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,KAAK,CAGxF,CAAC;AAEF,QAAA,IAAI,CAAC,aAAa;AAAE,YAAA,OAAO,KAAK,CAAC;AAEjC,QAAA,OAAO,aAAa,CAAC,8BAA8B,GAAG,WAAW,CAAC,IAAI,aAAa,CAAC,gBAAgB,IAAI,KAAK,CAAC;KAC9G;AAED,IAAA,qBAAqB,CAAC,KAAU,EAAA;AAC/B,QAAA,MAAM,aAAa,GAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,KAAI;YAClG,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAoB,KAAK,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5G,SAAC,CAAqB,CAAC;AAEvB,QAAA,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAEtC,QAAA,MAAM,aAAa,GAAG;AACrB,YAAA,GAAG,YAAY;YACf,GAAG,EAAE,YAAY,EAAE,EAAE;YACrB,IAAI,EAAE,YAAY,EAAE,mBAAmB;YACvC,UAAU,EAAE,YAAY,EAAE,UAAU;YACpC,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;SACtD,CAAC;AAEF,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACjD;8GA1NW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6vDACrB,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClExB,0/BA4BA,EDkCW,MAAA,EAAA,CAAA,uOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,yTAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,IAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGrC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA3BhC,SAAS;iCACG,IAAI,EAAA,QAAA,EACN,gGAAgG,EAAA,OAAA,EAsBjG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EAAA,cAAA,EAClC,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,0/BAAA,EAAA,MAAA,EAAA,CAAA,uOAAA,CAAA,EAAA,CAAA;kJAGf,eAAe,EAAA,CAAA;sBAAvC,SAAS;uBAAC,YAAY,CAAA;gBAmBb,uBAAuB,EAAA,CAAA;sBAAhC,MAAM;;;AErFR;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-ui-business-assetPicker.mjs","sources":["../../projects/aril/ui-business/assetPicker/src/asset-picker.component.ts","../../projects/aril/ui-business/assetPicker/src/asset-picker.component.html","../../projects/aril/ui-business/assetPicker/aril-ui-business-assetPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tDestroyRef,\r\n\tEventEmitter,\r\n\tOnInit,\r\n\tOutput,\r\n\tViewChild,\r\n\teffect,\r\n\tinject,\r\n\tinput,\r\n\tsignal\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { Subject, filter, switchMap } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { SelectionGroupService } from 'aril/theme/layout';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport {\r\n\tAssetAggregate,\r\n\tAttributeElement,\r\n\tCacheSearchRequestDTO,\r\n\tDefaultSearchAggregateAssetAggregate,\r\n\tSuggestionsDTO,\r\n\tSuggestionsGroupDTO\r\n} from './interface';\r\n\r\ntype ValueTypes = 'text' | 'number';\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]',\r\n\ttemplateUrl: './asset-picker.component.html',\r\n\tstyles: [\r\n\t\t`\r\n\t\t\t::ng-deep .p-autocomplete-multiple-container {\r\n\t\t\t\tflex-wrap: wrap;\r\n\t\t\t\tmax-height: 50px;\r\n\t\t\t\toverflow-y: auto;\r\n\t\t\t\talign-items: center;\r\n\t\t\t}\r\n\r\n\t\t\t::ng-deep .p-autocomplete-token {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t}\r\n\r\n\t\t\t::ng-deep .p-autocomplete-input-token {\r\n\t\t\t\tflex: 1;\r\n\t\t\t\tmin-width: 150px;\r\n\t\t\t}\r\n\t\t`\r\n\t],\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class AssetPickerComponent extends BaseInputComponent implements AfterViewInit, OnInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\tassetCode = input<string | string[] | null>(null);\r\n\ttype = input<ValueTypes | null>(null);\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\tshowClear = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\tappendTo = input<string | HTMLElement | null>('body');\r\n\tmql = input<string>();\r\n\tshowOnlyAssetNumber = input<boolean>(false);\r\n\tenableAutoSearchOnInit = input<boolean>(false);\r\n\tisUpdateMode = signal<boolean>(false);\r\n\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\tselectionDefinitions!: DefaultSearchAggregateAssetAggregate;\r\n\tcacheSearchRequest$ = new Subject<CacheSearchRequestDTO>();\r\n\tdestroyRef = inject(DestroyRef);\r\n\t@Output() selectedDefinitionEvent: EventEmitter<AssetAggregate> = new EventEmitter<AssetAggregate>();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly http: HttpClient,\r\n\t\tpublic translocoService: TranslocoService,\r\n\t\tprivate readonly selectionGroupService: SelectionGroupService\r\n\t) {\r\n\t\tsuper();\r\n\r\n\t\teffect(() => {\r\n\t\t\tthis.selectionGroupService.selectionGroups();\r\n\t\t\tif (this.selectionDefinitions) {\r\n\t\t\t\tthis.refreshFilteredSelectionItems();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cacheSearchRequest$\r\n\t\t\t.pipe(\r\n\t\t\t\tswitchMap((payload) =>\r\n\t\t\t\t\tthis.http.post<any>(API_CONFIGS.getExternalAppEndpoint(Apps.MNG) + '/master-data/cache-search', payload)\r\n\t\t\t\t),\r\n\t\t\t\ttakeUntilDestroyed(this.destroyRef)\r\n\t\t\t)\r\n\t\t\t.subscribe((selectionGroup) => {\r\n\t\t\t\tthis.selectionDefinitions = selectionGroup;\r\n\t\t\t\tthis.refreshFilteredSelectionItems();\r\n\t\t\t});\r\n\r\n\t\t// If the form control's value is a string, perform a cache search to retrieve the ID.\r\n\t\tconst currentValue = this.ngControl?.control?.value;\r\n\t\tif (this.enableAutoSearchOnInit() || (currentValue && typeof currentValue === 'string')) {\r\n\t\t\t\tconst searchQuery = typeof currentValue === 'string' ? currentValue : currentValue?.text;\r\n\t\t\t\tif (searchQuery) {\r\n\t\t\t\t\tthis.isUpdateMode.set(true);\r\n\t\t\t\t\tthis.search({ query: searchQuery }, true);\r\n\t\t\t\t}\r\n\t\t}\r\n\r\n\t\t// React to programmatic patches (createFormDataObject / patchAssetResponseToForm)\r\n\t\tthis.ngControl?.control?.valueChanges\r\n\t\t\t.pipe(\r\n\t\t\t\tfilter(value =>\r\n\t\t\t\t\tvalue &&\r\n\t\t\t\t\ttypeof value === 'object' &&\r\n\t\t\t\t\t'text' in value &&\r\n\t\t\t\t\t!('attributes' in value)\r\n\t\t\t\t),\r\n\t\t\t\ttakeUntilDestroyed(this.destroyRef)\r\n\t\t\t)\r\n\t\t\t.subscribe(value => {\r\n\t\t\t\tif (!this.isUpdateMode()) {\r\n\t\t\t\t\tthis.isUpdateMode.set(true);\r\n\t\t\t\t\tthis.search({ query: value.text }, true);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t}\r\n\r\n\tprivate refreshFilteredSelectionItems(): void {\r\n\t\tif (!this.selectionDefinitions) return;\r\n\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\r\n\t\tObject.keys(this.selectionDefinitions).forEach((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = {\r\n\t\t\t\ttext: this.selectionDefinitions[key]?.result[0]?.assets[0]?.assetDefinitionName,\r\n\t\t\t\tkey: key,\r\n\t\t\t\titems: this.selectionDefinitions[key].result.map(\r\n\t\t\t\t\t(item: AssetAggregate) =>\r\n\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\t\t\ttext: this.getAttiributesValueDescr(item.attributes),\r\n\t\t\t\t\t\t\tassetNumber: this.getAssetNumberValue(item.attributes),\r\n\t\t\t\t\t\t\tattributes: item.attributes,\r\n\t\t\t\t\t\t\tassetDefinitionCode: item.assetDefinitionCode\r\n\t\t\t\t\t\t}) as SuggestionsDTO\r\n\t\t\t\t)\r\n\t\t\t};\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\r\n\t\t\t// If the string value is patched in update mode and there is group data, select the first item\r\n\t\t\tif (this.isUpdateMode() && groupData.items.length === 1 && !this.multiple()) {\r\n\t\t\t\tthis.ngControl?.control?.setValue(groupData.items[0]);\r\n\t\t\t\tthis.isUpdateMode.set(false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\tif (!this.optionValue()) {\r\n\t\t\treturn option;\r\n\t\t}\r\n\r\n\t\tif (typeof option === 'object') {\r\n\t\t\treturn ObjectUtils.resolveFieldData(option, this.optionValue());\r\n\t\t}\r\n\r\n\t\treturn option;\r\n\t}\r\n\r\n\tonNgModelChange(value: string) {\r\n\t\tconst validatedValue = this.validateInput(value);\r\n\t\tthis.ngControl.viewToModelUpdate(validatedValue);\r\n\t}\r\n\r\n\tvalidateInput(value: string) {\r\n\t\tif (this.type() === 'number') {\r\n\t\t\treturn value.replace(/\\D/g, '');\r\n\t\t} else if (this.type() === 'text') {\r\n\t\t\treturn value.replace(/[^a-zA-ZğüşıöçĞÜŞİÖÇ\\s]/g, '');\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n\r\n\tsearch(event: any, skipMql = false) {\r\n\t\tif (!event?.query || typeof event.query !== 'string') return;\r\n\r\n\t\tconst query = this.validateInput(event.query);\r\n\t\tif (!query?.trim()) return;\r\n\r\n\t\tconst payload: CacheSearchRequestDTO = {\r\n\t\t\tsearchText: query?.trim(),\r\n\t\t\tassetDefinitionCodes: Array.isArray(this.assetCode()) ? this.assetCode() : ([this.assetCode()] as any),\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: 5,\r\n\t\t\t\tpageNumber: 1\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (!skipMql && this.mql()) payload.mql = this.mql();\r\n\r\n\t\tthis.cacheSearchRequest$.next(payload);\r\n\t}\r\n\r\n\tgetAttiributesValueDescr(attributes: AttributeElement[]): string {\r\n\t\tconst excludedAttributes = ['AssetId', 'AssetDefinitionName'];\r\n\t\treturn attributes\r\n\t\t\t?.filter((attr) => !excludedAttributes.includes(attr.attribute?.attributeCode))\r\n\t\t\t?.map((attr) => {\r\n\t\t\t\t// Handle SELECT type attributes using SelectionGroupService\r\n\t\t\t\tif (attr.attribute?.attributeType === 'SELECT' && attr.attribute?.selectOption) {\r\n\t\t\t\t\treturn this.getSelectionDisplay(attr.attribute.selectOption, attr.value as string);\r\n\t\t\t\t}\r\n\t\t\t\tconst value = attr.valueDesc ? attr.valueDesc : attr.value;\r\n\t\t\t\treturn typeof value === 'object' ? JSON.stringify(value) : String(value);\r\n\t\t\t})\r\n\t\t\t.join(' - ');\r\n\t}\r\n\tprivate getAssetNumberValue(attributes: AttributeElement[]): string {\r\n\t\tconst assetNumberAttr = attributes?.find((attr) => attr.attribute?.attributeCode === 'AssetNumber');\r\n\t\tif (!assetNumberAttr) return '';\r\n\t\treturn String(assetNumberAttr.valueDesc || assetNumberAttr.value || '');\r\n\t}\r\n\tprivate getSelectionDisplay(groupName: string, value: string): string {\r\n\t\tconst key = `${groupName}~ALL`;\r\n\t\tconst selectionGroup = this.selectionGroupService.selectionGroups()[key];\r\n\r\n\t\tif (!selectionGroup) {\r\n\t\t\tthis.selectionGroupService.fetchEnum(groupName, 'ALL');\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\tconst currentLang = this.translocoService.getActiveLang();\r\n\t\tconst selectionItem = selectionGroup.selectionItems?.find((t) => t.selectionKey === value) as {\r\n\t\t\tselectionMultiLanguageDisplays?: { [lang: string]: string };\r\n\t\t\tselectionDisplay?: string;\r\n\t\t};\r\n\r\n\t\tif (!selectionItem) return value;\r\n\r\n\t\treturn selectionItem.selectionMultiLanguageDisplays?.[currentLang] ?? selectionItem.selectionDisplay ?? value;\r\n\t}\r\n\r\n\ttriggerSelectedEvents(event: any) {\r\n\t\tconst selectedItems: AssetAggregate[] = Object.keys(this.selectionDefinitions).map((key: string) => {\r\n\t\t\treturn this.selectionDefinitions[key].result.find((item: AssetAggregate) => item.id === event?.value?.key);\r\n\t\t}) as AssetAggregate[];\r\n\r\n\t\tconst selectedItem = selectedItems[0];\r\n\r\n\t\tconst selectedEvent = {\r\n\t\t\t...selectedItem,\r\n\t\t\tkey: selectedItem?.id,\r\n\t\t\ttext: selectedItem?.assetDefinitionName,\r\n\t\t\tattributes: selectedItem?.attributes,\r\n\t\t\tassetDefinitionCode: selectedItem?.assetDefinitionCode\r\n\t\t};\r\n\r\n\t\tthis.selectedDefinitionEvent.emit(selectedEvent);\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"700\"\r\n\t[minLength]=\"3\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\t[appendTo]=\"appendTo()\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<span class=\"font-bold\">{{ group.text }}</span>\r\n\t</ng-template>\r\n\t@if (showOnlyAssetNumber()) {\r\n\t\t<ng-template let-value pTemplate=\"selectedItem\">\r\n\t\t\t<span>{{ value?.assetNumber || value?.text }}</span>\r\n\t\t</ng-template>\r\n\t}\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,20 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, EventEmitter, effect, Component, Output } from '@angular/core';
3
- import * as i3 from '@angular/forms';
3
+ import * as i4 from '@angular/forms';
4
4
  import { ReactiveFormsModule } from '@angular/forms';
5
- import * as i4 from 'primeng/autocomplete';
5
+ import * as i5 from 'primeng/autocomplete';
6
6
  import { AutoCompleteModule } from 'primeng/autocomplete';
7
7
  import { firstValueFrom } from 'rxjs';
8
8
  import { API_CONFIGS } from 'aril/boot/config/api';
9
- import * as i2 from 'aril/ui/lib';
9
+ import * as i3 from 'aril/ui/lib';
10
10
  import { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
11
11
  import { Apps } from 'aril/boot/config/apps';
12
12
  import * as i1 from '@angular/common/http';
13
+ import * as i2 from '@ngneat/transloco';
13
14
 
14
15
  class RolePickerComponent extends BaseInputComponent {
15
- constructor(http) {
16
+ constructor(http, translocoService) {
16
17
  super();
17
18
  this.http = http;
19
+ this.translocoService = translocoService;
18
20
  this.placeholder = input('Arama...');
19
21
  this.forceSelection = input(false);
20
22
  this.multiple = input(false);
@@ -51,22 +53,24 @@ class RolePickerComponent extends BaseInputComponent {
51
53
  }
52
54
  filterSelection(query, selectionItems) {
53
55
  const filtered = this.multiple() ? (selectionItems.filter((item) => item === query) ?? []) : [];
56
+ const lang = this.translocoService.getActiveLang();
57
+ const lowerQuery = query.toLocaleLowerCase(lang);
54
58
  return [
55
59
  ...new Set([
56
60
  ...filtered,
57
61
  ...selectionItems.filter((selectionItem) => {
58
- return selectionItem.toLowerCase().indexOf(query.toLowerCase()) == 0;
62
+ return selectionItem.toLocaleLowerCase(lang).indexOf(lowerQuery) == 0;
59
63
  })
60
64
  ])
61
65
  ];
62
66
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RolePickerComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: RolePickerComponent, isStandalone: true, selector: "aril-role-picker[formControl], aril-role-picker[formControlName]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: false, transformFunction: null }, roleEndPointUrl: { classPropertyName: "roleEndPointUrl", publicName: "roleEndPointUrl", isSignal: true, isRequired: false, transformFunction: null }, client: { classPropertyName: "client", publicName: "client", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { SelectionChanged: "SelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\t[optionLabel]=\"undefined\"\r\n\t[optionValue]=\"undefined\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"completeMethod($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\r\n\tappendTo=\"body\">\r\n<!--\t<ng-template let-item pTemplate=\"item\">\r\n\t\t<div>\r\n\t\t\t<span>{{ item?.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t-->\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RolePickerComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: RolePickerComponent, isStandalone: true, selector: "aril-role-picker[formControl], aril-role-picker[formControlName]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: false, transformFunction: null }, roleEndPointUrl: { classPropertyName: "roleEndPointUrl", publicName: "roleEndPointUrl", isSignal: true, isRequired: false, transformFunction: null }, client: { classPropertyName: "client", publicName: "client", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { SelectionChanged: "SelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\t[optionLabel]=\"undefined\"\r\n\t[optionValue]=\"undefined\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"completeMethod($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\r\n\tappendTo=\"body\">\r\n<!--\t<ng-template let-item pTemplate=\"item\">\r\n\t\t<div>\r\n\t\t\t<span>{{ item?.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t-->\r\n</p-autoComplete>\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: AutoCompleteModule }, { kind: "component", type: i5.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] }); }
65
69
  }
66
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RolePickerComponent, decorators: [{
67
71
  type: Component,
68
72
  args: [{ standalone: true, selector: 'aril-role-picker[formControl], aril-role-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\t[optionLabel]=\"undefined\"\r\n\t[optionValue]=\"undefined\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"completeMethod($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\r\n\tappendTo=\"body\">\r\n<!--\t<ng-template let-item pTemplate=\"item\">\r\n\t\t<div>\r\n\t\t\t<span>{{ item?.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t-->\r\n</p-autoComplete>\r\n" }]
69
- }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { SelectionChanged: [{
73
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { SelectionChanged: [{
70
74
  type: Output
71
75
  }] } });
72
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-business-rolePicker.mjs","sources":["../../projects/aril/ui-business/rolePicker/src/role-picker.component.ts","../../projects/aril/ui-business/rolePicker/src/role-picker.component.html","../../projects/aril/ui-business/rolePicker/aril-ui-business-rolePicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { RoleResponseDTO, SelectBoxItem, SuggestionsDTO } from './interface';\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-role-picker[formControl], aril-role-picker[formControlName]',\r\n\ttemplateUrl: './role-picker.component.html',\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class RolePickerComponent extends BaseInputComponent {\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\r\n\tfilteredSelectionItems!: string[];\r\n\r\n\tbaseUrl = input<string | null>(API_CONFIGS.getExternalAppEndpoint(Apps.MW));\r\n\troleEndPointUrl = input<string>('/user-management/roles/by-client-reference-key?clientReferenceKey=');\r\n\tclient = input<string>('thor');\r\n\troleItems: any = [];\r\n\tselectionItems: string[] = [];\r\n\r\n\t@Output() SelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.client())\r\n\t\t\t\tthis.getRoleItems().then((roleItems) => {\r\n\t\t\t\t\t//const x: string[] = this.ngControl.value;\r\n//\r\n\t\t\t\t\t//const y: { key: string; text: string }[] = roleItems;\r\n//\r\n\t\t\t\t\t//const matched = y.filter((item) => x.includes(item.text));\r\n//\r\n\t\t\t\t\t//this.ngControl.control.setValue(matched);\r\n\t\t\t\t\t\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tasync getRoleItems() {\r\n\t\tthis.roleItems = await firstValueFrom(\r\n\t\t\tthis.http.get<RoleResponseDTO[]>(this.baseUrl() + this.roleEndPointUrl() + this.client())\r\n\t\t).then((roleItems) => {\r\n\t\t\troleItems.forEach((item: RoleResponseDTO) => {\r\n\t\t\t\tthis.selectionItems.push(\r\n\t\t\t\t item.name\r\n\t\t\t);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn this.selectionItems;\r\n\t}\r\n\r\n\tcompleteMethod(event: any) {\r\n\t\tconst query = event.query;\r\n\r\n\t\tthis.filteredSelectionItems = this.filterSelection(query, this.selectionItems);\r\n\t}\r\n\r\n\tfilterSelection(query: string, selectionItems: string[]): string[] {\r\n\t\tconst filtered: string[] =\r\n\t\t\tthis.multiple() ? (selectionItems.filter((item) => item === query) ?? []) : [];\r\n\r\n\t\treturn [\r\n\t\t\t...new Set([\r\n\t\t\t\t...filtered,\r\n\t\t\t\t...selectionItems.filter((selectionItem) => {\r\n\t\t\t\t\treturn selectionItem.toLowerCase().indexOf(query.toLowerCase()) == 0;\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t];\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\t[optionLabel]=\"undefined\"\r\n\t[optionValue]=\"undefined\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"completeMethod($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\r\n\tappendTo=\"body\">\r\n<!--\t<ng-template let-item pTemplate=\"item\">\r\n\t\t<div>\r\n\t\t\t<span>{{ item?.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t-->\r\n</p-autoComplete>\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-rolePicker.mjs","sources":["../../projects/aril/ui-business/rolePicker/src/role-picker.component.ts","../../projects/aril/ui-business/rolePicker/src/role-picker.component.html","../../projects/aril/ui-business/rolePicker/aril-ui-business-rolePicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { RoleResponseDTO, SelectBoxItem, SuggestionsDTO } from './interface';\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-role-picker[formControl], aril-role-picker[formControlName]',\r\n\ttemplateUrl: './role-picker.component.html',\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class RolePickerComponent extends BaseInputComponent {\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\r\n\tfilteredSelectionItems!: string[];\r\n\r\n\tbaseUrl = input<string | null>(API_CONFIGS.getExternalAppEndpoint(Apps.MW));\r\n\troleEndPointUrl = input<string>('/user-management/roles/by-client-reference-key?clientReferenceKey=');\r\n\tclient = input<string>('thor');\r\n\troleItems: any = [];\r\n\tselectionItems: string[] = [];\r\n\r\n\t@Output() SelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(private http: HttpClient, private translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.client())\r\n\t\t\t\tthis.getRoleItems().then((roleItems) => {\r\n\t\t\t\t\t//const x: string[] = this.ngControl.value;\r\n//\r\n\t\t\t\t\t//const y: { key: string; text: string }[] = roleItems;\r\n//\r\n\t\t\t\t\t//const matched = y.filter((item) => x.includes(item.text));\r\n//\r\n\t\t\t\t\t//this.ngControl.control.setValue(matched);\r\n\t\t\t\t\t\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tasync getRoleItems() {\r\n\t\tthis.roleItems = await firstValueFrom(\r\n\t\t\tthis.http.get<RoleResponseDTO[]>(this.baseUrl() + this.roleEndPointUrl() + this.client())\r\n\t\t).then((roleItems) => {\r\n\t\t\troleItems.forEach((item: RoleResponseDTO) => {\r\n\t\t\t\tthis.selectionItems.push(\r\n\t\t\t\t item.name\r\n\t\t\t);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn this.selectionItems;\r\n\t}\r\n\r\n\tcompleteMethod(event: any) {\r\n\t\tconst query = event.query;\r\n\r\n\t\tthis.filteredSelectionItems = this.filterSelection(query, this.selectionItems);\r\n\t}\r\n\r\n\tfilterSelection(query: string, selectionItems: string[]): string[] {\r\n\t\tconst filtered: string[] =\r\n\t\t\tthis.multiple() ? (selectionItems.filter((item) => item === query) ?? []) : [];\r\n\r\n\t\tconst lang = this.translocoService.getActiveLang();\r\n\t\tconst lowerQuery = query.toLocaleLowerCase(lang);\r\n\t\treturn [\r\n\t\t\t...new Set([\r\n\t\t\t\t...filtered,\r\n\t\t\t\t...selectionItems.filter((selectionItem) => {\r\n\t\t\t\t\treturn selectionItem.toLocaleLowerCase(lang).indexOf(lowerQuery) == 0;\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t];\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\t[optionLabel]=\"undefined\"\r\n\t[optionValue]=\"undefined\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"completeMethod($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\r\n\tappendTo=\"body\">\r\n<!--\t<ng-template let-item pTemplate=\"item\">\r\n\t\t<div>\r\n\t\t\t<span>{{ item?.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t-->\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aril-util-sync-active-tab-route.mjs","sources":["../../projects/aril/util/sync-active-tab-route/src/sync-active-tab-route.directive.ts","../../projects/aril/util/sync-active-tab-route/aril-util-sync-active-tab-route.ts"],"sourcesContent":["import { Location } from '@angular/common';\r\nimport { Directive, HostListener, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { TabView } from 'primeng/tabview';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n\tselector: '[syncActiveTabRoute]',\r\n\tstandalone: true\r\n})\r\nexport class SyncActiveTabRouteDirective implements OnInit, OnDestroy {\r\n\tprivate readonly subscription = new Subscription();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly router: Router,\r\n\t\tprivate readonly tabView: TabView,\r\n\t\tprivate readonly location: Location\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.router.routerState.root.queryParamMap.subscribe((params) => {\r\n\t\t\t\tif (params.has('activeTab')) {\r\n\t\t\t\t\tthis.tabView.activeIndex = Number(params.get('activeTab'));\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t@HostListener('activeIndexChange', ['$event'])\r\n\tonTabChange(e: number) {\r\n\t\tthis.location.replaceState(\r\n\t\t\tthis.router\r\n\t\t\t\t.createUrlTree([], {\r\n\t\t\t\t\tqueryParams: { activeTab: e },\r\n\t\t\t\t\tqueryParamsHandling: 'merge'\r\n\t\t\t\t})\r\n\t\t\t\t.toString()\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAYa,2BAA2B,CAAA;AAGvC,IAAA,WAAA,CACkB,MAAc,EACd,OAAgB,EAChB,QAAkB,EAAA;QAFlB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AALnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAM/C;IAEJ,QAAQ,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAC/D,YAAA,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3D;SACD,CAAC,CACF,CAAC;KACF;AAGD,IAAA,WAAW,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACzB,IAAI,CAAC,MAAM;aACT,aAAa,CAAC,EAAE,EAAE;AAClB,YAAA,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;AAC7B,YAAA,mBAAmB,EAAE,OAAO;SAC5B,CAAC;aACD,QAAQ,EAAE,CACZ,CAAC;KACF;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KAChC;8GAjCW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;wHAqBA,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC/B9C;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-util-sync-active-tab-route.mjs","sources":["../../projects/aril/util/sync-active-tab-route/src/sync-active-tab-route.directive.ts","../../projects/aril/util/sync-active-tab-route/aril-util-sync-active-tab-route.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport { Directive, HostListener, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TabView } from 'primeng/tabview';\n\nimport { Subscription } from 'rxjs';\n\n@Directive({\n\tselector: '[syncActiveTabRoute]',\n\tstandalone: true\n})\nexport class SyncActiveTabRouteDirective implements OnInit, OnDestroy {\n\tprivate readonly subscription = new Subscription();\n\n\tconstructor(\n\t\tprivate readonly router: Router,\n\t\tprivate readonly tabView: TabView,\n\t\tprivate readonly location: Location\n\t) {}\n\n\tngOnInit() {\n\t\tthis.subscription.add(\n\t\t\tthis.router.routerState.root.queryParamMap.subscribe((params) => {\n\t\t\t\tif (params.has('activeTab')) {\n\t\t\t\t\tthis.tabView.activeIndex = Number(params.get('activeTab'));\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\t@HostListener('activeIndexChange', ['$event'])\n\tonTabChange(e: number) {\n\t\tthis.location.replaceState(\n\t\t\tthis.router\n\t\t\t\t.createUrlTree([], {\n\t\t\t\t\tqueryParams: { activeTab: e },\n\t\t\t\t\tqueryParamsHandling: 'merge'\n\t\t\t\t})\n\t\t\t\t.toString()\n\t\t);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAYa,2BAA2B,CAAA;AAGvC,IAAA,WAAA,CACkB,MAAc,EACd,OAAgB,EAChB,QAAkB,EAAA;QAFlB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AALnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAM/C;IAEJ,QAAQ,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAC/D,YAAA,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3D;SACD,CAAC,CACF,CAAC;KACF;AAGD,IAAA,WAAW,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACzB,IAAI,CAAC,MAAM;aACT,aAAa,CAAC,EAAE,EAAE;AAClB,YAAA,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;AAC7B,YAAA,mBAAmB,EAAE,OAAO;SAC5B,CAAC;aACD,QAAQ,EAAE,CACZ,CAAC;KACF;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KAChC;8GAjCW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;wHAqBA,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC/B9C;;AAEG;;;;"}