@dflat-core/web 1.0.41 → 1.0.42

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 (168) 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/fesm2022/dflat-core-web-core-services.mjs +56 -2
  5. package/fesm2022/dflat-core-web-core-services.mjs.map +1 -1
  6. package/fesm2022/dflat-core-web-system-root.mjs +255 -108
  7. package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
  8. package/fesm2022/dflat-core-web-system-ux.mjs +4279 -2376
  9. package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
  10. package/package.json +9 -9
  11. package/system-root/index.d.ts +4 -1
  12. package/system-root/lib/generated/system-entity-keys.generated.d.ts +63 -0
  13. package/system-root/lib/generated/system-menu-item-provider.generated.d.ts +67 -0
  14. package/system-root/lib/generated/system-menu-service.generated.d.ts +26 -0
  15. package/system-root/lib/system-entity-keys.d.ts +6 -31
  16. package/system-root/lib/system-menu-item-provider.d.ts +6 -23
  17. package/system-root/lib/system-menu-service.d.ts +8 -9
  18. package/system-ux/index.d.ts +136 -44
  19. package/system-ux/lib/data-components/address.component.d.ts +7 -0
  20. package/system-ux/lib/{company → data-components}/company.component.d.ts +3 -7
  21. package/system-ux/lib/data-components/country.component.d.ts +6 -0
  22. package/system-ux/lib/data-components/currency.component.d.ts +6 -0
  23. package/system-ux/lib/{custom-field/custom-field.component.d.ts → data-components/customfield.component.d.ts} +3 -7
  24. package/system-ux/lib/{custom-field-group/custom-field-group.component.d.ts → data-components/customfieldgroup.component.d.ts} +4 -6
  25. 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
  26. 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
  27. package/system-ux/lib/{custom-field-options/custom-field-options.component.d.ts → data-components/customfieldoptions.component.d.ts} +3 -6
  28. package/system-ux/lib/data-components/customfieldvalue.component.d.ts +10 -0
  29. package/system-ux/lib/data-components/dayinfo.component.d.ts +10 -0
  30. package/system-ux/lib/data-components/errorcategory.component.d.ts +10 -0
  31. package/system-ux/lib/{exchange-rate/exchange-rate.component.d.ts → data-components/exchangerate.component.d.ts} +3 -10
  32. package/system-ux/lib/data-components/files.component.d.ts +10 -0
  33. package/system-ux/lib/data-components/generated/address.component.generated.d.ts +18 -0
  34. package/system-ux/lib/data-components/generated/company.component.generated.d.ts +18 -0
  35. package/system-ux/lib/{country/country.component.d.ts → data-components/generated/country.component.generated.d.ts} +8 -4
  36. package/system-ux/lib/data-components/generated/currency.component.generated.d.ts +18 -0
  37. package/system-ux/lib/data-components/generated/customfield.component.generated.d.ts +18 -0
  38. package/system-ux/lib/data-components/generated/customfieldgroup.component.generated.d.ts +18 -0
  39. package/system-ux/lib/data-components/generated/customfieldgroupentity.component.generated.d.ts +18 -0
  40. package/system-ux/lib/data-components/generated/customfieldgroupitem.component.generated.d.ts +18 -0
  41. package/system-ux/lib/data-components/generated/customfieldoptions.component.generated.d.ts +18 -0
  42. package/system-ux/lib/data-components/generated/customfieldvalue.component.generated.d.ts +18 -0
  43. package/system-ux/lib/data-components/generated/dayinfo.component.generated.d.ts +18 -0
  44. package/system-ux/lib/data-components/generated/entityfiles.component.generated.d.ts +18 -0
  45. package/system-ux/lib/data-components/generated/errorcategory.component.generated.d.ts +18 -0
  46. package/system-ux/lib/data-components/generated/exchangerate.component.generated.d.ts +18 -0
  47. package/system-ux/lib/data-components/generated/files.component.generated.d.ts +18 -0
  48. package/system-ux/lib/data-components/generated/keyword.component.generated.d.ts +18 -0
  49. package/system-ux/lib/data-components/generated/metaentity.component.generated.d.ts +18 -0
  50. package/system-ux/lib/data-components/generated/metaentityfield.component.generated.d.ts +18 -0
  51. package/system-ux/lib/data-components/generated/metaentityform.component.generated.d.ts +18 -0
  52. package/system-ux/lib/data-components/generated/metaentityformfield.component.generated.d.ts +18 -0
  53. package/system-ux/lib/data-components/generated/metaentityformsection.component.generated.d.ts +18 -0
  54. package/system-ux/lib/data-components/generated/metaentitykeyword.component.generated.d.ts +18 -0
  55. package/system-ux/lib/data-components/generated/metaentityrelation.component.generated.d.ts +18 -0
  56. package/system-ux/lib/data-components/generated/metaentityrelationdefinition.component.generated.d.ts +18 -0
  57. package/system-ux/lib/data-components/generated/metaentitytranslation.component.generated.d.ts +18 -0
  58. package/system-ux/lib/data-components/generated/metaentityviewfield.component.generated.d.ts +18 -0
  59. package/system-ux/lib/{news/news-component.d.ts → data-components/generated/news.component.generated.d.ts} +8 -6
  60. package/system-ux/lib/data-components/generated/parameter.component.generated.d.ts +18 -0
  61. package/system-ux/lib/data-components/generated/parametersection.component.generated.d.ts +18 -0
  62. package/system-ux/lib/data-components/generated/parametervalue.component.generated.d.ts +18 -0
  63. package/system-ux/lib/data-components/generated/permission.component.generated.d.ts +18 -0
  64. package/system-ux/lib/data-components/generated/presentationprofile.component.generated.d.ts +18 -0
  65. package/system-ux/lib/data-components/generated/presentationprofileitem.component.generated.d.ts +18 -0
  66. package/system-ux/lib/data-components/generated/rating.component.generated.d.ts +18 -0
  67. package/system-ux/lib/data-components/generated/ratingsummary.component.generated.d.ts +18 -0
  68. package/system-ux/lib/data-components/generated/request.component.generated.d.ts +18 -0
  69. package/system-ux/lib/data-components/generated/requestentity.component.generated.d.ts +18 -0
  70. package/system-ux/lib/data-components/generated/requestresult.component.generated.d.ts +18 -0
  71. package/system-ux/lib/data-components/generated/resourcekey.component.generated.d.ts +18 -0
  72. package/system-ux/lib/data-components/generated/resourcelanguage.component.generated.d.ts +18 -0
  73. package/system-ux/lib/data-components/generated/resourcetranslation.component.generated.d.ts +18 -0
  74. package/system-ux/lib/data-components/generated/role.component.generated.d.ts +18 -0
  75. package/system-ux/lib/data-components/generated/rolepermission.component.generated.d.ts +18 -0
  76. package/system-ux/lib/data-components/generated/subcompany.component.generated.d.ts +18 -0
  77. package/system-ux/lib/data-components/generated/supplier.component.generated.d.ts +18 -0
  78. package/system-ux/lib/data-components/generated/suppliercompany.component.generated.d.ts +18 -0
  79. package/system-ux/lib/data-components/generated/synchronizedcompany.component.generated.d.ts +18 -0
  80. package/system-ux/lib/data-components/generated/system-components.generated.d.ts +63 -0
  81. package/system-ux/lib/data-components/generated/tvarate.component.generated.d.ts +18 -0
  82. package/system-ux/lib/data-components/generated/useraccount.component.generated.d.ts +18 -0
  83. package/system-ux/lib/data-components/generated/useraccountcompany.component.generated.d.ts +18 -0
  84. package/system-ux/lib/data-components/generated/useraccountnews.component.generated.d.ts +18 -0
  85. package/system-ux/lib/data-components/generated/useraccountrole.component.generated.d.ts +18 -0
  86. package/system-ux/lib/data-components/generated/useraccounttoken.component.generated.d.ts +18 -0
  87. package/system-ux/lib/data-components/generated/userfavorite.component.generated.d.ts +18 -0
  88. package/system-ux/lib/data-components/generated/usergroup.component.generated.d.ts +18 -0
  89. package/system-ux/lib/data-components/generated/usergroupdefinition.component.generated.d.ts +18 -0
  90. package/system-ux/lib/data-components/generated/userhistory.component.generated.d.ts +18 -0
  91. package/system-ux/lib/data-components/generated/userpermissionview.component.generated.d.ts +18 -0
  92. package/system-ux/lib/data-components/generated/usersession.component.generated.d.ts +18 -0
  93. package/system-ux/lib/data-components/generated/version.component.generated.d.ts +18 -0
  94. package/system-ux/lib/data-components/keyword.component.d.ts +10 -0
  95. package/system-ux/lib/{meta-entity/meta-entity.component.d.ts → data-components/metaentity.component.d.ts} +3 -9
  96. package/system-ux/lib/{meta-entity-field/meta-entity-field.component.d.ts → data-components/metaentityfield.component.d.ts} +3 -6
  97. package/system-ux/lib/data-components/metaentityform.component.d.ts +10 -0
  98. package/system-ux/lib/data-components/metaentityformfield.component.d.ts +10 -0
  99. package/system-ux/lib/data-components/metaentityformsection.component.d.ts +10 -0
  100. package/system-ux/lib/data-components/metaentitykeyword.component.d.ts +10 -0
  101. package/system-ux/lib/data-components/metaentityrelation.component.d.ts +10 -0
  102. package/system-ux/lib/data-components/metaentityrelationdefinition.component.d.ts +10 -0
  103. package/system-ux/lib/data-components/metaentitytranslation.component.d.ts +10 -0
  104. package/system-ux/lib/data-components/metaentityviewfield.component.d.ts +10 -0
  105. package/system-ux/lib/data-components/news.component.d.ts +8 -0
  106. package/system-ux/lib/data-components/parameter.component.d.ts +10 -0
  107. package/system-ux/lib/data-components/parametersection.component.d.ts +10 -0
  108. package/system-ux/lib/data-components/parametervalue.component.d.ts +15 -0
  109. package/system-ux/lib/data-components/permission.component.d.ts +8 -0
  110. package/system-ux/lib/data-components/presentationprofileitem.component.d.ts +10 -0
  111. package/system-ux/lib/data-components/rating.component.d.ts +10 -0
  112. package/system-ux/lib/data-components/ratingsummary.component.d.ts +10 -0
  113. package/system-ux/lib/{request → data-components}/request.component.d.ts +3 -7
  114. package/system-ux/lib/data-components/requestentity.component.d.ts +10 -0
  115. package/system-ux/lib/data-components/requestresult.component.d.ts +10 -0
  116. package/system-ux/lib/data-components/resourcekey.component.d.ts +11 -0
  117. package/system-ux/lib/data-components/resourcelanguage.component.d.ts +9 -0
  118. package/system-ux/lib/data-components/resourcetranslation.component.d.ts +10 -0
  119. package/system-ux/lib/{role/role-component.d.ts → data-components/role.component.d.ts} +3 -7
  120. package/system-ux/lib/data-components/rolepermission.component.d.ts +10 -0
  121. package/system-ux/lib/data-components/subcompany.component.d.ts +11 -0
  122. package/system-ux/lib/data-components/supplier.component.d.ts +8 -0
  123. package/system-ux/lib/data-components/suppliercompany.component.d.ts +10 -0
  124. package/system-ux/lib/data-components/synchronizedcompany.component.d.ts +15 -0
  125. package/system-ux/lib/{tva-rate/tva-rate.component.d.ts → data-components/tvarate.component.d.ts} +4 -7
  126. package/system-ux/lib/data-components/useraccount.component.d.ts +11 -0
  127. package/system-ux/lib/data-components/useraccountcompany.component.d.ts +10 -0
  128. package/system-ux/lib/data-components/useraccountnews.component.d.ts +10 -0
  129. package/system-ux/lib/data-components/useraccountrole.component.d.ts +10 -0
  130. package/system-ux/lib/data-components/useraccounttoken.component.d.ts +10 -0
  131. package/system-ux/lib/{user-company/user-company-component.d.ts → data-components/usercompany.component.d.ts} +4 -6
  132. package/system-ux/lib/data-components/userfavorite.component.d.ts +10 -0
  133. package/system-ux/lib/data-components/usergroup.component.d.ts +8 -0
  134. package/system-ux/lib/{user-group/user-group-definition.component.d.ts → data-components/usergroupdefinition.component.d.ts} +3 -6
  135. package/system-ux/lib/data-components/userhistory.component.d.ts +10 -0
  136. package/system-ux/lib/{user-permission/user-permission-component.d.ts → data-components/userpermission.component.d.ts} +3 -6
  137. package/system-ux/lib/data-components/userpermissionview.component.d.ts +10 -0
  138. package/system-ux/lib/{user-role/user-role-component.d.ts → data-components/userrole.component.d.ts} +3 -6
  139. package/system-ux/lib/data-components/usersession.component.d.ts +10 -0
  140. package/system-ux/lib/data-components/version.component.d.ts +10 -0
  141. package/system-ux/lib/system-ux.module.d.ts +123 -92
  142. package/system-ux/lib/address/address.component.d.ts +0 -15
  143. package/system-ux/lib/currency/currency.component.d.ts +0 -14
  144. package/system-ux/lib/global-parameter/global-parameter.component.d.ts +0 -15
  145. package/system-ux/lib/permission/permission-component.d.ts +0 -16
  146. package/system-ux/lib/resource-key/resource-key.component.d.ts +0 -18
  147. package/system-ux/lib/resource-language/resource-language.component.d.ts +0 -16
  148. package/system-ux/lib/resource-translation/resource-translation.component.d.ts +0 -16
  149. package/system-ux/lib/sub-company/sub-company.component.d.ts +0 -15
  150. package/system-ux/lib/supplier/supplier.component.d.ts +0 -16
  151. package/system-ux/lib/synchronised-company/synchronised-company.component.d.ts +0 -16
  152. package/system-ux/lib/user-account/user-account-component.d.ts +0 -18
  153. package/system-ux/lib/user-group/user-group.component.d.ts +0 -16
  154. /package/system-root/lib/{system-permissions.generated.d.ts → generated/system-permissions.generated.d.ts} +0 -0
  155. /package/system-ux/lib/{company → editor-components}/company-editor.component.d.ts +0 -0
  156. /package/system-ux/lib/{country → editor-components}/country-editor.component.d.ts +0 -0
  157. /package/system-ux/lib/{currency → editor-components}/currency-editor.component.d.ts +0 -0
  158. /package/system-ux/lib/{custom-field-group → editor-components}/custom-field-group-editor.component.d.ts +0 -0
  159. /package/system-ux/lib/{custom-field-group/custom-field-group-entity → editor-components}/custom-field-group-entity-editor.component.d.ts +0 -0
  160. /package/system-ux/lib/{custom-field-group/custom-field-group-item → editor-components}/custom-field-group-item-editor.component.d.ts +0 -0
  161. /package/system-ux/lib/{news → editor-components}/news-editor.component.d.ts +0 -0
  162. /package/system-ux/lib/{permission → editor-components}/permission-editor.component.d.ts +0 -0
  163. /package/system-ux/lib/{request → editor-components}/request-editor.component.d.ts +0 -0
  164. /package/system-ux/lib/{resource-translation → editor-components}/resource-translation-editor.component.d.ts +0 -0
  165. /package/system-ux/lib/{role → editor-components}/role-editor.component.d.ts +0 -0
  166. /package/system-ux/lib/{user-account → editor-components}/user-account-editor.component.d.ts +0 -0
  167. /package/system-ux/lib/{user-account-profile → editor-components}/user-account-profile.component.d.ts +0 -0
  168. /package/system-ux/lib/{user-group → editor-components}/user-group-editor.component.d.ts +0 -0
@@ -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[]>;
@@ -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