ets-fe-ng-sdk 19.0.66 → 19.0.68

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.
@@ -6536,6 +6536,7 @@ class InputBase {
6536
6536
  }
6537
6537
  constructor() {
6538
6538
  this.translationService = inject(TranslationService);
6539
+ this.cdr = inject(ChangeDetectorRef);
6539
6540
  this.dateInputRef = viewChild(DateInputComponent);
6540
6541
  this.cls = input(null);
6541
6542
  this.hint = input();
@@ -6712,19 +6713,11 @@ class InputBase {
6712
6713
  optionHintField: this.optionHintField(),
6713
6714
  }),
6714
6715
  loader: ({ request: options }) => {
6715
- const inout = new Set();
6716
6716
  return environment.translate
6717
6717
  ? forkJoin(options.map((x, i) => {
6718
- inout.add(x.label);
6719
6718
  return x.label
6720
- ? this.translationService.pipeTransformer(x.label, { noLoader: true }).pipe(tap$1((r) => {
6721
- inout.delete(x.label);
6722
- if (inout.size)
6723
- console.log('fork ' + this.labelSignal(), inout.values());
6724
- }), catchError$1((e) => of(x.label)), first((x) => x != null), map$1((r) => ({ ...x, label: r })))
6719
+ ? this.translationService.pipeTransformer(x.label, { noLoader: true }).pipe(catchError$1((e) => of(x.label)), first((x) => x != null), map$1((r) => ({ ...x, label: r })))
6725
6720
  : of(x);
6726
- })).pipe(tap$1((r) => {
6727
- console.log('fork all ' + this.labelSignal(), r);
6728
6721
  }))
6729
6722
  : of(options);
6730
6723
  },
@@ -7053,7 +7046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
7053
7046
  class AutocompleteTdRfComponent extends InputTD_RFComponent {
7054
7047
  set _options(v) {
7055
7048
  super._options = v;
7056
- if (this.autoCompleteRef && this.control()?.getRawValue())
7049
+ if (this.autoCompleteRef() && this.control()?.getRawValue())
7057
7050
  this.control().setValue(this.control()?.getRawValue(), { emitEvent: false });
7058
7051
  }
7059
7052
  constructor(autoS) {
@@ -7063,16 +7056,17 @@ class AutocompleteTdRfComponent extends InputTD_RFComponent {
7063
7056
  this.filteredOptions = linkedSignal(() => this.autoS.filterOptions(this.valueSignal(), this.cOptions()));
7064
7057
  // readonly cfilteredOptions = computed(() => this.autoS.filterOptions(this.valueSignal(), this.cOptions()));
7065
7058
  this.validate = true;
7059
+ this.autoCompleteRef = viewChild(MatAutocomplete);
7066
7060
  this.matOptions = viewChildren(MatOption);
7067
7061
  this.skipDoesOptionExistCheck = model();
7068
7062
  this.valueChanged = new ReplaySubject();
7069
- this.displayWith = (val) =>
7070
- // {
7071
- // if (this.debug()) debugger;
7072
- val instanceof MatOption
7063
+ this.retriggerDisplayWith = effect(() => {
7064
+ this.optionsMap();
7065
+ this.control().patchValue(this.control().value, { emitEvent: false });
7066
+ });
7067
+ this.displayWith = (val) => val instanceof MatOption
7073
7068
  ? this.displayWith(val.value)
7074
7069
  : this.doesOptionExist(val)?.label || val;
7075
- // };
7076
7070
  this.includesOption = (control) => {
7077
7071
  if (this.debug())
7078
7072
  debugger;
@@ -7125,7 +7119,7 @@ class AutocompleteTdRfComponent extends InputTD_RFComponent {
7125
7119
  }, 600);
7126
7120
  }
7127
7121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: AutocompleteTdRfComponent, deps: [{ token: AutocompleteService }], target: i0.ɵɵFactoryTarget.Component }); }
7128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: AutocompleteTdRfComponent, isStandalone: true, selector: "autocomplete-td-rf,app-autocomplete-td-rf", inputs: { validate: { classPropertyName: "validate", publicName: "validate", isSignal: false, isRequired: false, transformFunction: null }, _options: { classPropertyName: "_options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, skipDoesOptionExistCheck: { classPropertyName: "skipDoesOptionExistCheck", publicName: "skipDoesOptionExistCheck", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { skipDoesOptionExistCheck: "skipDoesOptionExistCheckChange" }, viewQueries: [{ propertyName: "matOptions", predicate: MatOption, descendants: true, isSignal: true }, { propertyName: "autoCompleteRef", first: true, predicate: MatAutocomplete, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"displayWith\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: ["i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: InputLabelComponent, selector: "app-input-label", inputs: ["colored", "form", "hint", "inlineHint", "id", "invalidCheckbox", "isRequired", "label", "labelLink", "lblCl", "light", "mini", "showLabel", "showRequiredTag", "small", "stacked", "theme", "xsmall"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["maxLength", "minLength", "control", "customMessage", "debug", "ignoreDirtiness", "input", "label", "hideOverflow"], outputs: ["labelChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }, { kind: "pipe", type: SDKTranslateNoLoaderPipe, name: "appTranslateNL" }] }); }
7122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: AutocompleteTdRfComponent, isStandalone: true, selector: "autocomplete-td-rf,app-autocomplete-td-rf", inputs: { validate: { classPropertyName: "validate", publicName: "validate", isSignal: false, isRequired: false, transformFunction: null }, _options: { classPropertyName: "_options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, skipDoesOptionExistCheck: { classPropertyName: "skipDoesOptionExistCheck", publicName: "skipDoesOptionExistCheck", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { skipDoesOptionExistCheck: "skipDoesOptionExistCheckChange" }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: MatAutocomplete, descendants: true, isSignal: true }, { propertyName: "matOptions", predicate: MatOption, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"options().length ? displayWith : null\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: ["i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: InputLabelComponent, selector: "app-input-label", inputs: ["colored", "form", "hint", "inlineHint", "id", "invalidCheckbox", "isRequired", "label", "labelLink", "lblCl", "light", "mini", "showLabel", "showRequiredTag", "small", "stacked", "theme", "xsmall"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["maxLength", "minLength", "control", "customMessage", "debug", "ignoreDirtiness", "input", "label", "hideOverflow"], outputs: ["labelChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }, { kind: "pipe", type: SDKTranslateNoLoaderPipe, name: "appTranslateNL" }] }); }
7129
7123
  }
7130
7124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: AutocompleteTdRfComponent, decorators: [{
7131
7125
  type: Component,
@@ -7141,15 +7135,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
7141
7135
  AsyncPipe,
7142
7136
  ToAnyPipe,
7143
7137
  SDKTranslateNoLoaderPipe,
7144
- ], template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"displayWith\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: ["i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
7138
+ ], template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"options().length ? displayWith : null\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: ["i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
7145
7139
  }], ctorParameters: () => [{ type: AutocompleteService }], propDecorators: { validate: [{
7146
7140
  type: Input
7147
7141
  }], _options: [{
7148
7142
  type: Input,
7149
7143
  args: ['options']
7150
- }], autoCompleteRef: [{
7151
- type: ViewChild,
7152
- args: [MatAutocomplete]
7153
7144
  }] } });
7154
7145
 
7155
7146
  class AutocompleteComponent extends InputBasicComponent {
@@ -7162,18 +7153,19 @@ class AutocompleteComponent extends InputBasicComponent {
7162
7153
  this.showRequiredTag = true;
7163
7154
  this.validate = true;
7164
7155
  this.skipDoesOptionExistCheck = model();
7156
+ this.autoCompleteRef = viewChild(MatAutocomplete);
7165
7157
  this.matOptions = viewChildren(MatOption);
7166
7158
  this.selectedMatOptionLabel = computed(() => {
7167
- console.log('1', this.valueSignal());
7168
7159
  return this.matOptions()
7169
7160
  ?.find((x) => x.value == this.valueSignal())
7170
7161
  ?.getLabel();
7171
7162
  });
7172
7163
  this.valueChanged = new ReplaySubject();
7173
7164
  this.autoS = inject(AutocompleteService);
7174
- this.cdr = inject(ChangeDetectorRef);
7175
- // readonly selectedValue = signal<MatOptionSelectionChange>(null);
7176
- this.selectedValue = (null);
7165
+ this.retriggerDisplayWith = effect(() => {
7166
+ this.optionsMap();
7167
+ this.control().patchValue(this.control().value, { emitEvent: false });
7168
+ });
7177
7169
  this.displayWith = (val) => val instanceof MatOption
7178
7170
  ? this.displayWith(val.value)
7179
7171
  : this.doesOptionExist(val)?.label || val;
@@ -7201,7 +7193,7 @@ class AutocompleteComponent extends InputBasicComponent {
7201
7193
  set _options(v) {
7202
7194
  // debugger;
7203
7195
  super._options = v;
7204
- if (this.autoCompleteRef && this.control()?.getRawValue())
7196
+ if (this.autoCompleteRef() && this.control()?.getRawValue())
7205
7197
  this.control()?.setValue(this.control()?.getRawValue(), { emitEvent: false });
7206
7198
  }
7207
7199
  ngOnInit() {
@@ -7240,16 +7232,8 @@ class AutocompleteComponent extends InputBasicComponent {
7240
7232
  this.filteredOptions.set(this.cOptions());
7241
7233
  }, 600);
7242
7234
  }
7243
- // displayWith = (val: any) =>
7244
- // val instanceof MatOption
7245
- // ? this.displayWith(val.value)
7246
- // : this.doesOptionExist(val)?.label || val;
7247
- setSelectedValue(e) {
7248
- this.selectedValue = e;
7249
- console.log('setSelectedValue', e);
7250
- }
7251
7235
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: AutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: AutocompleteComponent, isStandalone: true, selector: "app-autocomplete,autocomplete", inputs: { showRequiredTag: { classPropertyName: "showRequiredTag", publicName: "showRequiredTag", isSignal: false, isRequired: false, transformFunction: null }, validate: { classPropertyName: "validate", publicName: "validate", isSignal: false, isRequired: false, transformFunction: null }, skipDoesOptionExistCheck: { classPropertyName: "skipDoesOptionExistCheck", publicName: "skipDoesOptionExistCheck", isSignal: true, isRequired: false, transformFunction: null }, _options: { classPropertyName: "_options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { skipDoesOptionExistCheck: "skipDoesOptionExistCheckChange" }, viewQueries: [{ propertyName: "matOptions", predicate: MatOption, descendants: true, isSignal: true }, { propertyName: "autoCompleteRef", first: true, predicate: MatAutocomplete, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"displayWith\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: [".bordercheck{border:1px solid #4ef580!important;outline:0}.borderuncheck{border:1px solid red!important;outline:0}.light{font-weight:500}.validity-icon{display:none;position:absolute;top:0;left:unset;right:20px;height:100%;align-items:center}.select .validity-icon{right:30px}.valid{display:flex!important;color:#4ef580}.pending{display:flex!important;color:#ff4500}.invalid{display:flex!important;color:red}.inputform{height:41px}.invalid-label{color:red!important}input[type=checkbox]:checked{position:relative}.showValidationIcon .form-control:not(input[type=checkbox].form-control),.showValidationIcon select.form-control:not(input[type=checkbox].form-control){padding:10px 36px 10px 12px}.password-icons{position:absolute;right:20px;top:17%}[disabled]{cursor:default}.link{cursor:pointer}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: InputLabelComponent, selector: "app-input-label", inputs: ["colored", "form", "hint", "inlineHint", "id", "invalidCheckbox", "isRequired", "label", "labelLink", "lblCl", "light", "mini", "showLabel", "showRequiredTag", "small", "stacked", "theme", "xsmall"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["maxLength", "minLength", "control", "customMessage", "debug", "ignoreDirtiness", "input", "label", "hideOverflow"], outputs: ["labelChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }, { kind: "pipe", type: SDKTranslateNoLoaderPipe, name: "appTranslateNL" }] }); }
7236
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: AutocompleteComponent, isStandalone: true, selector: "app-autocomplete,autocomplete", inputs: { showRequiredTag: { classPropertyName: "showRequiredTag", publicName: "showRequiredTag", isSignal: false, isRequired: false, transformFunction: null }, validate: { classPropertyName: "validate", publicName: "validate", isSignal: false, isRequired: false, transformFunction: null }, skipDoesOptionExistCheck: { classPropertyName: "skipDoesOptionExistCheck", publicName: "skipDoesOptionExistCheck", isSignal: true, isRequired: false, transformFunction: null }, _options: { classPropertyName: "_options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { skipDoesOptionExistCheck: "skipDoesOptionExistCheckChange" }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: MatAutocomplete, descendants: true, isSignal: true }, { propertyName: "matOptions", predicate: MatOption, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"options().length ? displayWith : null\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: [".bordercheck{border:1px solid #4ef580!important;outline:0}.borderuncheck{border:1px solid red!important;outline:0}.light{font-weight:500}.validity-icon{display:none;position:absolute;top:0;left:unset;right:20px;height:100%;align-items:center}.select .validity-icon{right:30px}.valid{display:flex!important;color:#4ef580}.pending{display:flex!important;color:#ff4500}.invalid{display:flex!important;color:red}.inputform{height:41px}.invalid-label{color:red!important}input[type=checkbox]:checked{position:relative}.showValidationIcon .form-control:not(input[type=checkbox].form-control),.showValidationIcon select.form-control:not(input[type=checkbox].form-control){padding:10px 36px 10px 12px}.password-icons{position:absolute;right:20px;top:17%}[disabled]{cursor:default}.link{cursor:pointer}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: InputLabelComponent, selector: "app-input-label", inputs: ["colored", "form", "hint", "inlineHint", "id", "invalidCheckbox", "isRequired", "label", "labelLink", "lblCl", "light", "mini", "showLabel", "showRequiredTag", "small", "stacked", "theme", "xsmall"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["maxLength", "minLength", "control", "customMessage", "debug", "ignoreDirtiness", "input", "label", "hideOverflow"], outputs: ["labelChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }, { kind: "pipe", type: SDKTranslateNoLoaderPipe, name: "appTranslateNL" }] }); }
7253
7237
  }
7254
7238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: AutocompleteComponent, decorators: [{
7255
7239
  type: Component,
@@ -7265,7 +7249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
7265
7249
  AsyncPipe,
7266
7250
  ToAnyPipe,
7267
7251
  SDKTranslateNoLoaderPipe,
7268
- ], template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"displayWith\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: [".bordercheck{border:1px solid #4ef580!important;outline:0}.borderuncheck{border:1px solid red!important;outline:0}.light{font-weight:500}.validity-icon{display:none;position:absolute;top:0;left:unset;right:20px;height:100%;align-items:center}.select .validity-icon{right:30px}.valid{display:flex!important;color:#4ef580}.pending{display:flex!important;color:#ff4500}.invalid{display:flex!important;color:red}.inputform{height:41px}.invalid-label{color:red!important}input[type=checkbox]:checked{position:relative}.showValidationIcon .form-control:not(input[type=checkbox].form-control),.showValidationIcon select.form-control:not(input[type=checkbox].form-control){padding:10px 36px 10px 12px}.password-icons{position:absolute;right:20px;top:17%}[disabled]{cursor:default}.link{cursor:pointer}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
7252
+ ], template: "<div class=\"row align-items-center\">\n <!-- {{options()|json}} -->\n @if (verbose()) {\n <div>disabledSignal: {{ disabledSignal() }}</div>\n <div>showValidationSignal: {{ showValidationSignal() }}</div>\n <div>validSignal: {{ validSignal() }}</div>\n <div>invalidSignal: {{ invalidSignal() }}</div>\n <div>valueSignal: {{ valueSignal() | json }}</div>\n <div>hasValue: {{ hasValue() }}</div>\n <div>dirtySignal: {{ dirtySignal() }}</div>\n <div>touchedSignal: {{ touchedSignal() }}</div>\n <div>errorsSignal: {{ errorsSignaljson() }}</div>\n <div>pendingSignal: {{ pendingSignal() }}</div>\n <div>pristineSignal: {{ pristineSignal() }}</div>\n <div>controlRequiredSignal: {{ controlRequiredSignal() }}</div>\n <div>isRequiredSignal: {{ isRequiredSignal() }}</div>\n <div class=\"\">onControlObtainedList Length: {{ onControlObtainedList().length }}</div>\n <div>selectedOption: {{ selectedOption() | json }}</div>\n <div>optionsMap: {{ optionsMap() | json }}</div>\n }\n @if (computedShowLabel()) {\n <app-input-label\n [colored]=\"coloredSignal()\"\n [form]=\"form() | toAny\"\n [hint]=\"hint()\"\n [id]=\"idSignal()\"\n [invalidCheckbox]=\"invalidCheckboxSignal()\"\n [isRequired]=\"isRequiredSignal()\"\n [label]=\"labelSignal()\"\n [lblCl]=\"lblCl()\"\n [light]=\"light()\"\n [mini]=\"miniSignal()\"\n [showRequiredTag]=\"showRequiredTagSignal()\"\n [showLabel]=\"showLabelSignal()\"\n [small]=\"smallSignal()\"\n [stacked]=\"stackedSignal()\"\n [theme]=\"theme()\"\n [xsmall]=\"xsmall()\" />\n }\n <div class=\"{{ stackedSignal() ? 'col-12' : 'col-md' }} position-relative\">\n <form [formGroup]=\"form() | toAny\" class=\"position-relative\">\n <input\n type=\"text\"\n data-noformat=\"true\"\n [formControlName]=\"nameStrSignal()\"\n placeholder=\"{{ placeholder() | appTranslateNL: translatorOptions() | async }}\"\n [id]=\"idSignal()\"\n (keyup)=\"fetchOptions()\"\n [class]=\"inputClassSignal()\"\n [required]=\"requiredSignal()\"\n [readonly]=\"readonlySignal()\"\n #trigger=\"matAutocompleteTrigger\"\n [matAutocomplete]=\"auto\"\n [matTooltip]=\"selectedOption()?.hint || inp.innerText | appTranslateNL | async\"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!selectedOption()?.hint && inp.scrollWidth <= inp.offsetWidth\"\n #inp />\n @if (!disabledSignal()) {\n <i\n class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n }\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\"\n [displayWith]=\"options().length ? displayWith : null\"\n class=\"options-w-auto\">\n <!-- <ng-container *ngIf=\"duplicateCheck; else elseNoDulicateTemplate\">\n <mat-option\n *ngFor=\"let item of filteredOptions|removeUsedOptionsReactive:(form.parent|toAny):(form.value):'value':name;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-container>\n <ng-template #elseNoDulicateTemplate>\n <mat-option\n *ngFor=\"let item of filteredOptions;trackBy:iS.trackByValue\"\n [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"ele.innerText\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\"\n #ele>\n {{ item.label | appTranslate: translateOptions | async }}\n </div>\n </mat-option>\n </ng-template> -->\n\n @if (showEmptyOptionSignal()) {\n <mat-option selected [value]=\"null\" class=\"empty-option\">\n {{\n (optionsFunc ? 'Type to search' : placeholder())\n | appTranslateNL: translatorOptions()\n | async\n }}\n </mat-option>\n }\n @for (item of filteredOptions(); track item._id) {\n @let labll = item.label;\n <mat-option\n [value]=\"item.value\"\n (onSelectionChange)=\"selectOption(item)\"\n [matTooltip]=\"\n (item.hint | appTranslateNL: translatorOptions() | async) || ele.innerText\n \"\n [matTooltipShowDelay]=\"iS.matTooltipShowDelay()\"\n [matTooltipDisabled]=\"!item.hint && ele.scrollWidth <= ele.offsetWidth\">\n <div class=\"option\" #ele>\n {{ labll }}\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (dirtySignal() && showValidationSignal() && showValidationIconSignal()) {\n <div [class.valid]=\"validSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n @if (pendingSignal()) {\n <div [class.pending]=\"pendingSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n <div [class.invalid]=\"invalidSignal()\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n }\n @if (loading()) {\n <div class=\"d-flex text-primary me-1 validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n }\n </form>\n </div>\n</div>\n@if (showValidationMsgSignal()) {\n <app-validation-message [label]=\"labelSignal()\" [control]=\"control()\" />\n}\n", styles: [".bordercheck{border:1px solid #4ef580!important;outline:0}.borderuncheck{border:1px solid red!important;outline:0}.light{font-weight:500}.validity-icon{display:none;position:absolute;top:0;left:unset;right:20px;height:100%;align-items:center}.select .validity-icon{right:30px}.valid{display:flex!important;color:#4ef580}.pending{display:flex!important;color:#ff4500}.invalid{display:flex!important;color:red}.inputform{height:41px}.invalid-label{color:red!important}input[type=checkbox]:checked{position:relative}.showValidationIcon .form-control:not(input[type=checkbox].form-control),.showValidationIcon select.form-control:not(input[type=checkbox].form-control){padding:10px 36px 10px 12px}.password-icons{position:absolute;right:20px;top:17%}[disabled]{cursor:default}.link{cursor:pointer}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "i.input-icon{position:absolute;top:15px;right:7px;opacity:.4;font-size:10px}.option{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
7269
7253
  }], propDecorators: { showRequiredTag: [{
7270
7254
  type: Input
7271
7255
  }], validate: [{
@@ -7273,9 +7257,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
7273
7257
  }], _options: [{
7274
7258
  type: Input,
7275
7259
  args: ['options']
7276
- }], autoCompleteRef: [{
7277
- type: ViewChild,
7278
- args: [MatAutocomplete]
7279
7260
  }] } });
7280
7261
 
7281
7262
  const AutocompleteModule = [AutocompleteComponent, AutocompleteTdRfComponent];