@acorex/modules 18.0.15 → 18.1.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 (114) hide show
  1. package/application-management/index.d.ts +9 -7
  2. package/application-management/lib/actions/index.d.ts +1 -0
  3. package/application-management/lib/actions/show-detail.action.d.ts +8 -0
  4. package/application-management/lib/application-management-mock-data.d.ts +3 -18
  5. package/application-management/lib/application-management.module.d.ts +12 -2
  6. package/application-management/lib/application-management.service.d.ts +2 -0
  7. package/application-management/lib/entities/property.entity.d.ts +3 -0
  8. package/application-management/lib/layouts/index.d.ts +1 -0
  9. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +15 -0
  10. package/application-management/lib/module-designer/module-designer.component.d.ts +32 -0
  11. package/application-management/lib/module-designer/module-designer.service.d.ts +34 -0
  12. package/application-management/lib/module-designer/module-designer.type.d.ts +1 -0
  13. package/application-management/lib/services/context-menu.service.d.ts +26 -0
  14. package/application-management/lib/workflows/create-module-entity.workflow.d.ts +2 -0
  15. package/application-management/lib/workflows/index.d.ts +2 -0
  16. package/application-management/lib/workflows/show-module-entity-details.workflow.d.ts +2 -0
  17. package/auth/lib/error-handler.d.ts +1 -1
  18. package/backend/lib/data/api/comment.service.d.ts +15 -0
  19. package/backend/lib/data/api/module-designer.service.d.ts +43 -0
  20. package/backend/lib/data/index.d.ts +2 -1
  21. package/backend/lib/data/local/local-data-provider.d.ts +1 -2
  22. package/esm2022/application-management/index.mjs +10 -8
  23. package/esm2022/application-management/lib/actions/index.mjs +2 -0
  24. package/esm2022/application-management/lib/actions/show-detail.action.mjs +25 -0
  25. package/esm2022/application-management/lib/application-management-mock-data.mjs +4 -4
  26. package/esm2022/application-management/lib/application-management.module.mjs +94 -7
  27. package/esm2022/application-management/lib/application-management.service.mjs +8 -2
  28. package/esm2022/application-management/lib/entities/application-module.entity.mjs +273 -0
  29. package/esm2022/application-management/lib/entities/applications.entity.mjs +311 -0
  30. package/esm2022/application-management/lib/entities/edition.entity.mjs +284 -0
  31. package/esm2022/application-management/lib/entities/entity.entity.mjs +284 -0
  32. package/esm2022/application-management/lib/entities/feature.entity.mjs +284 -0
  33. package/esm2022/application-management/lib/entities/modules.entity.mjs +324 -0
  34. package/esm2022/application-management/lib/entities/permission.entity.mjs +284 -0
  35. package/esm2022/application-management/lib/entities/property.entity.mjs +449 -0
  36. package/esm2022/application-management/lib/layouts/index.mjs +2 -0
  37. package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +77 -0
  38. package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +142 -0
  39. package/esm2022/application-management/lib/module-designer/module-designer.service.mjs +3 -0
  40. package/esm2022/application-management/lib/module-designer/module-designer.type.mjs +2 -0
  41. package/esm2022/application-management/lib/services/context-menu.service.mjs +168 -0
  42. package/esm2022/application-management/lib/workflows/create-module-entity.workflow.mjs +42 -0
  43. package/esm2022/application-management/lib/workflows/index.mjs +3 -0
  44. package/esm2022/application-management/lib/workflows/show-module-entity-details.workflow.mjs +9 -0
  45. package/esm2022/auth/lib/error-handler.mjs +6 -6
  46. package/esm2022/backend/lib/backend.module.mjs +23 -5
  47. package/esm2022/backend/lib/data/api/comment.service.mjs +48 -0
  48. package/esm2022/backend/lib/data/api/data-provider.mjs +2 -2
  49. package/esm2022/backend/lib/data/api/module-designer.service.mjs +95 -0
  50. package/esm2022/backend/lib/data/index.mjs +3 -2
  51. package/esm2022/backend/lib/data/local/local-data-provider.mjs +2 -2
  52. package/esm2022/form-management/acorex-modules-form-management.mjs +5 -0
  53. package/esm2022/form-management/index.mjs +2 -0
  54. package/esm2022/form-management/lib/designer/designer.page.mjs +24 -0
  55. package/esm2022/form-management/lib/form-management.module.mjs +29 -0
  56. package/fesm2022/acorex-modules-application-management-module-designer.component-CDZZ-5pF.mjs +323 -0
  57. package/fesm2022/acorex-modules-application-management-module-designer.component-CDZZ-5pF.mjs.map +1 -0
  58. package/fesm2022/acorex-modules-application-management.mjs +722 -21
  59. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  60. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BD7I4S8c.mjs → acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs} +12 -12
  61. package/fesm2022/acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs.map +1 -0
  62. package/fesm2022/{acorex-modules-auth-app-chooser.component-Cfl1D1Cw.mjs → acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-auth-app-chooser.component-Cfl1D1Cw.mjs.map → acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-auth-login.module-BQG4ObmU.mjs → acorex-modules-auth-login.module-CGA5aTg2.mjs} +5 -5
  65. package/fesm2022/{acorex-modules-auth-login.module-BQG4ObmU.mjs.map → acorex-modules-auth-login.module-CGA5aTg2.mjs.map} +1 -1
  66. package/fesm2022/{acorex-modules-auth-master.layout-DoPCP7C0.mjs → acorex-modules-auth-master.layout-ZJWzjLrb.mjs} +2 -2
  67. package/fesm2022/{acorex-modules-auth-master.layout-DoPCP7C0.mjs.map → acorex-modules-auth-master.layout-ZJWzjLrb.mjs.map} +1 -1
  68. package/fesm2022/{acorex-modules-auth-password.component-fyMD7oKR.mjs → acorex-modules-auth-password.component-C4yqf342.mjs} +3 -3
  69. package/fesm2022/{acorex-modules-auth-password.component-fyMD7oKR.mjs.map → acorex-modules-auth-password.component-C4yqf342.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-auth-password.component-CfhiS2hO.mjs → acorex-modules-auth-password.component-MJhNk3UI.mjs} +2 -2
  71. package/fesm2022/{acorex-modules-auth-password.component-CfhiS2hO.mjs.map → acorex-modules-auth-password.component-MJhNk3UI.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-auth-routes-95DQOnjS.mjs → acorex-modules-auth-routes-DhORV1Js.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-auth-routes-95DQOnjS.mjs.map → acorex-modules-auth-routes-DhORV1Js.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-auth-two-factor.module-BkErlA-n.mjs → acorex-modules-auth-two-factor.module-BWKP0_jO.mjs} +3 -3
  75. package/fesm2022/{acorex-modules-auth-two-factor.module-BkErlA-n.mjs.map → acorex-modules-auth-two-factor.module-BWKP0_jO.mjs.map} +1 -1
  76. package/fesm2022/acorex-modules-auth.mjs +4 -4
  77. package/fesm2022/acorex-modules-backend.mjs +154 -137
  78. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  79. package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs +27 -0
  80. package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -0
  81. package/fesm2022/acorex-modules-form-management.mjs +36 -0
  82. package/fesm2022/acorex-modules-form-management.mjs.map +1 -0
  83. package/form-management/README.md +4 -0
  84. package/form-management/index.d.ts +1 -0
  85. package/form-management/lib/designer/designer.page.d.ts +5 -0
  86. package/form-management/lib/form-management.module.d.ts +7 -0
  87. package/package.json +6 -6
  88. package/backend/lib/data/local/data-Conditioner.d.ts +0 -6
  89. package/esm2022/application-management/lib/application-module.entity.mjs +0 -273
  90. package/esm2022/application-management/lib/applications.entity.mjs +0 -311
  91. package/esm2022/application-management/lib/edition.entity.mjs +0 -284
  92. package/esm2022/application-management/lib/entity.entity.mjs +0 -284
  93. package/esm2022/application-management/lib/feature.entity.mjs +0 -284
  94. package/esm2022/application-management/lib/modules.entity.mjs +0 -324
  95. package/esm2022/application-management/lib/permission.entity.mjs +0 -284
  96. package/esm2022/backend/lib/data/local/data-Conditioner.mjs +0 -138
  97. package/esm2022/log-management/acorex-modules-log-management.mjs +0 -5
  98. package/esm2022/log-management/index.mjs +0 -3
  99. package/esm2022/log-management/lib/audit-logs.entity.mjs +0 -391
  100. package/esm2022/log-management/lib/log-management.module.mjs +0 -16
  101. package/fesm2022/acorex-modules-auth-acorex-modules-auth-BD7I4S8c.mjs.map +0 -1
  102. package/fesm2022/acorex-modules-log-management.mjs +0 -414
  103. package/fesm2022/acorex-modules-log-management.mjs.map +0 -1
  104. package/log-management/README.md +0 -4
  105. package/log-management/index.d.ts +0 -2
  106. package/log-management/lib/audit-logs.entity.d.ts +0 -3
  107. package/log-management/lib/log-management.module.d.ts +0 -6
  108. /package/application-management/lib/{application-module.entity.d.ts → entities/application-module.entity.d.ts} +0 -0
  109. /package/application-management/lib/{applications.entity.d.ts → entities/applications.entity.d.ts} +0 -0
  110. /package/application-management/lib/{edition.entity.d.ts → entities/edition.entity.d.ts} +0 -0
  111. /package/application-management/lib/{entity.entity.d.ts → entities/entity.entity.d.ts} +0 -0
  112. /package/application-management/lib/{feature.entity.d.ts → entities/feature.entity.d.ts} +0 -0
  113. /package/application-management/lib/{modules.entity.d.ts → entities/modules.entity.d.ts} +0 -0
  114. /package/application-management/lib/{permission.entity.d.ts → entities/permission.entity.d.ts} +0 -0
@@ -1,22 +1,249 @@
1
+ import { AXPEntityDetailViewModelResolver, AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';
2
+ import { AXPRootLayoutComponent } from '@acorex/platform/themes/default';
3
+ import * as i1$1 from '@acorex/platform/workflow';
4
+ import { AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
1
5
  import * as i0 from '@angular/core';
2
- import { NgModule, Injectable } from '@angular/core';
3
- import { AXPDataGenerator, AXPStorageService, AXPEntityDataProviderImpl, AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
4
- import { applySortArray, applyFilterArray } from '@acorex/modules/backend';
5
- import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
6
+ import { inject, Injectable, signal, Component, ChangeDetectionStrategy, Injector, NgModule, Optional, Inject } from '@angular/core';
7
+ import * as i2 from '@angular/router';
8
+ import { ActivatedRoute, RouterModule } from '@angular/router';
9
+ import { AXPWorkflowNavigateAction, isSmallScreen, getChildDrawer, AXPStickyDirective, AXPGridLayoutDirective, AXPDataGenerator, AXPStorageService, AXPEntityDataProviderImpl, AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
10
+ import { AXActionSheetModule } from '@acorex/components/action-sheet';
11
+ import * as i7 from '@acorex/components/breadcrumbs';
12
+ import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
13
+ import * as i6 from '@acorex/components/button';
14
+ import { AXButtonModule } from '@acorex/components/button';
15
+ import * as i3 from '@acorex/components/decorators';
16
+ import { AXDecoratorModule } from '@acorex/components/decorators';
17
+ import { AXDialogModule } from '@acorex/components/dialog';
18
+ import { AXDrawerModule } from '@acorex/components/drawer';
19
+ import * as i4 from '@acorex/components/dropdown';
20
+ import { AXDropdownModule } from '@acorex/components/dropdown';
21
+ import * as i5 from '@acorex/components/form';
22
+ import { AXFormModule } from '@acorex/components/form';
23
+ import { AXLoadingModule } from '@acorex/components/loading';
24
+ import { AXPopoverModule } from '@acorex/components/popover';
25
+ import { AXTabsModule } from '@acorex/components/tabs';
26
+ import { AXTranslationModule } from '@acorex/core/translation';
27
+ import * as i8 from '@acorex/platform/layout/builder';
28
+ import { AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
29
+ import { AXPWidgetsModule } from '@acorex/platform/widgets';
30
+ import * as i1 from '@angular/common';
31
+ import { CommonModule } from '@angular/common';
32
+ import { Store } from '@ngrx/store';
33
+ import { applySortArray, applyFilterArray } from '@acorex/platform/core';
6
34
 
35
+ class AXPShowModuleEntityDetailViewAction extends AXPWorkflowAction {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.navigation = inject(AXPWorkflowNavigateAction);
39
+ }
40
+ async execute(context) {
41
+ const [module, entity] = context.getVariable('entity').split('.');
42
+ const { id } = context.getVariable('data');
43
+ const newPayload = {
44
+ commands: `/console/module-designer/m/${module}/e/${entity}/${id}/view`,
45
+ };
46
+ context.setVariable('payload', newPayload);
47
+ this.navigation.execute(context);
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPShowModuleEntityDetailViewAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPShowModuleEntityDetailViewAction }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPShowModuleEntityDetailViewAction, decorators: [{
53
+ type: Injectable
54
+ }] });
55
+
56
+ class AXPModuleEntityDetailViewComponent {
57
+ constructor() {
58
+ this.activeRoute = inject(ActivatedRoute);
59
+ this.vm = this.activeRoute.snapshot.data['vm'];
60
+ //
61
+ this.store = inject((Store));
62
+ this.isSM = this.store.select(isSmallScreen());
63
+ this.isOpen = this.store.select(getChildDrawer());
64
+ this.selectedDetailTabIndex = signal(0);
65
+ }
66
+ handleActiveDetailTabChanged(e) {
67
+ this.selectedDetailTabIndex.set(e.index);
68
+ }
69
+ ngOnDestroy() {
70
+ this.vm.destroy();
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPModuleEntityDetailViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ 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-shadow-md 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() }}</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 </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: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.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: i6.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i6.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i7.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i7.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type:
74
+ //
75
+ AXPLayoutBuilderModule }, { kind: "component", type: i8.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "component", type: i8.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:
76
+ //
77
+ AXTranslationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPModuleEntityDetailViewComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ imports: [
82
+ CommonModule,
83
+ RouterModule,
84
+ AXDecoratorModule,
85
+ AXDropdownModule,
86
+ AXPopoverModule,
87
+ AXFormModule,
88
+ AXActionSheetModule,
89
+ AXDrawerModule,
90
+ AXDialogModule,
91
+ AXLoadingModule,
92
+ AXTabsModule,
93
+ AXButtonModule,
94
+ AXBreadcrumbsModule,
95
+ //
96
+ AXPLayoutBuilderModule,
97
+ AXPWidgetsModule,
98
+ AXPStickyDirective,
99
+ AXPGridLayoutDirective,
100
+ //
101
+ AXTranslationModule,
102
+ ], 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-shadow-md 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() }}</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 </div>\n</div>\n" }]
103
+ }] });
104
+
105
+ const AXPCreateModuleEntityWorkflow = {
106
+ startStepId: 'show-popup',
107
+ steps: {
108
+ 'show-popup': {
109
+ action: 'AXPEntityCreatePopupAction',
110
+ nextSteps: [
111
+ {
112
+ conditions: [{ type: 'SINGLE', expression: 'context.getOutput("result") == true' }],
113
+ nextStepId: 'show-toast',
114
+ },
115
+ ],
116
+ },
117
+ 'show-toast': {
118
+ action: 'AXPToastAction',
119
+ input: {
120
+ color: 'success',
121
+ title: 'Entity Created',
122
+ content: 'New Record has been successfully created.',
123
+ },
124
+ nextSteps: [
125
+ {
126
+ conditions: [],
127
+ nextStepId: 'dispatch-event',
128
+ },
129
+ ],
130
+ },
131
+ 'dispatch-event': {
132
+ action: 'AXPEntityCreateSubmittedAction',
133
+ nextSteps: [
134
+ {
135
+ conditions: [{ type: 'SINGLE', expression: 'context.getVariable("redirect") != false' }],
136
+ nextStepId: 'show-entity',
137
+ },
138
+ ],
139
+ },
140
+ 'show-entity': {
141
+ id: 'show-entity',
142
+ action: 'AXPShowModuleEntityDetailViewAction',
143
+ },
144
+ },
145
+ };
146
+
147
+ const AXPShowModuleEntityDetailsViewWorkflow = {
148
+ startStepId: 'showDetailView',
149
+ steps: {
150
+ showDetailView: {
151
+ action: 'AXPShowModuleEntityDetailViewAction',
152
+ },
153
+ },
154
+ };
155
+
156
+ const routes = [
157
+ {
158
+ component: AXPRootLayoutComponent,
159
+ path: 'console',
160
+ children: [
161
+ {
162
+ path: 'module-designer',
163
+ loadComponent: () => import('./acorex-modules-application-management-module-designer.component-CDZZ-5pF.mjs').then((c) => c.AXMModuleDesignerComponent),
164
+ children: [
165
+ {
166
+ path: 'm/:module',
167
+ children: [
168
+ {
169
+ path: 'e/:entity/:id/view',
170
+ resolve: { vm: AXPEntityDetailViewModelResolver },
171
+ component: AXPModuleEntityDetailViewComponent,
172
+ },
173
+ ],
174
+ data: { reuse: false },
175
+ },
176
+ ],
177
+ },
178
+ ],
179
+ },
180
+ ];
7
181
  class AXMApplicationManagementModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule }); }
182
+ static forRoot() {
183
+ return {
184
+ ngModule: AXMApplicationManagementModule,
185
+ providers: [
186
+ {
187
+ provide: 'AXP_REGISTER_MODULES_ENTITIES',
188
+ useFactory: async (entityRegistry, injector) => {
189
+ const modulesEntity = await (await Promise.resolve().then(function () { return modules_entity; })).modulesEntityFactory(injector);
190
+ entityRegistry.register(modulesEntity);
191
+ //
192
+ const entityEntity = await (await Promise.resolve().then(function () { return entity_entity; })).entityEntityFactory(injector);
193
+ entityRegistry.register(entityEntity);
194
+ //
195
+ const permissionEntity = await (await Promise.resolve().then(function () { return permission_entity; })).permissionEntityFactory(injector);
196
+ entityRegistry.register(permissionEntity);
197
+ //
198
+ const featureEntity = await (await Promise.resolve().then(function () { return feature_entity; })).featureEntityFactory(injector);
199
+ entityRegistry.register(featureEntity);
200
+ },
201
+ deps: [AXPEntityDefinitionRegistryService, Injector], // Add any dependencies if needed
202
+ },
203
+ ],
204
+ };
205
+ }
206
+ /**
207
+ * @ignore
208
+ */
209
+ constructor(instances) { }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, deps: [{ token: 'AXP_REGISTER_MODULES_ENTITIES', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
211
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, imports: [i1$1.AXPWorkflowModule, i2.RouterModule] }); }
212
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, imports: [AXPWorkflowModule.forChild({
213
+ actions: {
214
+ AXPShowModuleEntityDetailViewAction,
215
+ },
216
+ workflows: {
217
+ 'create-module-entity': AXPCreateModuleEntityWorkflow,
218
+ 'show-module-entity-details': AXPShowModuleEntityDetailsViewWorkflow,
219
+ },
220
+ }),
221
+ RouterModule.forChild(routes)] }); }
11
222
  }
12
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, decorators: [{
13
224
  type: NgModule,
14
225
  args: [{
15
- imports: [],
226
+ imports: [
227
+ AXPWorkflowModule.forChild({
228
+ actions: {
229
+ AXPShowModuleEntityDetailViewAction,
230
+ },
231
+ workflows: {
232
+ 'create-module-entity': AXPCreateModuleEntityWorkflow,
233
+ 'show-module-entity-details': AXPShowModuleEntityDetailsViewWorkflow,
234
+ },
235
+ }),
236
+ RouterModule.forChild(routes),
237
+ ],
16
238
  exports: [],
17
239
  declarations: [],
18
240
  }]
19
- }] });
241
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
242
+ type: Optional
243
+ }, {
244
+ type: Inject,
245
+ args: ['AXP_REGISTER_MODULES_ENTITIES']
246
+ }] }] });
20
247
 
21
248
  const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {
22
249
  const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];
@@ -77,7 +304,7 @@ const FEATURES = Array.from({ length: 5 }).map((_, i) => {
77
304
  const name = AXPDataGenerator.pick(source);
78
305
  return {
79
306
  id: AXPDataGenerator.uuid(),
80
- module: AXPDataGenerator.pick(MODULES),
307
+ moduleId: AXPDataGenerator.pick(MODULES).id,
81
308
  name: name,
82
309
  title: name,
83
310
  isArchived: AXPDataGenerator.boolean(),
@@ -88,7 +315,7 @@ const ENTITIES = Array.from({ length: 5 }).map((_, i) => {
88
315
  const name = AXPDataGenerator.pick(source);
89
316
  return {
90
317
  id: AXPDataGenerator.uuid(),
91
- module: AXPDataGenerator.pick(MODULES),
318
+ moduleId: AXPDataGenerator.pick(MODULES).id,
92
319
  name: name,
93
320
  title: name,
94
321
  isArchived: AXPDataGenerator.boolean(),
@@ -99,7 +326,7 @@ const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {
99
326
  const name = AXPDataGenerator.pick(source);
100
327
  return {
101
328
  id: AXPDataGenerator.uuid(),
102
- module: AXPDataGenerator.pick(MODULES),
329
+ moduleId: AXPDataGenerator.pick(MODULES).id,
103
330
  name: name,
104
331
  title: name,
105
332
  isArchived: AXPDataGenerator.boolean(),
@@ -128,6 +355,9 @@ class AXPApplicationManagementService {
128
355
  this._entityDataProvider = new AXPEntityDataProviderImpl(storageService, 'entities');
129
356
  this._entityDataProvider.initial(ENTITIES);
130
357
  //
358
+ this._propertyDataProvider = new AXPEntityDataProviderImpl(storageService, 'properties');
359
+ this._propertyDataProvider.initial([]);
360
+ //
131
361
  this._permissionDataProvider = new AXPEntityDataProviderImpl(storageService, 'permissions');
132
362
  this._permissionDataProvider.initial(PERMISSIONS);
133
363
  }
@@ -149,6 +379,9 @@ class AXPApplicationManagementService {
149
379
  get entityDataProvider() {
150
380
  return this._entityDataProvider;
151
381
  }
382
+ get propertyDataProvider() {
383
+ return this._propertyDataProvider;
384
+ }
152
385
  get permissionDataProvider() {
153
386
  return this._permissionDataProvider;
154
387
  }
@@ -740,7 +973,7 @@ async function applicationEntityFactory(injector) {
740
973
 
741
974
  async function editionEntityFactory(injector) {
742
975
  const dataService = injector.get(AXPApplicationManagementService);
743
- const applicationEntityDef = {
976
+ const entityDef = {
744
977
  module: 'application-management',
745
978
  name: 'edition',
746
979
  source: 'application-management.edition',
@@ -782,7 +1015,7 @@ async function editionEntityFactory(injector) {
782
1015
  {
783
1016
  name: 'isArchived',
784
1017
  title: 'Archived',
785
- groupId: 'application',
1018
+ groupId: 'edition',
786
1019
  schema: {
787
1020
  dataType: 'boolean',
788
1021
  interface: {
@@ -847,7 +1080,7 @@ async function editionEntityFactory(injector) {
847
1080
  create: {
848
1081
  sections: [
849
1082
  {
850
- id: 'application',
1083
+ id: 'edition',
851
1084
  },
852
1085
  ],
853
1086
  properties: [
@@ -886,7 +1119,7 @@ async function editionEntityFactory(injector) {
886
1119
  update: {
887
1120
  sections: [
888
1121
  {
889
- id: 'application',
1122
+ id: 'edition',
890
1123
  },
891
1124
  ],
892
1125
  properties: [
@@ -926,7 +1159,7 @@ async function editionEntityFactory(injector) {
926
1159
  title: '{{title}}',
927
1160
  sections: [
928
1161
  {
929
- id: 'application',
1162
+ id: 'edition',
930
1163
  layout: {
931
1164
  positions: {
932
1165
  lg: {
@@ -1015,7 +1248,7 @@ async function editionEntityFactory(injector) {
1015
1248
  },
1016
1249
  },
1017
1250
  };
1018
- return applicationEntityDef;
1251
+ return entityDef;
1019
1252
  }
1020
1253
 
1021
1254
  async function entityEntityFactory(injector) {
@@ -1298,6 +1531,11 @@ async function entityEntityFactory(injector) {
1298
1531
  return entityDef;
1299
1532
  }
1300
1533
 
1534
+ var entity_entity = /*#__PURE__*/Object.freeze({
1535
+ __proto__: null,
1536
+ entityEntityFactory: entityEntityFactory
1537
+ });
1538
+
1301
1539
  async function featureEntityFactory(injector) {
1302
1540
  const dataService = injector.get(AXPApplicationManagementService);
1303
1541
  const EntityDef = {
@@ -1578,6 +1816,11 @@ async function featureEntityFactory(injector) {
1578
1816
  return EntityDef;
1579
1817
  }
1580
1818
 
1819
+ var feature_entity = /*#__PURE__*/Object.freeze({
1820
+ __proto__: null,
1821
+ featureEntityFactory: featureEntityFactory
1822
+ });
1823
+
1581
1824
  async function modulesEntityFactory(injector) {
1582
1825
  const dataService = injector.get(AXPApplicationManagementService);
1583
1826
  const entityDef = {
@@ -1591,7 +1834,7 @@ async function modulesEntityFactory(injector) {
1591
1834
  },
1592
1835
  relatedEntities: [
1593
1836
  {
1594
- entity: 'application-management.feature',
1837
+ entity: 'application-management.entity',
1595
1838
  columns: ['module.title', 'name', 'title', 'isArchived'],
1596
1839
  conditions: [
1597
1840
  {
@@ -1604,7 +1847,7 @@ async function modulesEntityFactory(injector) {
1604
1847
  ],
1605
1848
  },
1606
1849
  {
1607
- entity: 'application-management.entity',
1850
+ entity: 'application-management.feature',
1608
1851
  columns: ['module.title', 'name', 'title', 'isArchived'],
1609
1852
  conditions: [
1610
1853
  {
@@ -1898,6 +2141,11 @@ async function modulesEntityFactory(injector) {
1898
2141
  return entityDef;
1899
2142
  }
1900
2143
 
2144
+ var modules_entity = /*#__PURE__*/Object.freeze({
2145
+ __proto__: null,
2146
+ modulesEntityFactory: modulesEntityFactory
2147
+ });
2148
+
1901
2149
  async function permissionEntityFactory(injector) {
1902
2150
  const dataService = injector.get(AXPApplicationManagementService);
1903
2151
  const entityDef = {
@@ -2178,9 +2426,462 @@ async function permissionEntityFactory(injector) {
2178
2426
  return entityDef;
2179
2427
  }
2180
2428
 
2429
+ var permission_entity = /*#__PURE__*/Object.freeze({
2430
+ __proto__: null,
2431
+ permissionEntityFactory: permissionEntityFactory
2432
+ });
2433
+
2434
+ async function propertyEntityFactory(injector) {
2435
+ const dataService = injector.get(AXPApplicationManagementService);
2436
+ const entityDef = {
2437
+ module: 'application-management',
2438
+ name: 'property',
2439
+ source: 'application-management.property',
2440
+ title: 'Properties',
2441
+ formats: {
2442
+ individual: 'Property',
2443
+ plural: 'Properties',
2444
+ },
2445
+ relatedEntities: [],
2446
+ groups: [
2447
+ {
2448
+ id: 'property',
2449
+ title: 'Property',
2450
+ },
2451
+ {
2452
+ id: 'schema',
2453
+ title: 'Schema',
2454
+ },
2455
+ {
2456
+ id: 'interface',
2457
+ title: 'Interface',
2458
+ },
2459
+ ],
2460
+ properties: [
2461
+ {
2462
+ name: 'name',
2463
+ title: 'Name',
2464
+ groupId: 'property',
2465
+ schema: {
2466
+ dataType: 'string',
2467
+ interface: {
2468
+ type: AXPWidgetsCatalog.text,
2469
+ },
2470
+ },
2471
+ },
2472
+ {
2473
+ name: 'title',
2474
+ title: 'Title',
2475
+ groupId: 'property',
2476
+ schema: {
2477
+ dataType: 'string',
2478
+ interface: {
2479
+ type: AXPWidgetsCatalog.text,
2480
+ },
2481
+ },
2482
+ },
2483
+ {
2484
+ name: 'groupId',
2485
+ title: 'group Id',
2486
+ groupId: 'property',
2487
+ schema: {
2488
+ dataType: 'string',
2489
+ interface: {
2490
+ type: AXPWidgetsCatalog.text,
2491
+ },
2492
+ },
2493
+ },
2494
+ {
2495
+ name: 'schema.dataType',
2496
+ title: 'Data Type',
2497
+ groupId: 'schema',
2498
+ schema: {
2499
+ dataType: 'string',
2500
+ interface: {
2501
+ type: AXPWidgetsCatalog.text,
2502
+ },
2503
+ },
2504
+ },
2505
+ {
2506
+ name: 'schema.defaultValue',
2507
+ title: 'Default Value',
2508
+ groupId: 'schema',
2509
+ schema: {
2510
+ dataType: 'string',
2511
+ interface: {
2512
+ type: AXPWidgetsCatalog.text,
2513
+ },
2514
+ },
2515
+ },
2516
+ {
2517
+ name: 'schema.nullable',
2518
+ title: 'Nullable',
2519
+ groupId: 'schema',
2520
+ schema: {
2521
+ dataType: 'boolean',
2522
+ interface: {
2523
+ type: AXPWidgetsCatalog.toggle,
2524
+ },
2525
+ },
2526
+ },
2527
+ {
2528
+ name: 'schema.interface.type',
2529
+ title: 'Data Type',
2530
+ groupId: 'interface',
2531
+ schema: {
2532
+ dataType: 'string',
2533
+ interface: {
2534
+ type: AXPWidgetsCatalog.select,
2535
+ options: {
2536
+ dataSource: Object.values(AXPWidgetsCatalog),
2537
+ },
2538
+ },
2539
+ },
2540
+ },
2541
+ ],
2542
+ columns: [
2543
+ { name: 'name' },
2544
+ { name: 'title' },
2545
+ { name: 'groupId' },
2546
+ { name: 'schema.dataType' },
2547
+ { name: 'schema.defaultValue' },
2548
+ { name: 'schema.defaultValue' },
2549
+ { name: 'schema.nullable' },
2550
+ { name: 'schema.interface.type' },
2551
+ ],
2552
+ commands: {
2553
+ create: {
2554
+ execute: async (data) => {
2555
+ const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });
2556
+ dataService.propertyDataProvider.insertOne(entity);
2557
+ return Promise.resolve(entity);
2558
+ },
2559
+ },
2560
+ delete: {
2561
+ execute: async (id) => {
2562
+ await await dataService.propertyDataProvider.deleteOne(id);
2563
+ return Promise.resolve();
2564
+ },
2565
+ },
2566
+ update: {
2567
+ execute: async (data) => {
2568
+ return new Promise((resolve) => {
2569
+ setTimeout(async () => {
2570
+ await dataService.propertyDataProvider.updateOne(data.id, data);
2571
+ resolve(data);
2572
+ }, 1000);
2573
+ });
2574
+ },
2575
+ },
2576
+ },
2577
+ queries: {
2578
+ byKey: {
2579
+ execute: async (id) => {
2580
+ return new Promise((resolve) => {
2581
+ setTimeout(async () => {
2582
+ const entity = await dataService.propertyDataProvider.getOne(id);
2583
+ resolve(entity);
2584
+ }, 500);
2585
+ });
2586
+ },
2587
+ type: AXPEntityQueryType.Single,
2588
+ },
2589
+ list: {
2590
+ execute: async (e) => {
2591
+ const list = await dataService.propertyDataProvider.getAll();
2592
+ const sortedItems = applySortArray(list, e.sort);
2593
+ const filteredItems = applyFilterArray(sortedItems, e.filter ? [e.filter] : []);
2594
+ return Promise.resolve({
2595
+ total: filteredItems.length,
2596
+ items: filteredItems.slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),
2597
+ });
2598
+ },
2599
+ type: AXPEntityQueryType.List,
2600
+ },
2601
+ },
2602
+ interfaces: {
2603
+ master: {
2604
+ create: {
2605
+ sections: [
2606
+ {
2607
+ id: 'property',
2608
+ },
2609
+ {
2610
+ id: 'schema',
2611
+ },
2612
+ {
2613
+ id: 'interface',
2614
+ },
2615
+ ],
2616
+ properties: [
2617
+ {
2618
+ name: 'name',
2619
+ layout: {
2620
+ positions: {
2621
+ lg: {
2622
+ colSpan: 6,
2623
+ },
2624
+ },
2625
+ },
2626
+ },
2627
+ {
2628
+ name: 'title',
2629
+ layout: {
2630
+ positions: {
2631
+ lg: {
2632
+ colSpan: 6,
2633
+ },
2634
+ },
2635
+ },
2636
+ },
2637
+ {
2638
+ name: 'groupId',
2639
+ layout: {
2640
+ positions: {
2641
+ lg: {
2642
+ colSpan: 12,
2643
+ },
2644
+ },
2645
+ },
2646
+ },
2647
+ {
2648
+ name: 'schema.defaultValue',
2649
+ layout: {
2650
+ positions: {
2651
+ lg: {
2652
+ colSpan: 6,
2653
+ },
2654
+ },
2655
+ },
2656
+ },
2657
+ {
2658
+ name: 'schema.nullable',
2659
+ layout: {
2660
+ positions: {
2661
+ lg: {
2662
+ colSpan: 6,
2663
+ },
2664
+ },
2665
+ },
2666
+ },
2667
+ {
2668
+ name: 'schema.interface.type',
2669
+ layout: {
2670
+ positions: {
2671
+ lg: {
2672
+ colSpan: 12,
2673
+ },
2674
+ },
2675
+ },
2676
+ },
2677
+ ],
2678
+ },
2679
+ update: {
2680
+ sections: [
2681
+ {
2682
+ id: 'property',
2683
+ },
2684
+ {
2685
+ id: 'schema',
2686
+ },
2687
+ {
2688
+ id: 'interface',
2689
+ },
2690
+ ],
2691
+ properties: [
2692
+ {
2693
+ name: 'name',
2694
+ layout: {
2695
+ positions: {
2696
+ lg: {
2697
+ colSpan: 6,
2698
+ },
2699
+ },
2700
+ },
2701
+ },
2702
+ {
2703
+ name: 'title',
2704
+ layout: {
2705
+ positions: {
2706
+ lg: {
2707
+ colSpan: 6,
2708
+ },
2709
+ },
2710
+ },
2711
+ },
2712
+ {
2713
+ name: 'groupId',
2714
+ layout: {
2715
+ positions: {
2716
+ lg: {
2717
+ colSpan: 12,
2718
+ },
2719
+ },
2720
+ },
2721
+ },
2722
+ {
2723
+ name: 'schema.defaultValue',
2724
+ layout: {
2725
+ positions: {
2726
+ lg: {
2727
+ colSpan: 6,
2728
+ },
2729
+ },
2730
+ },
2731
+ },
2732
+ {
2733
+ name: 'schema.nullable',
2734
+ layout: {
2735
+ positions: {
2736
+ lg: {
2737
+ colSpan: 6,
2738
+ },
2739
+ },
2740
+ },
2741
+ },
2742
+ {
2743
+ name: 'schema.interface.type',
2744
+ layout: {
2745
+ positions: {
2746
+ lg: {
2747
+ colSpan: 6,
2748
+ },
2749
+ },
2750
+ },
2751
+ },
2752
+ ],
2753
+ },
2754
+ single: {
2755
+ title: '{{title}}',
2756
+ sections: [
2757
+ {
2758
+ id: 'property',
2759
+ },
2760
+ {
2761
+ id: 'schema',
2762
+ },
2763
+ {
2764
+ id: 'interface',
2765
+ },
2766
+ ],
2767
+ properties: [
2768
+ {
2769
+ name: 'name',
2770
+ layout: {
2771
+ positions: {
2772
+ lg: {
2773
+ colSpan: 6,
2774
+ },
2775
+ },
2776
+ },
2777
+ },
2778
+ {
2779
+ name: 'title',
2780
+ layout: {
2781
+ positions: {
2782
+ lg: {
2783
+ colSpan: 6,
2784
+ },
2785
+ },
2786
+ },
2787
+ },
2788
+ {
2789
+ name: 'groupId',
2790
+ layout: {
2791
+ positions: {
2792
+ lg: {
2793
+ colSpan: 12,
2794
+ },
2795
+ },
2796
+ },
2797
+ },
2798
+ {
2799
+ name: 'schema.defaultValue',
2800
+ layout: {
2801
+ positions: {
2802
+ lg: {
2803
+ colSpan: 6,
2804
+ },
2805
+ },
2806
+ },
2807
+ },
2808
+ {
2809
+ name: 'schema.nullable',
2810
+ layout: {
2811
+ positions: {
2812
+ lg: {
2813
+ colSpan: 6,
2814
+ },
2815
+ },
2816
+ },
2817
+ },
2818
+ {
2819
+ name: 'schema.interface.type',
2820
+ layout: {
2821
+ positions: {
2822
+ lg: {
2823
+ colSpan: 6,
2824
+ },
2825
+ },
2826
+ },
2827
+ },
2828
+ ],
2829
+ actions: [],
2830
+ },
2831
+ list: {
2832
+ actions: [
2833
+ {
2834
+ title: 'Create New',
2835
+ command: 'create-entity',
2836
+ priority: 'primary',
2837
+ type: 'create',
2838
+ scope: AXPEntityCommandScope.TypeLevel,
2839
+ },
2840
+ {
2841
+ title: 'Delete Items',
2842
+ command: 'delete-entity',
2843
+ priority: 'primary',
2844
+ type: 'delete',
2845
+ scope: AXPEntityCommandScope.Selected,
2846
+ },
2847
+ {
2848
+ title: 'Details',
2849
+ command: 'open-entity',
2850
+ priority: 'primary',
2851
+ type: 'view',
2852
+ scope: AXPEntityCommandScope.Individual,
2853
+ },
2854
+ {
2855
+ title: 'Delete',
2856
+ command: 'delete-entity',
2857
+ priority: 'primary',
2858
+ type: 'delete',
2859
+ scope: AXPEntityCommandScope.Individual,
2860
+ },
2861
+ ],
2862
+ views: [
2863
+ {
2864
+ name: 'all',
2865
+ title: 'All Items',
2866
+ fixed: true,
2867
+ columns: [],
2868
+ conditions: [],
2869
+ sorts: [],
2870
+ },
2871
+ ],
2872
+ },
2873
+ },
2874
+ },
2875
+ };
2876
+ return entityDef;
2877
+ }
2878
+
2879
+ class AXPModuleDesignerService {
2880
+ }
2881
+
2181
2882
  /**
2182
2883
  * Generated bundle index. Do not edit.
2183
2884
  */
2184
2885
 
2185
- export { AXMApplicationManagementModule, AXPApplicationManagementService, applicationEntityFactory, applicationModuleEntityFactory, editionEntityFactory, entityEntityFactory, featureEntityFactory, modulesEntityFactory, permissionEntityFactory };
2886
+ export { AXMApplicationManagementModule, AXPApplicationManagementService, AXPModuleDesignerService, applicationEntityFactory, applicationModuleEntityFactory, editionEntityFactory, entityEntityFactory, featureEntityFactory, modulesEntityFactory, permissionEntityFactory, propertyEntityFactory, routes };
2186
2887
  //# sourceMappingURL=acorex-modules-application-management.mjs.map