@guajiritos/general-autocomplete 0.0.11 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +3 -7
  2. package/esm2022/lib/guachos-general-autocomplete.component.mjs +346 -0
  3. package/esm2022/public-api.mjs +7 -0
  4. package/{esm2020 → esm2022}/utils/pipes/duration.pipe.mjs +5 -5
  5. package/{esm2020 → esm2022}/utils/pipes/humanize-duration.pipe.mjs +4 -4
  6. package/{esm2020 → esm2022}/utils/pipes/i18n-field.pipe.mjs +4 -4
  7. package/{esm2020 → esm2022}/utils/pipes/ida-return.pipe.mjs +5 -5
  8. package/esm2022/utils/pipes/pipes.module.mjs +84 -0
  9. package/esm2022/utils/pipes/resolve-property-path.pipe.mjs +80 -0
  10. package/{esm2020 → esm2022}/utils/pipes/show-roles.pipe.mjs +5 -5
  11. package/{esm2020 → esm2022}/utils/pipes/show-segments.pipe.mjs +5 -5
  12. package/{esm2020 → esm2022}/utils/pipes/show-transport-types.pipe.mjs +5 -5
  13. package/{esm2020 → esm2022}/utils/services/autocomplete.service.mjs +4 -4
  14. package/{esm2020 → esm2022}/utils/services/utils.service.mjs +4 -4
  15. package/{fesm2020 → fesm2022}/guajiritos-general-autocomplete.mjs +221 -224
  16. package/fesm2022/guajiritos-general-autocomplete.mjs.map +1 -0
  17. package/lib/guachos-general-autocomplete.component.d.ts +16 -17
  18. package/package.json +5 -11
  19. package/public-api.d.ts +0 -1
  20. package/utils/pipes/pipes.module.d.ts +15 -0
  21. package/esm2020/lib/guachos-general-autocomplete.component.mjs +0 -327
  22. package/esm2020/lib/guachos-general-autocomplete.module.mjs +0 -109
  23. package/esm2020/public-api.mjs +0 -8
  24. package/esm2020/utils/pipes/resolve-property-path.pipe.mjs +0 -80
  25. package/fesm2015/guajiritos-general-autocomplete.mjs +0 -862
  26. package/fesm2015/guajiritos-general-autocomplete.mjs.map +0 -1
  27. package/fesm2020/guajiritos-general-autocomplete.mjs.map +0 -1
  28. package/lib/guachos-general-autocomplete.module.d.ts +0 -24
  29. /package/{esm2020 → esm2022}/guajiritos-general-autocomplete.mjs +0 -0
  30. /package/{esm2020 → esm2022}/utils/constants/contacts.mjs +0 -0
  31. /package/{esm2020 → esm2022}/utils/interfaces/interfaces.mjs +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guajiritos-general-autocomplete.mjs","sources":["../../../projects/guachos-general-autocomplete/src/utils/interfaces/interfaces.ts","../../../projects/guachos-general-autocomplete/src/utils/constants/contacts.ts","../../../projects/guachos-general-autocomplete/src/utils/services/autocomplete.service.ts","../../../projects/guachos-general-autocomplete/src/utils/services/utils.service.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/humanize-duration.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/i18n-field.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/ida-return.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-roles.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-segments.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/show-transport-types.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/resolve-property-path.pipe.ts","../../../projects/guachos-general-autocomplete/src/utils/pipes/pipes.module.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.ts","../../../projects/guachos-general-autocomplete/src/lib/guachos-general-autocomplete.component.html","../../../projects/guachos-general-autocomplete/src/public-api.ts","../../../projects/guachos-general-autocomplete/src/guajiritos-general-autocomplete.ts"],"sourcesContent":["declare type DisplayOptionItemType = 'divider' | 'path';\n\nexport enum CustomPipes {\n SHOW_SEGMENTS = 'showSegments',\n DURATION_TIME = 'durationTime',\n HUMANIZE_DURATION = 'humanizeDuration',\n SHOW_TRANSPORT_TYPES = 'showTransportTypes',\n SHOW_ROLES = 'showRoles',\n IDA_RETURN = 'idaReturn',\n CURRENCY = 'currency',\n UPPERCASE = 'uppercase',\n}\n\nexport interface DisplayOptionItem {\n type: DisplayOptionItemType;\n customPipe?: string;\n divider?: string;\n path?: string[];\n}\n\nexport interface DisplayOption {\n firthLabel: DisplayOptionItem[];\n secondLabel?: DisplayOptionItem[];\n filterString?: string[] | string;\n applyTranslate?: boolean;\n}\n\nexport interface RestrictionFilter {\n filter: string;\n value: string | number;\n}\n\nexport interface ApiFormData {\n attributes?: string[],\n filter?: any;\n relations?: any;\n}\n","import {DisplayOption} from \"../interfaces/interfaces\";\r\n\r\nexport const GENERAL_DISPLAY_OPTIONS: DisplayOption = {\r\n firthLabel: [\r\n {\r\n type: 'path',\r\n path: ['name']\r\n }\r\n ],\r\n applyTranslate: true\r\n};\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {map} from 'rxjs/operators';\r\nimport merge from 'lodash.merge';\r\nimport {Observable} from 'rxjs';\r\n\r\nimport {ApiFormData, RestrictionFilter} from '../interfaces/interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AutocompleteService {\r\n constructor(\r\n private _httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n private httpOptions = {};\r\n\r\n private processParams(filters: string[] | string | undefined, value: string): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(async () => {\r\n let filter = {};\r\n\r\n if (Array.isArray(filters)) {\r\n for (const f of filters) {\r\n await this.processFilterString(f, value).then((resp: any) => {\r\n if (Object.keys(filter)?.length) {\r\n merge(filter, resp);\r\n } else {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n }\r\n\r\n if (f === filters[filters?.length - 1]) {\r\n resolve(filter);\r\n }\r\n });\r\n }\r\n } else if (typeof filters === 'string') {\r\n await this.processFilterString(filters, value).then((resp: any) => {\r\n filter = {\r\n ...filter,\r\n ...resp\r\n };\r\n\r\n resolve(filter);\r\n });\r\n } else {\r\n reject(null);\r\n }\r\n }, 100);\r\n });\r\n }\r\n\r\n private async processFilterString(filter: string, value: string): Promise<any> {\r\n let f: any = {};\r\n\r\n const arrayFilters: string[] = filter?.split('[');\r\n\r\n if (arrayFilters?.findIndex((a: string) => a === 'filter') >= 0) {\r\n arrayFilters?.splice(0, 1);\r\n }\r\n\r\n await this.createObjectFilters(arrayFilters, value).then((data: any) => {\r\n f = data;\r\n });\r\n\r\n return f;\r\n }\r\n\r\n private async createObjectFilters(array: string[], value: string): Promise<any> {\r\n for (let filter of array) {\r\n filter = filter?.replace(']', '');\r\n\r\n if (array.length > 1) {\r\n array.splice(0, 1);\r\n return {[filter]: await this.createObjectFilters(array, value)};\r\n } else {\r\n if (filter === '$like') {\r\n return {[filter]: '%' + value + '%'};\r\n } else {\r\n return {[filter]: value};\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async getAutocompleteByText(url: string, text?: string, field?: string[] | string, restrictions?: RestrictionFilter[],\r\n removeProperties?: string[], order?: string, bodyRequest?: ApiFormData): Promise<Observable<any>> {\r\n\r\n let httpParams: HttpParams = new HttpParams().set('offset', '0');\r\n httpParams = httpParams.append('limit', '20');\r\n\r\n if (order) {\r\n httpParams = httpParams.append('order', order);\r\n }\r\n\r\n if (!text) {\r\n text = '';\r\n }\r\n\r\n if (bodyRequest) {\r\n let body: ApiFormData = {};\r\n if (text && text !== '') {\r\n await this.processParams(field, text)\r\n .then((data: any) => {\r\n body = {\r\n ...bodyRequest,\r\n filter: data\r\n };\r\n });\r\n } else {\r\n body = JSON.parse(JSON.stringify(bodyRequest));\r\n }\r\n\r\n if (restrictions?.length) {\r\n for (let r of restrictions) {\r\n await this.processParams(r?.filter, r?.value?.toString())\r\n .then((data: any) => {\r\n let filtersAux = {...body?.filter}\r\n merge(filtersAux, data);\r\n body = {\r\n ...body,\r\n filter: filtersAux\r\n };\r\n httpParams = httpParams.set('form', JSON.stringify(body));\r\n });\r\n }\r\n } else {\r\n httpParams = httpParams.append('form', JSON.stringify(body));\r\n }\r\n } else {\r\n if (text && text !== '') {\r\n if (Array.isArray(field)) {\r\n for (const f of field) {\r\n httpParams = httpParams.append(f, '%' + text + '%');\r\n }\r\n } else {\r\n if (field?.includes('$like')) {\r\n httpParams = httpParams.append(field, '%' + text + '%');\r\n } else if (field) {\r\n httpParams = httpParams.append(field, text);\r\n }\r\n }\r\n }\r\n\r\n restrictions?.forEach((restriction: RestrictionFilter) => {\r\n if (restriction?.value) {\r\n httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());\r\n }\r\n });\r\n }\r\n\r\n this.httpOptions = {params: httpParams};\r\n\r\n return this._httpClient\r\n .get<any>(url, this.httpOptions)\r\n .pipe(\r\n map((result: any) => {\r\n result?.data?.map((item: any) => {\r\n removeProperties?.forEach((property: string) => {\r\n delete item[property];\r\n });\r\n });\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilsService {\r\n /**\r\n * Convierte el tiempo pasado por parámetro en horas y minutos\r\n *\r\n * @param time - Tiempo\r\n * @returns Devuelve las horas y minutos\r\n */\r\n private static getTime(time: number | string): { hours: number; minutes: number } {\r\n const hours: number = parseInt(Number(time) / 3600 + '', 10);\r\n time = Number(time) - (hours * 3600);\r\n const minutes: number = parseInt(Number(time) / 60 + '', 10);\r\n\r\n return {hours, minutes}\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hh:mm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static getTimePretty(time: number): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);\r\n }\r\n\r\n /**\r\n * Devuelve el tiempo en formato 'hhh : mmm'\r\n *\r\n * @param time - Tiempo\r\n */\r\n public static humanizeDuration(time: number | string): string {\r\n const {hours, minutes} = UtilsService.getTime(time);\r\n\r\n return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';\r\n }\r\n\r\n public static resolvePropertyByPath(obj: any, path: string[]): any {\r\n return path.reduce((prev, curr: string) => {\r\n return prev ? prev[curr] : null;\r\n }, obj || self);\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Injectable()\r\n@Pipe({name: 'durationTime'})\r\nexport class DurationTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n return UtilsService.getTimePretty(value);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({\r\n name: 'humanizeDuration'\r\n})\r\nexport class HumanizeDurationPipe implements PipeTransform {\r\n transform(input: string): string {\r\n return UtilsService.humanizeDuration(input);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'i18nField'})\r\nexport class I18nFieldPipe implements PipeTransform {\r\n transform(value: any, lang: string): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n if (typeof value === 'string') {\r\n return value;\r\n }\r\n\r\n const keys = Object.keys(value);\r\n if (!value[lang]) {\r\n let i = 0;\r\n while (i < keys?.length && (value[keys[i]] === null || value[keys[i]] === '')) {\r\n i++;\r\n }\r\n return keys?.length > i ? value[keys[i]] : 'No está definido';\r\n }\r\n\r\n return value[lang] || 'No está definido';\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {CustomPipes} from \"../interfaces/interfaces\";\r\n\r\n@Injectable()\r\n@Pipe({name: 'idaReturn'})\r\nexport class IdaReturnPipe implements PipeTransform {\r\n transform(value: string): any {\r\n if (value === CustomPipes.IDA_RETURN) {\r\n return 'Ida y Vuelta';\r\n } else {\r\n return 'solo Ida';\r\n }\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowRolesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Rol?.name + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showSegments'})\r\nexport class ShowSegmentsPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.Segment?.PlaceOrigin?.alpha3 + '-' + item?.Segment?.PlaceDestination?.alpha3 + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Injectable()\r\n@Pipe({name: 'showTransportTypes'})\r\nexport class ShowTransportTypesPipe implements PipeTransform {\r\n transform(value: any[]): any {\r\n let result = '';\r\n\r\n if (value?.length) {\r\n value.forEach(item => {\r\n result += item?.TransportType?.name['es'] + ', ';\r\n });\r\n\r\n result = result.substring(0, result?.length - 2);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import {CurrencyPipe, UpperCasePipe} from '@angular/common';\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\nimport {DurationTimePipe} from './duration.pipe';\r\nimport {HumanizeDurationPipe} from './humanize-duration.pipe';\r\nimport {IdaReturnPipe} from './ida-return.pipe';\r\nimport {ShowRolesPipe} from './show-roles.pipe';\r\nimport {ShowSegmentsPipe} from './show-segments.pipe';\r\nimport {ShowTransportTypesPipe} from './show-transport-types.pipe';\r\nimport {CustomPipes, DisplayOptionItem} from \"../interfaces/interfaces\";\r\nimport {UtilsService} from '../services/utils.service';\r\n\r\n@Pipe({name: 'resolvePropertyPath'})\r\nexport class ResolvePropertyPath implements PipeTransform {\r\n\r\n constructor(\r\n private _showSegmentPipe: ShowSegmentsPipe,\r\n private _showRolesPipe: ShowRolesPipe,\r\n private _showTransportTypesPipe: ShowTransportTypesPipe,\r\n private _idaReturnPipe: IdaReturnPipe,\r\n private _currencyPipe: CurrencyPipe,\r\n private _humanizeDurationPipe: HumanizeDurationPipe,\r\n private _upperCasePipe: UpperCasePipe,\r\n private _durationPipe: DurationTimePipe\r\n ) {\r\n }\r\n\r\n transform(obj: any, path: DisplayOptionItem[]): string {\r\n let result: string = '';\r\n\r\n path?.forEach((item: DisplayOptionItem) => {\r\n if (item?.type === 'divider') {\r\n result += item?.divider;\r\n } else {\r\n if (item?.path) {\r\n let value = UtilsService.resolvePropertyByPath(obj, item.path);\r\n\r\n switch (item?.customPipe) {\r\n case CustomPipes.SHOW_SEGMENTS:\r\n value = this._showSegmentPipe.transform(value);\r\n break;\r\n case CustomPipes.DURATION_TIME:\r\n value = this._durationPipe.transform(value);\r\n break;\r\n case CustomPipes.HUMANIZE_DURATION:\r\n value = this._humanizeDurationPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_TRANSPORT_TYPES:\r\n value = this._showTransportTypesPipe.transform(value);\r\n break;\r\n case CustomPipes.SHOW_ROLES:\r\n value = this._showRolesPipe.transform(value);\r\n break;\r\n case CustomPipes.IDA_RETURN:\r\n value = this._idaReturnPipe.transform(value);\r\n break;\r\n case CustomPipes.CURRENCY:\r\n value = this._currencyPipe.transform(value);\r\n break;\r\n case CustomPipes.UPPERCASE:\r\n value = this._upperCasePipe.transform(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n result += value;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\nimport {CurrencyPipe, UpperCasePipe} from \"@angular/common\";\n\nimport {DurationTimePipe} from \"./duration.pipe\";\nimport {HumanizeDurationPipe} from \"./humanize-duration.pipe\";\nimport {I18nFieldPipe} from \"./i18n-field.pipe\";\nimport {IdaReturnPipe} from \"./ida-return.pipe\";\nimport {ResolvePropertyPath} from \"./resolve-property-path.pipe\";\nimport {ShowRolesPipe} from \"./show-roles.pipe\";\nimport {ShowSegmentsPipe} from \"./show-segments.pipe\";\nimport {ShowTransportTypesPipe} from \"./show-transport-types.pipe\";\n\n@NgModule({\n declarations: [\n DurationTimePipe,\n HumanizeDurationPipe,\n I18nFieldPipe,\n IdaReturnPipe,\n ResolvePropertyPath,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe,\n ],\n imports: [\n CurrencyPipe,\n UpperCasePipe\n ],\n exports: [\n DurationTimePipe,\n HumanizeDurationPipe,\n I18nFieldPipe,\n IdaReturnPipe,\n ResolvePropertyPath,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe\n ],\n providers: [\n DurationTimePipe,\n HumanizeDurationPipe,\n I18nFieldPipe,\n IdaReturnPipe,\n ResolvePropertyPath,\n ShowRolesPipe,\n ShowSegmentsPipe,\n ShowTransportTypesPipe,\n CurrencyPipe,\n UpperCasePipe\n ]\n})\nexport class PipesModule {\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n signal,\n TemplateRef,\n ViewChild,\n WritableSignal\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n UntypedFormControl,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {MatAutocompleteModule, MatAutocompleteTrigger} from '@angular/material/autocomplete';\nimport {FloatLabelType, MatFormFieldModule} from '@angular/material/form-field';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {debounceTime, Observable, Subject, takeUntil} from 'rxjs';\nimport {NgClass, NgForOf, NgIf, NgStyle, NgTemplateOutlet} from \"@angular/common\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\n\nimport {GENERAL_DISPLAY_OPTIONS} from '../utils/constants/contacts';\nimport {AutocompleteService} from '../utils/services/autocomplete.service';\nimport {UtilsService} from '../utils/services/utils.service';\nimport {ApiFormData, DisplayOption, RestrictionFilter} from \"../utils/interfaces/interfaces\";\nimport {PipesModule} from \"../utils/pipes/pipes.module\";\n\n@Component({\n selector: 'guajiritos-general-autocomplete',\n templateUrl: './guachos-general-autocomplete.component.html',\n styleUrls: ['./guachos-general-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n MatFormFieldModule,\n NgClass,\n TranslateModule,\n MatAutocompleteModule,\n MatInputModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n NgIf,\n NgForOf,\n NgStyle,\n PipesModule,\n NgTemplateOutlet\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GuajiritosGeneralAutocomplete),\n multi: true\n }\n ]\n})\nexport class GuajiritosGeneralAutocomplete implements OnInit, OnDestroy, ControlValueAccessor {\n\n constructor(\n private _autocompleteService: AutocompleteService,\n private _zone: NgZone,\n public translateService: TranslateService,\n ) {\n }\n\n private clearData$: Subject<void>;\n private unsubscribeAll$: Subject<void> = new Subject<void>();\n private doFocusSubject$: Subject<void>;\n private firstCall: WritableSignal<boolean> = signal(false);\n private selectedElement: WritableSignal<any> = signal(null);\n private _url: WritableSignal<string> = signal(null);\n private restrictionsFilters: WritableSignal<RestrictionFilter[]> = signal([]);\n\n public value: WritableSignal<any> = signal(null);\n public disabledButton: WritableSignal<boolean> = signal(false);\n public loading: WritableSignal<boolean> = signal(false);\n public required: WritableSignal<boolean> = signal(false);\n public filteredOptions: WritableSignal<any[]> = signal([]);\n public component: UntypedFormControl = new UntypedFormControl({\n value: null, disabled: false\n });\n\n @ViewChild('inputText', {static: true}) inputText: ElementRef;\n /**\n * Possible values 'never', 'auto' or 'always'\n */\n @Input() floatLabel: FloatLabelType = 'auto';\n @Input() bodyRequest: ApiFormData;\n @Input() debounceTimeValue: number = 250;\n @Input() detailsTemplate: TemplateRef<any>;\n @Input() label: string = 'Seleccione';\n @Input() placeholder: string = 'Seleccione un elemento';\n @Input() field: string[] = ['name'];\n @Input() filterString: string = 'filter[$and][name][$like]';\n @Input() displayOptions: DisplayOption = GENERAL_DISPLAY_OPTIONS;\n @Input() withoutPaddingBottom: boolean = true;\n @Input() valueId: boolean = false;\n @Input() order: string = null;\n @Input() removeProperties: string[] = [];\n @Output() SelectElement: EventEmitter<any> = new EventEmitter<any>();\n\n @Input() set disable(flag: boolean) {\n this.disabledButton.set(flag);\n if (flag) {\n this.component.disable();\n } else {\n this.component.enable();\n }\n }\n\n @Input() set url(data: string) {\n if (data) {\n this._url.set(data);\n this.subscribeComponentChanges();\n }\n }\n\n @Input() set clearData(value: Subject<void>) {\n this.clearData$ = value;\n if (this.clearData$) {\n this.clearData$\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe({\n next: () => {\n this.component.setValue(null);\n this.selectedElement.set(null);\n this.SelectElement.emit(null);\n this.filteredOptions.set([]);\n this.onChanged(null);\n }\n });\n }\n }\n\n @Input() set initialValue(value: any) {\n this.component.setValue(value);\n }\n\n @Input() set restrictions(value: RestrictionFilter[]) {\n if (value) {\n this.restrictionsFilters.set(value);\n } else {\n this.restrictionsFilters.set([]);\n }\n }\n\n @Input() set isRequired(value: boolean) {\n this.required.set(value);\n\n if (value) {\n this.component.setValidators([Validators.required, GuajiritosGeneralAutocomplete.autocompleteValidator]);\n } else {\n this.component.clearValidators();\n }\n\n this.component.updateValueAndValidity();\n }\n\n get doFocus(): Subject<any> {\n return this.doFocusSubject$;\n }\n\n @Input() set doFocus(value: Subject<void>) {\n this.doFocusSubject$ = value;\n\n if (value) {\n this.doFocusSubject$\n .pipe(takeUntil(this.unsubscribeAll$))\n .subscribe({\n next: () => {\n this._zone.run(() => {\n setTimeout(() => {\n this.inputText?.nativeElement?.focus();\n }, 500);\n });\n }\n });\n }\n }\n\n private static autocompleteValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (control?.value?.constructor !== Object || !control?.value?.id) {\n return {invalidSelection: true};\n }\n return null;\n };\n }\n\n private subscribeComponentChanges(): void {\n this.component?.valueChanges\n ?.pipe(debounceTime(this.debounceTimeValue), takeUntil(this.unsubscribeAll$))\n ?.subscribe({\n next: () => {\n if (!this.firstCall()) {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n } else {\n this.firstCall.set(false);\n }\n }\n });\n }\n\n private getAutocompleteByTextHandler(text?: string): void {\n this._autocompleteService\n .getAutocompleteByText(this._url(), text, this.filterString, this.restrictionsFilters(),\n this.removeProperties, this.order, this.bodyRequest)\n .then((resp: Observable<any>) => {\n resp?.subscribe({\n next: (result: any) => {\n this.filteredOptions.set(result?.payload?.data ?? result?.data);\n this.loading.set(false);\n }\n });\n });\n }\n\n private getAutocompleteSearchText(): string {\n this.loading.set(true);\n\n let text: string = null;\n if (this.component?.value) {\n if (typeof this.component.value === 'object') {\n const componentValue = this.component?.value[this.field[0]]\n if (typeof componentValue === 'object') {\n let lang: string = 'es';\n if (this.field[1]) {\n lang = this.field[1];\n }\n\n text = componentValue[lang];\n }\n } else if (typeof this.component?.value === 'string') {\n text = this.component.value;\n }\n }\n\n return text;\n }\n\n onChanged: any = () => {\n };\n\n onTouched: any = () => {\n };\n\n public displayFn = (value: any): string => {\n if (value) {\n if (typeof value === 'string') {\n return value;\n }\n\n let displayText: string = '';\n if (!this.displayOptions) {\n this.displayOptions = GENERAL_DISPLAY_OPTIONS;\n }\n this.displayOptions?.firthLabel?.forEach((field: any) => {\n if (field?.type === 'path') {\n displayText += UtilsService.resolvePropertyByPath(value, field?.path);\n } else {\n displayText += field?.divider;\n }\n });\n return displayText;\n }\n };\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'number') {\n this.value.set(value);\n } else if (typeof value === 'object') {\n this.component.setValue(value);\n this.value.set(value.id);\n } else {\n this.value.set(value);\n }\n } else {\n this.value.set(null);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public clear(trigger: MatAutocompleteTrigger): void {\n this.component.setValue(null);\n this.selectedElement.set(null);\n this.SelectElement.emit(null);\n this.onChanged(null);\n\n this._zone.run(() => {\n setTimeout(() => {\n trigger.openPanel();\n }, 100);\n });\n }\n\n public onFocus(): void {\n this.getAutocompleteByTextHandler(this.getAutocompleteSearchText());\n }\n\n public onSelectElement(item: any): void {\n this.selectedElement.set(item);\n this.SelectElement.emit(item);\n this.value.set(item);\n\n if (this.valueId) {\n this.onChanged(item?.id);\n } else {\n this.onChanged(item);\n }\n }\n\n ngOnInit(): void {\n this.component.markAllAsTouched();\n }\n\n ngOnDestroy(): void {\n this.unsubscribeAll$.next();\n this.unsubscribeAll$.complete();\n }\n}\n","<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading() && component?.value\" [disabled]=\"disabledButton()\"\r\n aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading()\" aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\" (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions?.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions?.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n","/*\n * Public API Surface of guachos-general-autocomplete\n */\n\nexport * from './utils/interfaces/interfaces';\nexport * from './utils/constants/contacts';\nexport * from './lib/guachos-general-autocomplete.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ShowSegmentsPipe","i2.ShowRolesPipe","i3.ShowTransportTypesPipe","i4.IdaReturnPipe","i6.HumanizeDurationPipe","i7.DurationTimePipe","i1.AutocompleteService","i5","i11.I18nFieldPipe","i12.ResolvePropertyPath"],"mappings":"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"}
@@ -1,31 +1,30 @@
1
- import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, TemplateRef } from '@angular/core';
1
+ import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, TemplateRef, WritableSignal } from '@angular/core';
2
2
  import { ControlValueAccessor, UntypedFormControl } from '@angular/forms';
3
3
  import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
4
4
  import { FloatLabelType } from '@angular/material/form-field';
5
5
  import { TranslateService } from '@ngx-translate/core';
6
6
  import { Subject } from 'rxjs';
7
7
  import { AutocompleteService } from '../utils/services/autocomplete.service';
8
- import { ApiFormData, DisplayOption } from "../utils/interfaces/interfaces";
8
+ import { ApiFormData, DisplayOption, RestrictionFilter } from "../utils/interfaces/interfaces";
9
9
  import * as i0 from "@angular/core";
10
- export declare class GuajiritosGeneralAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {
10
+ export declare class GuajiritosGeneralAutocomplete implements OnInit, OnDestroy, ControlValueAccessor {
11
11
  private _autocompleteService;
12
- private _cdRef;
13
12
  private _zone;
14
13
  translateService: TranslateService;
15
- constructor(_autocompleteService: AutocompleteService, _cdRef: ChangeDetectorRef, _zone: NgZone, translateService: TranslateService);
14
+ constructor(_autocompleteService: AutocompleteService, _zone: NgZone, translateService: TranslateService);
15
+ private clearData$;
16
16
  private unsubscribeAll$;
17
+ private doFocusSubject$;
17
18
  private firstCall;
18
- private restrictionsFilters;
19
19
  private selectedElement;
20
- private doFocusSubject$;
21
- private clearData$;
22
20
  private _url;
23
- required: boolean;
21
+ private restrictionsFilters;
22
+ value: WritableSignal<any>;
23
+ disabledButton: WritableSignal<boolean>;
24
+ loading: WritableSignal<boolean>;
25
+ required: WritableSignal<boolean>;
26
+ filteredOptions: WritableSignal<any[]>;
24
27
  component: UntypedFormControl;
25
- value: any;
26
- disabledButton: boolean;
27
- filteredOptions: any[];
28
- loading: boolean;
29
28
  inputText: ElementRef;
30
29
  /**
31
30
  * Possible values 'never', 'auto' or 'always'
@@ -48,11 +47,11 @@ export declare class GuajiritosGeneralAutocompleteComponent implements OnInit, O
48
47
  set url(data: string);
49
48
  set clearData(value: Subject<void>);
50
49
  set initialValue(value: any);
51
- set restrictions(value: any);
50
+ set restrictions(value: RestrictionFilter[]);
52
51
  set isRequired(value: boolean);
53
52
  get doFocus(): Subject<any>;
54
53
  set doFocus(value: Subject<void>);
55
- private static ValidateAutocomplete;
54
+ private static autocompleteValidator;
56
55
  private subscribeComponentChanges;
57
56
  private getAutocompleteByTextHandler;
58
57
  private getAutocompleteSearchText;
@@ -67,6 +66,6 @@ export declare class GuajiritosGeneralAutocompleteComponent implements OnInit, O
67
66
  onSelectElement(item: any): void;
68
67
  ngOnInit(): void;
69
68
  ngOnDestroy(): void;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosGeneralAutocompleteComponent, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosGeneralAutocompleteComponent, "guajiritos-general-autocomplete", never, { "floatLabel": "floatLabel"; "bodyRequest": "bodyRequest"; "debounceTimeValue": "debounceTimeValue"; "detailsTemplate": "detailsTemplate"; "label": "label"; "placeholder": "placeholder"; "field": "field"; "filterString": "filterString"; "displayOptions": "displayOptions"; "withoutPaddingBottom": "withoutPaddingBottom"; "valueId": "valueId"; "order": "order"; "removeProperties": "removeProperties"; "disable": "disable"; "url": "url"; "clearData": "clearData"; "initialValue": "initialValue"; "restrictions": "restrictions"; "isRequired": "isRequired"; "doFocus": "doFocus"; }, { "SelectElement": "SelectElement"; }, never, never, false, never>;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosGeneralAutocomplete, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosGeneralAutocomplete, "guajiritos-general-autocomplete", never, { "floatLabel": { "alias": "floatLabel"; "required": false; }; "bodyRequest": { "alias": "bodyRequest"; "required": false; }; "debounceTimeValue": { "alias": "debounceTimeValue"; "required": false; }; "detailsTemplate": { "alias": "detailsTemplate"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "field": { "alias": "field"; "required": false; }; "filterString": { "alias": "filterString"; "required": false; }; "displayOptions": { "alias": "displayOptions"; "required": false; }; "withoutPaddingBottom": { "alias": "withoutPaddingBottom"; "required": false; }; "valueId": { "alias": "valueId"; "required": false; }; "order": { "alias": "order"; "required": false; }; "removeProperties": { "alias": "removeProperties"; "required": false; }; "disable": { "alias": "disable"; "required": false; }; "url": { "alias": "url"; "required": false; }; "clearData": { "alias": "clearData"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "restrictions": { "alias": "restrictions"; "required": false; }; "isRequired": { "alias": "isRequired"; "required": false; }; "doFocus": { "alias": "doFocus"; "required": false; }; }, { "SelectElement": "SelectElement"; }, never, never, true, never>;
72
71
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guajiritos/general-autocomplete",
3
- "version": "0.0.11",
3
+ "version": "0.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^15.0.0 || >=16.0.0",
6
6
  "@angular/common": "^15.0.0 || >=16.0.0",
@@ -33,11 +33,7 @@
33
33
  "guachos images",
34
34
  "compress image"
35
35
  ],
36
- "module": "fesm2015/guajiritos-general-autocomplete.mjs",
37
- "es2020": "fesm2020/guajiritos-general-autocomplete.mjs",
38
- "esm2020": "esm2020/guajiritos-general-autocomplete.mjs",
39
- "fesm2020": "fesm2020/guajiritos-general-autocomplete.mjs",
40
- "fesm2015": "fesm2015/guajiritos-general-autocomplete.mjs",
36
+ "module": "fesm2022/guajiritos-general-autocomplete.mjs",
41
37
  "typings": "index.d.ts",
42
38
  "exports": {
43
39
  "./package.json": {
@@ -45,11 +41,9 @@
45
41
  },
46
42
  ".": {
47
43
  "types": "./index.d.ts",
48
- "esm2020": "./esm2020/guajiritos-general-autocomplete.mjs",
49
- "es2020": "./fesm2020/guajiritos-general-autocomplete.mjs",
50
- "es2015": "./fesm2015/guajiritos-general-autocomplete.mjs",
51
- "node": "./fesm2015/guajiritos-general-autocomplete.mjs",
52
- "default": "./fesm2020/guajiritos-general-autocomplete.mjs"
44
+ "esm2022": "./esm2022/guajiritos-general-autocomplete.mjs",
45
+ "esm": "./esm2022/guajiritos-general-autocomplete.mjs",
46
+ "default": "./fesm2022/guajiritos-general-autocomplete.mjs"
53
47
  }
54
48
  },
55
49
  "sideEffects": false
package/public-api.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from './utils/interfaces/interfaces';
2
2
  export * from './utils/constants/contacts';
3
3
  export * from './lib/guachos-general-autocomplete.component';
4
- export * from './lib/guachos-general-autocomplete.module';
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./duration.pipe";
3
+ import * as i2 from "./humanize-duration.pipe";
4
+ import * as i3 from "./i18n-field.pipe";
5
+ import * as i4 from "./ida-return.pipe";
6
+ import * as i5 from "./resolve-property-path.pipe";
7
+ import * as i6 from "./show-roles.pipe";
8
+ import * as i7 from "./show-segments.pipe";
9
+ import * as i8 from "./show-transport-types.pipe";
10
+ import * as i9 from "@angular/common";
11
+ export declare class PipesModule {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<PipesModule, never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PipesModule, [typeof i1.DurationTimePipe, typeof i2.HumanizeDurationPipe, typeof i3.I18nFieldPipe, typeof i4.IdaReturnPipe, typeof i5.ResolvePropertyPath, typeof i6.ShowRolesPipe, typeof i7.ShowSegmentsPipe, typeof i8.ShowTransportTypesPipe], [typeof i9.CurrencyPipe, typeof i9.UpperCasePipe], [typeof i1.DurationTimePipe, typeof i2.HumanizeDurationPipe, typeof i3.I18nFieldPipe, typeof i4.IdaReturnPipe, typeof i5.ResolvePropertyPath, typeof i6.ShowRolesPipe, typeof i7.ShowSegmentsPipe, typeof i8.ShowTransportTypesPipe]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<PipesModule>;
15
+ }