@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.
- package/core-services/index.d.ts +2 -0
- package/core-services/lib/services/application-menu.service.d.ts +22 -0
- package/core-services/lib/services/module-menu-services.token.d.ts +8 -0
- package/core-ux/index.d.ts +1 -0
- package/core-ux/lib/services/entity-selectors.d.ts +37 -0
- package/core-ux/lib/services/selectorMapperBase.service.d.ts +7 -1
- package/core-ux/lib/v2/models/contexts/section-context.d.ts +12 -0
- package/fesm2022/dflat-core-web-core-services.mjs +56 -2
- package/fesm2022/dflat-core-web-core-services.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux.mjs +95 -10
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-root.mjs +261 -108
- package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs +4780 -2445
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +9 -9
- package/system-model/lib/model/interface.generated.d.ts +18 -0
- package/system-root/index.d.ts +4 -1
- package/system-root/lib/generated/system-entity-keys.generated.d.ts +63 -0
- package/system-root/lib/generated/system-menu-item-provider.generated.d.ts +67 -0
- package/system-root/lib/generated/system-menu-service.generated.d.ts +26 -0
- package/system-root/lib/system-entity-keys.d.ts +6 -31
- package/system-root/lib/system-menu-item-provider.d.ts +6 -23
- package/system-root/lib/system-menu-service.d.ts +8 -9
- package/system-ux/index.d.ts +136 -44
- package/system-ux/lib/data-components/address.component.d.ts +7 -0
- package/system-ux/lib/{company → data-components}/company.component.d.ts +3 -7
- package/system-ux/lib/data-components/country.component.d.ts +6 -0
- package/system-ux/lib/data-components/currency.component.d.ts +6 -0
- package/system-ux/lib/{custom-field/custom-field.component.d.ts → data-components/customfield.component.d.ts} +3 -7
- package/system-ux/lib/{custom-field-group/custom-field-group.component.d.ts → data-components/customfieldgroup.component.d.ts} +4 -6
- 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
- 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
- package/system-ux/lib/{custom-field-options/custom-field-options.component.d.ts → data-components/customfieldoptions.component.d.ts} +3 -6
- package/system-ux/lib/data-components/customfieldvalue.component.d.ts +10 -0
- package/system-ux/lib/data-components/dayinfo.component.d.ts +10 -0
- package/system-ux/lib/data-components/errorcategory.component.d.ts +10 -0
- package/system-ux/lib/{exchange-rate/exchange-rate.component.d.ts → data-components/exchangerate.component.d.ts} +3 -10
- package/system-ux/lib/data-components/files.component.d.ts +10 -0
- package/system-ux/lib/data-components/generated/address.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/company.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/country.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/currency.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/customfield.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/customfieldgroup.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/customfieldgroupentity.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/customfieldgroupitem.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/customfieldoptions.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/customfieldvalue.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/dayinfo.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/entityfiles.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/errorcategory.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/exchangerate.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/files.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/keyword.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/metaentity.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/metaentityfield.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/metaentityform.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/metaentityformfield.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/metaentityformsection.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/metaentitykeyword.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/metaentityrelation.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/metaentityrelationdefinition.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/metaentitytranslation.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/metaentityviewfield.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/news.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/parameter.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/parametersection.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/parametervalue.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/permission.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/presentationprofile.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/presentationprofileitem.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/rating.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/ratingsummary.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/request.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/requestentity.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/requestresult.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/resourcekey.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/resourcelanguage.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/resourcetranslation.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/role.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/rolepermission.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/subcompany.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/supplier.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/suppliercompany.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/synchronizedcompany.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/system-components.generated.d.ts +69 -0
- package/system-ux/lib/data-components/generated/tvarate.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/useraccount.component.generated.d.ts +25 -0
- package/system-ux/lib/data-components/generated/useraccountcompany.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/useraccountnews.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/useraccountrole.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/useraccounttoken.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/userfavorite.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/usergroup.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/usergroupdefinition.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/userhistory.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/userpermissionview.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/usersession.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/generated/version.component.generated.d.ts +18 -0
- package/system-ux/lib/data-components/keyword.component.d.ts +10 -0
- package/system-ux/lib/{meta-entity/meta-entity.component.d.ts → data-components/metaentity.component.d.ts} +3 -9
- package/system-ux/lib/{meta-entity-field/meta-entity-field.component.d.ts → data-components/metaentityfield.component.d.ts} +3 -6
- package/system-ux/lib/data-components/metaentityform.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentityformfield.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentityformsection.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentitykeyword.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentityrelation.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentityrelationdefinition.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentitytranslation.component.d.ts +10 -0
- package/system-ux/lib/data-components/metaentityviewfield.component.d.ts +10 -0
- package/system-ux/lib/data-components/news.component.d.ts +8 -0
- package/system-ux/lib/data-components/parameter.component.d.ts +10 -0
- package/system-ux/lib/data-components/parametersection.component.d.ts +10 -0
- package/system-ux/lib/data-components/parametervalue.component.d.ts +15 -0
- package/system-ux/lib/data-components/permission.component.d.ts +8 -0
- package/system-ux/lib/data-components/presentationprofileitem.component.d.ts +10 -0
- package/system-ux/lib/data-components/rating.component.d.ts +10 -0
- package/system-ux/lib/data-components/ratingsummary.component.d.ts +10 -0
- package/system-ux/lib/{request → data-components}/request.component.d.ts +3 -7
- package/system-ux/lib/data-components/requestentity.component.d.ts +10 -0
- package/system-ux/lib/data-components/requestresult.component.d.ts +10 -0
- package/system-ux/lib/data-components/resourcekey.component.d.ts +11 -0
- package/system-ux/lib/data-components/resourcelanguage.component.d.ts +9 -0
- package/system-ux/lib/data-components/resourcetranslation.component.d.ts +10 -0
- package/system-ux/lib/{role/role-component.d.ts → data-components/role.component.d.ts} +3 -7
- package/system-ux/lib/data-components/rolepermission.component.d.ts +10 -0
- package/system-ux/lib/data-components/subcompany.component.d.ts +11 -0
- package/system-ux/lib/data-components/supplier.component.d.ts +8 -0
- package/system-ux/lib/data-components/suppliercompany.component.d.ts +10 -0
- package/system-ux/lib/data-components/synchronizedcompany.component.d.ts +15 -0
- package/system-ux/lib/{tva-rate/tva-rate.component.d.ts → data-components/tvarate.component.d.ts} +4 -7
- package/system-ux/lib/data-components/useraccount.component.d.ts +11 -0
- package/system-ux/lib/data-components/useraccountcompany.component.d.ts +10 -0
- package/system-ux/lib/data-components/useraccountnews.component.d.ts +10 -0
- package/system-ux/lib/data-components/useraccountrole.component.d.ts +10 -0
- package/system-ux/lib/data-components/useraccounttoken.component.d.ts +10 -0
- package/system-ux/lib/{user-company/user-company-component.d.ts → data-components/usercompany.component.d.ts} +4 -6
- package/system-ux/lib/data-components/userfavorite.component.d.ts +10 -0
- package/system-ux/lib/data-components/usergroup.component.d.ts +8 -0
- package/system-ux/lib/{user-group/user-group-definition.component.d.ts → data-components/usergroupdefinition.component.d.ts} +3 -6
- package/system-ux/lib/data-components/userhistory.component.d.ts +10 -0
- package/system-ux/lib/{user-permission/user-permission-component.d.ts → data-components/userpermission.component.d.ts} +3 -6
- package/system-ux/lib/data-components/userpermissionview.component.d.ts +10 -0
- package/system-ux/lib/{user-role/user-role-component.d.ts → data-components/userrole.component.d.ts} +3 -6
- package/system-ux/lib/data-components/usersession.component.d.ts +10 -0
- package/system-ux/lib/data-components/version.component.d.ts +10 -0
- package/system-ux/lib/system-ux.module.d.ts +125 -92
- package/system-ux/lib/address/address.component.d.ts +0 -15
- package/system-ux/lib/country/country.component.d.ts +0 -14
- package/system-ux/lib/currency/currency.component.d.ts +0 -14
- package/system-ux/lib/global-parameter/global-parameter.component.d.ts +0 -15
- package/system-ux/lib/news/news-component.d.ts +0 -16
- package/system-ux/lib/permission/permission-component.d.ts +0 -16
- package/system-ux/lib/resource-key/resource-key.component.d.ts +0 -18
- package/system-ux/lib/resource-language/resource-language.component.d.ts +0 -16
- package/system-ux/lib/resource-translation/resource-translation.component.d.ts +0 -16
- package/system-ux/lib/sub-company/sub-company.component.d.ts +0 -15
- package/system-ux/lib/supplier/supplier.component.d.ts +0 -16
- package/system-ux/lib/synchronised-company/synchronised-company.component.d.ts +0 -16
- package/system-ux/lib/user-account/user-account-component.d.ts +0 -18
- package/system-ux/lib/user-group/user-group.component.d.ts +0 -16
- /package/system-root/lib/{system-permissions.generated.d.ts → generated/system-permissions.generated.d.ts} +0 -0
- /package/system-ux/lib/{company → editor-components}/company-editor.component.d.ts +0 -0
- /package/system-ux/lib/{country → editor-components}/country-editor.component.d.ts +0 -0
- /package/system-ux/lib/{currency → editor-components}/currency-editor.component.d.ts +0 -0
- /package/system-ux/lib/{custom-field-group → editor-components}/custom-field-group-editor.component.d.ts +0 -0
- /package/system-ux/lib/{custom-field-group/custom-field-group-entity → editor-components}/custom-field-group-entity-editor.component.d.ts +0 -0
- /package/system-ux/lib/{custom-field-group/custom-field-group-item → editor-components}/custom-field-group-item-editor.component.d.ts +0 -0
- /package/system-ux/lib/{news → editor-components}/news-editor.component.d.ts +0 -0
- /package/system-ux/lib/{permission → editor-components}/permission-editor.component.d.ts +0 -0
- /package/system-ux/lib/{request → editor-components}/request-editor.component.d.ts +0 -0
- /package/system-ux/lib/{resource-translation → editor-components}/resource-translation-editor.component.d.ts +0 -0
- /package/system-ux/lib/{role → editor-components}/role-editor.component.d.ts +0 -0
- /package/system-ux/lib/{user-account → editor-components}/user-account-editor.component.d.ts +0 -0
- /package/system-ux/lib/{user-account-profile → editor-components}/user-account-profile.component.d.ts +0 -0
- /package/system-ux/lib/{user-group → editor-components}/user-group-editor.component.d.ts +0 -0
package/core-services/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export * from './lib/services/server-url';
|
|
|
18
18
|
export * from './lib/services/string.function';
|
|
19
19
|
export * from './lib/services/user.service';
|
|
20
20
|
export * from './lib/services/menu.service';
|
|
21
|
+
export * from './lib/services/module-menu-services.token';
|
|
22
|
+
export * from './lib/services/application-menu.service';
|
|
21
23
|
export * from './lib/services/filter.service';
|
|
22
24
|
export * from './lib/services/screen.service';
|
|
23
25
|
export * from './lib/model/model';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MenuItem } from '../model/model';
|
|
2
|
+
import { MenuService } from './menu.service';
|
|
3
|
+
import { PermissionService } from './permission.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Menu de l'application : réunion des menus de tous ses modules (déclarés sous
|
|
7
|
+
* MODULE_MENU_SERVICES), dans l'ordre de déclaration. Les thèmes de même libellé sont fusionnés
|
|
8
|
+
* et leurs éléments réunis sans doublon (même lien). Chaque module filtre ses éléments selon les
|
|
9
|
+
* permissions de l'utilisateur connecté.
|
|
10
|
+
*
|
|
11
|
+
* Fourni sous MenuService par DflatAppModule.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ApplicationMenuService extends MenuService {
|
|
14
|
+
private moduleMenus;
|
|
15
|
+
constructor(permissionService: PermissionService, moduleMenus: MenuService[] | null);
|
|
16
|
+
getAllMenuItems(isAdmin: boolean): MenuItem[];
|
|
17
|
+
getAccessGrantedMenuItems(): MenuItem[];
|
|
18
|
+
/** Éléments sans doublon : le premier élément de chaque lien est gardé. */
|
|
19
|
+
private distinctItems;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationMenuService, [null, { optional: true; }]>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationMenuService>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { MenuService } from './menu.service';
|
|
3
|
+
/**
|
|
4
|
+
* Menus des modules de l'application : chaque module racine ([module]-root) y déclare le sien,
|
|
5
|
+
* `{ provide: MODULE_MENU_SERVICES, useExisting: <Module>MenuService, multi: true }`.
|
|
6
|
+
* ApplicationMenuService les réunit en un seul menu.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MODULE_MENU_SERVICES: InjectionToken<MenuService[]>;
|
package/core-ux/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export * from './lib/services/modal.service';
|
|
|
25
25
|
export * from './lib/services/application.service';
|
|
26
26
|
export * from './lib/services/presentation-profile.token';
|
|
27
27
|
export * from './lib/services/selectorMapperBase.service';
|
|
28
|
+
export * from './lib/services/entity-selectors';
|
|
28
29
|
export * from './lib/services/action.service';
|
|
29
30
|
export * from './lib/components/actions/actions.component';
|
|
30
31
|
export * from './lib/components/actions/actions-content.component';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injector, Type } from '@angular/core';
|
|
2
|
+
import { EntityDataService } from '@dflat-core/web/core-data';
|
|
3
|
+
/**
|
|
4
|
+
* Sélecteur d'une entité (champ de formulaire FilterType Custom, dont ModalEntityKey désigne
|
|
5
|
+
* l'entité) : composant de recherche ouvert en fenêtre modale et service de données dont la
|
|
6
|
+
* recherche alimente la liste du sélecteur.
|
|
7
|
+
*/
|
|
8
|
+
export interface EntitySelector {
|
|
9
|
+
/** Clé de l'entité : route de son contrôleur, en minuscule (ex. country). */
|
|
10
|
+
key: string;
|
|
11
|
+
/** Composant de recherche de l'entité. */
|
|
12
|
+
component: Type<any>;
|
|
13
|
+
/** Libellé de l'entité (titre de la fenêtre de sélection). */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Service de données de l'entité (recherche). */
|
|
16
|
+
dataService?: Type<EntityDataService<any, any>>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Sélecteurs d'entité des modules de l'application. Chaque librairie [module]-ux enregistre ceux
|
|
20
|
+
* de ses entités, générés par codegenerator (dflat -g ts) dans [module]-components.generated.ts,
|
|
21
|
+
* dans le constructeur de son module Angular :
|
|
22
|
+
* `constructor(injector: Injector) { EntitySelectors.register(<Module>GeneratedSelectors, injector); }`.
|
|
23
|
+
* Le registre est global et garde l'injecteur du module : il sert aussi aux modules chargés à la
|
|
24
|
+
* demande (loadChildren), dont les services de données ne sont pas visibles de l'injecteur
|
|
25
|
+
* racine. SelectorMapperServiceBase s'en sert pour toute clé que l'application ne traite pas
|
|
26
|
+
* elle-même.
|
|
27
|
+
*/
|
|
28
|
+
export declare class EntitySelectors {
|
|
29
|
+
private static readonly selectors;
|
|
30
|
+
/** Enregistre des sélecteurs et l'injecteur de leur module (le dernier enregistré l'emporte pour une même clé). */
|
|
31
|
+
static register(selectors: EntitySelector[], injector?: Injector): void;
|
|
32
|
+
/** Sélecteur de l'entité de clé `key` (insensible à la casse) et injecteur de son module, sinon undefined. */
|
|
33
|
+
static find(key: string): {
|
|
34
|
+
selector: EntitySelector;
|
|
35
|
+
injector?: Injector;
|
|
36
|
+
} | undefined;
|
|
37
|
+
}
|
|
@@ -16,9 +16,15 @@ export interface ModalConfig {
|
|
|
16
16
|
}
|
|
17
17
|
export declare abstract class SelectorMapperServiceBase {
|
|
18
18
|
protected modalService: ModalService;
|
|
19
|
+
private readonly injector;
|
|
19
20
|
constructor(modalService: ModalService);
|
|
20
21
|
getInputSelectorContext(key: string, title: string, filter?: FilterViewModel, params?: any): IInputSelectorContext;
|
|
21
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Composants et recherche du sélecteur de l'entité de clé `key` : par défaut, le sélecteur
|
|
24
|
+
* généré de l'entité (EntitySelectors, enregistrés par les librairies [module]-ux). Une
|
|
25
|
+
* application dérivée traite ses propres clés, puis appelle super.getComponentParams.
|
|
26
|
+
*/
|
|
27
|
+
getComponentParams(key: string, params?: any): {
|
|
22
28
|
selectionCompType: Type<any>;
|
|
23
29
|
selectionModalTitle?: string;
|
|
24
30
|
creationComType: Type<any>;
|
|
@@ -48,6 +48,18 @@ export declare class SectionContext<P extends EntityViewModel> {
|
|
|
48
48
|
registerDynamicContainers(containers: ViewContainerRef[]): void;
|
|
49
49
|
private defaultLayoutOverride;
|
|
50
50
|
registerSection<F extends FilterViewModel, T extends EntityViewModel>(name: string, template: Type<ISectionComponent<T>>, config?: ISectionConfig<T, F, P>): ISpecificSectionContext<T, F, P>;
|
|
51
|
+
/**
|
|
52
|
+
* Onglet d'une entité liée (relation 1..*), décrit par une section du formulaire par défaut et
|
|
53
|
+
* enregistré par le composant généré (Base[X]Component.registerFormSections) : liste des
|
|
54
|
+
* enregistrements de l'entité dont le critère `filterProperty` vaut l'Id de l'enregistrement
|
|
55
|
+
* sélectionné. Ignoré si le composant spécifique a déjà enregistré un onglet du même titre ou
|
|
56
|
+
* de la même entité (clé d'entité du composant, ex. variante dérivée du composant généré).
|
|
57
|
+
*/
|
|
58
|
+
registerRelatedSection<F extends FilterViewModel, T extends EntityViewModel>(name: string, template: Type<ISectionComponent<T>>, filterProperty: keyof F): void;
|
|
59
|
+
/** Onglets d'entités liées enregistrés par registerRelatedSection (une entité peut en avoir plusieurs, un par clé). */
|
|
60
|
+
private relatedSections;
|
|
61
|
+
/** Clé d'entité d'un composant (getEntityKey sans instance, valeur constante), sinon null. */
|
|
62
|
+
private static getEntityKey;
|
|
51
63
|
getActiveTab(): number;
|
|
52
64
|
renderSection(section: ISpecificSectionContext<any, any, P>, container: ViewContainerRef): void;
|
|
53
65
|
private attachComponentOverrides;
|
|
@@ -5,7 +5,7 @@ import { CommonModule } from '@angular/common';
|
|
|
5
5
|
import * as i3 from '@angular/common/http';
|
|
6
6
|
import { HttpHeaders, provideHttpClient, withInterceptorsFromDi, HttpErrorResponse } from '@angular/common/http';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { Injectable, EventEmitter, Optional, SkipSelf, NgModule } from '@angular/core';
|
|
8
|
+
import { Injectable, EventEmitter, Optional, SkipSelf, NgModule, InjectionToken, Inject } from '@angular/core';
|
|
9
9
|
import * as i1 from '@angular/router';
|
|
10
10
|
import jwt_decode from 'jwt-decode';
|
|
11
11
|
import { Subject, ReplaySubject, timer, throwError, BehaviorSubject, empty } from 'rxjs';
|
|
@@ -1548,6 +1548,13 @@ function trimChar(str, c) {
|
|
|
1548
1548
|
return str.replace(new RegExp(`^[${c}]+|[${c}]+$`, "g"), "");
|
|
1549
1549
|
}
|
|
1550
1550
|
|
|
1551
|
+
/**
|
|
1552
|
+
* Menus des modules de l'application : chaque module racine ([module]-root) y déclare le sien,
|
|
1553
|
+
* `{ provide: MODULE_MENU_SERVICES, useExisting: <Module>MenuService, multi: true }`.
|
|
1554
|
+
* ApplicationMenuService les réunit en un seul menu.
|
|
1555
|
+
*/
|
|
1556
|
+
const MODULE_MENU_SERVICES = new InjectionToken('MODULE_MENU_SERVICES');
|
|
1557
|
+
|
|
1551
1558
|
class MenuItem {
|
|
1552
1559
|
constructor(title, link, icon, sublinks, permissionKey) {
|
|
1553
1560
|
this.external = false;
|
|
@@ -1560,9 +1567,56 @@ class MenuItem {
|
|
|
1560
1567
|
}
|
|
1561
1568
|
}
|
|
1562
1569
|
|
|
1570
|
+
/**
|
|
1571
|
+
* Menu de l'application : réunion des menus de tous ses modules (déclarés sous
|
|
1572
|
+
* MODULE_MENU_SERVICES), dans l'ordre de déclaration. Les thèmes de même libellé sont fusionnés
|
|
1573
|
+
* et leurs éléments réunis sans doublon (même lien). Chaque module filtre ses éléments selon les
|
|
1574
|
+
* permissions de l'utilisateur connecté.
|
|
1575
|
+
*
|
|
1576
|
+
* Fourni sous MenuService par DflatAppModule.
|
|
1577
|
+
*/
|
|
1578
|
+
class ApplicationMenuService extends MenuService {
|
|
1579
|
+
constructor(permissionService, moduleMenus) {
|
|
1580
|
+
super(permissionService);
|
|
1581
|
+
this.moduleMenus = moduleMenus;
|
|
1582
|
+
}
|
|
1583
|
+
getAllMenuItems(isAdmin) {
|
|
1584
|
+
// Copies : merge complète les éléments de son premier thème de chaque libellé.
|
|
1585
|
+
const themes = (this.moduleMenus ?? [])
|
|
1586
|
+
.reduce((all, menu) => all.concat(menu.getAllMenuItems(isAdmin)), new Array())
|
|
1587
|
+
.map(theme => new MenuItem(theme.title, theme.link, theme.icon, [...(theme.sublinks ?? [])], theme.permissionKey));
|
|
1588
|
+
return this.merge(themes)
|
|
1589
|
+
.map(theme => new MenuItem(theme.title, theme.link, theme.icon, this.distinctItems(theme.sublinks), theme.permissionKey));
|
|
1590
|
+
}
|
|
1591
|
+
getAccessGrantedMenuItems() {
|
|
1592
|
+
return (this.moduleMenus ?? [])
|
|
1593
|
+
.reduce((all, menu) => all.concat(menu.getAccessGrantedMenuItems() ?? []), new Array());
|
|
1594
|
+
}
|
|
1595
|
+
/** Éléments sans doublon : le premier élément de chaque lien est gardé. */
|
|
1596
|
+
distinctItems(items) {
|
|
1597
|
+
const links = new Set();
|
|
1598
|
+
return (items ?? []).filter(item => {
|
|
1599
|
+
if (item.link !== undefined && links.has(item.link))
|
|
1600
|
+
return false;
|
|
1601
|
+
links.add(item.link);
|
|
1602
|
+
return true;
|
|
1603
|
+
});
|
|
1604
|
+
}
|
|
1605
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ApplicationMenuService, deps: [{ token: PermissionService }, { token: MODULE_MENU_SERVICES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1606
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ApplicationMenuService }); }
|
|
1607
|
+
}
|
|
1608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ApplicationMenuService, decorators: [{
|
|
1609
|
+
type: Injectable
|
|
1610
|
+
}], ctorParameters: () => [{ type: PermissionService }, { type: undefined, decorators: [{
|
|
1611
|
+
type: Optional
|
|
1612
|
+
}, {
|
|
1613
|
+
type: Inject,
|
|
1614
|
+
args: [MODULE_MENU_SERVICES]
|
|
1615
|
+
}] }] });
|
|
1616
|
+
|
|
1563
1617
|
/**
|
|
1564
1618
|
* Generated bundle index. Do not edit.
|
|
1565
1619
|
*/
|
|
1566
1620
|
|
|
1567
|
-
export { AppConfiguration, AppKeys, AuthGuard, AuthInterceptor, AuthService, AuthTokenType, BreadcrumbService, BusMessageService, CanActivateGuard, CoreServicesModule, FilterService, GeolocationService, HeadersService, HubService, LocalStoreManager, MenuItem, MenuService, MessagesService, NotificationMqService, NotificationsService, PermissionService, ScreenService, ServerUrl, UserService, trimChar };
|
|
1621
|
+
export { AppConfiguration, AppKeys, ApplicationMenuService, AuthGuard, AuthInterceptor, AuthService, AuthTokenType, BreadcrumbService, BusMessageService, CanActivateGuard, CoreServicesModule, FilterService, GeolocationService, HeadersService, HubService, LocalStoreManager, MODULE_MENU_SERVICES, MenuItem, MenuService, MessagesService, NotificationMqService, NotificationsService, PermissionService, ScreenService, ServerUrl, UserService, trimChar };
|
|
1568
1622
|
//# sourceMappingURL=dflat-core-web-core-services.mjs.map
|