aril 1.2.10 → 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.
@@ -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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"}
@@ -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;;;;"}