@acorex/platform 19.3.8 → 19.4.2

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 (185) hide show
  1. package/auth/lib/permission/permission-definition.builder.d.ts +2 -2
  2. package/auth/lib/permission/permission.types.d.ts +1 -1
  3. package/common/index.d.ts +0 -1
  4. package/common/lib/layout/index.d.ts +0 -2
  5. package/common/lib/layout/menu/badge-helper.d.ts +2 -2
  6. package/core/index.d.ts +8 -1
  7. package/core/lib/context/context-store.service.d.ts +37 -0
  8. package/core/lib/directives/content-checker.directive.d.ts +10 -0
  9. package/core/lib/directives/index.d.ts +1 -0
  10. package/core/lib/expression-evaluator/expression-evaluator-scope-provider.service.d.ts +23 -0
  11. package/core/lib/expression-evaluator/expression-evaluator.service.d.ts +2 -0
  12. package/core/lib/expression-evaluator/index.d.ts +1 -0
  13. package/core/lib/types/interactive.types.d.ts +1 -0
  14. package/domain/README.md +3 -0
  15. package/domain/index.d.ts +2 -0
  16. package/domain/lib/domain.module.d.ts +8 -0
  17. package/domain/lib/provide-entity-crud-commands.d.ts +4 -0
  18. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-common.mjs +2 -202
  20. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-core.mjs +312 -127
  22. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-domain.mjs +71 -0
  24. package/fesm2022/acorex-platform-domain.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-layout-builder.mjs +5 -1
  26. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-components.mjs +665 -3
  28. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-layout-entity.mjs +61 -16
  30. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-layout-views.mjs +442 -3
  32. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-runtime.mjs +448 -0
  34. package/fesm2022/acorex-platform-runtime.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-themes-default-details-view.component-w1GLOu_c.mjs → acorex-platform-themes-default-details-view.component-DXwO-Euo.mjs} +7 -8
  36. package/fesm2022/acorex-platform-themes-default-details-view.component-DXwO-Euo.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-pLcvobi-.mjs +112 -0
  38. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-pLcvobi-.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C8rL7vLD.mjs → acorex-platform-themes-default-entity-master-list-view.component-CIFq0eeQ.mjs} +15 -14
  40. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CIFq0eeQ.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-qu3j-fxn.mjs → acorex-platform-themes-default-entity-master-single-view.component-Dbf3kR4Z.mjs} +34 -13
  42. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Dbf3kR4Z.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-themes-default.mjs +54 -291
  44. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-themes-shared.mjs +10 -417
  46. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  47. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-i8FcuktZ.mjs → acorex-platform-widgets-button-widget-designer.component-Y6Ip7pnQ.mjs} +4 -4
  48. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-Y6Ip7pnQ.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-BQcHI7vG.mjs → acorex-platform-widgets-checkbox-widget-column.component-Bq8dCQJb.mjs} +3 -3
  50. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Bq8dCQJb.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-BZkftryb.mjs → acorex-platform-widgets-rich-text-popup.component-CtZlLmEp.mjs} +3 -3
  52. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CtZlLmEp.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-DZD9AEmz.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-Dg0d9DbZ.mjs} +5 -5
  54. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-DZD9AEmz.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-Dg0d9DbZ.mjs.map} +1 -1
  55. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-CQT2kgt3.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CB1YeddQ.mjs} +4 -4
  56. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CB1YeddQ.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-widgets.mjs +511 -94
  58. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  59. package/fesm2022/acorex-platform-workflow.mjs +103 -6
  60. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  61. package/layout/builder/lib/builder/widget-base.component.d.ts +1 -0
  62. package/layout/builder/lib/builder/widget-map.d.ts +1 -0
  63. package/layout/components/index.d.ts +3 -0
  64. package/{common/lib/layout/task-badge → layout/components/lib/badge}/index.d.ts +1 -0
  65. package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/index.d.ts +1 -0
  66. package/layout/components/lib/blocks/layout-blocks.component.d.ts +8 -0
  67. package/layout/components/lib/blocks/layout-container.component.d.ts +13 -0
  68. package/layout/components/lib/component-slot/component-slot.directive.d.ts +46 -0
  69. package/layout/components/lib/component-slot/component-slot.types.d.ts +23 -0
  70. package/{common/lib/layout → layout/components/lib}/component-slot/index.d.ts +0 -1
  71. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +4 -4
  72. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +1 -1
  73. package/layout/entity/lib/workflows/modify-entity.workflow.d.ts +6 -0
  74. package/layout/views/index.d.ts +2 -1
  75. package/layout/views/lib/layouts/index.d.ts +2 -0
  76. package/layout/views/lib/layouts/page/index.d.ts +3 -0
  77. package/{themes/default/lib/layouts/base/base-page.component.d.ts → layout/views/lib/layouts/page/page-layout-base.component.d.ts} +6 -4
  78. package/{themes/default/lib/layouts/base/base-page.types.d.ts → layout/views/lib/layouts/page/page-layout.base.d.ts} +1 -1
  79. package/{themes/default/lib/layouts/base/page-layout → layout/views/lib/layouts/page}/page-layout.component.d.ts +4 -2
  80. package/layout/views/lib/layouts/popup/index.d.ts +3 -0
  81. package/layout/views/lib/layouts/popup/popup-layout-base.component.d.ts +98 -0
  82. package/layout/views/lib/layouts/popup/popup-layout.base.d.ts +14 -0
  83. package/layout/views/lib/layouts/popup/popup-layout.component.d.ts +76 -0
  84. package/layout/views/lib/{details-view → views/details-view}/details-view.adapter.d.ts +1 -1
  85. package/layout/views/lib/views/index.d.ts +1 -0
  86. package/package.json +15 -7
  87. package/runtime/README.md +3 -0
  88. package/runtime/index.d.ts +17 -0
  89. package/runtime/lib/commands/command.extension.token.d.ts +7 -0
  90. package/runtime/lib/commands/command.interface.d.ts +3 -0
  91. package/runtime/lib/commands/command.middleware.d.ts +2 -0
  92. package/runtime/lib/commands/command.registry.d.ts +16 -0
  93. package/runtime/lib/commands/provide-command-middleware.d.ts +9 -0
  94. package/runtime/lib/commands/provide-command-setups.d.ts +9 -0
  95. package/runtime/lib/policy/policy-middleware-provider.d.ts +9 -0
  96. package/runtime/lib/policy/policy.directive.d.ts +9 -0
  97. package/runtime/lib/policy/policy.extension.token.d.ts +7 -0
  98. package/runtime/lib/policy/policy.interface.d.ts +17 -0
  99. package/runtime/lib/policy/policy.middleware.d.ts +3 -0
  100. package/runtime/lib/policy/policy.registry.d.ts +19 -0
  101. package/runtime/lib/policy/policy.service.d.ts +8 -0
  102. package/runtime/lib/policy/policy.types.d.ts +7 -0
  103. package/runtime/lib/queries/provide-query-middleware.d.ts +9 -0
  104. package/runtime/lib/queries/provide-query-setups.d.ts +9 -0
  105. package/runtime/lib/queries/query.extension.token.d.ts +7 -0
  106. package/runtime/lib/queries/query.interface.d.ts +3 -0
  107. package/runtime/lib/queries/query.middleware.d.ts +2 -0
  108. package/runtime/lib/queries/query.registry.d.ts +15 -0
  109. package/runtime/lib/runtime.module.d.ts +12 -0
  110. package/themes/default/index.d.ts +0 -1
  111. package/themes/default/lib/layouts/details-view/details-view.component.d.ts +2 -2
  112. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +2 -2
  113. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +29 -2
  114. package/themes/default/lib/layouts/root-layout/components/horizontal-menu/horizontal-menu.component.d.ts +2 -1
  115. package/themes/default/lib/layouts/root-layout/components/side-menu/side-menu.component.d.ts +2 -1
  116. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +1 -0
  117. package/themes/shared/index.d.ts +1 -3
  118. package/themes/shared/lib/shared.module.d.ts +1 -1
  119. package/themes/shared/lib/{components/slots → slots}/theme-slot.component.d.ts +9 -9
  120. package/widgets/lib/widgets/advance/avatar/avatar-widget-column.component.d.ts +1 -1
  121. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.d.ts +1 -1
  122. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget-column.component.d.ts +6 -0
  123. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget-edit.component.d.ts +30 -0
  124. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget-filter.component.d.ts +6 -0
  125. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget-print.component.d.ts +6 -0
  126. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget-view.component.d.ts +31 -0
  127. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget.config.d.ts +7 -0
  128. package/widgets/lib/widgets/advance/file-uploader/file-uploader-widget.service.d.ts +12 -0
  129. package/widgets/lib/widgets/advance/file-uploader/index.d.ts +7 -0
  130. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.d.ts +1 -1
  131. package/widgets/lib/widgets/editors/color/color-box-widget-column.component.d.ts +1 -1
  132. package/widgets/lib/widgets/editors/contact/contact-widget-column.component.d.ts +1 -1
  133. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +1 -1
  134. package/widgets/lib/widgets/editors/email/email-box-widget-column.component.d.ts +1 -1
  135. package/widgets/lib/widgets/editors/large-text/large-text-widget-column.component.d.ts +1 -1
  136. package/widgets/lib/widgets/editors/link/link-widget-column.component.d.ts +1 -1
  137. package/widgets/lib/widgets/editors/meta-data/meta-data-widget-column.component.d.ts +1 -1
  138. package/widgets/lib/widgets/editors/number/number-box-widget-column.component.d.ts +1 -1
  139. package/widgets/lib/widgets/editors/number-unit/number-unit-box-widget-column.component.d.ts +1 -1
  140. package/widgets/lib/widgets/editors/password/password-box-widget-column.component.d.ts +1 -1
  141. package/widgets/lib/widgets/editors/phone/phone-box-widget-column.component.d.ts +1 -1
  142. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-column.component.d.ts +1 -1
  143. package/widgets/lib/widgets/editors/select/select-box-widget-column.component.d.ts +1 -1
  144. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.d.ts +1 -1
  145. package/widgets/lib/widgets/editors/tabular-data/tabular-data-column.component.d.ts +1 -1
  146. package/widgets/lib/widgets/editors/text/text-box-widget-column.component.d.ts +1 -1
  147. package/widgets/lib/widgets/editors/time-duration/time-duration-widget-column.component.d.ts +1 -1
  148. package/widgets/lib/widgets/editors/toggle/toggle-widget-column.component.d.ts +1 -1
  149. package/widgets/lib/widgets/index.d.ts +1 -0
  150. package/workflow/lib/slots/workflow-action-bar/workflow-action-bar.component.d.ts +36 -0
  151. package/workflow/lib/workflow-evaluator-scope.provider.d.ts +4 -0
  152. package/workflow/lib/workflow.module.d.ts +2 -1
  153. package/common/lib/layout/beardcrumb.type.d.ts +0 -6
  154. package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +0 -11
  155. package/common/lib/layout/component-slot/component-slot.directive.d.ts +0 -12
  156. package/common/lib/layout/component-slot/component-slot.types.d.ts +0 -15
  157. package/core/lib/index.d.ts +0 -7
  158. package/fesm2022/acorex-platform-themes-default-details-view.component-w1GLOu_c.mjs.map +0 -1
  159. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BWsMbHQS.mjs +0 -112
  160. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BWsMbHQS.mjs.map +0 -1
  161. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-C8rL7vLD.mjs.map +0 -1
  162. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-qu3j-fxn.mjs.map +0 -1
  163. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-i8FcuktZ.mjs.map +0 -1
  164. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BQcHI7vG.mjs.map +0 -1
  165. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-BZkftryb.mjs.map +0 -1
  166. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CQT2kgt3.mjs.map +0 -1
  167. package/themes/default/lib/layouts/base/index.d.ts +0 -3
  168. package/themes/default/lib/layouts/base/page-layout/index.d.ts +0 -1
  169. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +0 -8
  170. /package/{themes/shared/lib/components → layout/components/lib}/badge/badge.directive.d.ts +0 -0
  171. /package/{common/lib/layout/task-badge → layout/components/lib/badge}/task-badge.service.d.ts +0 -0
  172. /package/{common/lib/layout/task-badge → layout/components/lib/badge}/task-badge.type.d.ts +0 -0
  173. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-actions.component.d.ts +0 -0
  174. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-footer.component.d.ts +0 -0
  175. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-header.component.d.ts +0 -0
  176. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-list.component.d.ts +0 -0
  177. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-section.component.d.ts +0 -0
  178. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-side.component.d.ts +0 -0
  179. /package/{themes/shared/lib/components/layout-elements → layout/components/lib/blocks}/layout-tool-bar.component.d.ts +0 -0
  180. /package/{common/lib/layout → layout/components/lib}/component-slot/component-slot-registery.service.d.ts +0 -0
  181. /package/{common/lib/layout → layout/components/lib}/component-slot/component-slot.module.d.ts +0 -0
  182. /package/layout/views/lib/{details-view → views/details-view}/details-view-route.resolver.d.ts +0 -0
  183. /package/layout/views/lib/{details-view → views/details-view}/details-view.viewmodel.d.ts +0 -0
  184. /package/layout/views/lib/{details-view → views/details-view}/index.d.ts +0 -0
  185. /package/layout/views/lib/{details-view → views/details-view}/sample.d.ts +0 -0
@@ -17,17 +17,21 @@ import * as i4$2 from '@acorex/core/translation';
17
17
  import { AXTranslationModule } from '@acorex/core/translation';
18
18
  import * as i6 from '@acorex/platform/auth';
19
19
  import { AXPAuthModule } from '@acorex/platform/auth';
20
+ import { AXPContextStore } from '@acorex/platform/core';
20
21
  import * as i8 from '@acorex/platform/layout/builder';
21
22
  import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
22
- import { AXPLayoutThemeService, AXPThemeLayoutBlockComponent } from '@acorex/platform/themes/shared';
23
+ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
23
24
  import { AXPWidgetsModule } from '@acorex/platform/widgets';
24
25
  import * as i1 from '@angular/common';
25
26
  import { CommonModule } from '@angular/common';
26
27
  import * as i0 from '@angular/core';
27
- import { inject, signal, ChangeDetectionStrategy, Component } from '@angular/core';
28
+ import { inject, signal, ChangeDetectionStrategy, Component, effect, untracked } from '@angular/core';
28
29
  import { ActivatedRoute, RouterModule } from '@angular/router';
29
- import { AXPEntityDetailListViewComponent, AXPBasePageComponent, AXPPageLayoutComponent, AXPBasePage } from './acorex-platform-themes-default.mjs';
30
+ import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase } from '@acorex/platform/layout/views';
30
31
  import { AXPGridLayoutDirective } from '@acorex/platform/common';
32
+ import { AXPEntityDetailListViewComponent } from './acorex-platform-themes-default.mjs';
33
+ import * as i1$1 from '@acorex/platform/layout/components';
34
+ import { AXPThemeLayoutBlockComponent, AXPComponentSlotModule } from '@acorex/platform/layout/components';
31
35
 
32
36
  class AXPEntitySingleOverviewComponent {
33
37
  constructor() {
@@ -39,7 +43,7 @@ class AXPEntitySingleOverviewComponent {
39
43
  this.selectedRelatedIEntityTabIndex.set(e.index);
40
44
  }
41
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPEntitySingleOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", ngImport: i0, template: "<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-2\" [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() | translate | async }}</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]=\"'default'\"\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\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n <div>\n @if(attr.showLabel()) {\n <span class=\"ax-font-semibold\">{{ attr.title() | translate | async }}</span>\n }\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if((vm.relatedEntities()|async)?.length) {\n<ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n>\n @for(e of vm.relatedEntities() |async ;track $index;let index= $index){\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities() |async;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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "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: i4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", ngImport: i0, template: "<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-2\" [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() | translate | async }}</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]=\"'default'\" [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 [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <div>\n <div>\n @if(attr.showLabel()) {\n <span class=\"ax-font-semibold\">{{ attr.title() | translate | async }}</span>\n }\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"\n #widget=\"widgetRenderer\"></ng-container>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if((vm.relatedEntities()|async)?.length) {\n<ax-tabs [look]=\"'classic'\" class=\"ax-mt-4 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities() |async ;track $index;let index= $index){\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities() |async;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} }", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "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: i4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
43
47
  //
44
48
  AXPLayoutBuilderModule }, { kind: "component", type: i8.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i8.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[gridLayout]", inputs: ["gridLayout"] }, { kind: "component", type: AXPEntityDetailListViewComponent, selector: "axp-entity-detail-list-view", inputs: ["viewModel"] }, { kind: "ngmodule", type:
45
49
  //
@@ -68,17 +72,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
68
72
  AXPEntityDetailListViewComponent,
69
73
  //
70
74
  AXTranslationModule,
71
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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-2\" [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() | translate | async }}</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]=\"'default'\"\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\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n <div>\n @if(attr.showLabel()) {\n <span class=\"ax-font-semibold\">{{ attr.title() | translate | async }}</span>\n }\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if((vm.relatedEntities()|async)?.length) {\n<ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n>\n @for(e of vm.relatedEntities() |async ;track $index;let index= $index){\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities() |async;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" }]
75
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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-2\" [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() | translate | async }}</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]=\"'default'\" [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 [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <div>\n <div>\n @if(attr.showLabel()) {\n <span class=\"ax-font-semibold\">{{ attr.title() | translate | async }}</span>\n }\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"\n #widget=\"widgetRenderer\"></ng-container>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if((vm.relatedEntities()|async)?.length) {\n<ax-tabs [look]=\"'classic'\" class=\"ax-mt-4 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities() |async ;track $index;let index= $index){\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities() |async;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} }" }]
72
76
  }] });
73
77
 
74
- class AXPEntityMasterSingleViewComponent extends AXPBasePageComponent {
78
+ class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {
75
79
  constructor() {
76
80
  super(...arguments);
77
81
  this.activeRoute = inject(ActivatedRoute);
78
82
  this.vm = this.activeRoute.snapshot.data['vm'];
79
83
  this.store = inject(AXPLayoutThemeService);
84
+ this.contextStore = inject(AXPContextStore);
85
+ this.#syncContext = effect(() => {
86
+ // TODO: this is a hack to sync the context with the vm
87
+ untracked(() => {
88
+ this.contextStore.patch({
89
+ 'entity': this.vm.context()
90
+ });
91
+ });
92
+ });
80
93
  this.selectedDetailTabIndex = signal('Overview');
81
94
  }
95
+ #syncContext;
82
96
  getPageTitle() {
83
97
  return this.vm.title();
84
98
  }
@@ -131,41 +145,48 @@ class AXPEntityMasterSingleViewComponent extends AXPBasePageComponent {
131
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPEntityMasterSingleViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
132
146
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXPEntityMasterSingleViewComponent, isStandalone: true, selector: "ng-component", providers: [
133
147
  {
134
- provide: AXPBasePage,
148
+ provide: AXPPageLayoutBase,
135
149
  useExisting: AXPEntityMasterSingleViewComponent,
136
150
  },
137
- ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <ax-tabs (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\" [look]=\"'classic'\" class=\"ax-font-semibold\">\n <ax-tab-item [key]=\"'overview'\" [text]=\"('overview' | translate | async) ?? 'Overview'\"></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-history'\"\n [key]=\"'history'\"\n [text]=\"('history' | translate | async) ?? 'History'\"\n ></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-comment'\"\n [key]=\"'comments'\"\n [text]=\"('comments' | translate | async) ?? 'Comments'\"\n ></ax-tab-item>\n </ax-tabs>\n </axp-page-toolbar>\n\n <axp-page-content>\n @switch (selectedDetailTabIndex()) { @case('history') {\n <div></div>\n } @case('comments') {\n <div></div>\n } @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n } }\n </axp-page-content>\n</axp-page-layout>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "component", type: AXPEntitySingleOverviewComponent, selector: "axp-entity-single-overview" }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer, axp-page-header, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-container, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "directive", type: i6.AXPFeatureDirective, selector: "[feature]", inputs: ["feature", "featureElse"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4$2.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i4$2.AXTranslatorDirective, selector: "[translate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
151
+ ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <ax-tabs (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\" [look]=\"'classic'\" class=\"ax-font-semibold\">\n <ax-tab-item [key]=\"'overview'\" [text]=\"('overview' | translate | async) ?? 'Overview'\"></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-history'\"\n [key]=\"'history'\"\n [text]=\"('history' | translate | async) ?? 'History'\"\n ></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-comment'\"\n [key]=\"'comments'\"\n [text]=\"('comments' | translate | async) ?? 'Comments'\"\n ></ax-tab-item>\n </ax-tabs>\n </axp-page-toolbar>\n\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n @switch (selectedDetailTabIndex()) {\n <!-- History Tab -->\n @case ('history') {\n <div></div>\n }\n <!-- Comments Tab -->\n @case ('comments') {\n <div></div>\n }\n <!-- Overview Tab -->\n @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n }\n }\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
152
+ //
153
+ AXDecoratorModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "directive", type: i6.AXPFeatureDirective, selector: "[feature]", inputs: ["feature", "featureElse"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4$2.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i4$2.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i4.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i4.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
154
+ //
155
+ AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "component", type: AXPEntitySingleOverviewComponent, selector: "axp-entity-single-overview" }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
156
  }
139
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPEntityMasterSingleViewComponent, decorators: [{
140
158
  type: Component,
141
159
  args: [{ imports: [
142
160
  CommonModule,
143
161
  RouterModule,
162
+ //
144
163
  AXDecoratorModule,
145
164
  AXDropdownModule,
146
165
  AXPopoverModule,
147
166
  AXFormModule,
148
167
  AXActionSheetModule,
168
+ AXPAuthModule,
169
+ AXTranslationModule,
149
170
  AXDrawerModule,
150
171
  AXDialogModule,
151
172
  AXLoadingModule,
152
173
  AXTabsModule,
153
174
  AXButtonModule,
154
175
  AXBreadcrumbsModule,
176
+ //
155
177
  AXPLayoutBuilderModule,
156
178
  AXPWidgetsModule,
157
179
  AXPEntitySingleOverviewComponent,
158
180
  AXPPageLayoutComponent,
159
181
  AXPThemeLayoutBlockComponent,
160
- AXPAuthModule,
161
- AXTranslationModule,
182
+ AXPComponentSlotModule
162
183
  ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
163
184
  {
164
- provide: AXPBasePage,
185
+ provide: AXPPageLayoutBase,
165
186
  useExisting: AXPEntityMasterSingleViewComponent,
166
187
  },
167
- ], template: "<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <ax-tabs (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\" [look]=\"'classic'\" class=\"ax-font-semibold\">\n <ax-tab-item [key]=\"'overview'\" [text]=\"('overview' | translate | async) ?? 'Overview'\"></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-history'\"\n [key]=\"'history'\"\n [text]=\"('history' | translate | async) ?? 'History'\"\n ></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-comment'\"\n [key]=\"'comments'\"\n [text]=\"('comments' | translate | async) ?? 'Comments'\"\n ></ax-tab-item>\n </ax-tabs>\n </axp-page-toolbar>\n\n <axp-page-content>\n @switch (selectedDetailTabIndex()) { @case('history') {\n <div></div>\n } @case('comments') {\n <div></div>\n } @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n } }\n </axp-page-content>\n</axp-page-layout>\n" }]
188
+ ], template: "<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <ax-tabs (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\" [look]=\"'classic'\" class=\"ax-font-semibold\">\n <ax-tab-item [key]=\"'overview'\" [text]=\"('overview' | translate | async) ?? 'Overview'\"></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-history'\"\n [key]=\"'history'\"\n [text]=\"('history' | translate | async) ?? 'History'\"\n ></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-comment'\"\n [key]=\"'comments'\"\n [text]=\"('comments' | translate | async) ?? 'Comments'\"\n ></ax-tab-item>\n </ax-tabs>\n </axp-page-toolbar>\n\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n @switch (selectedDetailTabIndex()) {\n <!-- History Tab -->\n @case ('history') {\n <div></div>\n }\n <!-- Comments Tab -->\n @case ('comments') {\n <div></div>\n }\n <!-- Overview Tab -->\n @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n }\n }\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>\n" }]
168
189
  }] });
169
190
 
170
191
  export { AXPEntityMasterSingleViewComponent };
171
- //# sourceMappingURL=acorex-platform-themes-default-entity-master-single-view.component-qu3j-fxn.mjs.map
192
+ //# sourceMappingURL=acorex-platform-themes-default-entity-master-single-view.component-Dbf3kR4Z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-themes-default-entity-master-single-view.component-Dbf3kR4Z.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.html","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.html"],"sourcesContent":["import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPGridLayoutDirective } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPEntityMasterSingleViewModel } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { AXPEntityDetailListViewComponent } from '../../entity-detail-list-view/entity-detail-list-view.component';\n\n@Component({\n templateUrl: './entity-single-overview.component.html',\n selector: 'axp-entity-single-overview',\n imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPLayoutBuilderModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXPEntityDetailListViewComponent,\n //\n AXTranslationModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPEntitySingleOverviewComponent {\n private activeRoute = inject(ActivatedRoute);\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n\n protected selectedRelatedIEntityTabIndex = signal(0);\n\n handleActiveRelatedEntityChanged(e: AXTabStripChangedEvent) {\n this.selectedRelatedIEntityTabIndex.set(e.index);\n }\n}\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-2\" [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() | translate | async }}</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]=\"'default'\" [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 [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <div>\n <div>\n @if(attr.showLabel()) {\n <span class=\"ax-font-semibold\">{{ attr.title() | translate | async }}</span>\n }\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"\n #widget=\"widgetRenderer\"></ng-container>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if((vm.relatedEntities()|async)?.length) {\n<ax-tabs [look]=\"'classic'\" class=\"ax-mt-4 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities() |async ;track $index;let index= $index){\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities() |async;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} }","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXPActionMenuItem, AXPBackButton, AXPBreadcrumbItem, AXPContextStore, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPEntityMasterSingleViewModel } from '@acorex/platform/layout/entity';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, untracked } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPEntitySingleOverviewComponent } from './overview/entity-single-overview.component';\nimport { AXPComponentSlotDirective, AXPComponentSlotModule, AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\n\n@Component({\n templateUrl: './entity-master-single-view.component.html',\n imports: [\n CommonModule,\n RouterModule,\n //\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXPAuthModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPLayoutBuilderModule,\n AXPWidgetsModule,\n AXPEntitySingleOverviewComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPComponentSlotModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPEntityMasterSingleViewComponent,\n },\n ],\n})\nexport class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {\n private activeRoute = inject(ActivatedRoute);\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n protected store = inject(AXPLayoutThemeService);\n protected contextStore = inject(AXPContextStore);\n\n\n #syncContext = effect(() => {\n // TODO: this is a hack to sync the context with the vm\n untracked(() => {\n this.contextStore.patch({\n 'entity': this.vm.context()\n });\n });\n });\n\n protected selectedDetailTabIndex = signal('Overview');\n\n override getPageTitle(): string {\n return this.vm.title();\n }\n\n override getPageDescription(): string {\n return this.vm.description() ?? '';\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] {\n return this.vm.beardcrumbs();\n }\n\n override getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.resolve(\n this.vm.primaryActions().map((tr) => ({\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled: tr.disabled,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n }))\n );\n }\n\n override getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.resolve(\n this.vm.secondaryActions().map((tr) => ({\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled: tr.disabled,\n separated: tr.separated,\n }))\n );\n }\n\n override execute(command: AXPExecuteCommand): void {\n if (command) {\n this.vm.execute(command);\n }\n }\n override async getBackButton(): Promise<AXPBackButton | null> {\n return {\n title: await this.translateService.translateAsync(this.vm.title()),\n };\n }\n\n protected handleActiveDetailTabChanged(e: AXTabStripChangedEvent) {\n this.selectedDetailTabIndex.set(e.tab.key);\n }\n\n ngOnDestroy(): void {\n this.vm.destroy();\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <ax-tabs (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\" [look]=\"'classic'\" class=\"ax-font-semibold\">\n <ax-tab-item [key]=\"'overview'\" [text]=\"('overview' | translate | async) ?? 'Overview'\"></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-history'\"\n [key]=\"'history'\"\n [text]=\"('history' | translate | async) ?? 'History'\"\n ></ax-tab-item>\n <ax-tab-item\n *feature=\"'entity-comment'\"\n [key]=\"'comments'\"\n [text]=\"('comments' | translate | async) ?? 'Comments'\"\n ></ax-tab-item>\n </ax-tabs>\n </axp-page-toolbar>\n\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n @switch (selectedDetailTabIndex()) {\n <!-- History Tab -->\n @case ('history') {\n <div></div>\n }\n <!-- Comments Tab -->\n @case ('comments') {\n <div></div>\n }\n <!-- Overview Tab -->\n @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n }\n }\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>\n"],"names":["i2","i3","i5","i6","i7"],"mappings":"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"}