@lucca-front/ng 17.4.0 → 17.4.2

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 (80) hide show
  1. package/core-select/api/api.directive.d.ts +1 -1
  2. package/core-select/api/public-api.d.ts +1 -1
  3. package/core-select/input/select-input.component.d.ts +3 -3
  4. package/core-select/select.model.d.ts +1 -0
  5. package/core-select/user/user-option.component.d.ts +2 -2
  6. package/core-select/user/user-option.model.d.ts +3 -1
  7. package/core-select/user/users.directive.d.ts +2 -2
  8. package/esm2022/api/select/input/api-select-input.component.mjs +3 -3
  9. package/esm2022/core-select/api/api.directive.mjs +3 -3
  10. package/esm2022/core-select/api/public-api.mjs +2 -2
  11. package/esm2022/core-select/input/select-input.component.mjs +3 -1
  12. package/esm2022/core-select/option/option-outlet.directive.mjs +2 -2
  13. package/esm2022/core-select/select.model.mjs +1 -1
  14. package/esm2022/core-select/user/user-option.component.mjs +1 -1
  15. package/esm2022/core-select/user/user-option.model.mjs +1 -1
  16. package/esm2022/core-select/user/users.directive.mjs +3 -3
  17. package/esm2022/date/select/date-select-input.component.mjs +3 -3
  18. package/esm2022/department/select/input/department-select-input.component.mjs +3 -3
  19. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +3 -3
  20. package/esm2022/form-field/form-field.component.mjs +39 -14
  21. package/esm2022/forms/number-input/number-input.component.mjs +2 -1
  22. package/esm2022/forms/radio-group-input/radio/radio.component.mjs +6 -3
  23. package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +4 -3
  24. package/esm2022/forms/text-input/text-input.component.mjs +1 -1
  25. package/esm2022/icon/icon.component.mjs +3 -3
  26. package/esm2022/option/picker/option-picker.component.mjs +7 -2
  27. package/esm2022/option/picker/tree-option-picker.component.mjs +5 -1
  28. package/esm2022/popover/panel/popover-panel.model.mjs +1 -1
  29. package/esm2022/popover/trigger/popover-trigger.model.mjs +2 -1
  30. package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +2 -2
  31. package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +1 -1
  32. package/esm2022/qualification/select/input/qualification-select-input.component.mjs +3 -3
  33. package/esm2022/select/input/select-input.component.mjs +2 -2
  34. package/esm2022/user/display/user-display.pipe.mjs +12 -12
  35. package/esm2022/user/picture/user-picture.component.mjs +29 -30
  36. package/esm2022/user/select/input/user-select-input.component.mjs +3 -3
  37. package/esm2022/user/tile/user-tile.component.mjs +1 -1
  38. package/fesm2022/lucca-front-ng-api.mjs +2 -2
  39. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
  41. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-core-select-user.mjs +2 -2
  43. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-core-select.mjs +3 -1
  45. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-date.mjs +2 -2
  47. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-department.mjs +2 -2
  49. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-establishment.mjs +2 -2
  51. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-form-field.mjs +38 -13
  53. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-forms.mjs +8 -2
  55. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-icon.mjs +2 -2
  57. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-option.mjs +9 -1
  59. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-popover.mjs +1 -0
  61. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-popup-employee.mjs +1 -1
  63. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-qualification.mjs +2 -2
  65. package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-select.mjs +2 -2
  67. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-user.mjs +40 -40
  69. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  70. package/form-field/form-field.component.d.ts +3 -2
  71. package/forms/radio-group-input/radio/radio.component.d.ts +1 -0
  72. package/forms/radio-group-input/radio-group-input.component.d.ts +1 -0
  73. package/forms/text-input/text-input.component.d.ts +1 -1
  74. package/option/picker/option-picker.component.d.ts +2 -1
  75. package/package.json +27 -27
  76. package/popover/panel/popover-panel.model.d.ts +3 -1
  77. package/popup-employee/card/panel/user-popover-panel.component.d.ts +0 -2
  78. package/schematics/new-icons/mapping.js +0 -1
  79. package/src/definitions/select/_select-input.scss +1 -5
  80. package/user/picture/user-picture.component.d.ts +13 -10
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/select/feeder/api-feeder.model.ts","../../../packages/ng/api/service/api-service.model.ts","../../../packages/ng/api/service/api-v3.service.ts","../../../packages/ng/api/service/api-v4.service.ts","../../../packages/ng/api/service/api-hybrid.service.ts","../../../packages/ng/api/select/feeder/api-feeder.component.ts","../../../packages/ng/api/select/feeder/api-feeder.module.ts","../../../packages/ng/api/select/searcher/api-searcher.model.ts","../../../packages/ng/api/select/searcher/api-searcher.component.ts","../../../packages/ng/api/select/searcher/api-searcher.component.html","../../../packages/ng/api/select/searcher/api-searcher.module.ts","../../../packages/ng/api/select/input/api-select-input.component.ts","../../../packages/ng/api/select/input/api-select-input.component.html","../../../packages/ng/api/select/input/api-select-input.module.ts","../../../packages/ng/api/select/pager/api-pager.model.ts","../../../packages/ng/api/select/pager/api-pager.component.ts","../../../packages/ng/api/select/pager/api-pager.module.ts","../../../packages/ng/api/select/api-select.module.ts","../../../packages/ng/api/api.module.ts","../../../packages/ng/api/lucca-front-ng-api.ts"],"sourcesContent":["import { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\n\tgetAll(): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\n\toutOptions$ = new BehaviorSubject<T[]>([]);\n\tprotected _service: S;\n\tconstructor(service: S) {\n\t\tthis._service = service;\n\t}\n\tonOpen() {\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\n\t}\n}\n","import { Observable } from 'rxjs';\n\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\n\tgetAll(filters?: string[]): Observable<T[]>;\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\n\tabstract getAll(filters?: string[]): Observable<T[]>;\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\nconst MAGIC_PAGE_SIZE = 20;\n\n@Injectable()\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\tprotected _fields = 'fields=id,name';\n\tset fields(fields: string) {\n\t\tif (fields) {\n\t\t\tthis._fields = `fields=${fields}`;\n\t\t}\n\t}\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tif (filters) {\n\t\t\tthis._filters = filters || [];\n\t\t}\n\t}\n\tprotected _orderBy = 'orderBy=name,asc';\n\tset orderBy(orderBy: string) {\n\t\tif (orderBy) {\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\n\t\t}\n\t}\n\n\tget url() {\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._get([this.url, ...filters].join('&'));\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tprotected _get(url: string): Observable<T[]> {\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\n\t}\n\tprotected _clueFilter(clue: string) {\n\t\tconst urlSafeClue = encodeURIComponent(clue);\n\t\treturn `name=like,${urlSafeClue}`;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\n@Injectable()\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\tget filters(): string[] {\n\t\treturn this._filters;\n\t}\n\n\tprotected _sort: string;\n\tset sort(sort: string) {\n\t\tif (sort) {\n\t\t\tthis._sort = `sort=${sort}`;\n\t\t}\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tcount(): Observable<number> {\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\nimport { LuApiV3Service } from './api-v3.service';\nimport { LuApiV4Service } from './api-v4.service';\n\n@Injectable()\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprivate _v3Service: LuApiV3Service<T>;\n\tprivate _v4Service: LuApiV4Service<T>;\n\n\tprivate _standard: 'v3' | 'v4' = 'v3';\n\tset standard(std: 'v3' | 'v4') {\n\t\tthis._standard = std;\n\t}\n\n\t// both\n\tset api(api: string) {\n\t\tthis._v3Service.api = api;\n\t\tthis._v4Service.api = api;\n\t}\n\tset filters(filters: string[]) {\n\t\tthis._v3Service.filters = filters;\n\t\tthis._v4Service.filters = filters;\n\t}\n\n\t// api v3 only\n\tset fields(fields: string) {\n\t\tthis._v3Service.fields = fields;\n\t}\n\tset orderBy(orderBy: string) {\n\t\tthis._v3Service.orderBy = orderBy;\n\t}\n\n\t// api v4 only\n\tset sort(sort: string) {\n\t\tthis._v4Service.sort = sort;\n\t}\n\n\tprivate get _service(): ALuApiService<T> {\n\t\tswitch (this._standard) {\n\t\t\tcase 'v4':\n\t\t\t\treturn this._v4Service;\n\t\t\tcase 'v3':\n\t\t\tdefault:\n\t\t\t\treturn this._v3Service;\n\t\t}\n\t}\n\n\tconstructor(private _http: HttpClient) {\n\t\tsuper();\n\t\tthis._v3Service = new LuApiV3Service(this._http);\n\t\tthis._v4Service = new LuApiV4Service(this._http);\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getAll(filters);\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getPaged(page, filters);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchAll(clue, filters);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchPaged(clue, page, filters);\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionFeeder } from './api-feeder.model';\n@Component({\n\tselector: 'lu-api-feeder',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\toverride outOptions$ = new BehaviorSubject<T[]>([]);\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './api-feeder.component';\n\n@NgModule({\n\timports: [LuApiFeederComponent],\n\texports: [LuApiFeederComponent],\n})\nexport class LuApiFeederModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ILuApiService } from '../../service/index';\nimport { ILuApiOptionFeeder } from '../feeder/index';\n\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\n\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\n\tprotected _clue$: Observable<string>;\n\n\tset clue$(clue$: Observable<string>) {\n\t\t// this.initObservables(clue$);\n\t\tthis._clue$ = clue$;\n\t}\n\tconstructor(protected _service: S) {}\n\tinit() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tthis.resetClue();\n\t}\n\tonClose() {\n\t\tthis.clearOptions();\n\t}\n\tprotected initObservables() {\n\t\t// this._clue$ = clue$.pipe(share());\n\t\tconst results$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\n\t\t\tcatchError(() => of([])),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\n\t\tthis.loading$ = merge(this._clue$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract resetClue();\n\tprotected clearOptions() {\n\t\tthis.outOptions$.next([]);\n\t}\n}\n\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\n\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\textends ALuApiOptionSearcher<T, S>\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\n{\n\toverride outOptions$ = new Subject<T[]>();\n\toverride loading$: Observable<boolean>;\n\tprotected _loading = false;\n\tprotected _page$ = new Subject<void>();\n\tprotected _isLastPage: boolean;\n\tprotected _options: T[] = [];\n\n\tconstructor(service: S) {\n\t\tsuper(service);\n\t}\n\toverride onOpen() {\n\t\tthis.resetClue();\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\n\tprotected override initObservables() {\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\t\tconst query$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([page, clue]) =>\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract override resetClue();\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\n\n@Component({\n\tselector: 'lu-api-searcher',\n\ttemplateUrl: 'api-searcher.component.html',\n\tstyleUrls: ['api-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.setValue('');\n\t}\n}\n\n@Component({\n\tselector: 'lu-api-paged-searcher',\n\ttemplateUrl: 'api-searcher.component.html',\n\tstyleUrls: ['api-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\n\timplements OnInit\n{\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.reset('');\n\t}\n}\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"resetClue()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';\n\n@NgModule({\n\timports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n\texports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n})\nexport class LuApiSearcherModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionItem, LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuApiPagedSearcherComponent } from '../searcher';\n\n@Component({\n\tselector: 'lu-api-select',\n\ttemplateUrl: './api-select-input.component.html',\n\tstyleUrls: ['./api-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, LuInputClearerComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\n\timplements ControlValueAccessor, AfterViewInit\n{\n\t@Input() standard: 'v3' | 'v4' = 'v3';\n\t@Input() api: string;\n\t/**\n\t * only works with standard=\"v3\"\n\t */\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t/**\n\t * only works with standard=\"v3\", otherwise use sort\n\t */\n\t@Input() orderBy: string;\n\t/**\n\t * only works with standard=\"v4\", otherwise use orderBy\n\t */\n\t@Input() sort: string;\n\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\">{{ option.name }}</span>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher\n\t\t\t[standard]=\"standard\"\n\t\t\t[api]=\"api\"\n\t\t\t[fields]=\"fields\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[orderBy]=\"orderBy\"\n\t\t\t[sort]=\"sort\"\n\t\t></lu-api-paged-searcher>\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectInputComponent } from './api-select-input.component';\n\n@NgModule({\n\timports: [LuApiSelectInputComponent],\n\texports: [LuApiSelectInputComponent],\n})\nexport class LuApiSelectInputModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nenum Strategy {\n\tappend,\n\treplace,\n}\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\n\tgetPaged(page: number): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\n\tprotected _loading = false;\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\n\tprotected _options: T[] = [];\n\tprotected _page$ = new Subject<number>();\n\tprotected _page: number;\n\tprotected _initialized = false;\n\tconstructor(protected _service: S) {}\n\tprotected init() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tif (!this._initialized) {\n\t\t\tthis._page$.next(0);\n\t\t\tthis._initialized = true;\n\t\t}\n\t}\n\t// onClose() {\n\t// \tthis._page$.next(0);\n\t// }\n\tonScrollBottom() {\n\t\tif (!this._loading) {\n\t\t\tthis._page$.next(this._page + 1);\n\t\t}\n\t}\n\tprotected initObservables() {\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap((p) => (this._page = p)),\n\t\t\tswitchMap((page) => {\n\t\t\t\tif (page === undefined) {\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\n\t\t\t\t}\n\t\t\t\treturn this._service.getPaged(page).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems: items,\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\n\t\t\ttap((results) => {\n\t\t\t\tif (results.strategy === Strategy.replace) {\n\t\t\t\t\tthis._options = [...results.items];\n\t\t\t\t} else {\n\t\t\t\t\tthis._options.push(...results.items);\n\t\t\t\t}\n\t\t\t\tthis.outOptions$.next([...this._options]);\n\t\t\t}),\n\t\t);\n\n\t\tthis.loading$ = merge(this._page$.pipe(map(() => true)), _results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPager } from './api-pager.model';\n\n@Component({\n\tselector: 'lu-api-pager',\n\ttemplate: '',\n\tstyleUrls: [],\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\n{\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\n\tngOnInit() {\n\t\tsuper.init();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagerComponent } from './api-pager.component';\n\n@NgModule({\n\timports: [LuApiPagerComponent],\n\texports: [LuApiPagerComponent],\n})\nexport class LuApiPagerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './feeder/index';\nimport { LuApiSelectInputComponent } from './input/index';\nimport { LuApiPagerComponent } from './pager/index';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './searcher/index';\n\n@NgModule({\n\timports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n\texports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n})\nexport class LuApiSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuApiSelectModule],\n\texports: [LuApiSelectModule],\n})\nexport class LuApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/select/feeder/api-feeder.model.ts","../../../packages/ng/api/service/api-service.model.ts","../../../packages/ng/api/service/api-v3.service.ts","../../../packages/ng/api/service/api-v4.service.ts","../../../packages/ng/api/service/api-hybrid.service.ts","../../../packages/ng/api/select/feeder/api-feeder.component.ts","../../../packages/ng/api/select/feeder/api-feeder.module.ts","../../../packages/ng/api/select/searcher/api-searcher.model.ts","../../../packages/ng/api/select/searcher/api-searcher.component.ts","../../../packages/ng/api/select/searcher/api-searcher.component.html","../../../packages/ng/api/select/searcher/api-searcher.module.ts","../../../packages/ng/api/select/input/api-select-input.component.ts","../../../packages/ng/api/select/input/api-select-input.component.html","../../../packages/ng/api/select/input/api-select-input.module.ts","../../../packages/ng/api/select/pager/api-pager.model.ts","../../../packages/ng/api/select/pager/api-pager.component.ts","../../../packages/ng/api/select/pager/api-pager.module.ts","../../../packages/ng/api/select/api-select.module.ts","../../../packages/ng/api/api.module.ts","../../../packages/ng/api/lucca-front-ng-api.ts"],"sourcesContent":["import { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\n\tgetAll(): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\n\toutOptions$ = new BehaviorSubject<T[]>([]);\n\tprotected _service: S;\n\tconstructor(service: S) {\n\t\tthis._service = service;\n\t}\n\tonOpen() {\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\n\t}\n}\n","import { Observable } from 'rxjs';\n\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\n\tgetAll(filters?: string[]): Observable<T[]>;\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\n\tabstract getAll(filters?: string[]): Observable<T[]>;\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\nconst MAGIC_PAGE_SIZE = 20;\n\n@Injectable()\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\tprotected _fields = 'fields=id,name';\n\tset fields(fields: string) {\n\t\tif (fields) {\n\t\t\tthis._fields = `fields=${fields}`;\n\t\t}\n\t}\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tif (filters) {\n\t\t\tthis._filters = filters || [];\n\t\t}\n\t}\n\tprotected _orderBy = 'orderBy=name,asc';\n\tset orderBy(orderBy: string) {\n\t\tif (orderBy) {\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\n\t\t}\n\t}\n\n\tget url() {\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._get([this.url, ...filters].join('&'));\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tprotected _get(url: string): Observable<T[]> {\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\n\t}\n\tprotected _clueFilter(clue: string) {\n\t\tconst urlSafeClue = encodeURIComponent(clue);\n\t\treturn `name=like,${urlSafeClue}`;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\n@Injectable()\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\tget filters(): string[] {\n\t\treturn this._filters;\n\t}\n\n\tprotected _sort: string;\n\tset sort(sort: string) {\n\t\tif (sort) {\n\t\t\tthis._sort = `sort=${sort}`;\n\t\t}\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tcount(): Observable<number> {\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\nimport { LuApiV3Service } from './api-v3.service';\nimport { LuApiV4Service } from './api-v4.service';\n\n@Injectable()\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprivate _v3Service: LuApiV3Service<T>;\n\tprivate _v4Service: LuApiV4Service<T>;\n\n\tprivate _standard: 'v3' | 'v4' = 'v3';\n\tset standard(std: 'v3' | 'v4') {\n\t\tthis._standard = std;\n\t}\n\n\t// both\n\tset api(api: string) {\n\t\tthis._v3Service.api = api;\n\t\tthis._v4Service.api = api;\n\t}\n\tset filters(filters: string[]) {\n\t\tthis._v3Service.filters = filters;\n\t\tthis._v4Service.filters = filters;\n\t}\n\n\t// api v3 only\n\tset fields(fields: string) {\n\t\tthis._v3Service.fields = fields;\n\t}\n\tset orderBy(orderBy: string) {\n\t\tthis._v3Service.orderBy = orderBy;\n\t}\n\n\t// api v4 only\n\tset sort(sort: string) {\n\t\tthis._v4Service.sort = sort;\n\t}\n\n\tprivate get _service(): ALuApiService<T> {\n\t\tswitch (this._standard) {\n\t\t\tcase 'v4':\n\t\t\t\treturn this._v4Service;\n\t\t\tcase 'v3':\n\t\t\tdefault:\n\t\t\t\treturn this._v3Service;\n\t\t}\n\t}\n\n\tconstructor(private _http: HttpClient) {\n\t\tsuper();\n\t\tthis._v3Service = new LuApiV3Service(this._http);\n\t\tthis._v4Service = new LuApiV4Service(this._http);\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getAll(filters);\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getPaged(page, filters);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchAll(clue, filters);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchPaged(clue, page, filters);\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionFeeder } from './api-feeder.model';\n@Component({\n\tselector: 'lu-api-feeder',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\toverride outOptions$ = new BehaviorSubject<T[]>([]);\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './api-feeder.component';\n\n@NgModule({\n\timports: [LuApiFeederComponent],\n\texports: [LuApiFeederComponent],\n})\nexport class LuApiFeederModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ILuApiService } from '../../service/index';\nimport { ILuApiOptionFeeder } from '../feeder/index';\n\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\n\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\n\tprotected _clue$: Observable<string>;\n\n\tset clue$(clue$: Observable<string>) {\n\t\t// this.initObservables(clue$);\n\t\tthis._clue$ = clue$;\n\t}\n\tconstructor(protected _service: S) {}\n\tinit() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tthis.resetClue();\n\t}\n\tonClose() {\n\t\tthis.clearOptions();\n\t}\n\tprotected initObservables() {\n\t\t// this._clue$ = clue$.pipe(share());\n\t\tconst results$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\n\t\t\tcatchError(() => of([])),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\n\t\tthis.loading$ = merge(this._clue$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract resetClue();\n\tprotected clearOptions() {\n\t\tthis.outOptions$.next([]);\n\t}\n}\n\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\n\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\textends ALuApiOptionSearcher<T, S>\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\n{\n\toverride outOptions$ = new Subject<T[]>();\n\toverride loading$: Observable<boolean>;\n\tprotected _loading = false;\n\tprotected _page$ = new Subject<void>();\n\tprotected _isLastPage: boolean;\n\tprotected _options: T[] = [];\n\n\tconstructor(service: S) {\n\t\tsuper(service);\n\t}\n\toverride onOpen() {\n\t\tthis.resetClue();\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\n\tprotected override initObservables() {\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\t\tconst query$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([page, clue]) =>\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract override resetClue();\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\n\n@Component({\n\tselector: 'lu-api-searcher',\n\ttemplateUrl: 'api-searcher.component.html',\n\tstyleUrls: ['api-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.setValue('');\n\t}\n}\n\n@Component({\n\tselector: 'lu-api-paged-searcher',\n\ttemplateUrl: 'api-searcher.component.html',\n\tstyleUrls: ['api-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\n\timplements OnInit\n{\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.reset('');\n\t}\n}\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"resetClue()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';\n\n@NgModule({\n\timports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n\texports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n})\nexport class LuApiSearcherModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionItem, LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuApiPagedSearcherComponent } from '../searcher';\n\n@Component({\n\tselector: 'lu-api-select',\n\ttemplateUrl: './api-select-input.component.html',\n\tstyleUrls: ['./api-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, LuInputClearerComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\n\timplements ControlValueAccessor, AfterViewInit\n{\n\t@Input() standard: 'v3' | 'v4' = 'v3';\n\t@Input() api: string;\n\t/**\n\t * only works with standard=\"v3\"\n\t */\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t/**\n\t * only works with standard=\"v3\", otherwise use sort\n\t */\n\t@Input() orderBy: string;\n\t/**\n\t * only works with standard=\"v4\", otherwise use orderBy\n\t */\n\t@Input() sort: string;\n\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\">{{ option.name }}</span>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher\n\t\t\t[standard]=\"standard\"\n\t\t\t[api]=\"api\"\n\t\t\t[fields]=\"fields\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[orderBy]=\"orderBy\"\n\t\t\t[sort]=\"sort\"\n\t\t></lu-api-paged-searcher>\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectInputComponent } from './api-select-input.component';\n\n@NgModule({\n\timports: [LuApiSelectInputComponent],\n\texports: [LuApiSelectInputComponent],\n})\nexport class LuApiSelectInputModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nenum Strategy {\n\tappend,\n\treplace,\n}\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\n\tgetPaged(page: number): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\n\tprotected _loading = false;\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\n\tprotected _options: T[] = [];\n\tprotected _page$ = new Subject<number>();\n\tprotected _page: number;\n\tprotected _initialized = false;\n\tconstructor(protected _service: S) {}\n\tprotected init() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tif (!this._initialized) {\n\t\t\tthis._page$.next(0);\n\t\t\tthis._initialized = true;\n\t\t}\n\t}\n\t// onClose() {\n\t// \tthis._page$.next(0);\n\t// }\n\tonScrollBottom() {\n\t\tif (!this._loading) {\n\t\t\tthis._page$.next(this._page + 1);\n\t\t}\n\t}\n\tprotected initObservables() {\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap((p) => (this._page = p)),\n\t\t\tswitchMap((page) => {\n\t\t\t\tif (page === undefined) {\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\n\t\t\t\t}\n\t\t\t\treturn this._service.getPaged(page).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems: items,\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\n\t\t\ttap((results) => {\n\t\t\t\tif (results.strategy === Strategy.replace) {\n\t\t\t\t\tthis._options = [...results.items];\n\t\t\t\t} else {\n\t\t\t\t\tthis._options.push(...results.items);\n\t\t\t\t}\n\t\t\t\tthis.outOptions$.next([...this._options]);\n\t\t\t}),\n\t\t);\n\n\t\tthis.loading$ = merge(this._page$.pipe(map(() => true)), _results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPager } from './api-pager.model';\n\n@Component({\n\tselector: 'lu-api-pager',\n\ttemplate: '',\n\tstyleUrls: [],\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\n{\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\n\tngOnInit() {\n\t\tsuper.init();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagerComponent } from './api-pager.component';\n\n@NgModule({\n\timports: [LuApiPagerComponent],\n\texports: [LuApiPagerComponent],\n})\nexport class LuApiPagerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './feeder/index';\nimport { LuApiSelectInputComponent } from './input/index';\nimport { LuApiPagerComponent } from './pager/index';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './searcher/index';\n\n@NgModule({\n\timports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n\texports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n})\nexport class LuApiSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuApiSelectModule],\n\texports: [LuApiSelectModule],\n})\nexport class LuApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -4,12 +4,12 @@ import { inject, Directive, Input } from '@angular/core';
4
4
  import { Subject, scan, startWith, debounceTime, takeUntil, distinctUntilChanged, map, merge, pairwise, tap, combineLatest, of, catchError, concatMap, takeWhile, switchMap, ReplaySubject, BehaviorSubject, take } from 'rxjs';
5
5
  import { ALuSelectInputComponent } from '@lucca-front/ng/core-select';
6
6
 
7
- const MAGIC_PAGE_SIZE = 20;
7
+ const LU_SELECT_MAGIC_PAGE_SIZE = 20;
8
8
  const MAGIC_DEBOUNCE_DURATION = 250;
9
9
  class ALuCoreSelectApiDirective {
10
10
  constructor() {
11
11
  this.destroy$ = new Subject();
12
- this.pageSize = MAGIC_PAGE_SIZE;
12
+ this.pageSize = LU_SELECT_MAGIC_PAGE_SIZE;
13
13
  this.debounceDuration = MAGIC_DEBOUNCE_DURATION;
14
14
  this.select = inject(ALuSelectInputComponent);
15
15
  this.page$ = this.select.nextPage.pipe(scan((page) => page + 1, 0), startWith(0));
@@ -160,5 +160,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
160
160
  * Generated bundle index. Do not edit.
161
161
  */
162
162
 
163
- export { ALuCoreSelectApiDirective, LuCoreSelectApiV3Directive, LuCoreSelectApiV4Directive };
163
+ export { ALuCoreSelectApiDirective, LU_SELECT_MAGIC_PAGE_SIZE, LuCoreSelectApiV3Directive, LuCoreSelectApiV4Directive };
164
164
  //# sourceMappingURL=lucca-front-ng-core-select-api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-api.mjs","sources":["../../../packages/ng/core-select/api/api.directive.ts","../../../packages/ng/core-select/api/api-v3.directive.ts","../../../packages/ng/core-select/api/api-v4.directive.ts","../../../packages/ng/core-select/api/lucca-front-ng-core-select-api.ts"],"sourcesContent":["import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/core-select';\nimport { catchError, combineLatest, concatMap, debounceTime, distinctUntilChanged, map, merge, Observable, of, pairwise, scan, startWith, Subject, switchMap, takeUntil, takeWhile, tap } from 'rxjs';\n\nexport const MAGIC_PAGE_SIZE = 20;\nexport const MAGIC_DEBOUNCE_DURATION = 250;\n\n@Directive()\nexport abstract class ALuCoreSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {\n\tprotected destroy$ = new Subject<void>();\n\tprotected pageSize = MAGIC_PAGE_SIZE;\n\tprotected debounceDuration = MAGIC_DEBOUNCE_DURATION;\n\n\tpublic select = inject<ALuSelectInputComponent<TOption, unknown>>(ALuSelectInputComponent);\n\n\tprotected page$ = this.select.nextPage.pipe(\n\t\tscan((page) => page + 1, 0),\n\t\tstartWith(0),\n\t);\n\n\tprotected clue$ = this.select.clueChange.pipe(debounceTime(this.debounceDuration), startWith(''));\n\n\t/**\n\t * Create an object that will be used as params for the api call\n\t */\n\tprotected abstract params$: Observable<TParams>;\n\n\t/**\n\t * Compare two options to know if they are the same. For example, compare by id or by JSON\n\t */\n\tprotected abstract optionComparer: (a: TOption, b: TOption) => boolean;\n\n\t/**\n\t * Return the options for the given params and page\n\t */\n\tprotected abstract getOptions(params: TParams, page: number): Observable<TOption[]>;\n\n\tpublic ngOnInit(): void {\n\t\tthis.select.optionComparer = this.optionComparer;\n\t\tthis.buildOptions()\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe((options) => (this.select.options = options));\n\t}\n\n\tprotected buildOptions(): Observable<TOption[]> {\n\t\t// Prevent a double call to getOptions when the clue is changed while the panel is closed\n\t\tconst clueIsPendingDebounce$ = merge(this.select.clueChange.pipe(map(() => true)), this.clue$.pipe(map(() => false))).pipe(distinctUntilChanged());\n\t\tconst isOpen$ = combineLatest([this.select.isPanelOpen$, clueIsPendingDebounce$]).pipe(\n\t\t\tdebounceTime(0),\n\t\t\tstartWith([false, false]),\n\t\t\tpairwise(),\n\t\t\ttap(([[wasOpen], [isOpen, clueIsPendingDebounce]]) => {\n\t\t\t\t// Start the loader as soon as the panel is opened to avoid a short display of the \"no result\" message\n\t\t\t\tif (!wasOpen && isOpen && clueIsPendingDebounce) {\n\t\t\t\t\tthis.select.loading = true;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tmap(([[wasOpen], [isOpen, clueIsPendingDebounce]]) => (isOpen && !wasOpen ? !clueIsPendingDebounce : isOpen)),\n\t\t\tdistinctUntilChanged(),\n\t\t);\n\n\t\treturn combineLatest([this.params$, isOpen$]).pipe(\n\t\t\tswitchMap(([params, isOpened]) =>\n\t\t\t\tisOpened\n\t\t\t\t\t? this.page$.pipe(\n\t\t\t\t\t\t\tconcatMap((page) => {\n\t\t\t\t\t\t\t\tthis.select.loading = true;\n\t\t\t\t\t\t\t\treturn this.getOptions(params, page).pipe(\n\t\t\t\t\t\t\t\t\tcatchError(() => of([] as TOption[])),\n\t\t\t\t\t\t\t\t\ttap(() => (this.select.loading = false)),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\ttakeWhile((items) => items.length === this.pageSize, true),\n\t\t\t\t\t\t\tscan((acc, items) => [...acc, ...items], [] as TOption[]),\n\t\t\t\t\t )\n\t\t\t\t\t: of([] as TOption[]),\n\t\t\t),\n\t\t);\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiCollectionResponse, ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuCoreSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV3],lu-multi-select[apiV3]',\n\tstandalone: true,\n})\nexport class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV3(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set fields(value: string) {\n\t\tthis.fields$.next(value);\n\t}\n\n\t@Input()\n\tpublic set orderBy(value: string | null) {\n\t\tthis.orderBy$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected fields$ = new BehaviorSubject<string>('id,name');\n\tprotected orderBy$ = new BehaviorSubject<string | null>('name,asc');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(\n\t\tmap(([fields, filters, orderBy, clue]) => ({\n\t\t\t...filters,\n\t\t\tfields,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { name: `like,${clue}` } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<ILuApiCollectionResponse<T>>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => res.data.items),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuCoreSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV4],lu-multi-select[apiV4]',\n\tstandalone: true,\n})\nexport class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV4(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set sort(value: string | null) {\n\t\tthis.sort$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected sort$ = new BehaviorSubject<string | null>('+name');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = combineLatest([this.filters$, this.sort$, this.clue$]).pipe(\n\t\tmap(([filters, sort, clue]) => ({\n\t\t\t...filters,\n\t\t\t...(sort ? { sort } : {}),\n\t\t\t...(clue ? { search: clue } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<T[] | { items: T[] }>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpage: page + 1,\n\t\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => (Array.isArray(res) ? res : res?.items) ?? []),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-api.mjs","sources":["../../../packages/ng/core-select/api/api.directive.ts","../../../packages/ng/core-select/api/api-v3.directive.ts","../../../packages/ng/core-select/api/api-v4.directive.ts","../../../packages/ng/core-select/api/lucca-front-ng-core-select-api.ts"],"sourcesContent":["import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/core-select';\nimport { catchError, combineLatest, concatMap, debounceTime, distinctUntilChanged, map, merge, Observable, of, pairwise, scan, startWith, Subject, switchMap, takeUntil, takeWhile, tap } from 'rxjs';\n\nexport const LU_SELECT_MAGIC_PAGE_SIZE = 20;\nexport const MAGIC_DEBOUNCE_DURATION = 250;\n\n@Directive()\nexport abstract class ALuCoreSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {\n\tprotected destroy$ = new Subject<void>();\n\tprotected pageSize = LU_SELECT_MAGIC_PAGE_SIZE;\n\tprotected debounceDuration = MAGIC_DEBOUNCE_DURATION;\n\n\tpublic select = inject<ALuSelectInputComponent<TOption, unknown>>(ALuSelectInputComponent);\n\n\tprotected page$ = this.select.nextPage.pipe(\n\t\tscan((page) => page + 1, 0),\n\t\tstartWith(0),\n\t);\n\n\tprotected clue$ = this.select.clueChange.pipe(debounceTime(this.debounceDuration), startWith(''));\n\n\t/**\n\t * Create an object that will be used as params for the api call\n\t */\n\tprotected abstract params$: Observable<TParams>;\n\n\t/**\n\t * Compare two options to know if they are the same. For example, compare by id or by JSON\n\t */\n\tprotected abstract optionComparer: (a: TOption, b: TOption) => boolean;\n\n\t/**\n\t * Return the options for the given params and page\n\t */\n\tprotected abstract getOptions(params: TParams, page: number): Observable<TOption[]>;\n\n\tpublic ngOnInit(): void {\n\t\tthis.select.optionComparer = this.optionComparer;\n\t\tthis.buildOptions()\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe((options) => (this.select.options = options));\n\t}\n\n\tprotected buildOptions(): Observable<TOption[]> {\n\t\t// Prevent a double call to getOptions when the clue is changed while the panel is closed\n\t\tconst clueIsPendingDebounce$ = merge(this.select.clueChange.pipe(map(() => true)), this.clue$.pipe(map(() => false))).pipe(distinctUntilChanged());\n\t\tconst isOpen$ = combineLatest([this.select.isPanelOpen$, clueIsPendingDebounce$]).pipe(\n\t\t\tdebounceTime(0),\n\t\t\tstartWith([false, false]),\n\t\t\tpairwise(),\n\t\t\ttap(([[wasOpen], [isOpen, clueIsPendingDebounce]]) => {\n\t\t\t\t// Start the loader as soon as the panel is opened to avoid a short display of the \"no result\" message\n\t\t\t\tif (!wasOpen && isOpen && clueIsPendingDebounce) {\n\t\t\t\t\tthis.select.loading = true;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tmap(([[wasOpen], [isOpen, clueIsPendingDebounce]]) => (isOpen && !wasOpen ? !clueIsPendingDebounce : isOpen)),\n\t\t\tdistinctUntilChanged(),\n\t\t);\n\n\t\treturn combineLatest([this.params$, isOpen$]).pipe(\n\t\t\tswitchMap(([params, isOpened]) =>\n\t\t\t\tisOpened\n\t\t\t\t\t? this.page$.pipe(\n\t\t\t\t\t\t\tconcatMap((page) => {\n\t\t\t\t\t\t\t\tthis.select.loading = true;\n\t\t\t\t\t\t\t\treturn this.getOptions(params, page).pipe(\n\t\t\t\t\t\t\t\t\tcatchError(() => of([] as TOption[])),\n\t\t\t\t\t\t\t\t\ttap(() => (this.select.loading = false)),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\ttakeWhile((items) => items.length === this.pageSize, true),\n\t\t\t\t\t\t\tscan((acc, items) => [...acc, ...items], [] as TOption[]),\n\t\t\t\t\t )\n\t\t\t\t\t: of([] as TOption[]),\n\t\t\t),\n\t\t);\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiCollectionResponse, ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuCoreSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV3],lu-multi-select[apiV3]',\n\tstandalone: true,\n})\nexport class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV3(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set fields(value: string) {\n\t\tthis.fields$.next(value);\n\t}\n\n\t@Input()\n\tpublic set orderBy(value: string | null) {\n\t\tthis.orderBy$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected fields$ = new BehaviorSubject<string>('id,name');\n\tprotected orderBy$ = new BehaviorSubject<string | null>('name,asc');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(\n\t\tmap(([fields, filters, orderBy, clue]) => ({\n\t\t\t...filters,\n\t\t\tfields,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { name: `like,${clue}` } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<ILuApiCollectionResponse<T>>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => res.data.items),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, inject, Input } from '@angular/core';\nimport { ILuApiItem } from '@lucca-front/ng/api';\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\nimport { ALuCoreSelectApiDirective } from './api.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[apiV4],lu-multi-select[apiV4]',\n\tstandalone: true,\n})\nexport class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {\n\t@Input()\n\tpublic set apiV4(value: string) {\n\t\tthis.url$.next(value);\n\t}\n\n\t@Input()\n\tpublic set sort(value: string | null) {\n\t\tthis.sort$.next(value);\n\t}\n\n\t@Input()\n\tpublic set filters(value: Record<string, string | number | boolean>) {\n\t\tthis.filters$.next(value);\n\t}\n\n\tprotected url$ = new ReplaySubject<string>(1);\n\tprotected sort$ = new BehaviorSubject<string | null>('+name');\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\n\n\tprotected httpClient = inject(HttpClient);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = combineLatest([this.filters$, this.sort$, this.clue$]).pipe(\n\t\tmap(([filters, sort, clue]) => ({\n\t\t\t...filters,\n\t\t\t...(sort ? { sort } : {}),\n\t\t\t...(clue ? { search: clue } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.url$.pipe(\n\t\t\ttake(1),\n\t\t\tswitchMap((url) =>\n\t\t\t\tthis.httpClient.get<T[] | { items: T[] }>(url, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\tpage: page + 1,\n\t\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((res) => (Array.isArray(res) ? res : res?.items) ?? []),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -189,7 +189,7 @@ class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
189
189
  return this._displayMeOption();
190
190
  }
191
191
  set displayFormat(format) {
192
- this.displayFormat = format;
192
+ this._displayFormat = format;
193
193
  }
194
194
  get displayFormat() {
195
195
  return this._displayFormat;
@@ -231,7 +231,7 @@ class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
231
231
  ...(clue ? { clue: sanitizeClueFilter(clue) } : {}),
232
232
  ...(operationIds ? { operations: operationIds.join(',') } : {}),
233
233
  ...(appInstanceId ? { appInstanceId } : {}),
234
- ...(enableFormerEmployees ? { enableFormerEmployees } : {}),
234
+ ...(enableFormerEmployees ? { formerEmployee: enableFormerEmployees } : {}),
235
235
  })));
236
236
  this.optionComparer = (a, b) => a.id === b.id;
237
237
  this.select.optionTpl = LuUserOptionComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-user.mjs","sources":["../../../packages/ng/core-select/user/me.provider.ts","../../../packages/ng/core-select/user/user-displayer.component.ts","../../../packages/ng/core-select/user/user-homonym.service.ts","../../../packages/ng/core-select/user/user.translate.ts","../../../packages/ng/core-select/user/user-option.component.ts","../../../packages/ng/core-select/user/users.directive.ts","../../../packages/ng/core-select/user/lucca-front-ng-core-select-user.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\n\nexport const LU_CORE_SELECT_CURRENT_USER_ID = new InjectionToken<number>('LuCoreSelectCurrentUserId');\n\nexport function provideCoreSelectCurrentUserId(factory: () => number): Provider {\n\treturn {\n\t\tprovide: LU_CORE_SELECT_CURRENT_USER_ID,\n\t\tuseFactory: factory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-displayer',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t{{ user | luUserDisplay : userDirective.displayFormat }}\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n})\nexport class LuUserDisplayerComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { LuDisplayFormat, luUserDisplay } from '@lucca-front/ng/user';\nimport { Observable, map, of, startWith, tap } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuCoreSelectUserHomonymsService {\n\tprotected http = inject(HttpClient);\n\tprotected cache: Record<number, string> = {};\n\n\tprotected extractHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Set<T> {\n\t\tconst usersByFullName: Record<string, T[]> = {};\n\n\t\tfor (const user of users) {\n\t\t\tconst name = luUserDisplay(user, format);\n\t\t\tusersByFullName[name] ||= [];\n\t\t\tusersByFullName[name].push(user);\n\t\t}\n\n\t\treturn new Set(\n\t\t\tObject.values(usersByFullName)\n\t\t\t\t.filter((users) => users.length > 1)\n\t\t\t\t.flatMap((users) => users),\n\t\t);\n\t}\n\n\tpublic handleHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Observable<T[]> {\n\t\tconst homonyms = this.extractHomonyms(users, format);\n\n\t\tif (homonyms.size === 0) {\n\t\t\treturn of(users);\n\t\t}\n\n\t\treturn this.getAdditionalInformationByUserId(Array.from(homonyms)).pipe(\n\t\t\tmap((additionalInformation) => {\n\t\t\t\treturn users.map((user) => {\n\t\t\t\t\tif (homonyms.has(user)) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...user,\n\t\t\t\t\t\t\tadditionalInformation: this.cache[user.id] || additionalInformation[user.id],\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn user;\n\t\t\t\t});\n\t\t\t}),\n\t\t\tstartWith(users),\n\t\t);\n\t}\n\n\tprotected getAdditionalInformationByUserId<T extends LuCoreSelectUser>(homonyms: T[]): Observable<Record<number, string>> {\n\t\tconst userIds = homonyms.map((user) => user.id).filter((id) => !this.cache[id]);\n\n\t\tif (userIds.length === 0) {\n\t\t\treturn of({});\n\t\t}\n\n\t\treturn this.http\n\t\t\t.get<ILuApiCollectionResponse<{ id: number; department?: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: userIds.join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.reduce<Record<number, string>>(\n\t\t\t\t\t\t(acc, info) => ({\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t[info.id]: info.department?.name || '',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap((infos) => {\n\t\t\t\t\tthis.cache = {\n\t\t\t\t\t\t...this.cache,\n\t\t\t\t\t\t...infos,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t);\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CORE_SELECT_USER_TRANSLATIONS = new InjectionToken('LuCoreSelectUserTranslations', {\n\tfactory: () => luCoreSelectUserTranslations,\n});\n\nexport interface LuCoreSelectUserTranslations {\n\tme: string;\n}\n\nexport const luCoreSelectUserTranslations: ILuTranslation<LuCoreSelectUserTranslations> = {\n\ten: {\n\t\tme: 'Me:',\n\t},\n\tfr: {\n\t\tme: 'Moi :',\n\t},\n\tes: {\n\t\tme: 'Yo :',\n\t},\n\tde: {\n\t\tme: 'Ich:',\n\t},\n\tpt: {\n\t\tme: 'Eu:',\n\t},\n};\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { map, startWith } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-option',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t<div *ngIf=\"userDirective.displayMeOption && user.id === userDirective.currentUserId && hasEmptyClue$ | async; else notMe\">\n\t\t\t\t<b>{{ intl.me }} {{ user | luUserDisplay : userDirective.displayFormat }}</b>\n\t\t\t</div>\n\n\t\t\t<ng-template #notMe>\n\t\t\t\t<div>{{ user | luUserDisplay : userDirective.displayFormat }}</div>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n\tstyles: [\n\t\t`\n\t\t\t.lu-select-additionalInformation {\n\t\t\t\tfont-size: 80%;\n\t\t\t\tfont-style: italic;\n\t\t\t\tmargin-top: -0.25em;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class LuUserOptionComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n\tprotected intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\tprotected hasEmptyClue$ = this.userDirective.select.clueChange.pipe(\n\t\tstartWith(this.userDirective.select.clue),\n\t\tmap((clue) => !clue),\n\t);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, Input, computed, inject, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { LuDisplayFormat, LuDisplayFullname } from '@lucca-front/ng/user';\nimport { EMPTY, Observable, combineLatest, distinctUntilChanged, filter, map, of, shareReplay, switchMap, take } from 'rxjs';\nimport { LU_CORE_SELECT_CURRENT_USER_ID } from './me.provider';\nimport { LuUserDisplayerComponent } from './user-displayer.component';\nimport { LuCoreSelectUserHomonymsService } from './user-homonym.service';\nimport { LuUserOptionComponent } from './user-option.component';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[users],lu-multi-select[users]',\n\tstandalone: true,\n\texportAs: 'luUsers',\n})\nexport class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser> extends ALuCoreSelectApiDirective<T> {\n\t#defaultSearchUrl = '/api/v3/users/search';\n\t#defaultScopedSearchUrl = '/api/v3/users/scopedsearch';\n\t#userHomonymsService = inject(LuCoreSelectUserHomonymsService);\n\n\t// Not overridable so it will ease employee API migration\n\t#userFields = 'id,firstName,lastName,picture.href';\n\n\tprotected httpClient = inject(HttpClient);\n\tpublic currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);\n\n\t@Input()\n\tpublic set url(url: string | null) {\n\t\tthis.customUrl.set(url);\n\t}\n\n\t@Input()\n\tpublic set operationIds(ids: number[] | null) {\n\t\tthis._operationIds.set(ids);\n\t}\n\n\t@Input()\n\tpublic set appInstanceId(id: number | null) {\n\t\tthis._appInstanceId.set(id);\n\t}\n\n\t@Input()\n\tpublic set enableFormerEmployees(value: boolean) {\n\t\tthis._enableFormerEmployees.set(value);\n\t}\n\n\t@Input()\n\tpublic set displayMeOption(value: boolean) {\n\t\tthis._displayMeOption.set(value);\n\t}\n\n\tpublic get displayMeOption() {\n\t\treturn this._displayMeOption();\n\t}\n\n\t@Input()\n\tpublic set displayFormat(format: LuDisplayFormat) {\n\t\tthis.displayFormat = format;\n\t}\n\n\tprivate _displayFormat: LuDisplayFormat = LuDisplayFullname.lastfirst;\n\n\tpublic get displayFormat() {\n\t\treturn this._displayFormat;\n\t}\n\n\t@Input()\n\tpublic set filters(filters: Record<string, string | number | boolean>) {\n\t\tthis._filters.set(filters);\n\t}\n\n\tprotected _url = signal<string | null>(null);\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.select.optionTpl = LuUserOptionComponent;\n\t\tthis.select.valueTpl = LuUserDisplayerComponent;\n\t}\n\n\tprotected _orderBy = signal<string | null>(null);\n\tprotected _filters = signal<Record<string, string | number | boolean>>({});\n\tprotected _operationIds = signal<number[] | null>(null);\n\tprotected _appInstanceId = signal<number | null>(null);\n\tprotected _enableFormerEmployees = signal<boolean>(false);\n\tprotected defaultUrl = computed(() => (this._appInstanceId() && this._operationIds()?.length ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl));\n\tprotected customUrl = signal<string | null>(null);\n\tprotected _displayMeOption = signal<boolean>(true);\n\tprotected displayMeOption$ = toObservable(this._displayMeOption);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = combineLatest([\n\t\ttoObservable(this._filters),\n\t\ttoObservable(this._orderBy),\n\t\tthis.clue$,\n\t\ttoObservable(this._operationIds),\n\t\ttoObservable(this._appInstanceId),\n\t\ttoObservable(this._enableFormerEmployees),\n\t]).pipe(\n\t\tmap(([filters, orderBy, clue, operationIds, appInstanceId, enableFormerEmployees]) => ({\n\t\t\tfields: this.#userFields,\n\t\t\t...filters,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { clue: sanitizeClueFilter(clue) } : {}),\n\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t...(enableFormerEmployees ? { enableFormerEmployees } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)));\n\t}\n\n\tprotected getMe(): Observable<T | null> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\tconst params = {\n\t\t\tfields: this.#userFields,\n\t\t\t...(this._filters() ?? {}),\n\t\t\t...(this._operationIds() ? { operationIds: this._operationIds().join(',') } : {}),\n\t\t\t...(this._appInstanceId() ? { appInstanceId: this._appInstanceId() } : {}),\n\t\t\t...(this._enableFormerEmployees() ? { enableFormerEmployees: this._enableFormerEmployees() } : {}),\n\t\t\tid: this.currentUserId,\n\t\t};\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)[0] ?? null));\n\t}\n\n\tprotected override buildOptions(): Observable<T[]> {\n\t\tconst hasClue$ = this.clue$.pipe(map((clue) => !!clue));\n\t\tconst displayMe$ = combineLatest([hasClue$, this.displayMeOption$]).pipe(\n\t\t\tmap(([hasClue, displayMeOption]) => displayMeOption && !hasClue),\n\t\t\tdistinctUntilChanged(),\n\t\t);\n\n\t\t// Wait for the first time the panel is open to get the current user\n\t\tconst me$ = this.select.isPanelOpen$.pipe(\n\t\t\tfilter((isOpen) => isOpen),\n\t\t\ttake(1),\n\t\t\tswitchMap((isOpen) => (isOpen ? this.getMe() : EMPTY)),\n\t\t\tshareReplay({ bufferSize: 1, refCount: true }),\n\t\t);\n\n\t\tconst meFilter$ = displayMe$.pipe(switchMap((displayMe) => (displayMe ? me$ : of(null))));\n\n\t\treturn combineLatest([super.buildOptions(), meFilter$]).pipe(\n\t\t\tmap(([options, meFilter]) => (meFilter ? [meFilter, ...(options ?? []).filter((o) => o.id !== meFilter.id)] : options)),\n\t\t\tswitchMap((users) => this.#userHomonymsService.handleHomonyms(users, this.displayFormat)),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n\nfunction sanitizeClueFilter(clue: string) {\n\treturn clue\n\t\t.split(' ')\n\t\t.map((c: string) => encodeURIComponent(c))\n\t\t.join(',');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-user.mjs","sources":["../../../packages/ng/core-select/user/me.provider.ts","../../../packages/ng/core-select/user/user-displayer.component.ts","../../../packages/ng/core-select/user/user-homonym.service.ts","../../../packages/ng/core-select/user/user.translate.ts","../../../packages/ng/core-select/user/user-option.component.ts","../../../packages/ng/core-select/user/users.directive.ts","../../../packages/ng/core-select/user/lucca-front-ng-core-select-user.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\n\nexport const LU_CORE_SELECT_CURRENT_USER_ID = new InjectionToken<number>('LuCoreSelectCurrentUserId');\n\nexport function provideCoreSelectCurrentUserId(factory: () => number): Provider {\n\treturn {\n\t\tprovide: LU_CORE_SELECT_CURRENT_USER_ID,\n\t\tuseFactory: factory,\n\t};\n}\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-displayer',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t{{ user | luUserDisplay : userDirective.displayFormat }}\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n})\nexport class LuUserDisplayerComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { LuDisplayFormat, luUserDisplay } from '@lucca-front/ng/user';\nimport { Observable, map, of, startWith, tap } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuCoreSelectUserHomonymsService {\n\tprotected http = inject(HttpClient);\n\tprotected cache: Record<number, string> = {};\n\n\tprotected extractHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Set<T> {\n\t\tconst usersByFullName: Record<string, T[]> = {};\n\n\t\tfor (const user of users) {\n\t\t\tconst name = luUserDisplay(user, format);\n\t\t\tusersByFullName[name] ||= [];\n\t\t\tusersByFullName[name].push(user);\n\t\t}\n\n\t\treturn new Set(\n\t\t\tObject.values(usersByFullName)\n\t\t\t\t.filter((users) => users.length > 1)\n\t\t\t\t.flatMap((users) => users),\n\t\t);\n\t}\n\n\tpublic handleHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Observable<T[]> {\n\t\tconst homonyms = this.extractHomonyms(users, format);\n\n\t\tif (homonyms.size === 0) {\n\t\t\treturn of(users);\n\t\t}\n\n\t\treturn this.getAdditionalInformationByUserId(Array.from(homonyms)).pipe(\n\t\t\tmap((additionalInformation) => {\n\t\t\t\treturn users.map((user) => {\n\t\t\t\t\tif (homonyms.has(user)) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...user,\n\t\t\t\t\t\t\tadditionalInformation: this.cache[user.id] || additionalInformation[user.id],\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn user;\n\t\t\t\t});\n\t\t\t}),\n\t\t\tstartWith(users),\n\t\t);\n\t}\n\n\tprotected getAdditionalInformationByUserId<T extends LuCoreSelectUser>(homonyms: T[]): Observable<Record<number, string>> {\n\t\tconst userIds = homonyms.map((user) => user.id).filter((id) => !this.cache[id]);\n\n\t\tif (userIds.length === 0) {\n\t\t\treturn of({});\n\t\t}\n\n\t\treturn this.http\n\t\t\t.get<ILuApiCollectionResponse<{ id: number; department?: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: userIds.join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.reduce<Record<number, string>>(\n\t\t\t\t\t\t(acc, info) => ({\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t[info.id]: info.department?.name || '',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap((infos) => {\n\t\t\t\t\tthis.cache = {\n\t\t\t\t\t\t...this.cache,\n\t\t\t\t\t\t...infos,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t);\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CORE_SELECT_USER_TRANSLATIONS = new InjectionToken('LuCoreSelectUserTranslations', {\n\tfactory: () => luCoreSelectUserTranslations,\n});\n\nexport interface LuCoreSelectUserTranslations {\n\tme: string;\n}\n\nexport const luCoreSelectUserTranslations: ILuTranslation<LuCoreSelectUserTranslations> = {\n\ten: {\n\t\tme: 'Me:',\n\t},\n\tfr: {\n\t\tme: 'Moi :',\n\t},\n\tes: {\n\t\tme: 'Yo :',\n\t},\n\tde: {\n\t\tme: 'Ich:',\n\t},\n\tpt: {\n\t\tme: 'Eu:',\n\t},\n};\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { map, startWith } from 'rxjs';\nimport { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-option',\n\timports: [NgIf, AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t<ng-container *ngIf=\"context.option$ | async as user\">\n\t\t\t<div *ngIf=\"userDirective.displayMeOption && user.id === userDirective.currentUserId && hasEmptyClue$ | async; else notMe\">\n\t\t\t\t<b>{{ intl.me }} {{ user | luUserDisplay : userDirective.displayFormat }}</b>\n\t\t\t</div>\n\n\t\t\t<ng-template #notMe>\n\t\t\t\t<div>{{ user | luUserDisplay : userDirective.displayFormat }}</div>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t</ng-container>\n\t`,\n\tstandalone: true,\n\tstyles: [\n\t\t`\n\t\t\t.lu-select-additionalInformation {\n\t\t\t\tfont-size: 80%;\n\t\t\t\tfont-style: italic;\n\t\t\t\tmargin-top: -0.25em;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class LuUserOptionComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectWithAdditionnalInformation<LuCoreSelectUser>>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n\tprotected intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\tprotected hasEmptyClue$ = this.userDirective.select.clueChange.pipe(\n\t\tstartWith(this.userDirective.select.clue),\n\t\tmap((clue) => !clue),\n\t);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, Input, computed, inject, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { LuDisplayFormat, LuDisplayFullname } from '@lucca-front/ng/user';\nimport { EMPTY, Observable, combineLatest, distinctUntilChanged, filter, map, of, shareReplay, switchMap, take } from 'rxjs';\nimport { LU_CORE_SELECT_CURRENT_USER_ID } from './me.provider';\nimport { LuUserDisplayerComponent } from './user-displayer.component';\nimport { LuCoreSelectUserHomonymsService } from './user-homonym.service';\nimport { LuUserOptionComponent } from './user-option.component';\nimport { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[users],lu-multi-select[users]',\n\tstandalone: true,\n\texportAs: 'luUsers',\n})\nexport class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser> extends ALuCoreSelectApiDirective<LuCoreSelectWithAdditionnalInformation<T>> {\n\t#defaultSearchUrl = '/api/v3/users/search';\n\t#defaultScopedSearchUrl = '/api/v3/users/scopedsearch';\n\t#userHomonymsService = inject(LuCoreSelectUserHomonymsService);\n\n\t// Not overridable so it will ease employee API migration\n\t#userFields = 'id,firstName,lastName,picture.href';\n\n\tprotected httpClient = inject(HttpClient);\n\tpublic currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);\n\n\t@Input()\n\tpublic set url(url: string | null) {\n\t\tthis.customUrl.set(url);\n\t}\n\n\t@Input()\n\tpublic set operationIds(ids: number[] | null) {\n\t\tthis._operationIds.set(ids);\n\t}\n\n\t@Input()\n\tpublic set appInstanceId(id: number | null) {\n\t\tthis._appInstanceId.set(id);\n\t}\n\n\t@Input()\n\tpublic set enableFormerEmployees(value: boolean) {\n\t\tthis._enableFormerEmployees.set(value);\n\t}\n\n\t@Input()\n\tpublic set displayMeOption(value: boolean) {\n\t\tthis._displayMeOption.set(value);\n\t}\n\n\tpublic get displayMeOption() {\n\t\treturn this._displayMeOption();\n\t}\n\n\t@Input()\n\tpublic set displayFormat(format: LuDisplayFormat) {\n\t\tthis._displayFormat = format;\n\t}\n\n\tprivate _displayFormat: LuDisplayFormat = LuDisplayFullname.lastfirst;\n\n\tpublic get displayFormat() {\n\t\treturn this._displayFormat;\n\t}\n\n\t@Input()\n\tpublic set filters(filters: Record<string, string | number | boolean>) {\n\t\tthis._filters.set(filters);\n\t}\n\n\tprotected _url = signal<string | null>(null);\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.select.optionTpl = LuUserOptionComponent;\n\t\tthis.select.valueTpl = LuUserDisplayerComponent;\n\t}\n\n\tprotected _orderBy = signal<string | null>(null);\n\tprotected _filters = signal<Record<string, string | number | boolean>>({});\n\tprotected _operationIds = signal<number[] | null>(null);\n\tprotected _appInstanceId = signal<number | null>(null);\n\tprotected _enableFormerEmployees = signal<boolean>(false);\n\tprotected defaultUrl = computed(() => (this._appInstanceId() && this._operationIds()?.length ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl));\n\tprotected customUrl = signal<string | null>(null);\n\tprotected _displayMeOption = signal<boolean>(true);\n\tprotected displayMeOption$ = toObservable(this._displayMeOption);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = combineLatest([\n\t\ttoObservable(this._filters),\n\t\ttoObservable(this._orderBy),\n\t\tthis.clue$,\n\t\ttoObservable(this._operationIds),\n\t\ttoObservable(this._appInstanceId),\n\t\ttoObservable(this._enableFormerEmployees),\n\t]).pipe(\n\t\tmap(([filters, orderBy, clue, operationIds, appInstanceId, enableFormerEmployees]) => ({\n\t\t\tfields: this.#userFields,\n\t\t\t...filters,\n\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t...(clue ? { clue: sanitizeClueFilter(clue) } : {}),\n\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t...(enableFormerEmployees ? { formerEmployee: enableFormerEmployees } : {}),\n\t\t})),\n\t);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)));\n\t}\n\n\tprotected getMe(): Observable<T | null> {\n\t\tconst url = this.customUrl() || this.defaultUrl();\n\n\t\tconst params = {\n\t\t\tfields: this.#userFields,\n\t\t\t...(this._filters() ?? {}),\n\t\t\t...(this._operationIds() ? { operationIds: this._operationIds().join(',') } : {}),\n\t\t\t...(this._appInstanceId() ? { appInstanceId: this._appInstanceId() } : {}),\n\t\t\t...(this._enableFormerEmployees() ? { enableFormerEmployees: this._enableFormerEmployees() } : {}),\n\t\t\tid: this.currentUserId,\n\t\t};\n\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(url, {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)[0] ?? null));\n\t}\n\n\tprotected override buildOptions(): Observable<T[]> {\n\t\tconst hasClue$ = this.clue$.pipe(map((clue) => !!clue));\n\t\tconst displayMe$ = combineLatest([hasClue$, this.displayMeOption$]).pipe(\n\t\t\tmap(([hasClue, displayMeOption]) => displayMeOption && !hasClue),\n\t\t\tdistinctUntilChanged(),\n\t\t);\n\n\t\t// Wait for the first time the panel is open to get the current user\n\t\tconst me$ = this.select.isPanelOpen$.pipe(\n\t\t\tfilter((isOpen) => isOpen),\n\t\t\ttake(1),\n\t\t\tswitchMap((isOpen) => (isOpen ? this.getMe() : EMPTY)),\n\t\t\tshareReplay({ bufferSize: 1, refCount: true }),\n\t\t);\n\n\t\tconst meFilter$ = displayMe$.pipe(switchMap((displayMe) => (displayMe ? me$ : of(null))));\n\n\t\treturn combineLatest([super.buildOptions(), meFilter$]).pipe(\n\t\t\tmap(([options, meFilter]) => (meFilter ? [meFilter, ...(options ?? []).filter((o) => o.id !== meFilter.id)] : options)),\n\t\t\tswitchMap((users) => this.#userHomonymsService.handleHomonyms(users, this.displayFormat)),\n\t\t);\n\t}\n\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\n}\n\nfunction sanitizeClueFilter(clue: string) {\n\treturn clue\n\t\t.split(' ')\n\t\t.map((c: string) => encodeURIComponent(c))\n\t\t.join(',');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -170,7 +170,7 @@ class LuOptionOutletDirective {
170
170
  this.clearContainer();
171
171
  }
172
172
  const hasRef = this.embeddedViewRef || this.componentRef;
173
- if (changes['luOptionOutlet'] || (changes['luOptionOutletValue'].currentValue && !hasRef)) {
173
+ if (changes['luOptionOutlet'] || (changes['luOptionOutletValue'].currentValue !== null && changes['luOptionOutletValue'].currentValue !== undefined && !hasRef)) {
174
174
  const newValue = changes['luOptionOutletValue'].currentValue;
175
175
  if (newValue !== null && newValue !== undefined) {
176
176
  this.createComponent();
@@ -395,6 +395,8 @@ class ALuSelectInputComponent {
395
395
  case 'never':
396
396
  return of(false);
397
397
  case 'if-empty-clue':
398
+ return this.clue$.pipe(map((clue) => !clue));
399
+ case 'if-not-empty-clue':
398
400
  return this.clue$.pipe(map((clue) => !!clue));
399
401
  }
400
402
  }));