@lucca-front/ng 17.2.1 → 17.2.3-backfix

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 (68) hide show
  1. package/core-select/api/api-v3.directive.d.ts +25 -0
  2. package/core-select/api/api-v4.directive.d.ts +22 -0
  3. package/core-select/api/api.directive.d.ts +31 -0
  4. package/core-select/api/index.d.ts +5 -0
  5. package/core-select/api/public-api.d.ts +3 -0
  6. package/core-select/input/select-input.component.d.ts +3 -3
  7. package/core-select/option/option.component.d.ts +1 -0
  8. package/esm2022/core-select/api/api-v3.directive.mjs +62 -0
  9. package/esm2022/core-select/api/api-v4.directive.mjs +56 -0
  10. package/esm2022/core-select/api/api.directive.mjs +46 -0
  11. package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +5 -0
  12. package/esm2022/core-select/api/public-api.mjs +4 -0
  13. package/esm2022/core-select/input/select-input.component.mjs +13 -12
  14. package/esm2022/core-select/option/option.component.mjs +5 -4
  15. package/esm2022/establishment/select/establishment-select.token.mjs +4 -0
  16. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +13 -16
  17. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +9 -10
  18. package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +9 -10
  19. package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +9 -10
  20. package/esm2022/icon/icon.component.mjs +3 -3
  21. package/esm2022/multi-select/displayer/default-displayer.component.mjs +4 -2
  22. package/esm2022/multi-select/input/panel-ref.factory.mjs +6 -6
  23. package/esm2022/multi-select/input/select-input.component.mjs +3 -10
  24. package/esm2022/multi-select/panel/panel.component.mjs +18 -18
  25. package/esm2022/multi-select/select.model.mjs +2 -2
  26. package/esm2022/option/item/option-item.component.mjs +3 -3
  27. package/esm2022/option/item/tree-option-item.component.mjs +3 -3
  28. package/esm2022/simple-select/api/api-v3.directive.mjs +6 -62
  29. package/esm2022/simple-select/api/api-v4.directive.mjs +6 -56
  30. package/esm2022/simple-select/api/api.directive.mjs +6 -40
  31. package/esm2022/simple-select/input/panel-ref.factory.mjs +7 -7
  32. package/esm2022/simple-select/input/select-input.component.mjs +2 -9
  33. package/esm2022/simple-select/panel/option-selected.pipe.mjs +17 -0
  34. package/esm2022/simple-select/panel/panel.component.mjs +21 -20
  35. package/esm2022/simple-select/select.model.mjs +2 -2
  36. package/establishment/select/establishment-select.token.d.ts +4 -0
  37. package/establishment/select/input/establishment-select-input.component.d.ts +2 -2
  38. package/establishment/select/legal-unit-selector/legal-unit-selector.directive.d.ts +2 -2
  39. package/establishment/select/searcher/establishment-searcher.component.d.ts +2 -2
  40. package/establishment/select/select-all/establishment-select-all.component.d.ts +2 -2
  41. package/fesm2022/lucca-front-ng-core-select-api.mjs +162 -0
  42. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -0
  43. package/fesm2022/lucca-front-ng-core-select.mjs +16 -14
  44. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-establishment.mjs +32 -39
  46. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-icon.mjs +2 -2
  48. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-multi-select.mjs +26 -31
  50. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-option.mjs +4 -4
  52. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-simple-select-api.mjs +13 -146
  54. package/fesm2022/lucca-front-ng-simple-select-api.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-simple-select.mjs +40 -32
  56. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  57. package/multi-select/input/panel-ref.factory.d.ts +2 -2
  58. package/multi-select/panel/panel.component.d.ts +5 -5
  59. package/multi-select/select.model.d.ts +3 -12
  60. package/package.json +38 -32
  61. package/simple-select/api/api-v3.directive.d.ts +5 -25
  62. package/simple-select/api/api-v4.directive.d.ts +5 -22
  63. package/simple-select/api/api.directive.d.ts +5 -32
  64. package/simple-select/input/panel-ref.factory.d.ts +2 -2
  65. package/simple-select/panel/option-selected.pipe.d.ts +7 -0
  66. package/simple-select/panel/panel.component.d.ts +5 -5
  67. package/simple-select/select.model.d.ts +3 -12
  68. package/src/definitions/option/_option-item.scss +1 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { forwardRef, Directive, NgModule, Injectable, Inject, Optional, SkipSelf, Self, Input, HostListener, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, HostBinding, ViewChild, Output, InjectionToken } from '@angular/core';
2
+ import { forwardRef, Directive, NgModule, Injectable, InjectionToken, Inject, Optional, Self, Input, HostListener, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, HostBinding, ViewChild, Output } from '@angular/core';
3
3
  import { LuForGroupsDirective, ALuOptionOperator, ALuOptionSelector, LuOptionPlaceholderComponent, LuOptionSelectAllComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent } from '@lucca-front/ng/option';
4
4
  import * as i1$2 from '@angular/cdk/overlay';
5
5
  import { OverlayModule } from '@angular/cdk/overlay';
@@ -144,6 +144,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
144
144
  type: Injectable
145
145
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
146
146
 
147
+ const DEFAULT_ESTABLISHMENT_SERVICE = new InjectionToken('Default establishment service');
148
+ const DEFAULT_LEGAL_UNIT_SERVICE = new InjectionToken('Default legal unit service');
149
+
147
150
  class LuLegalUnitSelectorDirective {
148
151
  set filters(filters) {
149
152
  this._service.filters = filters;
@@ -154,11 +157,11 @@ class LuLegalUnitSelectorDirective {
154
157
  set operations(ops) {
155
158
  this._service.operations = ops;
156
159
  }
157
- constructor(hostService, selfService) {
160
+ constructor(customService, defaultService) {
158
161
  this.multiple = true;
159
162
  this.onSelectValue = new Subject();
160
163
  this._subs = new Subscription();
161
- this._service = hostService || selfService;
164
+ this._service = customService || defaultService;
162
165
  }
163
166
  onClick() {
164
167
  const sub = this._service.getAll([`legalUnitId=${this.legalUnit.id}`]).subscribe((establishments) => {
@@ -183,7 +186,7 @@ class LuLegalUnitSelectorDirective {
183
186
  const selectedCount = (this._values ?? []).filter((ets) => ets.legalUnitId === this.legalUnit.id).length;
184
187
  return establishments.length > selectedCount;
185
188
  }
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuLegalUnitSelectorDirective, deps: [{ token: ALuEstablishmentService, optional: true, skipSelf: true }, { token: ALuEstablishmentService, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuLegalUnitSelectorDirective, deps: [{ token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
187
190
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: LuLegalUnitSelectorDirective, isStandalone: true, selector: "[luLegalUnitSelector]", inputs: { legalUnit: ["luLegalUnitSelector", "legalUnit"], filters: ["luLegalUnitSelectorFilters", "filters"], appInstanceId: ["luLegalUnitSelectorAppInstanceId", "appInstanceId"], operations: ["luLegalUnitSelectorOperations", "operations"] }, host: { listeners: { "click": "onClick()" } }, providers: [
188
191
  {
189
192
  provide: ALuOptionSelector,
@@ -191,7 +194,7 @@ class LuLegalUnitSelectorDirective {
191
194
  multi: true,
192
195
  },
193
196
  {
194
- provide: ALuEstablishmentService,
197
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
195
198
  useClass: LuEstablishmentService,
196
199
  },
197
200
  ], ngImport: i0 }); }
@@ -208,7 +211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
208
211
  multi: true,
209
212
  },
210
213
  {
211
- provide: ALuEstablishmentService,
214
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
212
215
  useClass: LuEstablishmentService,
213
216
  },
214
217
  ],
@@ -218,11 +221,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
218
221
  args: [ALuEstablishmentService]
219
222
  }, {
220
223
  type: Optional
221
- }, {
222
- type: SkipSelf
223
224
  }] }, { type: LuEstablishmentService, decorators: [{
224
225
  type: Inject,
225
- args: [ALuEstablishmentService]
226
+ args: [DEFAULT_ESTABLISHMENT_SERVICE]
226
227
  }, {
227
228
  type: Self
228
229
  }] }], propDecorators: { legalUnit: [{
@@ -269,7 +270,7 @@ class LuEstablishmentSearcherComponent {
269
270
  set sort(sort) {
270
271
  this._service.sort = sort;
271
272
  }
272
- constructor(hostService, selfService) {
273
+ constructor(customService, defaultService) {
273
274
  this.fixed = true;
274
275
  this.isSearching = new EventEmitter();
275
276
  this._isSearching = false;
@@ -287,7 +288,7 @@ class LuEstablishmentSearcherComponent {
287
288
  }
288
289
  }), switchMap((page) => this._service.searchPaged(clue, page).pipe(catchError(() => of([])))), takeWhile((loadedItems) => !!loadedItems.length), scan((acc, next) => [...acc, ...next]))), tap(() => (this.loading = false)))), share());
289
290
  this.displayPlaceholder$ = this.outOptions$.pipe(map((o) => o?.length === 0 && this._isSearching));
290
- this._service = hostService || selfService;
291
+ this._service = customService || defaultService;
291
292
  }
292
293
  onOpen() {
293
294
  this.searchInput.nativeElement.focus();
@@ -304,7 +305,7 @@ class LuEstablishmentSearcherComponent {
304
305
  reset() {
305
306
  this.clueControl.reset();
306
307
  }
307
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSearcherComponent, deps: [{ token: ALuEstablishmentService, optional: true, skipSelf: true }, { token: ALuEstablishmentService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
308
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSearcherComponent, deps: [{ token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
308
309
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuEstablishmentSearcherComponent, isStandalone: true, selector: "lu-establishment-searcher", inputs: { filters: "filters", appInstanceId: "appInstanceId", operations: "operations", sort: "sort" }, outputs: { isSearching: "isSearching" }, host: { properties: { "class.position-fixed": "this.fixed" } }, providers: [
309
310
  {
310
311
  provide: ALuOptionOperator,
@@ -327,7 +328,7 @@ class LuEstablishmentSearcherComponent {
327
328
  multi: true,
328
329
  },
329
330
  {
330
- provide: ALuEstablishmentService,
331
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
331
332
  useClass: LuEstablishmentService,
332
333
  },
333
334
  ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: LuOptionPlaceholderComponent, selector: "lu-option-placeholder", outputs: ["onClear"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -356,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
356
357
  multi: true,
357
358
  },
358
359
  {
359
- provide: ALuEstablishmentService,
360
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
360
361
  useClass: LuEstablishmentService,
361
362
  },
362
363
  ], template: "<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}\n"] }]
@@ -365,11 +366,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
365
366
  args: [ALuEstablishmentService]
366
367
  }, {
367
368
  type: Optional
368
- }, {
369
- type: SkipSelf
370
369
  }] }, { type: LuEstablishmentService, decorators: [{
371
370
  type: Inject,
372
- args: [ALuEstablishmentService]
371
+ args: [DEFAULT_ESTABLISHMENT_SERVICE]
373
372
  }, {
374
373
  type: Self
375
374
  }] }], propDecorators: { filters: [{
@@ -413,12 +412,12 @@ class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent {
413
412
  set operations(operations) {
414
413
  this._service.operations = operations;
415
414
  }
416
- constructor(_changeDetectorRef, hostService, selfService) {
415
+ constructor(_changeDetectorRef, customService, defaultService) {
417
416
  super();
418
417
  this._changeDetectorRef = _changeDetectorRef;
419
418
  this.loading = false;
420
419
  this._subs = new Subscription();
421
- this._service = hostService || selfService;
420
+ this._service = customService || defaultService;
422
421
  }
423
422
  selectAll() {
424
423
  this.loading = true;
@@ -436,7 +435,7 @@ class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent {
436
435
  ngOnDestroy() {
437
436
  this._subs.unsubscribe();
438
437
  }
439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectAllComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ALuEstablishmentService, optional: true, skipSelf: true }, { token: ALuEstablishmentService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectAllComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
440
439
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuEstablishmentSelectAllComponent, isStandalone: true, selector: "lu-establishment-select-all", inputs: { filters: "filters", appInstanceId: "appInstanceId", operations: "operations" }, providers: [
441
440
  {
442
441
  provide: ALuOptionOperator,
@@ -449,7 +448,7 @@ class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent {
449
448
  multi: true,
450
449
  },
451
450
  {
452
- provide: ALuEstablishmentService,
451
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
453
452
  useClass: LuEstablishmentService,
454
453
  },
455
454
  ], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host .selectAll-button{color:var(--palettes-grey-600);font-size:var(--sizes-S-fontSize);outline:none}:host .selectAll-button:hover{color:var(--palettes-grey-800)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -468,7 +467,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
468
467
  multi: true,
469
468
  },
470
469
  {
471
- provide: ALuEstablishmentService,
470
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
472
471
  useClass: LuEstablishmentService,
473
472
  },
474
473
  ], template: "<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host .selectAll-button{color:var(--palettes-grey-600);font-size:var(--sizes-S-fontSize);outline:none}:host .selectAll-button:hover{color:var(--palettes-grey-800)}\n"] }]
@@ -477,11 +476,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
477
476
  args: [ALuEstablishmentService]
478
477
  }, {
479
478
  type: Optional
480
- }, {
481
- type: SkipSelf
482
479
  }] }, { type: LuEstablishmentService, decorators: [{
483
480
  type: Inject,
484
- args: [ALuEstablishmentService]
481
+ args: [DEFAULT_ESTABLISHMENT_SERVICE]
485
482
  }, {
486
483
  type: Self
487
484
  }] }], propDecorators: { filters: [{
@@ -547,7 +544,7 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
547
544
  get sort() {
548
545
  return this.isSearching ? 'name' : 'legalunit.name,name';
549
546
  }
550
- constructor(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer, hostLuService, selfLuService, hostEstablishmentService, selfEstablishmentService) {
547
+ constructor(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer, customLuService, defaultLuService, customEstablishmentService, defaultEstablishmentService) {
551
548
  super(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);
552
549
  this._changeDetectorRef = _changeDetectorRef;
553
550
  this._overlay = _overlay;
@@ -558,8 +555,8 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
558
555
  this.isSearching = false;
559
556
  this.groupByLu = true;
560
557
  this.intl = getIntl(LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS);
561
- this._establishmentService = hostEstablishmentService || selfEstablishmentService;
562
- this._legalUnitService = hostLuService || selfLuService;
558
+ this._establishmentService = customEstablishmentService || defaultEstablishmentService;
559
+ this._legalUnitService = customLuService || defaultLuService;
563
560
  }
564
561
  ngOnInit() {
565
562
  this._subs.add(combineLatest([this._legalUnitService.count(), this._establishmentService.count()]).subscribe(([luCount, establishmentCount]) => {
@@ -573,7 +570,7 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
573
570
  trackById(idx, item) {
574
571
  return item.id;
575
572
  }
576
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: ALuLegalUnitService, optional: true, skipSelf: true }, { token: ALuLegalUnitService, self: true }, { token: ALuEstablishmentService, optional: true, skipSelf: true }, { token: ALuEstablishmentService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: ALuLegalUnitService, optional: true }, { token: DEFAULT_LEGAL_UNIT_SERVICE, self: true }, { token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
577
574
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuEstablishmentSelectInputComponent, isStandalone: true, selector: "lu-establishment-select", inputs: { filters: "filters", appInstanceId: "appInstanceId", operations: "operations" }, providers: [
578
575
  {
579
576
  provide: NG_VALUE_ACCESSOR,
@@ -581,11 +578,11 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
581
578
  multi: true,
582
579
  },
583
580
  {
584
- provide: ALuEstablishmentService,
581
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
585
582
  useClass: LuEstablishmentService,
586
583
  },
587
584
  {
588
- provide: ALuLegalUnitService,
585
+ provide: DEFAULT_LEGAL_UNIT_SERVICE,
589
586
  useClass: LuLegalUnitService,
590
587
  },
591
588
  ], usesInheritance: true, ngImport: i0, template: "<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\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield .textfield-input.is-focused):after{transform:rotate(-180deg)}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}.lu-picker-header .option-selector{display:none}.lu-picker-header.mod-multiple .option-selector{display:inherit}.optionGroupName{padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal) var(--spacings-XXS);border-radius:0;font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);width:100%;justify-content:flex-start;font-weight:600;color:var(--palettes-grey-600);text-decoration:underline}.optionGroupName.mod-readonly{text-decoration:none}.optionGroupName.button{text-decoration:underline;margin:0}.optionGroupName.button:active,.optionGroupName.button:focus,.optionGroupName.button:hover{box-shadow:none;background-color:transparent}.optionGroupName.button:active~.lu-picker-content-option lu-option,.optionGroupName.button:focus~.lu-picker-content-option lu-option,.optionGroupName.button:hover~.lu-picker-content-option lu-option{background-color:var(--palettes-grey-50);border-radius:var(--commons-borderRadius-M)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "component", type: LuInputClearerComponent, selector: "lu-input-clearer", outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "component", type: LuOptionPickerAdvancedComponent, selector: "lu-option-picker-advanced", exportAs: ["LuOptionPickerAdvanced"] }, { kind: "component", type: LuEstablishmentSearcherComponent, selector: "lu-establishment-searcher", inputs: ["filters", "appInstanceId", "operations", "sort"], outputs: ["isSearching"] }, { kind: "component", type: LuEstablishmentSelectAllComponent, selector: "lu-establishment-select-all", inputs: ["filters", "appInstanceId", "operations"] }, { kind: "directive", type: LuLegalUnitSelectorDirective, selector: "[luLegalUnitSelector]", inputs: ["luLegalUnitSelector", "luLegalUnitSelectorFilters", "luLegalUnitSelectorAppInstanceId", "luLegalUnitSelectorOperations"] }, { kind: "component", type: LuOptionItemComponent, selector: "lu-option", inputs: ["selected", "highlighted", "value", "disabled"], outputs: ["onSelect"] }, { kind: "directive", type: LuForLegalUnitsDirective, selector: "[luForLegalUnits]" }, { kind: "directive", type: LuInputDisplayerDirective, selector: "[luDisplayer]", inputs: ["luDisplayerMultiple", "multiple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -610,11 +607,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
610
607
  multi: true,
611
608
  },
612
609
  {
613
- provide: ALuEstablishmentService,
610
+ provide: DEFAULT_ESTABLISHMENT_SERVICE,
614
611
  useClass: LuEstablishmentService,
615
612
  },
616
613
  {
617
- provide: ALuLegalUnitService,
614
+ provide: DEFAULT_LEGAL_UNIT_SERVICE,
618
615
  useClass: LuLegalUnitService,
619
616
  },
620
617
  ], template: "<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\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield .textfield-input.is-focused):after{transform:rotate(-180deg)}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}.lu-picker-header .option-selector{display:none}.lu-picker-header.mod-multiple .option-selector{display:inherit}.optionGroupName{padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal) var(--spacings-XXS);border-radius:0;font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);width:100%;justify-content:flex-start;font-weight:600;color:var(--palettes-grey-600);text-decoration:underline}.optionGroupName.mod-readonly{text-decoration:none}.optionGroupName.button{text-decoration:underline;margin:0}.optionGroupName.button:active,.optionGroupName.button:focus,.optionGroupName.button:hover{box-shadow:none;background-color:transparent}.optionGroupName.button:active~.lu-picker-content-option lu-option,.optionGroupName.button:focus~.lu-picker-content-option lu-option,.optionGroupName.button:hover~.lu-picker-content-option lu-option{background-color:var(--palettes-grey-50);border-radius:var(--commons-borderRadius-M)}\n"] }]
@@ -623,11 +620,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
623
620
  args: [ALuLegalUnitService]
624
621
  }, {
625
622
  type: Optional
626
- }, {
627
- type: SkipSelf
628
623
  }] }, { type: LuLegalUnitService, decorators: [{
629
624
  type: Inject,
630
- args: [ALuLegalUnitService]
625
+ args: [DEFAULT_LEGAL_UNIT_SERVICE]
631
626
  }, {
632
627
  type: Self
633
628
  }] }, { type: LuEstablishmentService, decorators: [{
@@ -635,11 +630,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
635
630
  args: [ALuEstablishmentService]
636
631
  }, {
637
632
  type: Optional
638
- }, {
639
- type: SkipSelf
640
633
  }] }, { type: LuEstablishmentService, decorators: [{
641
634
  type: Inject,
642
- args: [ALuEstablishmentService]
635
+ args: [DEFAULT_ESTABLISHMENT_SERVICE]
643
636
  }, {
644
637
  type: Self
645
638
  }] }], propDecorators: { filters: [{
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-establishment.mjs","sources":["../../../packages/ng/establishment/select/for-legal-units/for-legal-units.directive.ts","../../../packages/ng/establishment/select/for-legal-units/for-legal-units.module.ts","../../../packages/ng/establishment/service/establishment-service.model.ts","../../../packages/ng/establishment/service/establishment.service.ts","../../../packages/ng/establishment/service/legal-unit-service.model.ts","../../../packages/ng/establishment/service/legal-unit.service.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.directive.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.module.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.html","../../../packages/ng/establishment/select/searcher/establishment-searcher.module.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.html","../../../packages/ng/establishment/select/select-all/establishment-select-all.translate.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.module.ts","../../../packages/ng/establishment/select/input/establishment-select-input.translate.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.html","../../../packages/ng/establishment/select/input/establishment-select-input.module.ts","../../../packages/ng/establishment/select/establishment-select.module.ts","../../../packages/ng/establishment/establishment.module.ts","../../../packages/ng/establishment/lucca-front-ng-establishment.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, forwardRef, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ILuGroup } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuForGroupContext, LuForGroupsDirective } from '@lucca-front/ng/option';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\n\n@Directive({\n\tselector: '[luForLegalUnits]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForLegalUnitsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForLegalUnitsDirective extends LuForGroupsDirective<ILuEstablishment, ILuLegalUnit> {\n\tpublic constructor(\n\t\tprotected override _vcr: ViewContainerRef,\n\t\tprotected override _cdr: ChangeDetectorRef,\n\t\tprotected override _templateRef: TemplateRef<LuForGroupContext<ILuGroup<ILuEstablishment, ILuLegalUnit>>>,\n\t) {\n\t\tsuper(_vcr, _cdr, _templateRef);\n\t}\n\n\tprotected override groupBy(items: ILuEstablishment[]): ILuGroup<ILuEstablishment, ILuLegalUnit>[] {\n\t\tconst groups: ILuGroup<ILuEstablishment, ILuLegalUnit>[] = [];\n\t\titems.forEach((item) => {\n\t\t\tconst legalUnit = item?.legalUnit;\n\t\t\tlet group = groups.find((g) => g.key.id === legalUnit.id);\n\t\t\tif (!group) {\n\t\t\t\tgroup = { key: legalUnit, items: [] };\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup.items.push(item);\n\t\t});\n\t\treturn groups;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units.directive';\n\n@NgModule({\n\timports: [LuForLegalUnitsDirective],\n\texports: [LuForLegalUnitsDirective],\n})\nexport class LuForLegalUnitsModule {}\n","import { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { ILuEstablishment } from '../establishment.model';\n\nexport type ILuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> = ILuApiService<E>;\n\nexport abstract class ALuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> extends ALuApiService<E> implements ILuEstablishmentService<E> {}\n","import { Injectable } from '@angular/core';\nimport { ILuEstablishment } from '../establishment.model';\nimport { HttpClient } from '@angular/common/http';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\n\n@Injectable()\nexport class LuEstablishmentService extends LuApiV4Service<ILuEstablishment> {\n\tprotected override _api = `/organization/structure/api/establishments`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { ALuApiService, ILuApiService } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\nexport type ILuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> = ILuApiService<E>;\n\nexport abstract class ALuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> extends ALuApiService<E> implements ILuLegalUnitService<E> {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\n@Injectable()\nexport class LuLegalUnitService extends LuApiV4Service<ILuLegalUnit> {\n\tprotected override _api = `/organization/structure/api/legal-units`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { Directive, forwardRef, HostListener, Inject, Input, OnDestroy, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionSelector, ILuOptionSelector } from '@lucca-front/ng/option';\nimport { Subject, Subscription } from 'rxjs';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\n\n@Directive({\n\tselector: '[luLegalUnitSelector]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuLegalUnitSelectorDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuLegalUnitSelectorDirective implements ILuOptionSelector<ILuEstablishment>, OnDestroy {\n\tmultiple = true;\n\tonSelectValue = new Subject<ILuEstablishment[]>();\n\tprivate _values: ILuEstablishment[];\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\t@Input('luLegalUnitSelector') legalUnit: ILuLegalUnit;\n\t@Input('luLegalUnitSelectorFilters') set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input('luLegalUnitSelectorAppInstanceId') set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input('luLegalUnitSelectorOperations') set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfService: LuEstablishmentService,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\t@HostListener('click')\n\tonClick(): void {\n\t\tconst sub = this._service.getAll([`legalUnitId=${this.legalUnit.id}`]).subscribe((establishments) => {\n\t\t\tif (this.shouldAdd(establishments)) {\n\t\t\t\tconst selectedEstablishmentIds = new Set<number>((this._values ?? []).map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next(Array.from([...(this._values ?? []), ...establishments.filter((ets) => !selectedEstablishmentIds.has(ets.id))]));\n\t\t\t} else {\n\t\t\t\tconst establishmentIds = new Set<number>(establishments.map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next((this._values ?? []).filter((ets) => !establishmentIds.has(ets.id)));\n\t\t\t}\n\t\t});\n\t\tthis._subs.add(sub);\n\t}\n\n\tsetValue(values: ILuEstablishment[]): void {\n\t\tthis._values = values;\n\t}\n\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tprivate shouldAdd(establishments: ILuEstablishment[]): boolean {\n\t\tconst selectedCount = (this._values ?? []).filter((ets) => ets.legalUnitId === this.legalUnit.id).length;\n\t\treturn establishments.length > selectedCount;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector.directive';\n\n@NgModule({\n\timports: [LuLegalUnitSelectorDirective],\n\texports: [LuLegalUnitSelectorDirective],\n})\nexport class LuLegalUnitSelectorModule {}\n","/* eslint-disable max-len */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, map, scan, share, startWith, switchMap, takeWhile, tap } from 'rxjs/operators';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\n\n@Component({\n\tselector: 'lu-establishment-searcher',\n\ttemplateUrl: 'establishment-searcher.component.html',\n\tstyleUrls: ['establishment-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(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSearcherComponent implements ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOptionOperator<ILuEstablishment> {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input() set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\n\tprivate _service: LuEstablishmentService;\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Output()\n\tisSearching = new EventEmitter<boolean>();\n\tprivate _isSearching = false;\n\n\tclueControl = new FormControl<string>('');\n\n\tloading = false;\n\n\tprivate _nextPage$ = new Subject<void>();\n\tprivate _page$: Observable<number> = this._nextPage$.pipe(\n\t\tscan((acc) => acc + 1, 0),\n\t\tstartWith(0),\n\t);\n\tprivate _resetOutOptions = new Subject<void>();\n\n\toutOptions$ = this._resetOutOptions.pipe(\n\t\tstartWith(undefined),\n\t\tswitchMap(() =>\n\t\t\tthis.clueControl.valueChanges.pipe(\n\t\t\t\tdebounceTime(100),\n\t\t\t\tswitchMap((clue) =>\n\t\t\t\t\tthis._page$.pipe(\n\t\t\t\t\t\ttap(() => (this.loading = true)),\n\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t// FIXME refactor, add some spec anywhere\n\t\t\t\t\t\t\tconst isSearching = clue != null && clue !== '';\n\t\t\t\t\t\t\tif (this._isSearching !== isSearching) {\n\t\t\t\t\t\t\t\tthis._isSearching = isSearching;\n\t\t\t\t\t\t\t\tthis.isSearching.emit(this._isSearching);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tswitchMap((page) => this._service.searchPaged(clue, page).pipe(catchError(() => of([] as ILuEstablishment[])))),\n\t\t\t\t\t\ttakeWhile((loadedItems) => !!loadedItems.length),\n\t\t\t\t\t\tscan((acc, next) => [...acc, ...next]),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap(() => (this.loading = false)),\n\t\t\t),\n\t\t),\n\t\tshare(),\n\t);\n\n\tdisplayPlaceholder$ = this.outOptions$.pipe(map((o) => o?.length === 0 && this._isSearching));\n\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfService: LuEstablishmentService,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.reset();\n\t}\n\n\tonScrollBottom() {\n\t\tif (!this.loading) {\n\t\t\tthis._nextPage$.next();\n\t\t}\n\t}\n\n\tonClose() {\n\t\tthis._resetOutOptions.next();\n\t}\n\n\treset() {\n\t\tthis.clueControl.reset();\n\t}\n}\n","<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSearcherComponent } from './establishment-searcher.component';\n\n@NgModule({\n\timports: [LuEstablishmentSearcherComponent],\n\texports: [LuEstablishmentSearcherComponent],\n})\nexport class LuEstablishmentSearcherModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Inject, Input, OnDestroy, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionOperator, ALuOptionSelector, LuOptionSelectAllComponent } from '@lucca-front/ng/option';\nimport { Subscription } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\n\n@Component({\n\tselector: 'lu-establishment-select-all',\n\ttemplateUrl: './establishment-select-all.component.html',\n\tstyleUrls: ['establishment-select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent<ILuEstablishment> implements OnDestroy {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appInstanceId: number) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\n\tloading = false;\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\tconstructor(\n\t\tprivate readonly _changeDetectorRef: ChangeDetectorRef,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfService: LuEstablishmentService,\n\t) {\n\t\tsuper();\n\t\tthis._service = hostService || selfService;\n\t}\n\n\toverride selectAll() {\n\t\tthis.loading = true;\n\t\tconst sub = this._service.getAll().subscribe({\n\t\t\tnext: (establishments) => {\n\t\t\t\tthis.onSelectValue.next([...establishments]);\n\t\t\t},\n\t\t\tcomplete: () => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis._changeDetectorRef.detectChanges();\n\t\t\t},\n\t\t});\n\n\t\tthis._subs.add(sub);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n","import { ILuTranslation } from '@lucca-front/ng/core';\nimport { ILuOptionSelectAllLabel } from '@lucca-front/ng/option';\n\nexport const luEstablishmentSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\n\ten: {\n\t\tselect: 'Select all',\n\t\tdeselect: 'Deselect all',\n\t},\n\tfr: {\n\t\tselect: 'Tout sélectionner',\n\t\tdeselect: 'Tout déselectionner',\n\t},\n\tde: {\n\t\tselect: 'Alle auswählen',\n\t\tdeselect: 'Alle abwählen',\n\t},\n\tpt: {\n\t\tselect: 'Selecionar tudo',\n\t\tdeselect: 'Desselecionar tudo',\n\t},\n\tes: {\n\t\tselect: 'Seleccionar todo',\n\t\tdeselect: 'Desmarcar todo',\n\t},\n};\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectAllComponent } from './establishment-select-all.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectAllModule {}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuEstablishmentSelectTranslations', {\n\tfactory: () => luEstablishmentSelectInputTranslations,\n});\n\nexport interface ILuEstablishmentSelectInputLabel {\n\testablishments: string;\n}\n\nexport const luEstablishmentSelectInputTranslations: ILuTranslation<ILuEstablishmentSelectInputLabel> = {\n\ten: {\n\t\testablishments: 'establishments',\n\t},\n\tfr: {\n\t\testablishments: 'établissements',\n\t},\n\tes: {\n\t\testablishments: 'establecimiento',\n\t},\n};\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tforwardRef,\n\tInject,\n\tInput,\n\tOnInit,\n\tOptional,\n\tRenderer2,\n\tSelf,\n\tSkipSelf,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionPickerPanel, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { combineLatest } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, ALuLegalUnitService, LuEstablishmentService, LuLegalUnitService } from '../../service/index';\nimport { LuForLegalUnitsDirective } from '../for-legal-units';\nimport { LuLegalUnitSelectorDirective } from '../legal-unit-selector';\nimport { LuEstablishmentSearcherComponent } from '../searcher';\nimport { LuEstablishmentSelectAllComponent } from '../select-all';\nimport { LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS } from './establishment-select-input.translate';\n\n@Component({\n\tselector: 'lu-establishment-select',\n\ttemplateUrl: './establishment-select-input.component.html',\n\tstyleUrls: ['./establishment-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tOverlayModule,\n\t\tLuInputClearerComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuEstablishmentSearcherComponent,\n\t\tLuEstablishmentSelectAllComponent,\n\t\tLuLegalUnitSelectorDirective,\n\t\tLuOptionItemComponent,\n\t\tLuForLegalUnitsDirective,\n\t\tLuInputDisplayerDirective,\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuLegalUnitService,\n\t\t\tuseClass: LuLegalUnitService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectInputComponent<\n\t\tD extends import('../../establishment.model').ILuEstablishment = import('../../establishment.model').ILuEstablishment,\n\t\tP extends ILuOptionPickerPanel<D> = ILuOptionPickerPanel<D>,\n\t>\n\textends ALuSelectInputComponent<D, P>\n\timplements ControlValueAccessor, ILuInputWithPicker<D>, OnInit, AfterViewInit\n{\n\tbyId: LuOptionComparer<D> = (option1: D, option2: D) => option1 && option2 && option1.id === option2.id;\n\n\t@Input() filters: string[];\n\t@Input() appInstanceId: number;\n\t@Input() operations: number[];\n\n\tprivate _establishmentService: LuEstablishmentService;\n\tprivate _legalUnitService: LuLegalUnitService;\n\n\tisSearching = false;\n\tgroupByLu = true;\n\n\tget sort(): string {\n\t\treturn this.isSearching ? 'name' : 'legalunit.name,name';\n\t}\n\n\tpublic intl = getIntl(LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS);\n\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\t@Inject(ALuLegalUnitService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostLuService: LuLegalUnitService,\n\t\t@Inject(ALuLegalUnitService) @Self() selfLuService: LuLegalUnitService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostEstablishmentService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfEstablishmentService: LuEstablishmentService,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t\tthis._establishmentService = hostEstablishmentService || selfEstablishmentService;\n\t\tthis._legalUnitService = hostLuService || selfLuService;\n\t}\n\n\tngOnInit() {\n\t\tthis._subs.add(\n\t\t\tcombineLatest([this._legalUnitService.count(), this._establishmentService.count()]).subscribe(([luCount, establishmentCount]) => {\n\t\t\t\tthis.groupByLu = luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount;\n\t\t\t}),\n\t\t);\n\t}\n\n\tonIsSearchingChanged(isSearching: boolean) {\n\t\tthis.isSearching = isSearching;\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\ttrackById(idx: number, item: ILuEstablishment): number {\n\t\treturn item.id;\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\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectInputComponent } from './establishment-select-input.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent],\n\texports: [LuEstablishmentSelectInputComponent],\n})\nexport class LuEstablishmentSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units/index';\nimport { LuEstablishmentSelectInputComponent } from './input';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector/index';\nimport { LuEstablishmentSearcherComponent } from './searcher';\nimport { LuEstablishmentSelectAllComponent } from './select-all/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectModule],\n\texports: [LuEstablishmentSelectModule],\n})\nexport class LuEstablishmentModule {}\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-establishment.mjs","sources":["../../../packages/ng/establishment/select/for-legal-units/for-legal-units.directive.ts","../../../packages/ng/establishment/select/for-legal-units/for-legal-units.module.ts","../../../packages/ng/establishment/service/establishment-service.model.ts","../../../packages/ng/establishment/service/establishment.service.ts","../../../packages/ng/establishment/service/legal-unit-service.model.ts","../../../packages/ng/establishment/service/legal-unit.service.ts","../../../packages/ng/establishment/select/establishment-select.token.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.directive.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.module.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.html","../../../packages/ng/establishment/select/searcher/establishment-searcher.module.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.html","../../../packages/ng/establishment/select/select-all/establishment-select-all.translate.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.module.ts","../../../packages/ng/establishment/select/input/establishment-select-input.translate.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.html","../../../packages/ng/establishment/select/input/establishment-select-input.module.ts","../../../packages/ng/establishment/select/establishment-select.module.ts","../../../packages/ng/establishment/establishment.module.ts","../../../packages/ng/establishment/lucca-front-ng-establishment.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, forwardRef, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ILuGroup } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuForGroupContext, LuForGroupsDirective } from '@lucca-front/ng/option';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\n\n@Directive({\n\tselector: '[luForLegalUnits]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForLegalUnitsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForLegalUnitsDirective extends LuForGroupsDirective<ILuEstablishment, ILuLegalUnit> {\n\tpublic constructor(\n\t\tprotected override _vcr: ViewContainerRef,\n\t\tprotected override _cdr: ChangeDetectorRef,\n\t\tprotected override _templateRef: TemplateRef<LuForGroupContext<ILuGroup<ILuEstablishment, ILuLegalUnit>>>,\n\t) {\n\t\tsuper(_vcr, _cdr, _templateRef);\n\t}\n\n\tprotected override groupBy(items: ILuEstablishment[]): ILuGroup<ILuEstablishment, ILuLegalUnit>[] {\n\t\tconst groups: ILuGroup<ILuEstablishment, ILuLegalUnit>[] = [];\n\t\titems.forEach((item) => {\n\t\t\tconst legalUnit = item?.legalUnit;\n\t\t\tlet group = groups.find((g) => g.key.id === legalUnit.id);\n\t\t\tif (!group) {\n\t\t\t\tgroup = { key: legalUnit, items: [] };\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup.items.push(item);\n\t\t});\n\t\treturn groups;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units.directive';\n\n@NgModule({\n\timports: [LuForLegalUnitsDirective],\n\texports: [LuForLegalUnitsDirective],\n})\nexport class LuForLegalUnitsModule {}\n","import { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { ILuEstablishment } from '../establishment.model';\n\nexport type ILuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> = ILuApiService<E>;\n\nexport abstract class ALuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> extends ALuApiService<E> implements ILuEstablishmentService<E> {}\n","import { Injectable } from '@angular/core';\nimport { ILuEstablishment } from '../establishment.model';\nimport { HttpClient } from '@angular/common/http';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\n\n@Injectable()\nexport class LuEstablishmentService extends LuApiV4Service<ILuEstablishment> {\n\tprotected override _api = `/organization/structure/api/establishments`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { ALuApiService, ILuApiService } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\nexport type ILuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> = ILuApiService<E>;\n\nexport abstract class ALuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> extends ALuApiService<E> implements ILuLegalUnitService<E> {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\n@Injectable()\nexport class LuLegalUnitService extends LuApiV4Service<ILuLegalUnit> {\n\tprotected override _api = `/organization/structure/api/legal-units`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuEstablishmentService, ILuLegalUnitService } from '../service';\n\nexport const DEFAULT_ESTABLISHMENT_SERVICE = new InjectionToken<ILuEstablishmentService>('Default establishment service');\nexport const DEFAULT_LEGAL_UNIT_SERVICE = new InjectionToken<ILuLegalUnitService>('Default legal unit service');\n","import { Directive, forwardRef, HostListener, Inject, Input, OnDestroy, Optional, Self } from '@angular/core';\nimport { ALuOptionSelector, ILuOptionSelector } from '@lucca-front/ng/option';\nimport { Subject, Subscription } from 'rxjs';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE } from '../establishment-select.token';\n\n@Directive({\n\tselector: '[luLegalUnitSelector]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuLegalUnitSelectorDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuLegalUnitSelectorDirective implements ILuOptionSelector<ILuEstablishment>, OnDestroy {\n\tmultiple = true;\n\tonSelectValue = new Subject<ILuEstablishment[]>();\n\tprivate _values: ILuEstablishment[];\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\t@Input('luLegalUnitSelector') legalUnit: ILuLegalUnit;\n\t@Input('luLegalUnitSelectorFilters') set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input('luLegalUnitSelectorAppInstanceId') set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input('luLegalUnitSelectorOperations') set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultService: LuEstablishmentService,\n\t) {\n\t\tthis._service = customService || defaultService;\n\t}\n\n\t@HostListener('click')\n\tonClick(): void {\n\t\tconst sub = this._service.getAll([`legalUnitId=${this.legalUnit.id}`]).subscribe((establishments) => {\n\t\t\tif (this.shouldAdd(establishments)) {\n\t\t\t\tconst selectedEstablishmentIds = new Set<number>((this._values ?? []).map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next(Array.from([...(this._values ?? []), ...establishments.filter((ets) => !selectedEstablishmentIds.has(ets.id))]));\n\t\t\t} else {\n\t\t\t\tconst establishmentIds = new Set<number>(establishments.map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next((this._values ?? []).filter((ets) => !establishmentIds.has(ets.id)));\n\t\t\t}\n\t\t});\n\t\tthis._subs.add(sub);\n\t}\n\n\tsetValue(values: ILuEstablishment[]): void {\n\t\tthis._values = values;\n\t}\n\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tprivate shouldAdd(establishments: ILuEstablishment[]): boolean {\n\t\tconst selectedCount = (this._values ?? []).filter((ets) => ets.legalUnitId === this.legalUnit.id).length;\n\t\treturn establishments.length > selectedCount;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector.directive';\n\n@NgModule({\n\timports: [LuLegalUnitSelectorDirective],\n\texports: [LuLegalUnitSelectorDirective],\n})\nexport class LuLegalUnitSelectorModule {}\n","/* eslint-disable max-len */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, Self, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, map, scan, share, startWith, switchMap, takeWhile, tap } from 'rxjs/operators';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE } from '../establishment-select.token';\n\n@Component({\n\tselector: 'lu-establishment-searcher',\n\ttemplateUrl: 'establishment-searcher.component.html',\n\tstyleUrls: ['establishment-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(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSearcherComponent implements ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOptionOperator<ILuEstablishment> {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input() set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\n\tprivate _service: LuEstablishmentService;\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Output()\n\tisSearching = new EventEmitter<boolean>();\n\tprivate _isSearching = false;\n\n\tclueControl = new FormControl<string>('');\n\n\tloading = false;\n\n\tprivate _nextPage$ = new Subject<void>();\n\tprivate _page$: Observable<number> = this._nextPage$.pipe(\n\t\tscan((acc) => acc + 1, 0),\n\t\tstartWith(0),\n\t);\n\tprivate _resetOutOptions = new Subject<void>();\n\n\toutOptions$ = this._resetOutOptions.pipe(\n\t\tstartWith(undefined),\n\t\tswitchMap(() =>\n\t\t\tthis.clueControl.valueChanges.pipe(\n\t\t\t\tdebounceTime(100),\n\t\t\t\tswitchMap((clue) =>\n\t\t\t\t\tthis._page$.pipe(\n\t\t\t\t\t\ttap(() => (this.loading = true)),\n\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t// FIXME refactor, add some spec anywhere\n\t\t\t\t\t\t\tconst isSearching = clue != null && clue !== '';\n\t\t\t\t\t\t\tif (this._isSearching !== isSearching) {\n\t\t\t\t\t\t\t\tthis._isSearching = isSearching;\n\t\t\t\t\t\t\t\tthis.isSearching.emit(this._isSearching);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tswitchMap((page) => this._service.searchPaged(clue, page).pipe(catchError(() => of([] as ILuEstablishment[])))),\n\t\t\t\t\t\ttakeWhile((loadedItems) => !!loadedItems.length),\n\t\t\t\t\t\tscan((acc, next) => [...acc, ...next]),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap(() => (this.loading = false)),\n\t\t\t),\n\t\t),\n\t\tshare(),\n\t);\n\n\tdisplayPlaceholder$ = this.outOptions$.pipe(map((o) => o?.length === 0 && this._isSearching));\n\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultService: LuEstablishmentService,\n\t) {\n\t\tthis._service = customService || defaultService;\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.reset();\n\t}\n\n\tonScrollBottom() {\n\t\tif (!this.loading) {\n\t\t\tthis._nextPage$.next();\n\t\t}\n\t}\n\n\tonClose() {\n\t\tthis._resetOutOptions.next();\n\t}\n\n\treset() {\n\t\tthis.clueControl.reset();\n\t}\n}\n","<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSearcherComponent } from './establishment-searcher.component';\n\n@NgModule({\n\timports: [LuEstablishmentSearcherComponent],\n\texports: [LuEstablishmentSearcherComponent],\n})\nexport class LuEstablishmentSearcherModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Inject, Input, OnDestroy, Optional, Self } from '@angular/core';\nimport { ALuOptionOperator, ALuOptionSelector, LuOptionSelectAllComponent } from '@lucca-front/ng/option';\nimport { Subscription } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE } from '../establishment-select.token';\n\n@Component({\n\tselector: 'lu-establishment-select-all',\n\ttemplateUrl: './establishment-select-all.component.html',\n\tstyleUrls: ['establishment-select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent<ILuEstablishment> implements OnDestroy {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appInstanceId: number) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\n\tloading = false;\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\tconstructor(\n\t\tprivate readonly _changeDetectorRef: ChangeDetectorRef,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultService: LuEstablishmentService,\n\t) {\n\t\tsuper();\n\t\tthis._service = customService || defaultService;\n\t}\n\n\toverride selectAll() {\n\t\tthis.loading = true;\n\t\tconst sub = this._service.getAll().subscribe({\n\t\t\tnext: (establishments) => {\n\t\t\t\tthis.onSelectValue.next([...establishments]);\n\t\t\t},\n\t\t\tcomplete: () => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis._changeDetectorRef.detectChanges();\n\t\t\t},\n\t\t});\n\n\t\tthis._subs.add(sub);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n","import { ILuTranslation } from '@lucca-front/ng/core';\nimport { ILuOptionSelectAllLabel } from '@lucca-front/ng/option';\n\nexport const luEstablishmentSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\n\ten: {\n\t\tselect: 'Select all',\n\t\tdeselect: 'Deselect all',\n\t},\n\tfr: {\n\t\tselect: 'Tout sélectionner',\n\t\tdeselect: 'Tout déselectionner',\n\t},\n\tde: {\n\t\tselect: 'Alle auswählen',\n\t\tdeselect: 'Alle abwählen',\n\t},\n\tpt: {\n\t\tselect: 'Selecionar tudo',\n\t\tdeselect: 'Desselecionar tudo',\n\t},\n\tes: {\n\t\tselect: 'Seleccionar todo',\n\t\tdeselect: 'Desmarcar todo',\n\t},\n};\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectAllComponent } from './establishment-select-all.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectAllModule {}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuEstablishmentSelectTranslations', {\n\tfactory: () => luEstablishmentSelectInputTranslations,\n});\n\nexport interface ILuEstablishmentSelectInputLabel {\n\testablishments: string;\n}\n\nexport const luEstablishmentSelectInputTranslations: ILuTranslation<ILuEstablishmentSelectInputLabel> = {\n\ten: {\n\t\testablishments: 'establishments',\n\t},\n\tfr: {\n\t\testablishments: 'établissements',\n\t},\n\tes: {\n\t\testablishments: 'establecimiento',\n\t},\n};\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, OnInit, Optional, Renderer2, Self, ViewContainerRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionPickerPanel, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { combineLatest } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, ALuLegalUnitService, LuEstablishmentService, LuLegalUnitService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE, DEFAULT_LEGAL_UNIT_SERVICE } from '../establishment-select.token';\nimport { LuForLegalUnitsDirective } from '../for-legal-units';\nimport { LuLegalUnitSelectorDirective } from '../legal-unit-selector';\nimport { LuEstablishmentSearcherComponent } from '../searcher';\nimport { LuEstablishmentSelectAllComponent } from '../select-all';\nimport { LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS } from './establishment-select-input.translate';\n\n@Component({\n\tselector: 'lu-establishment-select',\n\ttemplateUrl: './establishment-select-input.component.html',\n\tstyleUrls: ['./establishment-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tOverlayModule,\n\t\tLuInputClearerComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuEstablishmentSearcherComponent,\n\t\tLuEstablishmentSelectAllComponent,\n\t\tLuLegalUnitSelectorDirective,\n\t\tLuOptionItemComponent,\n\t\tLuForLegalUnitsDirective,\n\t\tLuInputDisplayerDirective,\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_LEGAL_UNIT_SERVICE,\n\t\t\tuseClass: LuLegalUnitService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectInputComponent<\n\t\tD extends import('../../establishment.model').ILuEstablishment = import('../../establishment.model').ILuEstablishment,\n\t\tP extends ILuOptionPickerPanel<D> = ILuOptionPickerPanel<D>,\n\t>\n\textends ALuSelectInputComponent<D, P>\n\timplements ControlValueAccessor, ILuInputWithPicker<D>, OnInit, AfterViewInit\n{\n\tbyId: LuOptionComparer<D> = (option1: D, option2: D) => option1 && option2 && option1.id === option2.id;\n\n\t@Input() filters: string[];\n\t@Input() appInstanceId: number;\n\t@Input() operations: number[];\n\n\tprivate _establishmentService: LuEstablishmentService;\n\tprivate _legalUnitService: LuLegalUnitService;\n\n\tisSearching = false;\n\tgroupByLu = true;\n\n\tget sort(): string {\n\t\treturn this.isSearching ? 'name' : 'legalunit.name,name';\n\t}\n\n\tpublic intl = getIntl(LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS);\n\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\t@Inject(ALuLegalUnitService)\n\t\t@Optional()\n\t\tcustomLuService: LuLegalUnitService,\n\t\t@Inject(DEFAULT_LEGAL_UNIT_SERVICE) @Self() defaultLuService: LuLegalUnitService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomEstablishmentService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultEstablishmentService: LuEstablishmentService,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t\tthis._establishmentService = customEstablishmentService || defaultEstablishmentService;\n\t\tthis._legalUnitService = customLuService || defaultLuService;\n\t}\n\n\tngOnInit() {\n\t\tthis._subs.add(\n\t\t\tcombineLatest([this._legalUnitService.count(), this._establishmentService.count()]).subscribe(([luCount, establishmentCount]) => {\n\t\t\t\tthis.groupByLu = luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount;\n\t\t\t}),\n\t\t);\n\t}\n\n\tonIsSearchingChanged(isSearching: boolean) {\n\t\tthis.isSearching = isSearching;\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\ttrackById(idx: number, item: ILuEstablishment): number {\n\t\treturn item.id;\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\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectInputComponent } from './establishment-select-input.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent],\n\texports: [LuEstablishmentSelectInputComponent],\n})\nexport class LuEstablishmentSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units/index';\nimport { LuEstablishmentSelectInputComponent } from './input';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector/index';\nimport { LuEstablishmentSearcherComponent } from './searcher';\nimport { LuEstablishmentSelectAllComponent } from './select-all/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectModule],\n\texports: [LuEstablishmentSelectModule],\n})\nexport class LuEstablishmentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}