@dflat-core/web 1.0.50 → 1.0.51

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dflat-core/web",
3
- "version": "1.0.50",
3
+ "version": "1.0.51",
4
4
  "description": "Librairies Angular Dflat (core, core-*, system-*) et assets partagés, empaquetées en un module npm unique.",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -27,6 +27,13 @@ export declare class DataService {
27
27
  * vidé au redémarrage de l'API (horodatage du jeton d'accès) et au changement d'utilisateur.
28
28
  */
29
29
  getCached<T>(entityKey: string, action: string): Observable<T>;
30
+ /**
31
+ * Valeur d'initialisation d'une entité calculée par le front (ex. définition de ses onglets,
32
+ * voir EntitySections), gardée dans le même cache que les appels de getCached et sous la même
33
+ * portée (clé de l'entité) : `factory` n'est appelée qu'une fois, jusqu'à ce que le cache soit
34
+ * vidé (clearCached, redémarrage de l'API, changement d'utilisateur).
35
+ */
36
+ getCachedValue<T>(entityKey: string, name: string, factory: () => T): Observable<T>;
30
37
  /** Vide le cache d'initialisation d'une entité, ou tout le cache. */
31
38
  clearCached(entityKey?: string): void;
32
39
  getViewFilterDescriptors(entityKey: string): Observable<FilterDescriptor[]>;
@@ -1,7 +1,7 @@
1
1
  import { Provider, Type } from "@angular/core";
2
2
  import { ActivatedRoute, NavigationExtras, Router, Routes, UrlCreationOptions, UrlTree } from "@angular/router";
3
3
  import { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, FilterDescriptor, FilterViewModel, PagedList } from "@dflat-core/web/core-model";
4
- import { ApplicationService, BaseComponent, EntityFacade, EntityFacadeRegistryService, EntitySelector } from "@dflat-core/web/core-ux";
4
+ import { ApplicationService, BaseComponent, EntityFacade, EntityFacadeRegistryService, EntitySectionProvider, EntitySelector } from "@dflat-core/web/core-ux";
5
5
  import { BreadcrumbService, MenuItem, NotificationMqService } from "@dflat-core/web/core-services";
6
6
  import { DataService } from "@dflat-core/web/core-data";
7
7
  import { Observable } from "rxjs";
@@ -22,6 +22,12 @@ export interface BaseComponentExpectations {
22
22
  * l'ordre ; non vérifiés si absent.
23
23
  */
24
24
  sections?: string[];
25
+ /**
26
+ * Le composant demande (true) ou non (false) les onglets de son entité au registre du socle
27
+ * (EntitySections.registerSections) après ngOnInit ; non vérifié si absent. Les onglets
28
+ * eux-mêmes sont vérifiés avec le module (describeGeneratedModule).
29
+ */
30
+ requestsSections?: boolean;
25
31
  /** Fournisseurs ajoutés au module de test (ex. PP_SERVICE). */
26
32
  providers?: Provider[];
27
33
  }
@@ -64,6 +70,12 @@ export interface GeneratedModuleExpectations {
64
70
  getLink: (entityKey: string) => string;
65
71
  /** Éléments de menu générés des entités du menu dont la route est générée. */
66
72
  menuItems: MenuItem[];
73
+ /** Service des onglets des entités ([Module]GeneratedSectionService) ; onglets non vérifiés si absent. */
74
+ sectionProvider?: EntitySectionProvider;
75
+ /** Titres attendus des onglets, par clé d'entité et dans l'ordre ; titres non vérifiés si absent. */
76
+ sections?: {
77
+ [entityKey: string]: string[];
78
+ };
67
79
  /** Classe des permissions du module ([Module]Permissions) ; permissions non vérifiées si absente. */
68
80
  permissions?: object;
69
81
  }
@@ -131,6 +143,8 @@ export declare class DataServiceDouble {
131
143
  getEntityViewModel<TData>(): Observable<EntityViewModelWithFields<TData>>;
132
144
  /** Actions étendues : aucune. */
133
145
  getExtendedActions(): Observable<ActionDescriptor[]>;
146
+ /** Valeur d'initialisation calculée par le front : calculée à chaque appel, sans cache. */
147
+ getCachedValue<T>(entityKey: string, name: string, factory: () => T): Observable<T>;
134
148
  /** La doublure, vue comme le DataService qu'elle remplace. */
135
149
  asDataService(): DataService;
136
150
  }
@@ -210,7 +224,7 @@ export declare function getTestRunner(): TestRunner;
210
224
  /**
211
225
  * Suite de test standard d'un composant dérivé de BaseComponent : vérifie, sans rendre son
212
226
  * gabarit, le contrat de BaseComponent (création, clé d'entité, lien, titre, permission, façade,
213
- * ngOnInit, Search / refresh, notifications, ngOnDestroy). À appeler au premier niveau d'un
227
+ * ngOnInit, demande des onglets, Search / refresh, notifications, ngOnDestroy). À appeler au premier niveau d'un
214
228
  * fichier de test :
215
229
  * `describeBaseComponent('CountryComponent', (app, route) => new TestCountryComponent(app, route), { ... })`.
216
230
  * La suite n'utilise que les fonctions globales de l'outil de test (describe, it, beforeEach,
@@ -223,7 +237,7 @@ export declare function getTestRunner(): TestRunner;
223
237
  export declare function describeBaseComponent<TFilter extends FilterViewModel, TData extends EntityViewModel>(name: string, factory: BaseComponentFactory<TFilter, TData>, expectations: BaseComponentExpectations): void;
224
238
  /**
225
239
  * Suite de test standard d'un module généré (dflat -g ts) : cohérence de ses composants, routes,
226
- * sélecteurs, clés d'entité, éléments de menu et permissions. Chaque test compare à une liste
240
+ * sélecteurs, clés d'entité, onglets, éléments de menu et permissions. Chaque test compare à une liste
227
241
  * vide la liste des éléments en défaut, que l'outil de test affiche en cas d'échec.
228
242
  *
229
243
  * @param name Nom du module (ex. System), repris dans le titre de la suite.
@@ -1899,9 +1899,10 @@ export declare class SectionContext<P extends EntityViewModel> {
1899
1899
  private defaultLayoutOverride;
1900
1900
  registerSection<F extends FilterViewModel, T extends EntityViewModel>(name: string, template: Type<ISectionComponent<T>>, config?: ISectionConfig<T, F, P>): ISpecificSectionContext<T, F, P>;
1901
1901
  /**
1902
- * Onglet d'une entité liée (relation 1..*), décrit par une section du formulaire par défaut et
1903
- * enregistré par le composant généré (Base[X]Component.registerFormSections) : liste des
1904
- * enregistrements de l'entité dont le critère `filterProperty` vaut l'Id de l'enregistrement
1902
+ * Onglet d'une entité liée (relation 1..*), décrit par une section du formulaire par défaut,
1903
+ * déclaré par le service généré du module ([Module]GeneratedSectionService) et enregistré à
1904
+ * la demande du composant généré (Base[X]Component.registerFormSections, voir EntitySections) :
1905
+ * liste des enregistrements de l'entité dont le critère `filterProperty` vaut l'Id de l'enregistrement
1905
1906
  * sélectionné. Ignoré si le composant spécifique a déjà enregistré un onglet du même titre ou
1906
1907
  * de la même entité (clé d'entité du composant, ex. variante dérivée du composant généré).
1907
1908
  */
@@ -5544,6 +5545,65 @@ export declare class EntitySelectors {
5544
5545
  injector?: Injector;
5545
5546
  } | undefined;
5546
5547
  }
5548
+ /**
5549
+ * Définition d'un onglet d'entité liée (relation 1..*) du formulaire d'une entité : liste des
5550
+ * enregistrements de l'entité du composant dont le critère `filterProperty` vaut l'Id de
5551
+ * l'enregistrement sélectionné. L'ordre des onglets est celui de la liste qui les porte.
5552
+ */
5553
+ export interface EntitySection {
5554
+ /** Libellé de l'onglet. */
5555
+ title: string;
5556
+ /** Composant de recherche de l'entité listée dans l'onglet. */
5557
+ component: Type<ISectionComponent<any>>;
5558
+ /** Critère du filtre de l'entité listée qui reçoit l'Id de l'enregistrement sélectionné (clé étrangère). */
5559
+ filterProperty: string;
5560
+ }
5561
+ /**
5562
+ * Service d'un module qui déclare les onglets d'entités liées de ses entités (service généré
5563
+ * [Module]GeneratedSectionService, voir EntitySections).
5564
+ */
5565
+ export interface EntitySectionProvider {
5566
+ /** Clés des entités du module qui ont des onglets. */
5567
+ getEntityKeys(): string[];
5568
+ /** Onglets de l'entité de clé `entityKey`, dans l'ordre d'affichage ; liste vide si elle n'en a pas. */
5569
+ getSections(entityKey: string): EntitySection[];
5570
+ }
5571
+ /**
5572
+ * Onglets d'entités liées (relation 1..*) des entités des modules de l'application. Chaque
5573
+ * librairie [module]-ux enregistre le service qui déclare ceux de ses entités, généré par
5574
+ * codegenerator (dflat -g ts) dans [module]-sections.generated.ts, dans le constructeur de son
5575
+ * module Angular :
5576
+ * `constructor(injector: Injector) { EntitySections.register(injector.get(<Module>GeneratedSectionService)); }`.
5577
+ * Un composant généré (Base[X]Component.registerFormSections) demande ses onglets par la clé de
5578
+ * son entité, sans importer ni ce service ni les composants des onglets : pas de dépendance
5579
+ * circulaire entre composants.
5580
+ *
5581
+ * Le service n'est interrogé qu'une fois par entité : la définition des onglets est gardée dans le
5582
+ * cache d'initialisation des écrans (InitCacheService, par DataService.getCachedValue), avec les
5583
+ * descripteurs de filtre et le filtre vide de l'entité, et vidée avec eux. L'enregistrement des
5584
+ * onglets sur la façade, propre à l'instance du composant, est fait à chaque initialisation.
5585
+ */
5586
+ export declare class EntitySections {
5587
+ /** Nom de la définition des onglets d'une entité dans le cache d'initialisation ([clé d'entité]/FormSections). */
5588
+ static readonly CACHE_NAME = "FormSections";
5589
+ private static readonly providers;
5590
+ /** Enregistre le service des onglets d'un module (le dernier enregistré l'emporte pour une même clé d'entité). */
5591
+ static register(provider: EntitySectionProvider): void;
5592
+ /** Service qui déclare les onglets de l'entité de clé `entityKey` (insensible à la casse), sinon undefined. */
5593
+ static find(entityKey: string): EntitySectionProvider | undefined;
5594
+ /**
5595
+ * Définition d'un onglet d'entité liée : `filterProperty` est vérifié à la compilation parmi
5596
+ * les critères du filtre `F` de l'entité listée par `component`.
5597
+ */
5598
+ static related<F extends FilterViewModel, T extends EntityViewModel>(title: string, component: Type<ISectionComponent<T>>, filterProperty: keyof F & string): EntitySection;
5599
+ /**
5600
+ * Ajoute à la façade `facade` les onglets de l'entité de clé `entityKey`, dans l'ordre déclaré
5601
+ * par le service de son module (demandé une seule fois, puis lu dans le cache d'initialisation).
5602
+ * Un onglet du même titre ou de la même entité déjà enregistré sur la façade n'est pas dupliqué
5603
+ * (voir SectionContext.registerRelatedSection). Sans service enregistré pour l'entité, rien n'est ajouté.
5604
+ */
5605
+ static registerSections<T extends EntityViewModel>(entityKey: string, facade: EntityFacade<T>): void;
5606
+ }
5547
5607
  export declare class SortableColumnComponent implements OnInit, OnDestroy {
5548
5608
  constructor();
5549
5609
  columnName: string;
@@ -5,7 +5,7 @@ import { EnsureModuleLoadedOnceGuard, EnvironmentBase } from "@dflat-core/web/co
5
5
  import * as i124 from "@angular/router";
6
6
  import { ActivatedRoute, Router, Routes } from "@angular/router";
7
7
  import * as i113 from "@dflat-core/web/core-ux";
8
- import { Action, ActionService, ActionsComponent, AlertService, ApplicationService, BaseComponent, BaseEditorComponent, DefaultLayoutComponent, DynamicFormComponent, EntityFacade, EntitySelector, FacadeModalService, IActionComponent, IIsCancel, IPpService, ISectionConfig, ImageService, LayoutPreferences, ModalService, NewEditorComponent, OrderableModalService, SelectorMapperServiceBase } from "@dflat-core/web/core-ux";
8
+ import { Action, ActionService, ActionsComponent, AlertService, ApplicationService, BaseComponent, BaseEditorComponent, DefaultLayoutComponent, DynamicFormComponent, EntityFacade, EntitySection, EntitySectionProvider, EntitySelector, FacadeModalService, IActionComponent, IIsCancel, IPpService, ISectionConfig, ImageService, LayoutPreferences, ModalService, NewEditorComponent, OrderableModalService, SelectorMapperServiceBase } from "@dflat-core/web/core-ux";
9
9
  import * as i116 from "@dflat-core/web/system-model";
10
10
  import { ActivationResults, AddressView, AddressViewFilterViewModel, ChangePasswordViewModel, CompanyFilterViewModel, CompanyView, Country, CountryFilterViewModel, Currency, CurrencyFilterViewModel, CustomFieldFilterViewModel, CustomFieldGroup, CustomFieldGroupEntityFilterViewModel, CustomFieldGroupEntityView, CustomFieldGroupFilterViewModel, CustomFieldGroupItemFilterViewModel, CustomFieldGroupItemView, CustomFieldOptionsFilterViewModel, CustomFieldOptionsView, CustomFieldValueFilterViewModel, CustomFieldValueView, CustomFieldView, DayInfo, DayInfoFilterViewModel, EntityFiles, EntityFilesFilterViewModel, ErrorCategory, ErrorCategoryFilterViewModel, ExchangeRateFilterViewModel, ExchangeRateView, FileDescriptor, FileTypes, FilesFilterViewModel, FilesView, ImageUploadEvent, Keyword, KeywordFilterViewModel, MetaEntity, MetaEntityField, MetaEntityFieldFilterViewModel, MetaEntityFilterViewModel, MetaEntityFormFieldFilterViewModel, MetaEntityFormFieldView, MetaEntityFormFilterViewModel, MetaEntityFormSectionFilterViewModel, MetaEntityFormSectionView, MetaEntityFormView, MetaEntityKeyword, MetaEntityKeywordFilterViewModel, MetaEntityRelation, MetaEntityRelationDefinition, MetaEntityRelationDefinitionFilterViewModel, MetaEntityRelationFilterViewModel, MetaEntityTranslation, MetaEntityTranslationFilterViewModel, MetaEntityViewField, MetaEntityViewFieldFilterViewModel, News, NewsFilterViewModel, ParameterSection, ParameterSectionFilterViewModel, ParameterValueView, ParameterValueViewFilterViewModel, ParameterView, ParameterViewFilterViewModel, Permission, PermissionFilterViewModel, PermissionView, PresentationContext, PresentationProfile, PresentationProfileFilterViewModel, PresentationProfileItem, PresentationProfileItemFilterViewModel, PresentationProfileItemView, PresentationProfilePurposes, PresentationProfileScopes, RatingFilterViewModel, RatingSummary, RatingSummaryFilterViewModel, RatingView, RequestEntity, RequestEntityFilterViewModel, RequestFilterViewModel, RequestResultFilterViewModel, RequestResultView, RequestType, RequestTypeFilterViewModel, RequestView, ResourceKey, ResourceKeyFilterViewModel, ResourceLanguage, ResourceLanguageFilterViewModel, ResourceTranslationFilterViewModel, ResourceTranslationView, RoleFilterViewModel, RolePermission, RolePermissionFilterViewModel, RoleView, SubcompanyFilterViewModel, SupplierCompany, SupplierCompanyFilterViewModel, SupplierFilterViewModel, SupplierView, SynchronizedCompanyView, SynchronizedCompanyViewFilterViewModel, TvaRateFilterViewModel, TvaRateView, UploadFileResult, UserAccount, UserAccountCompanyFilterViewModel, UserAccountCompanyView, UserAccountFilterViewModel, UserAccountLoginFilterViewModel, UserAccountLoginView, UserAccountNews, UserAccountNewsFilterViewModel, UserAccountRoleFilterViewModel, UserAccountRoleView, UserAccountToken, UserAccountTokenFilterViewModel, UserFavorite, UserFavoriteFilterViewModel, UserGroup, UserGroupDefinitionFilterViewModel, UserGroupDefinitionView, UserGroupFilterViewModel, UserHistory, UserHistoryFilterViewModel, UserPermissionView, UserPermissionViewFilterViewModel, UserProfileViewModel, UserSession, UserSessionFilterViewModel, Version, VersionFilterViewModel } from "@dflat-core/web/system-model";
11
11
  import * as i112 from "@dflat-core/web/core-model";
@@ -85,8 +85,10 @@ export declare abstract class BaseCompanyComponent extends BaseComponent<Company
85
85
  ngOnInit(): void;
86
86
  /**
87
87
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
88
- * (metadata/04-forms/CompanyForm.sql). Un onglet de la même entité déjà enregistré par le
89
- * composant spécifique n'est pas dupliqué.
88
+ * (metadata/04-forms/CompanyForm.sql), déclarées par SystemGeneratedSectionService
89
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
90
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
91
+ * par le composant spécifique n'est pas dupliqué.
90
92
  */
91
93
  protected registerFormSections(): void;
92
94
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseCompanyComponent, never>;
@@ -119,8 +121,10 @@ export declare abstract class BaseCountryComponent extends BaseComponent<Country
119
121
  ngOnInit(): void;
120
122
  /**
121
123
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
122
- * (metadata/04-forms/CountryForm.sql). Un onglet de la même entité déjà enregistré par le
123
- * composant spécifique n'est pas dupliqué.
124
+ * (metadata/04-forms/CountryForm.sql), déclarées par SystemGeneratedSectionService
125
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
126
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
127
+ * par le composant spécifique n'est pas dupliqué.
124
128
  */
125
129
  protected registerFormSections(): void;
126
130
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseCountryComponent, never>;
@@ -147,8 +151,10 @@ export declare abstract class BaseCurrencyComponent extends BaseComponent<Curren
147
151
  ngOnInit(): void;
148
152
  /**
149
153
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
150
- * (metadata/04-forms/CurrencyForm.sql). Un onglet de la même entité déjà enregistré par le
151
- * composant spécifique n'est pas dupliqué.
154
+ * (metadata/04-forms/CurrencyForm.sql), déclarées par SystemGeneratedSectionService
155
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
156
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
157
+ * par le composant spécifique n'est pas dupliqué.
152
158
  */
153
159
  protected registerFormSections(): void;
154
160
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseCurrencyComponent, never>;
@@ -175,8 +181,10 @@ export declare abstract class BaseCustomFieldComponent extends BaseComponent<Cus
175
181
  ngOnInit(): void;
176
182
  /**
177
183
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
178
- * (metadata/04-forms/CustomFieldForm.sql). Un onglet de la même entité déjà enregistré par le
179
- * composant spécifique n'est pas dupliqué.
184
+ * (metadata/04-forms/CustomFieldForm.sql), déclarées par SystemGeneratedSectionService
185
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
186
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
187
+ * par le composant spécifique n'est pas dupliqué.
180
188
  */
181
189
  protected registerFormSections(): void;
182
190
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseCustomFieldComponent, never>;
@@ -209,8 +217,10 @@ export declare abstract class BaseCustomFieldGroupComponent extends BaseComponen
209
217
  ngOnInit(): void;
210
218
  /**
211
219
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
212
- * (metadata/04-forms/CustomFieldGroupForm.sql). Un onglet de la même entité déjà enregistré par le
213
- * composant spécifique n'est pas dupliqué.
220
+ * (metadata/04-forms/CustomFieldGroupForm.sql), déclarées par SystemGeneratedSectionService
221
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
222
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
223
+ * par le composant spécifique n'est pas dupliqué.
214
224
  */
215
225
  protected registerFormSections(): void;
216
226
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseCustomFieldGroupComponent, never>;
@@ -484,8 +494,10 @@ export declare abstract class BaseKeywordComponent extends BaseComponent<Keyword
484
494
  ngOnInit(): void;
485
495
  /**
486
496
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
487
- * (metadata/04-forms/KeywordForm.sql). Un onglet de la même entité déjà enregistré par le
488
- * composant spécifique n'est pas dupliqué.
497
+ * (metadata/04-forms/KeywordForm.sql), déclarées par SystemGeneratedSectionService
498
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
499
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
500
+ * par le composant spécifique n'est pas dupliqué.
489
501
  */
490
502
  protected registerFormSections(): void;
491
503
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseKeywordComponent, never>;
@@ -516,8 +528,10 @@ export declare abstract class BaseMetaEntityComponent extends BaseComponent<Meta
516
528
  ngOnInit(): void;
517
529
  /**
518
530
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
519
- * (metadata/04-forms/MetaEntityForm.sql). Un onglet de la même entité déjà enregistré par le
520
- * composant spécifique n'est pas dupliqué.
531
+ * (metadata/04-forms/MetaEntityForm.sql), déclarées par SystemGeneratedSectionService
532
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
533
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
534
+ * par le composant spécifique n'est pas dupliqué.
521
535
  */
522
536
  protected registerFormSections(): void;
523
537
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseMetaEntityComponent, never>;
@@ -552,8 +566,10 @@ export declare abstract class BaseMetaEntityFieldComponent extends BaseComponent
552
566
  ngOnInit(): void;
553
567
  /**
554
568
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
555
- * (metadata/04-forms/MetaEntityFieldForm.sql). Un onglet de la même entité déjà enregistré par le
556
- * composant spécifique n'est pas dupliqué.
569
+ * (metadata/04-forms/MetaEntityFieldForm.sql), déclarées par SystemGeneratedSectionService
570
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
571
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
572
+ * par le composant spécifique n'est pas dupliqué.
557
573
  */
558
574
  protected registerFormSections(): void;
559
575
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseMetaEntityFieldComponent, never>;
@@ -588,8 +604,10 @@ export declare abstract class BaseMetaEntityFormComponent extends BaseComponent<
588
604
  ngOnInit(): void;
589
605
  /**
590
606
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
591
- * (metadata/04-forms/MetaEntityFormForm.sql). Un onglet de la même entité déjà enregistré par le
592
- * composant spécifique n'est pas dupliqué.
607
+ * (metadata/04-forms/MetaEntityFormForm.sql), déclarées par SystemGeneratedSectionService
608
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
609
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
610
+ * par le composant spécifique n'est pas dupliqué.
593
611
  */
594
612
  protected registerFormSections(): void;
595
613
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseMetaEntityFormComponent, never>;
@@ -645,8 +663,10 @@ export declare abstract class BaseMetaEntityFormSectionComponent extends BaseCom
645
663
  ngOnInit(): void;
646
664
  /**
647
665
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
648
- * (metadata/04-forms/MetaEntityFormSectionForm.sql). Un onglet de la même entité déjà enregistré par le
649
- * composant spécifique n'est pas dupliqué.
666
+ * (metadata/04-forms/MetaEntityFormSectionForm.sql), déclarées par SystemGeneratedSectionService
667
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
668
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
669
+ * par le composant spécifique n'est pas dupliqué.
650
670
  */
651
671
  protected registerFormSections(): void;
652
672
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseMetaEntityFormSectionComponent, never>;
@@ -702,8 +722,10 @@ export declare abstract class BaseMetaEntityRelationComponent extends BaseCompon
702
722
  ngOnInit(): void;
703
723
  /**
704
724
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
705
- * (metadata/04-forms/MetaEntityRelationForm.sql). Un onglet de la même entité déjà enregistré par le
706
- * composant spécifique n'est pas dupliqué.
725
+ * (metadata/04-forms/MetaEntityRelationForm.sql), déclarées par SystemGeneratedSectionService
726
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
727
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
728
+ * par le composant spécifique n'est pas dupliqué.
707
729
  */
708
730
  protected registerFormSections(): void;
709
731
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseMetaEntityRelationComponent, never>;
@@ -784,8 +806,10 @@ export declare abstract class BaseMetaEntityViewFieldComponent extends BaseCompo
784
806
  ngOnInit(): void;
785
807
  /**
786
808
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
787
- * (metadata/04-forms/MetaEntityViewFieldForm.sql). Un onglet de la même entité déjà enregistré par le
788
- * composant spécifique n'est pas dupliqué.
809
+ * (metadata/04-forms/MetaEntityViewFieldForm.sql), déclarées par SystemGeneratedSectionService
810
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
811
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
812
+ * par le composant spécifique n'est pas dupliqué.
789
813
  */
790
814
  protected registerFormSections(): void;
791
815
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseMetaEntityViewFieldComponent, never>;
@@ -816,8 +840,10 @@ export declare abstract class BaseNewsComponent extends BaseComponent<NewsFilter
816
840
  ngOnInit(): void;
817
841
  /**
818
842
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
819
- * (metadata/04-forms/NewsForm.sql). Un onglet de la même entité déjà enregistré par le
820
- * composant spécifique n'est pas dupliqué.
843
+ * (metadata/04-forms/NewsForm.sql), déclarées par SystemGeneratedSectionService
844
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
845
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
846
+ * par le composant spécifique n'est pas dupliqué.
821
847
  */
822
848
  protected registerFormSections(): void;
823
849
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseNewsComponent, never>;
@@ -846,8 +872,10 @@ export declare abstract class BaseParameterComponent extends BaseComponent<Param
846
872
  ngOnInit(): void;
847
873
  /**
848
874
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
849
- * (metadata/04-forms/ParameterForm.sql). Un onglet de la même entité déjà enregistré par le
850
- * composant spécifique n'est pas dupliqué.
875
+ * (metadata/04-forms/ParameterForm.sql), déclarées par SystemGeneratedSectionService
876
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
877
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
878
+ * par le composant spécifique n'est pas dupliqué.
851
879
  */
852
880
  protected registerFormSections(): void;
853
881
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseParameterComponent, never>;
@@ -878,8 +906,10 @@ export declare abstract class BaseParameterSectionComponent extends BaseComponen
878
906
  ngOnInit(): void;
879
907
  /**
880
908
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
881
- * (metadata/04-forms/ParameterSectionForm.sql). Un onglet de la même entité déjà enregistré par le
882
- * composant spécifique n'est pas dupliqué.
909
+ * (metadata/04-forms/ParameterSectionForm.sql), déclarées par SystemGeneratedSectionService
910
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
911
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
912
+ * par le composant spécifique n'est pas dupliqué.
883
913
  */
884
914
  protected registerFormSections(): void;
885
915
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseParameterSectionComponent, never>;
@@ -938,8 +968,10 @@ export declare abstract class BasePermissionComponent extends BaseComponent<Perm
938
968
  ngOnInit(): void;
939
969
  /**
940
970
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
941
- * (metadata/04-forms/PermissionForm.sql). Un onglet de la même entité déjà enregistré par le
942
- * composant spécifique n'est pas dupliqué.
971
+ * (metadata/04-forms/PermissionForm.sql), déclarées par SystemGeneratedSectionService
972
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
973
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
974
+ * par le composant spécifique n'est pas dupliqué.
943
975
  */
944
976
  protected registerFormSections(): void;
945
977
  static ɵfac: i0.ɵɵFactoryDeclaration<BasePermissionComponent, never>;
@@ -1018,8 +1050,10 @@ export declare abstract class BaseRatingSummaryComponent extends BaseComponent<R
1018
1050
  ngOnInit(): void;
1019
1051
  /**
1020
1052
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1021
- * (metadata/04-forms/RatingSummaryForm.sql). Un onglet de la même entité déjà enregistré par le
1022
- * composant spécifique n'est pas dupliqué.
1053
+ * (metadata/04-forms/RatingSummaryForm.sql), déclarées par SystemGeneratedSectionService
1054
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1055
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1056
+ * par le composant spécifique n'est pas dupliqué.
1023
1057
  */
1024
1058
  protected registerFormSections(): void;
1025
1059
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseRatingSummaryComponent, never>;
@@ -1050,8 +1084,10 @@ export declare abstract class BaseRequestComponent extends BaseComponent<Request
1050
1084
  ngOnInit(): void;
1051
1085
  /**
1052
1086
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1053
- * (metadata/04-forms/RequestForm.sql). Un onglet de la même entité déjà enregistré par le
1054
- * composant spécifique n'est pas dupliqué.
1087
+ * (metadata/04-forms/RequestForm.sql), déclarées par SystemGeneratedSectionService
1088
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1089
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1090
+ * par le composant spécifique n'est pas dupliqué.
1055
1091
  */
1056
1092
  protected registerFormSections(): void;
1057
1093
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseRequestComponent, never>;
@@ -1094,8 +1130,10 @@ export declare abstract class BaseRequestEntityComponent extends BaseComponent<R
1094
1130
  ngOnInit(): void;
1095
1131
  /**
1096
1132
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1097
- * (metadata/04-forms/RequestEntityForm.sql). Un onglet de la même entité déjà enregistré par le
1098
- * composant spécifique n'est pas dupliqué.
1133
+ * (metadata/04-forms/RequestEntityForm.sql), déclarées par SystemGeneratedSectionService
1134
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1135
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1136
+ * par le composant spécifique n'est pas dupliqué.
1099
1137
  */
1100
1138
  protected registerFormSections(): void;
1101
1139
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseRequestEntityComponent, never>;
@@ -1151,8 +1189,10 @@ export declare abstract class BaseRequestTypeComponent extends BaseComponent<Req
1151
1189
  ngOnInit(): void;
1152
1190
  /**
1153
1191
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1154
- * (metadata/04-forms/RequestTypeForm.sql). Un onglet de la même entité déjà enregistré par le
1155
- * composant spécifique n'est pas dupliqué.
1192
+ * (metadata/04-forms/RequestTypeForm.sql), déclarées par SystemGeneratedSectionService
1193
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1194
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1195
+ * par le composant spécifique n'est pas dupliqué.
1156
1196
  */
1157
1197
  protected registerFormSections(): void;
1158
1198
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseRequestTypeComponent, never>;
@@ -1183,8 +1223,10 @@ export declare abstract class BaseResourceKeyComponent extends BaseComponent<Res
1183
1223
  ngOnInit(): void;
1184
1224
  /**
1185
1225
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1186
- * (metadata/04-forms/ResourceKeyForm.sql). Un onglet de la même entité déjà enregistré par le
1187
- * composant spécifique n'est pas dupliqué.
1226
+ * (metadata/04-forms/ResourceKeyForm.sql), déclarées par SystemGeneratedSectionService
1227
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1228
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1229
+ * par le composant spécifique n'est pas dupliqué.
1188
1230
  */
1189
1231
  protected registerFormSections(): void;
1190
1232
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseResourceKeyComponent, never>;
@@ -1215,8 +1257,10 @@ export declare abstract class BaseResourceLanguageComponent extends BaseComponen
1215
1257
  ngOnInit(): void;
1216
1258
  /**
1217
1259
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1218
- * (metadata/04-forms/ResourceLanguageForm.sql). Un onglet de la même entité déjà enregistré par le
1219
- * composant spécifique n'est pas dupliqué.
1260
+ * (metadata/04-forms/ResourceLanguageForm.sql), déclarées par SystemGeneratedSectionService
1261
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1262
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1263
+ * par le composant spécifique n'est pas dupliqué.
1220
1264
  */
1221
1265
  protected registerFormSections(): void;
1222
1266
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseResourceLanguageComponent, never>;
@@ -1269,8 +1313,10 @@ export declare abstract class BaseRoleComponent extends BaseComponent<RoleFilter
1269
1313
  ngOnInit(): void;
1270
1314
  /**
1271
1315
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1272
- * (metadata/04-forms/RoleForm.sql). Un onglet de la même entité déjà enregistré par le
1273
- * composant spécifique n'est pas dupliqué.
1316
+ * (metadata/04-forms/RoleForm.sql), déclarées par SystemGeneratedSectionService
1317
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1318
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1319
+ * par le composant spécifique n'est pas dupliqué.
1274
1320
  */
1275
1321
  protected registerFormSections(): void;
1276
1322
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseRoleComponent, never>;
@@ -1350,8 +1396,10 @@ export declare abstract class BaseSupplierComponent extends BaseComponent<Suppli
1350
1396
  ngOnInit(): void;
1351
1397
  /**
1352
1398
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1353
- * (metadata/04-forms/SupplierForm.sql). Un onglet de la même entité déjà enregistré par le
1354
- * composant spécifique n'est pas dupliqué.
1399
+ * (metadata/04-forms/SupplierForm.sql), déclarées par SystemGeneratedSectionService
1400
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1401
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1402
+ * par le composant spécifique n'est pas dupliqué.
1355
1403
  */
1356
1404
  protected registerFormSections(): void;
1357
1405
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseSupplierComponent, never>;
@@ -1458,8 +1506,10 @@ export declare abstract class BaseUserAccountComponent extends BaseComponent<Use
1458
1506
  ngOnInit(): void;
1459
1507
  /**
1460
1508
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
1461
- * (metadata/04-forms/UserAccountForm.sql). Un onglet de la même entité déjà enregistré par le
1462
- * composant spécifique n'est pas dupliqué.
1509
+ * (metadata/04-forms/UserAccountForm.sql), déclarées par SystemGeneratedSectionService
1510
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
1511
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
1512
+ * par le composant spécifique n'est pas dupliqué.
1463
1513
  */
1464
1514
  protected registerFormSections(): void;
1465
1515
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseUserAccountComponent, never>;
@@ -3310,19 +3360,40 @@ export declare abstract class BasePresentationProfileComponent extends BaseCompo
3310
3360
  ngOnInit(): void;
3311
3361
  /**
3312
3362
  * Onglets des entités liées (relation 1..*) : sections du formulaire par défaut
3313
- * (metadata/04-forms/PresentationProfileForm.sql). Un onglet de la même entité déjà enregistré par le
3314
- * composant spécifique n'est pas dupliqué.
3363
+ * (metadata/04-forms/PresentationProfileForm.sql), déclarées par SystemGeneratedSectionService
3364
+ * (system-sections.generated.ts) et demandées au registre du socle par la clé de l'entité :
3365
+ * ce composant n'importe aucun composant d'onglet. Un onglet de la même entité déjà enregistré
3366
+ * par le composant spécifique n'est pas dupliqué.
3315
3367
  */
3316
3368
  protected registerFormSections(): void;
3317
3369
  static ɵfac: i0.ɵɵFactoryDeclaration<BasePresentationProfileComponent, never>;
3318
3370
  static ɵdir: i0.ɵɵDirectiveDeclaration<BasePresentationProfileComponent, never, never, {}, {}, never, never, true, never>;
3319
3371
  }
3320
3372
  /** Composants des entités du module System (composants spécifiques), à déclarer dans son module Angular. */
3321
- export declare const SystemGeneratedComponents: (typeof CustomFieldOptionsComponent | typeof CustomFieldGroupItemComponent | typeof CustomFieldValueComponent | typeof MetaEntityFormFieldComponent | typeof MetaEntityRelationDefinitionComponent | typeof MetaEntityTranslationComponent | typeof MetaEntityViewFieldComponent | typeof MetaEntityFieldComponent | typeof PresentationProfileItemComponent | typeof CustomFieldComponent | typeof CustomFieldGroupEntityComponent | typeof CustomFieldGroupComponent | typeof AddressComponent | typeof SubcompanyComponent | typeof RequestResultComponent | typeof RequestEntityComponent | typeof RequestComponent | typeof SupplierCompanyComponent | typeof SynchronizedCompanyComponent | typeof UserAccountCompanyComponent | typeof RolePermissionComponent | typeof UserAccountRoleComponent | typeof RoleComponent | typeof UserAccountComponent | typeof CompanyComponent | typeof RatingComponent | typeof UserAccountLoginComponent | typeof UserAccountNewsComponent | typeof UserAccountTokenComponent | typeof UserFavoriteComponent | typeof UserGroupDefinitionComponent | typeof UserHistoryComponent | typeof TvaRateComponent | typeof CountryComponent | typeof ExchangeRateComponent | typeof CurrencyComponent | typeof DayInfoComponent | typeof ErrorCategoryComponent | typeof FilesComponent | typeof MetaEntityKeywordComponent | typeof KeywordComponent | typeof MetaEntityFormSectionComponent | typeof MetaEntityFormComponent | typeof MetaEntityRelationComponent | typeof MetaEntityComponent | typeof NewsComponent | typeof ParameterValueComponent | typeof ParameterComponent | typeof ParameterSectionComponent | typeof PermissionComponent | typeof RatingSummaryComponent | typeof RequestTypeComponent | typeof ResourceTranslationComponent | typeof ResourceKeyComponent | typeof ResourceLanguageComponent | typeof SupplierComponent | typeof UserGroupComponent | typeof UserPermissionViewComponent | typeof UserSessionComponent | typeof VersionComponent)[];
3373
+ export declare const SystemGeneratedComponents: (typeof CustomFieldOptionsComponent | typeof CustomFieldComponent | typeof CustomFieldGroupItemComponent | typeof CustomFieldGroupComponent | typeof AddressComponent | typeof SubcompanyComponent | typeof RequestComponent | typeof CompanyComponent | typeof CountryComponent | typeof CurrencyComponent | typeof CustomFieldGroupEntityComponent | typeof CustomFieldValueComponent | typeof DayInfoComponent | typeof ErrorCategoryComponent | typeof ExchangeRateComponent | typeof FilesComponent | typeof KeywordComponent | typeof MetaEntityFieldComponent | typeof MetaEntityComponent | typeof MetaEntityFormComponent | typeof MetaEntityFormFieldComponent | typeof MetaEntityFormSectionComponent | typeof MetaEntityKeywordComponent | typeof MetaEntityRelationComponent | typeof MetaEntityRelationDefinitionComponent | typeof MetaEntityTranslationComponent | typeof MetaEntityViewFieldComponent | typeof NewsComponent | typeof ParameterComponent | typeof ParameterSectionComponent | typeof ParameterValueComponent | typeof PermissionComponent | typeof PresentationProfileItemComponent | typeof RatingComponent | typeof RatingSummaryComponent | typeof RequestEntityComponent | typeof RequestResultComponent | typeof RequestTypeComponent | typeof ResourceTranslationComponent | typeof ResourceKeyComponent | typeof ResourceLanguageComponent | typeof RoleComponent | typeof RolePermissionComponent | typeof SupplierComponent | typeof SupplierCompanyComponent | typeof SynchronizedCompanyComponent | typeof TvaRateComponent | typeof UserAccountComponent | typeof UserAccountCompanyComponent | typeof UserAccountLoginComponent | typeof UserAccountNewsComponent | typeof UserAccountRoleComponent | typeof UserAccountTokenComponent | typeof UserFavoriteComponent | typeof UserGroupDefinitionComponent | typeof UserGroupComponent | typeof UserHistoryComponent | typeof UserPermissionViewComponent | typeof UserSessionComponent | typeof VersionComponent)[];
3322
3374
  /** Routes des composants des entités du module System (clé d'entité), à ajouter à RouterModule.forChild. */
3323
3375
  export declare const SystemGeneratedRoutes: Routes;
3324
3376
  /**
3325
3377
  * Sélecteurs d'entité du module System (champs Custom des formulaires, ModalEntityKey = entité),
3326
3378
  * à enregistrer dans le constructeur de son module Angular : EntitySelectors.register(SystemGeneratedSelectors, injector).
3327
3379
  */
3328
- export declare const SystemGeneratedSelectors: EntitySelector[];
3380
+ export declare const SystemGeneratedSelectors: EntitySelector[];
3381
+ /**
3382
+ * Onglets des entités liées (relation 1..*) des entités du module System : sections des formulaires
3383
+ * par défaut (metadata/04-forms/[X]Form.sql), regroupées par entité. Seul fichier généré qui importe
3384
+ * les composants des onglets : Base[X]Component demande les siens au registre du socle par la clé
3385
+ * de son entité (registerFormSections), sans dépendre de ce service ni d'un autre composant.
3386
+ * Le service n'est interrogé qu'une fois par entité (cache d'initialisation des écrans).
3387
+ * À enregistrer dans le constructeur du module Angular :
3388
+ * EntitySections.register(injector.get(SystemGeneratedSectionService)).
3389
+ */
3390
+ export declare class SystemGeneratedSectionService implements EntitySectionProvider {
3391
+ /** Onglets par clé d'entité, dans l'ordre des sections du formulaire par défaut. */
3392
+ private readonly sections;
3393
+ /** Clés des entités du module qui ont des onglets. */
3394
+ getEntityKeys(): string[];
3395
+ /** Onglets de l'entité de clé `entityKey`, dans l'ordre d'affichage ; liste vide si elle n'en a pas. */
3396
+ getSections(entityKey: string): EntitySection[];
3397
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemGeneratedSectionService, never>;
3398
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
3399
+ }