@acorex/modules 18.1.5 → 18.2.0

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 (194) hide show
  1. package/application-management/index.d.ts +2 -0
  2. package/application-management/lib/application-management.module.d.ts +0 -2
  3. package/application-management/lib/application-management.route.d.ts +2 -0
  4. package/application-management/lib/application-management.service.d.ts +14 -3
  5. package/application-management/lib/application-management.source.d.ts +7 -0
  6. package/application-management/lib/application-management.types.d.ts +50 -0
  7. package/application-management/lib/entity.loader.d.ts +9 -0
  8. package/application-management/lib/menu.provider.d.ts +5 -0
  9. package/application-management/lib/services/application-management.service.d.ts +10 -0
  10. package/application-management/lib/services/module-management.service.d.ts +10 -0
  11. package/auth/lib/auth.module.d.ts +4 -7
  12. package/auth/lib/menu.provider.d.ts +5 -0
  13. package/backend/lib/data/api/data-provider.d.ts +1 -0
  14. package/backend/lib/data/index.d.ts +0 -1
  15. package/backend/lib/data/local/local-data-provider.d.ts +1 -0
  16. package/conversation/README.md +3 -0
  17. package/conversation/index.d.ts +5 -0
  18. package/conversation/lib/comments/comment-list-view.component.d.ts +66 -0
  19. package/conversation/lib/comments/comment-lookup-popup.component.d.ts +10 -0
  20. package/conversation/lib/comments/comment.module.d.ts +25 -0
  21. package/conversation/lib/comments/comments.service.d.ts +5 -0
  22. package/conversation/lib/comments/comments.type.d.ts +74 -0
  23. package/conversation/lib/conversation.module.d.ts +8 -0
  24. package/esm2022/application-management/index.mjs +3 -1
  25. package/esm2022/application-management/lib/application-management.module.mjs +27 -47
  26. package/esm2022/application-management/lib/application-management.route.mjs +29 -0
  27. package/esm2022/application-management/lib/application-management.service.mjs +15 -15
  28. package/esm2022/application-management/lib/application-management.source.mjs +8 -0
  29. package/esm2022/application-management/lib/application-management.types.mjs +2 -0
  30. package/esm2022/application-management/lib/entities/applications.entity.mjs +8 -8
  31. package/esm2022/application-management/lib/entities/modules.entity.mjs +12 -15
  32. package/esm2022/application-management/lib/entities/property.entity.mjs +1 -2
  33. package/esm2022/application-management/lib/entity.loader.mjs +46 -0
  34. package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +3 -3
  35. package/esm2022/application-management/lib/menu.provider.mjs +30 -0
  36. package/esm2022/application-management/lib/services/application-management.service.mjs +17 -0
  37. package/esm2022/application-management/lib/services/module-management.service.mjs +17 -0
  38. package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +2 -2
  39. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +7 -4
  40. package/esm2022/auth/lib/auth.module.mjs +20 -14
  41. package/esm2022/auth/lib/login/password/password.component.mjs +2 -2
  42. package/esm2022/auth/lib/menu.provider.mjs +53 -0
  43. package/esm2022/backend/lib/backend.module.mjs +22 -26
  44. package/esm2022/backend/lib/data/api/data-provider.mjs +9 -1
  45. package/esm2022/backend/lib/data/index.mjs +1 -2
  46. package/esm2022/backend/lib/data/local/local-data-provider.mjs +11 -1
  47. package/esm2022/conversation/acorex-modules-conversation.mjs +5 -0
  48. package/esm2022/conversation/index.mjs +6 -0
  49. package/esm2022/conversation/lib/comments/comment-list-view.component.mjs +393 -0
  50. package/esm2022/conversation/lib/comments/comment-lookup-popup.component.mjs +56 -0
  51. package/esm2022/conversation/lib/comments/comment.module.mjs +89 -0
  52. package/esm2022/conversation/lib/comments/comments.service.mjs +4 -0
  53. package/esm2022/conversation/lib/comments/comments.type.mjs +2 -0
  54. package/esm2022/conversation/lib/conversation.module.mjs +17 -0
  55. package/esm2022/form-management/lib/form-management.module.mjs +32 -9
  56. package/esm2022/form-management/lib/menu.provider.mjs +35 -0
  57. package/esm2022/notification-management/index.mjs +3 -1
  58. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.mjs +8 -16
  59. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.mjs +31 -7
  60. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.mjs +3 -3
  61. package/esm2022/notification-management/lib/entities/my-notification.mjs +243 -0
  62. package/esm2022/notification-management/lib/entities/notification-channel.entity.mjs +2 -3
  63. package/esm2022/notification-management/lib/entities/notification-log.entity.mjs +180 -0
  64. package/esm2022/notification-management/lib/entity.loader.mjs +41 -0
  65. package/esm2022/notification-management/lib/menu.provider.mjs +57 -0
  66. package/esm2022/notification-management/lib/notification-management-mock-data.mjs +2 -2
  67. package/esm2022/notification-management/lib/notification-management.module.mjs +34 -39
  68. package/esm2022/notification-management/lib/notification-management.type.mjs +1 -1
  69. package/esm2022/notification-management/lib/notification.service.mjs +1 -1
  70. package/esm2022/{language-management/acorex-modules-language-management.mjs → platform-management/acorex-modules-platform-management.mjs} +1 -1
  71. package/esm2022/platform-management/index.mjs +5 -0
  72. package/esm2022/platform-management/lib/comments/comment-management.service.mjs +18 -0
  73. package/esm2022/platform-management/lib/global-variables/entities/global-variable.entity.mjs +295 -0
  74. package/esm2022/platform-management/lib/global-variables/entity.loader.mjs +26 -0
  75. package/esm2022/platform-management/lib/global-variables/global-variables.service.mjs +16 -0
  76. package/esm2022/platform-management/lib/global-variables/global-variables.types.mjs +2 -0
  77. package/esm2022/platform-management/lib/global-variables/index.mjs +5 -0
  78. package/esm2022/platform-management/lib/languages/entities/language.entity.mjs +234 -0
  79. package/esm2022/platform-management/lib/languages/entity.loader.mjs +26 -0
  80. package/esm2022/platform-management/lib/languages/index.mjs +5 -0
  81. package/esm2022/platform-management/lib/languages/language-management.service.mjs +16 -0
  82. package/esm2022/platform-management/lib/languages/language.types.mjs +2 -0
  83. package/esm2022/platform-management/lib/menu.provider.mjs +52 -0
  84. package/esm2022/platform-management/lib/platform-management.module.mjs +82 -0
  85. package/esm2022/template-management/index.mjs +7 -3
  86. package/esm2022/template-management/lib/entities/category.entity.mjs +234 -0
  87. package/esm2022/template-management/lib/entities/index.mjs +4 -0
  88. package/esm2022/template-management/lib/entities/template-variable.entity.mjs +124 -120
  89. package/esm2022/template-management/lib/entities/text-template.entity.mjs +386 -0
  90. package/esm2022/template-management/lib/entity.loader.mjs +36 -0
  91. package/esm2022/template-management/lib/menu.provider.mjs +43 -0
  92. package/esm2022/template-management/lib/template-management.module.mjs +53 -37
  93. package/esm2022/template-management/lib/template-management.types.mjs +2 -0
  94. package/esm2022/template-management/lib/template.service.mjs +17 -0
  95. package/esm2022/template-management/lib/text-management.source.mjs +3 -0
  96. package/esm2022/template-management/lib/text-template-category.service.mjs +17 -0
  97. package/fesm2022/{acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs → acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs} +2 -2
  98. package/fesm2022/{acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs.map → acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs.map} +1 -1
  99. package/fesm2022/acorex-modules-application-management.mjs +191 -81
  100. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  101. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-iGiPFEeb.mjs → acorex-modules-auth-acorex-modules-auth-D2WBJhj6.mjs} +86 -26
  102. package/fesm2022/acorex-modules-auth-acorex-modules-auth-D2WBJhj6.mjs.map +1 -0
  103. package/fesm2022/{acorex-modules-auth-app-chooser.component-BB3SIzCP.mjs → acorex-modules-auth-app-chooser.component-B7BwymT_.mjs} +2 -2
  104. package/fesm2022/{acorex-modules-auth-app-chooser.component-BB3SIzCP.mjs.map → acorex-modules-auth-app-chooser.component-B7BwymT_.mjs.map} +1 -1
  105. package/fesm2022/{acorex-modules-auth-login.module-ChEv9c5I.mjs → acorex-modules-auth-login.module-BjvPlYQZ.mjs} +4 -4
  106. package/fesm2022/{acorex-modules-auth-login.module-ChEv9c5I.mjs.map → acorex-modules-auth-login.module-BjvPlYQZ.mjs.map} +1 -1
  107. package/fesm2022/{acorex-modules-auth-master.layout-CZv3BD5c.mjs → acorex-modules-auth-master.layout-CeqMPrx8.mjs} +2 -2
  108. package/fesm2022/{acorex-modules-auth-master.layout-CZv3BD5c.mjs.map → acorex-modules-auth-master.layout-CeqMPrx8.mjs.map} +1 -1
  109. package/fesm2022/{acorex-modules-auth-password.component-CxZ1weks.mjs → acorex-modules-auth-password.component-87NrYq3i.mjs} +3 -3
  110. package/fesm2022/acorex-modules-auth-password.component-87NrYq3i.mjs.map +1 -0
  111. package/fesm2022/{acorex-modules-auth-password.component-CPWiBXdG.mjs → acorex-modules-auth-password.component-X3BUidi1.mjs} +2 -2
  112. package/fesm2022/{acorex-modules-auth-password.component-CPWiBXdG.mjs.map → acorex-modules-auth-password.component-X3BUidi1.mjs.map} +1 -1
  113. package/fesm2022/{acorex-modules-auth-routes-C7r2Jm6s.mjs → acorex-modules-auth-routes-D1JZT2cF.mjs} +2 -2
  114. package/fesm2022/{acorex-modules-auth-routes-C7r2Jm6s.mjs.map → acorex-modules-auth-routes-D1JZT2cF.mjs.map} +1 -1
  115. package/fesm2022/{acorex-modules-auth-two-factor.module-BgkJYe7T.mjs → acorex-modules-auth-two-factor.module-C28ix6Wr.mjs} +2 -2
  116. package/fesm2022/{acorex-modules-auth-two-factor.module-BgkJYe7T.mjs.map → acorex-modules-auth-two-factor.module-C28ix6Wr.mjs.map} +1 -1
  117. package/fesm2022/acorex-modules-auth.mjs +1 -1
  118. package/fesm2022/acorex-modules-backend.mjs +40 -232
  119. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  120. package/fesm2022/acorex-modules-conversation.mjs +550 -0
  121. package/fesm2022/acorex-modules-conversation.mjs.map +1 -0
  122. package/fesm2022/acorex-modules-form-management.mjs +63 -7
  123. package/fesm2022/acorex-modules-form-management.mjs.map +1 -1
  124. package/fesm2022/acorex-modules-notification-management.mjs +594 -63
  125. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  126. package/fesm2022/acorex-modules-platform-management.mjs +757 -0
  127. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -0
  128. package/fesm2022/acorex-modules-template-management.mjs +618 -204
  129. package/fesm2022/acorex-modules-template-management.mjs.map +1 -1
  130. package/form-management/lib/form-management.module.d.ts +2 -2
  131. package/form-management/lib/menu.provider.d.ts +5 -0
  132. package/notification-management/index.d.ts +2 -0
  133. package/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.d.ts +0 -4
  134. package/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.d.ts +7 -2
  135. package/{template-management/lib/entities/global-template.entity.d.ts → notification-management/lib/entities/my-notification.d.ts} +1 -1
  136. package/notification-management/lib/entities/notification-log.entity.d.ts +3 -0
  137. package/notification-management/lib/entity.loader.d.ts +9 -0
  138. package/notification-management/lib/menu.provider.d.ts +5 -0
  139. package/notification-management/lib/notification-management-mock-data.d.ts +2 -3
  140. package/notification-management/lib/notification-management.module.d.ts +1 -7
  141. package/notification-management/lib/notification-management.service.d.ts +2 -2
  142. package/notification-management/lib/notification-management.type.d.ts +1 -1
  143. package/notification-management/lib/notification.service.d.ts +3 -4
  144. package/package.json +18 -12
  145. package/platform-management/README.md +4 -0
  146. package/platform-management/index.d.ts +4 -0
  147. package/platform-management/lib/comments/comment-management.service.d.ts +10 -0
  148. package/platform-management/lib/global-variables/entities/global-variable.entity.d.ts +3 -0
  149. package/platform-management/lib/global-variables/entity.loader.d.ts +9 -0
  150. package/platform-management/lib/global-variables/global-variables.service.d.ts +10 -0
  151. package/platform-management/lib/global-variables/global-variables.types.d.ts +7 -0
  152. package/platform-management/lib/global-variables/index.d.ts +4 -0
  153. package/platform-management/lib/languages/entity.loader.d.ts +9 -0
  154. package/platform-management/lib/languages/index.d.ts +4 -0
  155. package/platform-management/lib/languages/language-management.service.d.ts +10 -0
  156. package/platform-management/lib/languages/language.types.d.ts +5 -0
  157. package/platform-management/lib/menu.provider.d.ts +5 -0
  158. package/platform-management/lib/platform-management.module.d.ts +6 -0
  159. package/template-management/index.d.ts +6 -2
  160. package/template-management/lib/entities/category.entity.d.ts +3 -0
  161. package/template-management/lib/entities/index.d.ts +3 -0
  162. package/template-management/lib/entities/template-variable.entity.d.ts +1 -1
  163. package/template-management/lib/entities/text-template.entity.d.ts +3 -0
  164. package/template-management/lib/entity.loader.d.ts +9 -0
  165. package/template-management/lib/menu.provider.d.ts +5 -0
  166. package/template-management/lib/template-management.module.d.ts +4 -10
  167. package/template-management/lib/template-management.types.d.ts +19 -0
  168. package/template-management/lib/template.service.d.ts +10 -0
  169. package/template-management/lib/text-management.source.d.ts +2 -0
  170. package/template-management/lib/text-template-category.service.d.ts +10 -0
  171. package/backend/lib/data/api/comment.mock.service.d.ts +0 -62
  172. package/backend/lib/data/api/notification.mock.service.d.ts +0 -34
  173. package/esm2022/backend/lib/data/api/comment.mock.service.mjs +0 -142
  174. package/esm2022/backend/lib/data/api/notification.mock.service.mjs +0 -71
  175. package/esm2022/language-management/index.mjs +0 -2
  176. package/esm2022/language-management/lib/entities/language.entity.mjs +0 -242
  177. package/esm2022/language-management/lib/language-management.module.mjs +0 -39
  178. package/esm2022/language-management/lib/notification-management.service.mjs +0 -23
  179. package/esm2022/template-management/lib/entities/global-template.entity.mjs +0 -298
  180. package/esm2022/template-management/lib/template-management-mock-data.mjs +0 -11
  181. package/esm2022/template-management/lib/template-management.service.mjs +0 -24
  182. package/fesm2022/acorex-modules-auth-acorex-modules-auth-iGiPFEeb.mjs.map +0 -1
  183. package/fesm2022/acorex-modules-auth-password.component-CxZ1weks.mjs.map +0 -1
  184. package/fesm2022/acorex-modules-language-management-language.entity-CwD5FHGc.mjs +0 -266
  185. package/fesm2022/acorex-modules-language-management-language.entity-CwD5FHGc.mjs.map +0 -1
  186. package/fesm2022/acorex-modules-language-management.mjs +0 -46
  187. package/fesm2022/acorex-modules-language-management.mjs.map +0 -1
  188. package/language-management/README.md +0 -3
  189. package/language-management/index.d.ts +0 -1
  190. package/language-management/lib/language-management.module.d.ts +0 -12
  191. package/language-management/lib/notification-management.service.d.ts +0 -9
  192. package/template-management/lib/template-management-mock-data.d.ts +0 -7
  193. package/template-management/lib/template-management.service.d.ts +0 -9
  194. /package/{language-management/lib → platform-management/lib/languages}/entities/language.entity.d.ts +0 -0
@@ -1,11 +1,12 @@
1
- import { AXPEntityDetailViewModelResolver, AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';
2
- import { AXPEntityDetailListViewComponent, AXPRootLayoutComponent } from '@acorex/platform/themes/default';
1
+ import { isSmallScreen, getChildDrawer, AXPStickyDirective, AXPGridLayoutDirective, AXMEntityCrudServiceImpl, AXPWorkflowNavigateAction, AXP_MENU_PROVIDER, AXPDataGenerator, AXPEntityStorageService, AXPEntityDataProviderImpl, AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
2
+ import { AXPEntityDetailViewModelResolver, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
3
3
  import * as i1$1 from '@acorex/platform/workflow';
4
4
  import { AXPWorkflowService, AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
5
5
  import * as i0 from '@angular/core';
6
- import { inject, signal, Component, ChangeDetectionStrategy, Injectable, Injector, NgModule, Optional, Inject } from '@angular/core';
6
+ import { inject, signal, Component, ChangeDetectionStrategy, Injector, Injectable, NgModule, Optional, Inject } from '@angular/core';
7
7
  import * as i2 from '@angular/router';
8
8
  import { ActivatedRoute, RouterModule } from '@angular/router';
9
+ import { AXPEntityDetailListViewComponent, AXPRootLayoutComponent } from '@acorex/platform/themes/default';
9
10
  import { AXActionSheetModule } from '@acorex/components/action-sheet';
10
11
  import * as i8 from '@acorex/components/breadcrumbs';
11
12
  import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
@@ -23,8 +24,7 @@ import { AXLoadingModule } from '@acorex/components/loading';
23
24
  import { AXPopoverModule } from '@acorex/components/popover';
24
25
  import * as i6 from '@acorex/components/tabs';
25
26
  import { AXTabsModule } from '@acorex/components/tabs';
26
- import { AXTranslationModule } from '@acorex/core/translation';
27
- import { isSmallScreen, getChildDrawer, AXPStickyDirective, AXPGridLayoutDirective, AXPWorkflowNavigateAction, AXPDataGenerator, AXPEntityStorageService, AXPEntityDataProviderImpl, AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
27
+ import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
28
28
  import * as i9 from '@acorex/platform/layout/builder';
29
29
  import { AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
30
30
  import { AXPWidgetsModule } from '@acorex/platform/widgets';
@@ -56,7 +56,7 @@ class AXPModuleEntityDetailViewComponent {
56
56
  this.vm.destroy();
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPModuleEntityDetailViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPModuleEntityDetailViewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\"\n>\n <div\n class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\"\n [stickyOffset]=\"30\"\n >\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item\n [active]=\"last\"\n [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\"\n >\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item\n [text]=\"tr.title\"\n class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!-- Start Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-4\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button\n class=\"ax-xs\"\n color=\"ghost\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n @if(vm.relatedEntities().length) {\n <ax-tabs\n [look]=\"'with-line'\"\n class=\"ax-mt-2 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index !== selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i5.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i6.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i6.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i7.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i7.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i7.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i8.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i8.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type:
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPModuleEntityDetailViewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyOffset]=\"30\">\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\" [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!-- Start Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-4\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button class=\"ax-xs\" color=\"ghost\" [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\">\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n @if(vm.relatedEntities().length) {\n <ax-tabs [look]=\"'with-line'\" class=\"ax-mt-2 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index !== selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i5.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i6.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i6.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i7.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i7.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i7.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i8.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i8.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type:
60
60
  //
61
61
  AXPLayoutBuilderModule }, { kind: "component", type: i9.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "component", type: i9.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[gridLayout]", inputs: ["gridLayout"] }, { kind: "ngmodule", type:
62
62
  //
@@ -86,9 +86,141 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
86
86
  //
87
87
  AXTranslationModule,
88
88
  AXPEntityDetailListViewComponent,
89
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\"\n>\n <div\n class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\"\n [stickyOffset]=\"30\"\n >\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item\n [active]=\"last\"\n [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\"\n >\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item\n [text]=\"tr.title\"\n class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!-- Start Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-4\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button\n class=\"ax-xs\"\n color=\"ghost\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n @if(vm.relatedEntities().length) {\n <ax-tabs\n [look]=\"'with-line'\"\n class=\"ax-mt-2 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index !== selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n</div>\n" }]
89
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyOffset]=\"30\">\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\" [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!-- Start Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-4\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button class=\"ax-xs\" color=\"ghost\" [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\">\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n @if(vm.relatedEntities().length) {\n <ax-tabs [look]=\"'with-line'\" class=\"ax-mt-2 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index !== selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n</div>" }]
90
90
  }] });
91
91
 
92
+ const AXMApplcationManagementroutes = [
93
+ {
94
+ component: AXPRootLayoutComponent,
95
+ path: 'console',
96
+ children: [
97
+ {
98
+ path: 'module-designer',
99
+ loadComponent: () => import('./acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs').then((c) => c.AXMModuleDesignerComponent),
100
+ children: [
101
+ {
102
+ path: 'm/:module',
103
+ children: [
104
+ {
105
+ path: 'e/:entity/:id/view',
106
+ resolve: { vm: AXPEntityDetailViewModelResolver },
107
+ component: AXPModuleEntityDetailViewComponent,
108
+ },
109
+ ],
110
+ data: { reuse: false },
111
+ },
112
+ ],
113
+ },
114
+ ],
115
+ },
116
+ ];
117
+
118
+ class AXMApplicationManagementModuleEntityLoader {
119
+ constructor() {
120
+ this.injector = inject(Injector);
121
+ }
122
+ async get(moduleName, entityName) {
123
+ return new Promise(async (resolve) => {
124
+ switch (entityName) {
125
+ case 'module': {
126
+ const entity = (await Promise.resolve().then(function () { return modules_entity; })).modulesEntityFactory;
127
+ resolve(entity(this.injector));
128
+ break;
129
+ }
130
+ case 'feature': {
131
+ const entity = (await Promise.resolve().then(function () { return feature_entity; })).featureEntityFactory;
132
+ resolve(entity(this.injector));
133
+ break;
134
+ }
135
+ case 'entity': {
136
+ const entity = (await Promise.resolve().then(function () { return entity_entity; })).entityEntityFactory;
137
+ resolve(entity(this.injector));
138
+ break;
139
+ }
140
+ case 'permission': {
141
+ const entity = (await Promise.resolve().then(function () { return permission_entity; })).permissionEntityFactory;
142
+ resolve(entity(this.injector));
143
+ break;
144
+ }
145
+ case 'property': {
146
+ const entity = (await Promise.resolve().then(function () { return property_entity; })).propertyEntityFactory;
147
+ resolve(entity(this.injector));
148
+ break;
149
+ }
150
+ default:
151
+ resolve(null);
152
+ }
153
+ });
154
+ }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModuleEntityLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
156
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModuleEntityLoader }); }
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModuleEntityLoader, decorators: [{
159
+ type: Injectable
160
+ }] });
161
+
162
+ class AXMApplicationManagmentModuleMenuProvider {
163
+ constructor() {
164
+ this.translateService = inject(AXTranslationService);
165
+ }
166
+ async items() {
167
+ const scope = 'platform'; // This scope should be used to load the translations from platform.json or platform.fa.json
168
+ return [
169
+ {
170
+ items: [
171
+ {
172
+ priority: 9001,
173
+ text: await this.translateService.translateAsync('applicationManagement', { scope }),
174
+ icon: 'fa-solid fa-cogs',
175
+ children: [
176
+ {
177
+ text: await this.translateService.translateAsync('moduleDesigner', { scope }),
178
+ path: '/console/module-designer',
179
+ icon: 'fa-solid fa-cog',
180
+ data: {},
181
+ },
182
+ ],
183
+ },
184
+ ],
185
+ },
186
+ ];
187
+ }
188
+ }
189
+
190
+ const APPLICATION_SOURCE_NAME = 'application-management.application';
191
+ const MODULE_SOURCE_NAME = 'application-management.module';
192
+ const ENTITY_SOURCE_NAME = 'application-management.entity';
193
+ const PERMISSION_SOURCE_NAME = 'application-management.permission';
194
+ const FEATURE_SOURCE_NAME = 'application-management.feature';
195
+ const EDITION_SOURCE_NAME = 'application-management.edition';
196
+ const PROPERTY_SOURCE_NAME = 'application-management.property';
197
+
198
+ class AXMApplicationService extends AXMEntityCrudServiceImpl {
199
+ }
200
+ class AXMApplicationServiceImpl extends AXMEntityCrudServiceImpl {
201
+ constructor() {
202
+ super(APPLICATION_SOURCE_NAME);
203
+ }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
205
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationServiceImpl }); }
206
+ }
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationServiceImpl, decorators: [{
208
+ type: Injectable
209
+ }], ctorParameters: () => [] });
210
+
211
+ class AXMModuleService extends AXMEntityCrudServiceImpl {
212
+ }
213
+ class AXMModuleServiceImpl extends AXMEntityCrudServiceImpl {
214
+ constructor() {
215
+ super(MODULE_SOURCE_NAME);
216
+ }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
218
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleServiceImpl }); }
219
+ }
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleServiceImpl, decorators: [{
221
+ type: Injectable
222
+ }], ctorParameters: () => [] });
223
+
92
224
  class AXPShowModuleEntityDetailViewAction extends AXPWorkflowAction {
93
225
  constructor() {
94
226
  super(...arguments);
@@ -160,52 +292,28 @@ const AXPShowModuleEntityDetailsViewWorkflow = {
160
292
  },
161
293
  };
162
294
 
163
- const routes = [
164
- {
165
- component: AXPRootLayoutComponent,
166
- path: 'console',
167
- children: [
168
- {
169
- path: 'module-designer',
170
- loadComponent: () => import('./acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs').then((c) => c.AXMModuleDesignerComponent),
171
- children: [
172
- {
173
- path: 'm/:module',
174
- children: [
175
- {
176
- path: 'e/:entity/:id/view',
177
- resolve: { vm: AXPEntityDetailViewModelResolver },
178
- component: AXPModuleEntityDetailViewComponent,
179
- },
180
- ],
181
- data: { reuse: false },
182
- },
183
- ],
184
- },
185
- ],
186
- },
187
- ];
188
295
  class AXMApplicationManagementModule {
189
296
  static forRoot() {
190
297
  return {
191
298
  ngModule: AXMApplicationManagementModule,
192
299
  providers: [
193
300
  {
194
- provide: 'AXP_REGISTER_MODULES_ENTITIES',
195
- useFactory: async (entityRegistry, injector) => {
196
- const modulesEntity = await (await Promise.resolve().then(function () { return modules_entity; })).modulesEntityFactory(injector);
197
- entityRegistry.register(modulesEntity);
198
- //
199
- const entityEntity = await (await Promise.resolve().then(function () { return entity_entity; })).entityEntityFactory(injector);
200
- entityRegistry.register(entityEntity);
201
- //
202
- const permissionEntity = await (await Promise.resolve().then(function () { return permission_entity; })).permissionEntityFactory(injector);
203
- entityRegistry.register(permissionEntity);
204
- //
205
- const featureEntity = await (await Promise.resolve().then(function () { return feature_entity; })).featureEntityFactory(injector);
206
- entityRegistry.register(featureEntity);
207
- },
208
- deps: [AXPEntityDefinitionRegistryService, Injector], // Add any dependencies if needed
301
+ provide: AXP_ENTITY_DEFINITION_LOADER,
302
+ useClass: AXMApplicationManagementModuleEntityLoader,
303
+ multi: true,
304
+ },
305
+ {
306
+ provide: AXP_MENU_PROVIDER,
307
+ useClass: AXMApplicationManagmentModuleMenuProvider,
308
+ multi: true,
309
+ },
310
+ {
311
+ provide: AXMModuleService,
312
+ useClass: AXMModuleServiceImpl,
313
+ },
314
+ {
315
+ provide: AXMApplicationService,
316
+ useClass: AXMApplicationServiceImpl,
209
317
  },
210
318
  ],
211
319
  };
@@ -225,7 +333,7 @@ class AXMApplicationManagementModule {
225
333
  'show-module-entity-details': AXPShowModuleEntityDetailsViewWorkflow,
226
334
  },
227
335
  }),
228
- RouterModule.forChild(routes)] }); }
336
+ RouterModule.forChild(AXMApplcationManagementroutes)] }); }
229
337
  }
230
338
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, decorators: [{
231
339
  type: NgModule,
@@ -240,7 +348,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
240
348
  'show-module-entity-details': AXPShowModuleEntityDetailsViewWorkflow,
241
349
  },
242
350
  }),
243
- RouterModule.forChild(routes),
351
+ RouterModule.forChild(AXMApplcationManagementroutes),
244
352
  ],
245
353
  exports: [],
246
354
  declarations: [],
@@ -364,12 +472,6 @@ class AXPApplicationManagementService {
364
472
  constructor(injector) {
365
473
  const storageService = injector.get(AXPEntityStorageService);
366
474
  //
367
- this._applicationDataProvider = new AXPEntityDataProviderImpl(storageService, 'applications');
368
- this._applicationDataProvider.initial(APPLICATIONS);
369
- //
370
- this._moduleDataProvider = new AXPEntityDataProviderImpl(storageService, 'modules');
371
- this._moduleDataProvider.initial(MODULES);
372
- //
373
475
  this._applicationModuleDataProvider = new AXPEntityDataProviderImpl(storageService, 'applications-modules');
374
476
  this._applicationModuleDataProvider.initial(APPLICATIONS_MODULES);
375
477
  //
@@ -388,12 +490,6 @@ class AXPApplicationManagementService {
388
490
  this._permissionDataProvider = new AXPEntityDataProviderImpl(storageService, 'permissions');
389
491
  this._permissionDataProvider.initial(PERMISSIONS);
390
492
  }
391
- get applicationDataProvider() {
392
- return this._applicationDataProvider;
393
- }
394
- get moduleDataProvider() {
395
- return this._moduleDataProvider;
396
- }
397
493
  get applicationModuleDataProvider() {
398
494
  return this._applicationModuleDataProvider;
399
495
  }
@@ -421,6 +517,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
421
517
  providedIn: 'root',
422
518
  }]
423
519
  }], ctorParameters: () => [{ type: i0.Injector }] });
520
+ class AXMApplicationModuleService extends AXMEntityCrudServiceImpl {
521
+ }
522
+ class AXMEntityService extends AXMEntityCrudServiceImpl {
523
+ }
524
+ class AXMEditionService extends AXMEntityCrudServiceImpl {
525
+ }
526
+ class AXMFeatureService extends AXMEntityCrudServiceImpl {
527
+ }
528
+ class AXMPermissionService extends AXMEntityCrudServiceImpl {
529
+ }
530
+ class AXMPropertyService extends AXMEntityCrudServiceImpl {
531
+ }
424
532
 
425
533
  async function applicationModuleEntityFactory(injector) {
426
534
  const dataService = injector.get(AXPApplicationManagementService);
@@ -692,7 +800,7 @@ async function applicationModuleEntityFactory(injector) {
692
800
  }
693
801
 
694
802
  async function applicationEntityFactory(injector) {
695
- const dataService = injector.get(AXPApplicationManagementService);
803
+ const dataService = injector.get(AXMApplicationService);
696
804
  const applicationEntityDef = {
697
805
  module: 'application-management',
698
806
  name: 'application',
@@ -776,13 +884,13 @@ async function applicationEntityFactory(injector) {
776
884
  create: {
777
885
  execute: async (data) => {
778
886
  const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });
779
- dataService.applicationDataProvider.insertOne(entity);
887
+ dataService.insertOne(entity);
780
888
  return Promise.resolve(entity);
781
889
  },
782
890
  },
783
891
  delete: {
784
892
  execute: async (id) => {
785
- await await dataService.applicationDataProvider.deleteOne(id);
893
+ await await dataService.deleteOne(id);
786
894
  return Promise.resolve();
787
895
  },
788
896
  },
@@ -790,7 +898,7 @@ async function applicationEntityFactory(injector) {
790
898
  execute: async (data) => {
791
899
  return new Promise((resolve) => {
792
900
  setTimeout(async () => {
793
- await dataService.applicationDataProvider.updateOne(data.id, data);
901
+ await dataService.updateOne(data.id, data);
794
902
  resolve(data);
795
903
  }, 1000);
796
904
  });
@@ -802,7 +910,7 @@ async function applicationEntityFactory(injector) {
802
910
  execute: async (id) => {
803
911
  return new Promise((resolve) => {
804
912
  setTimeout(async () => {
805
- const entity = await dataService.applicationDataProvider.getOne(id);
913
+ const entity = await dataService.getOne(id);
806
914
  resolve(entity);
807
915
  }, 500);
808
916
  });
@@ -811,7 +919,7 @@ async function applicationEntityFactory(injector) {
811
919
  },
812
920
  list: {
813
921
  execute: async (e) => {
814
- const list = await dataService.applicationDataProvider.getAll();
922
+ const list = await dataService.query(e);
815
923
  const sortedItems = applySortArray(list, e.sort);
816
924
  const filteredItems = applyFilterArray(sortedItems, e.filter ? [e.filter] : []);
817
925
  return Promise.resolve({
@@ -1863,7 +1971,7 @@ var feature_entity = /*#__PURE__*/Object.freeze({
1863
1971
  });
1864
1972
 
1865
1973
  async function modulesEntityFactory(injector) {
1866
- const dataService = injector.get(AXPApplicationManagementService);
1974
+ const dataService = injector.get(AXMModuleService);
1867
1975
  const entityDef = {
1868
1976
  module: 'application-management',
1869
1977
  name: 'module',
@@ -1960,13 +2068,13 @@ async function modulesEntityFactory(injector) {
1960
2068
  create: {
1961
2069
  execute: async (data) => {
1962
2070
  const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });
1963
- dataService.moduleDataProvider.insertOne(entity);
2071
+ dataService.insertOne(entity);
1964
2072
  return Promise.resolve(entity);
1965
2073
  },
1966
2074
  },
1967
2075
  delete: {
1968
2076
  execute: async (id) => {
1969
- await await dataService.moduleDataProvider.deleteOne(id);
2077
+ await await dataService.deleteOne(id);
1970
2078
  return Promise.resolve();
1971
2079
  },
1972
2080
  },
@@ -1974,7 +2082,7 @@ async function modulesEntityFactory(injector) {
1974
2082
  execute: async (data) => {
1975
2083
  return new Promise((resolve) => {
1976
2084
  setTimeout(async () => {
1977
- await dataService.moduleDataProvider.updateOne(data.id, data);
2085
+ await dataService.updateOne(data.id, data);
1978
2086
  resolve(data);
1979
2087
  }, 1000);
1980
2088
  });
@@ -1986,7 +2094,7 @@ async function modulesEntityFactory(injector) {
1986
2094
  execute: async (id) => {
1987
2095
  return new Promise((resolve) => {
1988
2096
  setTimeout(async () => {
1989
- const entity = await dataService.moduleDataProvider.getOne(id);
2097
+ const entity = await dataService.getOne(id);
1990
2098
  resolve(entity);
1991
2099
  }, 500);
1992
2100
  });
@@ -1995,13 +2103,11 @@ async function modulesEntityFactory(injector) {
1995
2103
  },
1996
2104
  list: {
1997
2105
  execute: async (e) => {
1998
- const list = await dataService.moduleDataProvider.getAll();
1999
- const sortedItems = applySortArray(list, e.sort);
2000
- const filteredItems = applyFilterArray(sortedItems, e.filter ? [e.filter] : []);
2001
- return Promise.resolve({
2002
- total: filteredItems.length,
2003
- items: filteredItems.slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),
2004
- });
2106
+ const data = await dataService.query(e);
2107
+ return {
2108
+ total: data.totalCount,
2109
+ items: data.items,
2110
+ };
2005
2111
  },
2006
2112
  type: AXPEntityQueryType.List,
2007
2113
  },
@@ -2607,7 +2713,6 @@ async function propertyEntityFactory(injector) {
2607
2713
  },
2608
2714
  update: {
2609
2715
  execute: async (data) => {
2610
- debugger;
2611
2716
  return new Promise((resolve) => {
2612
2717
  setTimeout(async () => {
2613
2718
  await dataService.propertyDataProvider.updateOne(data.id, data);
@@ -2919,6 +3024,11 @@ async function propertyEntityFactory(injector) {
2919
3024
  return entityDef;
2920
3025
  }
2921
3026
 
3027
+ var property_entity = /*#__PURE__*/Object.freeze({
3028
+ __proto__: null,
3029
+ propertyEntityFactory: propertyEntityFactory
3030
+ });
3031
+
2922
3032
  class AXPModuleDesignerService {
2923
3033
  }
2924
3034
 
@@ -2926,5 +3036,5 @@ class AXPModuleDesignerService {
2926
3036
  * Generated bundle index. Do not edit.
2927
3037
  */
2928
3038
 
2929
- export { AXMApplicationManagementModule, AXPApplicationManagementService, AXPModuleDesignerService, applicationEntityFactory, applicationModuleEntityFactory, editionEntityFactory, entityEntityFactory, featureEntityFactory, modulesEntityFactory, permissionEntityFactory, propertyEntityFactory, routes };
3039
+ export { APPLICATION_SOURCE_NAME, AXMApplicationManagementModule, AXMApplicationModuleService, AXMEditionService, AXMEntityService, AXMFeatureService, AXMPermissionService, AXMPropertyService, AXPApplicationManagementService, AXPModuleDesignerService, EDITION_SOURCE_NAME, ENTITY_SOURCE_NAME, FEATURE_SOURCE_NAME, MODULE_SOURCE_NAME, PERMISSION_SOURCE_NAME, PROPERTY_SOURCE_NAME, applicationEntityFactory, applicationModuleEntityFactory, editionEntityFactory, entityEntityFactory, featureEntityFactory, modulesEntityFactory, permissionEntityFactory, propertyEntityFactory };
2930
3040
  //# sourceMappingURL=acorex-modules-application-management.mjs.map