@dflat-core/web 1.0.41 → 1.0.43

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 (178) hide show
  1. package/core-services/index.d.ts +2 -0
  2. package/core-services/lib/services/application-menu.service.d.ts +22 -0
  3. package/core-services/lib/services/module-menu-services.token.d.ts +8 -0
  4. package/core-ux/index.d.ts +1 -0
  5. package/core-ux/lib/services/entity-selectors.d.ts +37 -0
  6. package/core-ux/lib/services/selectorMapperBase.service.d.ts +7 -1
  7. package/core-ux/lib/v2/models/contexts/section-context.d.ts +12 -0
  8. package/fesm2022/dflat-core-web-core-services.mjs +56 -2
  9. package/fesm2022/dflat-core-web-core-services.mjs.map +1 -1
  10. package/fesm2022/dflat-core-web-core-ux.mjs +95 -10
  11. package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
  12. package/fesm2022/dflat-core-web-system-model.mjs.map +1 -1
  13. package/fesm2022/dflat-core-web-system-root.mjs +261 -108
  14. package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
  15. package/fesm2022/dflat-core-web-system-ux.mjs +4780 -2445
  16. package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
  17. package/package.json +9 -9
  18. package/system-model/lib/model/interface.generated.d.ts +18 -0
  19. package/system-root/index.d.ts +4 -1
  20. package/system-root/lib/generated/system-entity-keys.generated.d.ts +63 -0
  21. package/system-root/lib/generated/system-menu-item-provider.generated.d.ts +67 -0
  22. package/system-root/lib/generated/system-menu-service.generated.d.ts +26 -0
  23. package/system-root/lib/system-entity-keys.d.ts +6 -31
  24. package/system-root/lib/system-menu-item-provider.d.ts +6 -23
  25. package/system-root/lib/system-menu-service.d.ts +8 -9
  26. package/system-ux/index.d.ts +136 -44
  27. package/system-ux/lib/data-components/address.component.d.ts +7 -0
  28. package/system-ux/lib/{company → data-components}/company.component.d.ts +3 -7
  29. package/system-ux/lib/data-components/country.component.d.ts +6 -0
  30. package/system-ux/lib/data-components/currency.component.d.ts +6 -0
  31. package/system-ux/lib/{custom-field/custom-field.component.d.ts → data-components/customfield.component.d.ts} +3 -7
  32. package/system-ux/lib/{custom-field-group/custom-field-group.component.d.ts → data-components/customfieldgroup.component.d.ts} +4 -6
  33. package/system-ux/lib/{custom-field-group/custom-field-group-entity/custom-field-group-entity.component.d.ts → data-components/customfieldgroupentity.component.d.ts} +4 -7
  34. package/system-ux/lib/{custom-field-group/custom-field-group-item/custom-field-group-item.component.d.ts → data-components/customfieldgroupitem.component.d.ts} +5 -7
  35. package/system-ux/lib/{custom-field-options/custom-field-options.component.d.ts → data-components/customfieldoptions.component.d.ts} +3 -6
  36. package/system-ux/lib/data-components/customfieldvalue.component.d.ts +10 -0
  37. package/system-ux/lib/data-components/dayinfo.component.d.ts +10 -0
  38. package/system-ux/lib/data-components/errorcategory.component.d.ts +10 -0
  39. package/system-ux/lib/{exchange-rate/exchange-rate.component.d.ts → data-components/exchangerate.component.d.ts} +3 -10
  40. package/system-ux/lib/data-components/files.component.d.ts +10 -0
  41. package/system-ux/lib/data-components/generated/address.component.generated.d.ts +18 -0
  42. package/system-ux/lib/data-components/generated/company.component.generated.d.ts +25 -0
  43. package/system-ux/lib/data-components/generated/country.component.generated.d.ts +25 -0
  44. package/system-ux/lib/data-components/generated/currency.component.generated.d.ts +25 -0
  45. package/system-ux/lib/data-components/generated/customfield.component.generated.d.ts +25 -0
  46. package/system-ux/lib/data-components/generated/customfieldgroup.component.generated.d.ts +25 -0
  47. package/system-ux/lib/data-components/generated/customfieldgroupentity.component.generated.d.ts +18 -0
  48. package/system-ux/lib/data-components/generated/customfieldgroupitem.component.generated.d.ts +18 -0
  49. package/system-ux/lib/data-components/generated/customfieldoptions.component.generated.d.ts +18 -0
  50. package/system-ux/lib/data-components/generated/customfieldvalue.component.generated.d.ts +18 -0
  51. package/system-ux/lib/data-components/generated/dayinfo.component.generated.d.ts +18 -0
  52. package/system-ux/lib/data-components/generated/entityfiles.component.generated.d.ts +18 -0
  53. package/system-ux/lib/data-components/generated/errorcategory.component.generated.d.ts +18 -0
  54. package/system-ux/lib/data-components/generated/exchangerate.component.generated.d.ts +18 -0
  55. package/system-ux/lib/data-components/generated/files.component.generated.d.ts +18 -0
  56. package/system-ux/lib/data-components/generated/keyword.component.generated.d.ts +25 -0
  57. package/system-ux/lib/data-components/generated/metaentity.component.generated.d.ts +25 -0
  58. package/system-ux/lib/data-components/generated/metaentityfield.component.generated.d.ts +25 -0
  59. package/system-ux/lib/data-components/generated/metaentityform.component.generated.d.ts +25 -0
  60. package/system-ux/lib/data-components/generated/metaentityformfield.component.generated.d.ts +18 -0
  61. package/system-ux/lib/data-components/generated/metaentityformsection.component.generated.d.ts +25 -0
  62. package/system-ux/lib/data-components/generated/metaentitykeyword.component.generated.d.ts +18 -0
  63. package/system-ux/lib/data-components/generated/metaentityrelation.component.generated.d.ts +25 -0
  64. package/system-ux/lib/data-components/generated/metaentityrelationdefinition.component.generated.d.ts +18 -0
  65. package/system-ux/lib/data-components/generated/metaentitytranslation.component.generated.d.ts +18 -0
  66. package/system-ux/lib/data-components/generated/metaentityviewfield.component.generated.d.ts +25 -0
  67. package/system-ux/lib/data-components/generated/news.component.generated.d.ts +25 -0
  68. package/system-ux/lib/data-components/generated/parameter.component.generated.d.ts +25 -0
  69. package/system-ux/lib/data-components/generated/parametersection.component.generated.d.ts +25 -0
  70. package/system-ux/lib/data-components/generated/parametervalue.component.generated.d.ts +18 -0
  71. package/system-ux/lib/data-components/generated/permission.component.generated.d.ts +25 -0
  72. package/system-ux/lib/data-components/generated/presentationprofile.component.generated.d.ts +25 -0
  73. package/system-ux/lib/data-components/generated/presentationprofileitem.component.generated.d.ts +18 -0
  74. package/system-ux/lib/data-components/generated/rating.component.generated.d.ts +18 -0
  75. package/system-ux/lib/data-components/generated/ratingsummary.component.generated.d.ts +25 -0
  76. package/system-ux/lib/data-components/generated/request.component.generated.d.ts +25 -0
  77. package/system-ux/lib/data-components/generated/requestentity.component.generated.d.ts +25 -0
  78. package/system-ux/lib/data-components/generated/requestresult.component.generated.d.ts +18 -0
  79. package/system-ux/lib/data-components/generated/resourcekey.component.generated.d.ts +25 -0
  80. package/system-ux/lib/data-components/generated/resourcelanguage.component.generated.d.ts +25 -0
  81. package/system-ux/lib/data-components/generated/resourcetranslation.component.generated.d.ts +18 -0
  82. package/system-ux/lib/data-components/generated/role.component.generated.d.ts +25 -0
  83. package/system-ux/lib/data-components/generated/rolepermission.component.generated.d.ts +18 -0
  84. package/system-ux/lib/data-components/generated/subcompany.component.generated.d.ts +18 -0
  85. package/system-ux/lib/data-components/generated/supplier.component.generated.d.ts +25 -0
  86. package/system-ux/lib/data-components/generated/suppliercompany.component.generated.d.ts +18 -0
  87. package/system-ux/lib/data-components/generated/synchronizedcompany.component.generated.d.ts +18 -0
  88. package/system-ux/lib/data-components/generated/system-components.generated.d.ts +69 -0
  89. package/system-ux/lib/data-components/generated/tvarate.component.generated.d.ts +18 -0
  90. package/system-ux/lib/data-components/generated/useraccount.component.generated.d.ts +25 -0
  91. package/system-ux/lib/data-components/generated/useraccountcompany.component.generated.d.ts +18 -0
  92. package/system-ux/lib/data-components/generated/useraccountnews.component.generated.d.ts +18 -0
  93. package/system-ux/lib/data-components/generated/useraccountrole.component.generated.d.ts +18 -0
  94. package/system-ux/lib/data-components/generated/useraccounttoken.component.generated.d.ts +18 -0
  95. package/system-ux/lib/data-components/generated/userfavorite.component.generated.d.ts +18 -0
  96. package/system-ux/lib/data-components/generated/usergroup.component.generated.d.ts +18 -0
  97. package/system-ux/lib/data-components/generated/usergroupdefinition.component.generated.d.ts +18 -0
  98. package/system-ux/lib/data-components/generated/userhistory.component.generated.d.ts +18 -0
  99. package/system-ux/lib/data-components/generated/userpermissionview.component.generated.d.ts +18 -0
  100. package/system-ux/lib/data-components/generated/usersession.component.generated.d.ts +18 -0
  101. package/system-ux/lib/data-components/generated/version.component.generated.d.ts +18 -0
  102. package/system-ux/lib/data-components/keyword.component.d.ts +10 -0
  103. package/system-ux/lib/{meta-entity/meta-entity.component.d.ts → data-components/metaentity.component.d.ts} +3 -9
  104. package/system-ux/lib/{meta-entity-field/meta-entity-field.component.d.ts → data-components/metaentityfield.component.d.ts} +3 -6
  105. package/system-ux/lib/data-components/metaentityform.component.d.ts +10 -0
  106. package/system-ux/lib/data-components/metaentityformfield.component.d.ts +10 -0
  107. package/system-ux/lib/data-components/metaentityformsection.component.d.ts +10 -0
  108. package/system-ux/lib/data-components/metaentitykeyword.component.d.ts +10 -0
  109. package/system-ux/lib/data-components/metaentityrelation.component.d.ts +10 -0
  110. package/system-ux/lib/data-components/metaentityrelationdefinition.component.d.ts +10 -0
  111. package/system-ux/lib/data-components/metaentitytranslation.component.d.ts +10 -0
  112. package/system-ux/lib/data-components/metaentityviewfield.component.d.ts +10 -0
  113. package/system-ux/lib/data-components/news.component.d.ts +8 -0
  114. package/system-ux/lib/data-components/parameter.component.d.ts +10 -0
  115. package/system-ux/lib/data-components/parametersection.component.d.ts +10 -0
  116. package/system-ux/lib/data-components/parametervalue.component.d.ts +15 -0
  117. package/system-ux/lib/data-components/permission.component.d.ts +8 -0
  118. package/system-ux/lib/data-components/presentationprofileitem.component.d.ts +10 -0
  119. package/system-ux/lib/data-components/rating.component.d.ts +10 -0
  120. package/system-ux/lib/data-components/ratingsummary.component.d.ts +10 -0
  121. package/system-ux/lib/{request → data-components}/request.component.d.ts +3 -7
  122. package/system-ux/lib/data-components/requestentity.component.d.ts +10 -0
  123. package/system-ux/lib/data-components/requestresult.component.d.ts +10 -0
  124. package/system-ux/lib/data-components/resourcekey.component.d.ts +11 -0
  125. package/system-ux/lib/data-components/resourcelanguage.component.d.ts +9 -0
  126. package/system-ux/lib/data-components/resourcetranslation.component.d.ts +10 -0
  127. package/system-ux/lib/{role/role-component.d.ts → data-components/role.component.d.ts} +3 -7
  128. package/system-ux/lib/data-components/rolepermission.component.d.ts +10 -0
  129. package/system-ux/lib/data-components/subcompany.component.d.ts +11 -0
  130. package/system-ux/lib/data-components/supplier.component.d.ts +8 -0
  131. package/system-ux/lib/data-components/suppliercompany.component.d.ts +10 -0
  132. package/system-ux/lib/data-components/synchronizedcompany.component.d.ts +15 -0
  133. package/system-ux/lib/{tva-rate/tva-rate.component.d.ts → data-components/tvarate.component.d.ts} +4 -7
  134. package/system-ux/lib/data-components/useraccount.component.d.ts +11 -0
  135. package/system-ux/lib/data-components/useraccountcompany.component.d.ts +10 -0
  136. package/system-ux/lib/data-components/useraccountnews.component.d.ts +10 -0
  137. package/system-ux/lib/data-components/useraccountrole.component.d.ts +10 -0
  138. package/system-ux/lib/data-components/useraccounttoken.component.d.ts +10 -0
  139. package/system-ux/lib/{user-company/user-company-component.d.ts → data-components/usercompany.component.d.ts} +4 -6
  140. package/system-ux/lib/data-components/userfavorite.component.d.ts +10 -0
  141. package/system-ux/lib/data-components/usergroup.component.d.ts +8 -0
  142. package/system-ux/lib/{user-group/user-group-definition.component.d.ts → data-components/usergroupdefinition.component.d.ts} +3 -6
  143. package/system-ux/lib/data-components/userhistory.component.d.ts +10 -0
  144. package/system-ux/lib/{user-permission/user-permission-component.d.ts → data-components/userpermission.component.d.ts} +3 -6
  145. package/system-ux/lib/data-components/userpermissionview.component.d.ts +10 -0
  146. package/system-ux/lib/{user-role/user-role-component.d.ts → data-components/userrole.component.d.ts} +3 -6
  147. package/system-ux/lib/data-components/usersession.component.d.ts +10 -0
  148. package/system-ux/lib/data-components/version.component.d.ts +10 -0
  149. package/system-ux/lib/system-ux.module.d.ts +125 -92
  150. package/system-ux/lib/address/address.component.d.ts +0 -15
  151. package/system-ux/lib/country/country.component.d.ts +0 -14
  152. package/system-ux/lib/currency/currency.component.d.ts +0 -14
  153. package/system-ux/lib/global-parameter/global-parameter.component.d.ts +0 -15
  154. package/system-ux/lib/news/news-component.d.ts +0 -16
  155. package/system-ux/lib/permission/permission-component.d.ts +0 -16
  156. package/system-ux/lib/resource-key/resource-key.component.d.ts +0 -18
  157. package/system-ux/lib/resource-language/resource-language.component.d.ts +0 -16
  158. package/system-ux/lib/resource-translation/resource-translation.component.d.ts +0 -16
  159. package/system-ux/lib/sub-company/sub-company.component.d.ts +0 -15
  160. package/system-ux/lib/supplier/supplier.component.d.ts +0 -16
  161. package/system-ux/lib/synchronised-company/synchronised-company.component.d.ts +0 -16
  162. package/system-ux/lib/user-account/user-account-component.d.ts +0 -18
  163. package/system-ux/lib/user-group/user-group.component.d.ts +0 -16
  164. /package/system-root/lib/{system-permissions.generated.d.ts → generated/system-permissions.generated.d.ts} +0 -0
  165. /package/system-ux/lib/{company → editor-components}/company-editor.component.d.ts +0 -0
  166. /package/system-ux/lib/{country → editor-components}/country-editor.component.d.ts +0 -0
  167. /package/system-ux/lib/{currency → editor-components}/currency-editor.component.d.ts +0 -0
  168. /package/system-ux/lib/{custom-field-group → editor-components}/custom-field-group-editor.component.d.ts +0 -0
  169. /package/system-ux/lib/{custom-field-group/custom-field-group-entity → editor-components}/custom-field-group-entity-editor.component.d.ts +0 -0
  170. /package/system-ux/lib/{custom-field-group/custom-field-group-item → editor-components}/custom-field-group-item-editor.component.d.ts +0 -0
  171. /package/system-ux/lib/{news → editor-components}/news-editor.component.d.ts +0 -0
  172. /package/system-ux/lib/{permission → editor-components}/permission-editor.component.d.ts +0 -0
  173. /package/system-ux/lib/{request → editor-components}/request-editor.component.d.ts +0 -0
  174. /package/system-ux/lib/{resource-translation → editor-components}/resource-translation-editor.component.d.ts +0 -0
  175. /package/system-ux/lib/{role → editor-components}/role-editor.component.d.ts +0 -0
  176. /package/system-ux/lib/{user-account → editor-components}/user-account-editor.component.d.ts +0 -0
  177. /package/system-ux/lib/{user-account-profile → editor-components}/user-account-profile.component.d.ts +0 -0
  178. /package/system-ux/lib/{user-group → editor-components}/user-group-editor.component.d.ts +0 -0
@@ -2,7 +2,7 @@ import { ApiErrorTypes, FilterType, FilterOperator, CustomFieldTypes, ActionDisp
2
2
  import * as i2 from '@angular/common';
3
3
  import { CommonModule, Location } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Directive, ContentChild, Component, InjectionToken, ViewChild, Inject, Injectable, HostListener, EventEmitter, forwardRef, Input, Output, ChangeDetectionStrategy, Pipe, ViewChildren, ContentChildren, ViewContainerRef, HostBinding, Host, ElementRef, TemplateRef, signal, computed, inject, LOCALE_ID, Injector, NgModule } from '@angular/core';
5
+ import { Directive, ContentChild, Component, InjectionToken, ViewChild, Inject, Injectable, HostListener, inject, Injector, EventEmitter, forwardRef, Input, Output, ChangeDetectionStrategy, Pipe, ViewChildren, ContentChildren, ViewContainerRef, HostBinding, Host, ElementRef, TemplateRef, signal, computed, LOCALE_ID, NgModule } from '@angular/core';
6
6
  import * as i3 from '@angular/forms';
7
7
  import { NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl, Validators, FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
8
  import * as i2$4 from '@angular/router';
@@ -2239,6 +2239,8 @@ class SectionContext {
2239
2239
  facade.layout.setShowActionTitle(false);
2240
2240
  facade.layout.setShowFilterButton(false);
2241
2241
  };
2242
+ /** Onglets d'entités liées enregistrés par registerRelatedSection (une entité peut en avoir plusieurs, un par clé). */
2243
+ this.relatedSections = new Set();
2242
2244
  this.renderedSections = new Set();
2243
2245
  this.lastSelected = [];
2244
2246
  //#region Extended Properties
@@ -2274,6 +2276,30 @@ class SectionContext {
2274
2276
  this.sectionsSubject.next(this.sections.slice());
2275
2277
  return section;
2276
2278
  }
2279
+ /**
2280
+ * Onglet d'une entité liée (relation 1..*), décrit par une section du formulaire par défaut et
2281
+ * enregistré par le composant généré (Base[X]Component.registerFormSections) : liste des
2282
+ * enregistrements de l'entité dont le critère `filterProperty` vaut l'Id de l'enregistrement
2283
+ * sélectionné. Ignoré si le composant spécifique a déjà enregistré un onglet du même titre ou
2284
+ * de la même entité (clé d'entité du composant, ex. variante dérivée du composant généré).
2285
+ */
2286
+ registerRelatedSection(name, template, filterProperty) {
2287
+ const key = SectionContext.getEntityKey(template);
2288
+ if (this.sections.some(s => s.Name === name
2289
+ || (!this.relatedSections.has(s.Name) && !Utilities.IsNil(key) && SectionContext.getEntityKey(s.Template) === key)))
2290
+ return;
2291
+ this.relatedSections.add(name);
2292
+ this.registerSection(name, template, { filterOverride: filterFromId(filterProperty) });
2293
+ }
2294
+ /** Clé d'entité d'un composant (getEntityKey sans instance, valeur constante), sinon null. */
2295
+ static getEntityKey(template) {
2296
+ try {
2297
+ return template?.prototype?.getEntityKey?.call(undefined) ?? null;
2298
+ }
2299
+ catch {
2300
+ return null;
2301
+ }
2302
+ }
2277
2303
  getActiveTab() {
2278
2304
  return this.activeTabIndex;
2279
2305
  }
@@ -3586,9 +3612,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
3586
3612
  type: Injectable
3587
3613
  }], ctorParameters: () => [] });
3588
3614
 
3615
+ /**
3616
+ * Sélecteurs d'entité des modules de l'application. Chaque librairie [module]-ux enregistre ceux
3617
+ * de ses entités, générés par codegenerator (dflat -g ts) dans [module]-components.generated.ts,
3618
+ * dans le constructeur de son module Angular :
3619
+ * `constructor(injector: Injector) { EntitySelectors.register(<Module>GeneratedSelectors, injector); }`.
3620
+ * Le registre est global et garde l'injecteur du module : il sert aussi aux modules chargés à la
3621
+ * demande (loadChildren), dont les services de données ne sont pas visibles de l'injecteur
3622
+ * racine. SelectorMapperServiceBase s'en sert pour toute clé que l'application ne traite pas
3623
+ * elle-même.
3624
+ */
3625
+ class EntitySelectors {
3626
+ static { this.selectors = new Map(); }
3627
+ /** Enregistre des sélecteurs et l'injecteur de leur module (le dernier enregistré l'emporte pour une même clé). */
3628
+ static register(selectors, injector) {
3629
+ (selectors ?? []).forEach(selector => EntitySelectors.selectors.set(selector.key.toLowerCase(), { selector, injector }));
3630
+ }
3631
+ /** Sélecteur de l'entité de clé `key` (insensible à la casse) et injecteur de son module, sinon undefined. */
3632
+ static find(key) {
3633
+ return key ? EntitySelectors.selectors.get(key.toLowerCase()) : undefined;
3634
+ }
3635
+ }
3636
+
3589
3637
  class SelectorMapperServiceBase {
3590
3638
  constructor(modalService) {
3591
3639
  this.modalService = modalService;
3640
+ this.injector = inject(Injector);
3592
3641
  }
3593
3642
  getInputSelectorContext(key, title, filter = null, params = null) {
3594
3643
  let initialViewModel = {};
@@ -3616,6 +3665,26 @@ class SelectorMapperServiceBase {
3616
3665
  context.selectionModalTitle = title;
3617
3666
  return context;
3618
3667
  }
3668
+ /**
3669
+ * Composants et recherche du sélecteur de l'entité de clé `key` : par défaut, le sélecteur
3670
+ * généré de l'entité (EntitySelectors, enregistrés par les librairies [module]-ux). Une
3671
+ * application dérivée traite ses propres clés, puis appelle super.getComponentParams.
3672
+ */
3673
+ getComponentParams(key, params) {
3674
+ const registered = EntitySelectors.find(key);
3675
+ if (Utilities.IsNil(registered))
3676
+ return undefined;
3677
+ const selector = registered.selector;
3678
+ const injector = registered.injector ?? this.injector;
3679
+ return {
3680
+ selectionCompType: selector.component,
3681
+ selectionModalTitle: Utilities.IsNil(selector.title) ? 'Sélectionner' : `Sélectionner : ${selector.title}`,
3682
+ creationComType: undefined,
3683
+ loadFunction: Utilities.IsNil(selector.dataService)
3684
+ ? undefined
3685
+ : (filter) => injector.get(selector.dataService).search(filter).pipe(map$1(r => r?.Values ?? [])),
3686
+ };
3687
+ }
3619
3688
  getDialogOptions(context, choice) {
3620
3689
  let creationViewModel = {};
3621
3690
  creationViewModel[nameof((component) => component.isModal)] = true;
@@ -11512,14 +11581,30 @@ class SelectorComponent {
11512
11581
  ngAfterViewInit() {
11513
11582
  this.context = this.selectorMapperService
11514
11583
  .getInputSelectorContext(this.field.ModalEntityKey.toLowerCase(), this.field.ModalTitle);
11515
- this.items$ = this.search$
11516
- .pipe(debounceTime(200), distinctUntilChanged(), switchMap((keywords) => {
11517
- let filter = { ...this.field.DataFilter };
11518
- filter.Take = 10;
11519
- filter.Offset = 0;
11520
- filter.Keywords = keywords;
11521
- return this.context.loadFunction(filter);
11522
- }));
11584
+ if (Utilities.IsNil(this.context?.loadFunction)) {
11585
+ this.items$ = of([]);
11586
+ return;
11587
+ }
11588
+ // Sélecteur sur la clé étrangère (valeur = Id de l'entité choisie) : l'enregistrement
11589
+ // sélectionné est lu par son Id pour afficher son libellé, même hors de la page chargée.
11590
+ const current$ = this.field.ModalPropertyValue === 'Id' && !Utilities.IsNil(this.control?.value)
11591
+ ? this.context.loadFunction({ ...this.field.DataFilter, Id: this.control.value, Take: 1, Offset: 0 })
11592
+ .pipe(catchError(() => of([])))
11593
+ : of([]);
11594
+ this.items$ = combineLatest([
11595
+ current$,
11596
+ this.search$
11597
+ .pipe(debounceTime(200), distinctUntilChanged(), switchMap((keywords) => {
11598
+ let filter = { ...this.field.DataFilter };
11599
+ filter.Take = 10;
11600
+ filter.Offset = 0;
11601
+ filter.Keywords = keywords;
11602
+ return this.context.loadFunction(filter);
11603
+ }))
11604
+ ]).pipe(map$1(([current, items]) => [
11605
+ ...(current ?? []).filter(c => !(items ?? []).some(i => i?.Id === c?.Id)),
11606
+ ...(items ?? []),
11607
+ ]));
11523
11608
  }
11524
11609
  onSearch(param) {
11525
11610
  // this.page$.next(0);
@@ -16299,5 +16384,5 @@ class SortingState {
16299
16384
  * Generated bundle index. Do not edit.
16300
16385
  */
16301
16386
 
16302
- export { Action, ActionContext, ActionDefinition, ActionHandlerContext, ActionPanelComponent, ActionService, ActionsComponent, ActionsContentComponent, AddclassDirective, AlertDialog, AlertMessage, AlertService, AppConfigService, ApplicationService, BaseArrayParameterTypeComponent, BaseComponent, BaseEditorComponent, BaseFormContext, BaseItemListComponent, BaseParameterTypeComponent, BaseShortcutsDirective, BreadcrumbComponent, CanDeactivateGuard, CellRendererComponent, ChangeDetectionContext, ChangeUtilities, CollapseDirective, ConfirmModalComponent, ConfirmOptions, ContextChoice, CoreUxModule, DataContext, DataGridComponent, DataGridStyleContext, DataListComponent, DatagridCellComponent, DatagridCustomComponent, DefaultDataGridStyleContext, DefaultFilterComponent, DefaultLayoutComponent, DflatBaseComponent, DflatBaseFilterComponent, DialogComponent, DialogComponentParameter, DialogType, DraggableDirective, DroppableDirective, DynamicFieldComponent, DynamicFilterComponent, DynamicFilterExtraComponent, DynamicFilterPanel, DynamicFormComponent, EXTENDED_ACTION_COMPONENT, EditModeDirective, EditorContext, EditorTabComponent, EditorTabSetComponent, EntityConfigContext, EntityFacade, EntityFacadeRegistryService, EntityUpdater, ExportDataModalComponent, ExtendedAction, ExtendedActionComponent, FacadeLoadGuard, FacadeModalService, FieldComponent, FilterContext, FilterFormModalComponent, FilterLifecycleGuard, FilterSummaryComponent, FilterSummaryPanelComponent, FireAuthService, FocusableDirective, FormPasswordComponent, FormWrapper, GridFieldComponent, GridRowComponent, GridStylePipe, HideOnThresholdDirective, IIsCancelWithWarning, ImageComponent, ImageService, InputSelectorComponent, InputSelectorOptions, InputTreeSelectorComponent, InsertionDirective, LayoutContext, LayoutHandlerDirective, LayoutService, LoginLayoutComponent, LogsComponent, MenuComponent, MenuDashboardComponent, MessageSeverity, ModalService, ModalStateService, NewEditorComponent, NewPaginatorComponent, OldDataPageComponent, OldLayoutHandlerDirective, OnEnterDirective, OrderableModalComponent, OrderableModalService, PP_SERVICE, PageLayoutComponent, PaginatorComponent, ParameterFieldComponent, ParameterTypeBoolArrayComponent, ParameterTypeBoolComponent, ParameterTypeDateArrayComponent, ParameterTypeDateComponent, ParameterTypeNumberArrayComponent, ParameterTypeNumberComponent, ParameterTypePasswordComponent, ParameterTypeTextArrayComponent, ParameterTypeTextComponent, PropertyChangeBus, PropertyEditorComponent, PropertyGridComponent, ROOT_DEPS, RowRefDirective, RowRefHost, RowRegistry, SearchResultsComponent, SectionContext, SelectionContext, SelectionService, SelectionStyler, SelectorComponent, SelectorDataSource, SelectorMapperServiceBase, SelectorRegistry, SortableColumnComponent, SortingState, StandardPageLayoutComponent, TRACK_RECORD_MODAL_COMPONENT, Tab, TabHeadingDirective, TabTranscludeDirective, Tabset, TestService, TextViewerComponent, TimePickerComponent, ToDefinePipe, ToFixedSizeIntegerPipe, TooltipDirective, TrackRecordModalComponent, TreeComponent, ValidateOnEnterDirective, ValidationErrorComponent, ValidationModalComponent, ValidationService, ViewModeDirective, ViewModelLoaderService, WizardComponent, WizardStepComponent, downloadFile, filterFromId, layoutKeyToString, normalisedOrder };
16387
+ export { Action, ActionContext, ActionDefinition, ActionHandlerContext, ActionPanelComponent, ActionService, ActionsComponent, ActionsContentComponent, AddclassDirective, AlertDialog, AlertMessage, AlertService, AppConfigService, ApplicationService, BaseArrayParameterTypeComponent, BaseComponent, BaseEditorComponent, BaseFormContext, BaseItemListComponent, BaseParameterTypeComponent, BaseShortcutsDirective, BreadcrumbComponent, CanDeactivateGuard, CellRendererComponent, ChangeDetectionContext, ChangeUtilities, CollapseDirective, ConfirmModalComponent, ConfirmOptions, ContextChoice, CoreUxModule, DataContext, DataGridComponent, DataGridStyleContext, DataListComponent, DatagridCellComponent, DatagridCustomComponent, DefaultDataGridStyleContext, DefaultFilterComponent, DefaultLayoutComponent, DflatBaseComponent, DflatBaseFilterComponent, DialogComponent, DialogComponentParameter, DialogType, DraggableDirective, DroppableDirective, DynamicFieldComponent, DynamicFilterComponent, DynamicFilterExtraComponent, DynamicFilterPanel, DynamicFormComponent, EXTENDED_ACTION_COMPONENT, EditModeDirective, EditorContext, EditorTabComponent, EditorTabSetComponent, EntityConfigContext, EntityFacade, EntityFacadeRegistryService, EntitySelectors, EntityUpdater, ExportDataModalComponent, ExtendedAction, ExtendedActionComponent, FacadeLoadGuard, FacadeModalService, FieldComponent, FilterContext, FilterFormModalComponent, FilterLifecycleGuard, FilterSummaryComponent, FilterSummaryPanelComponent, FireAuthService, FocusableDirective, FormPasswordComponent, FormWrapper, GridFieldComponent, GridRowComponent, GridStylePipe, HideOnThresholdDirective, IIsCancelWithWarning, ImageComponent, ImageService, InputSelectorComponent, InputSelectorOptions, InputTreeSelectorComponent, InsertionDirective, LayoutContext, LayoutHandlerDirective, LayoutService, LoginLayoutComponent, LogsComponent, MenuComponent, MenuDashboardComponent, MessageSeverity, ModalService, ModalStateService, NewEditorComponent, NewPaginatorComponent, OldDataPageComponent, OldLayoutHandlerDirective, OnEnterDirective, OrderableModalComponent, OrderableModalService, PP_SERVICE, PageLayoutComponent, PaginatorComponent, ParameterFieldComponent, ParameterTypeBoolArrayComponent, ParameterTypeBoolComponent, ParameterTypeDateArrayComponent, ParameterTypeDateComponent, ParameterTypeNumberArrayComponent, ParameterTypeNumberComponent, ParameterTypePasswordComponent, ParameterTypeTextArrayComponent, ParameterTypeTextComponent, PropertyChangeBus, PropertyEditorComponent, PropertyGridComponent, ROOT_DEPS, RowRefDirective, RowRefHost, RowRegistry, SearchResultsComponent, SectionContext, SelectionContext, SelectionService, SelectionStyler, SelectorComponent, SelectorDataSource, SelectorMapperServiceBase, SelectorRegistry, SortableColumnComponent, SortingState, StandardPageLayoutComponent, TRACK_RECORD_MODAL_COMPONENT, Tab, TabHeadingDirective, TabTranscludeDirective, Tabset, TestService, TextViewerComponent, TimePickerComponent, ToDefinePipe, ToFixedSizeIntegerPipe, TooltipDirective, TrackRecordModalComponent, TreeComponent, ValidateOnEnterDirective, ValidationErrorComponent, ValidationModalComponent, ValidationService, ViewModeDirective, ViewModelLoaderService, WizardComponent, WizardStepComponent, downloadFile, filterFromId, layoutKeyToString, normalisedOrder };
16303
16388
  //# sourceMappingURL=dflat-core-web-core-ux.mjs.map