@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.
- package/application-management/index.d.ts +9 -7
- package/application-management/lib/actions/index.d.ts +1 -0
- package/application-management/lib/actions/show-detail.action.d.ts +8 -0
- package/application-management/lib/application-management-mock-data.d.ts +3 -18
- package/application-management/lib/application-management.module.d.ts +12 -2
- package/application-management/lib/application-management.service.d.ts +2 -0
- package/application-management/lib/entities/property.entity.d.ts +3 -0
- package/application-management/lib/layouts/index.d.ts +1 -0
- package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +15 -0
- package/application-management/lib/module-designer/module-designer.component.d.ts +32 -0
- package/application-management/lib/module-designer/module-designer.service.d.ts +34 -0
- package/application-management/lib/module-designer/module-designer.type.d.ts +1 -0
- package/application-management/lib/services/context-menu.service.d.ts +26 -0
- package/application-management/lib/workflows/create-module-entity.workflow.d.ts +2 -0
- package/application-management/lib/workflows/index.d.ts +2 -0
- package/application-management/lib/workflows/show-module-entity-details.workflow.d.ts +2 -0
- package/auth/lib/error-handler.d.ts +1 -1
- package/backend/lib/data/api/comment.service.d.ts +15 -0
- package/backend/lib/data/api/module-designer.service.d.ts +43 -0
- package/backend/lib/data/index.d.ts +2 -1
- package/backend/lib/data/local/local-data-provider.d.ts +1 -2
- package/esm2022/application-management/index.mjs +10 -8
- package/esm2022/application-management/lib/actions/index.mjs +2 -0
- package/esm2022/application-management/lib/actions/show-detail.action.mjs +25 -0
- package/esm2022/application-management/lib/application-management-mock-data.mjs +4 -4
- package/esm2022/application-management/lib/application-management.module.mjs +94 -7
- package/esm2022/application-management/lib/application-management.service.mjs +8 -2
- package/esm2022/application-management/lib/entities/application-module.entity.mjs +273 -0
- package/esm2022/application-management/lib/entities/applications.entity.mjs +311 -0
- package/esm2022/application-management/lib/entities/edition.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/entity.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/feature.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/modules.entity.mjs +324 -0
- package/esm2022/application-management/lib/entities/permission.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/property.entity.mjs +449 -0
- package/esm2022/application-management/lib/layouts/index.mjs +2 -0
- package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +77 -0
- package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +142 -0
- package/esm2022/application-management/lib/module-designer/module-designer.service.mjs +3 -0
- package/esm2022/application-management/lib/module-designer/module-designer.type.mjs +2 -0
- package/esm2022/application-management/lib/services/context-menu.service.mjs +168 -0
- package/esm2022/application-management/lib/workflows/create-module-entity.workflow.mjs +42 -0
- package/esm2022/application-management/lib/workflows/index.mjs +3 -0
- package/esm2022/application-management/lib/workflows/show-module-entity-details.workflow.mjs +9 -0
- package/esm2022/auth/lib/error-handler.mjs +6 -6
- package/esm2022/backend/lib/backend.module.mjs +23 -5
- package/esm2022/backend/lib/data/api/comment.service.mjs +48 -0
- package/esm2022/backend/lib/data/api/data-provider.mjs +2 -2
- package/esm2022/backend/lib/data/api/module-designer.service.mjs +95 -0
- package/esm2022/backend/lib/data/index.mjs +3 -2
- package/esm2022/backend/lib/data/local/local-data-provider.mjs +2 -2
- package/esm2022/form-management/acorex-modules-form-management.mjs +5 -0
- package/esm2022/form-management/index.mjs +2 -0
- package/esm2022/form-management/lib/designer/designer.page.mjs +24 -0
- package/esm2022/form-management/lib/form-management.module.mjs +29 -0
- package/fesm2022/acorex-modules-application-management-module-designer.component-CDZZ-5pF.mjs +323 -0
- package/fesm2022/acorex-modules-application-management-module-designer.component-CDZZ-5pF.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management.mjs +722 -21
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BD7I4S8c.mjs → acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs} +12 -12
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Cfl1D1Cw.mjs → acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Cfl1D1Cw.mjs.map → acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-BQG4ObmU.mjs → acorex-modules-auth-login.module-CGA5aTg2.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-login.module-BQG4ObmU.mjs.map → acorex-modules-auth-login.module-CGA5aTg2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DoPCP7C0.mjs → acorex-modules-auth-master.layout-ZJWzjLrb.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-DoPCP7C0.mjs.map → acorex-modules-auth-master.layout-ZJWzjLrb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-fyMD7oKR.mjs → acorex-modules-auth-password.component-C4yqf342.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-password.component-fyMD7oKR.mjs.map → acorex-modules-auth-password.component-C4yqf342.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CfhiS2hO.mjs → acorex-modules-auth-password.component-MJhNk3UI.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-CfhiS2hO.mjs.map → acorex-modules-auth-password.component-MJhNk3UI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-95DQOnjS.mjs → acorex-modules-auth-routes-DhORV1Js.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-95DQOnjS.mjs.map → acorex-modules-auth-routes-DhORV1Js.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-BkErlA-n.mjs → acorex-modules-auth-two-factor.module-BWKP0_jO.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-two-factor.module-BkErlA-n.mjs.map → acorex-modules-auth-two-factor.module-BWKP0_jO.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +4 -4
- package/fesm2022/acorex-modules-backend.mjs +154 -137
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs +27 -0
- package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-management.mjs +36 -0
- package/fesm2022/acorex-modules-form-management.mjs.map +1 -0
- package/form-management/README.md +4 -0
- package/form-management/index.d.ts +1 -0
- package/form-management/lib/designer/designer.page.d.ts +5 -0
- package/form-management/lib/form-management.module.d.ts +7 -0
- package/package.json +6 -6
- package/backend/lib/data/local/data-Conditioner.d.ts +0 -6
- package/esm2022/application-management/lib/application-module.entity.mjs +0 -273
- package/esm2022/application-management/lib/applications.entity.mjs +0 -311
- package/esm2022/application-management/lib/edition.entity.mjs +0 -284
- package/esm2022/application-management/lib/entity.entity.mjs +0 -284
- package/esm2022/application-management/lib/feature.entity.mjs +0 -284
- package/esm2022/application-management/lib/modules.entity.mjs +0 -324
- package/esm2022/application-management/lib/permission.entity.mjs +0 -284
- package/esm2022/backend/lib/data/local/data-Conditioner.mjs +0 -138
- package/esm2022/log-management/acorex-modules-log-management.mjs +0 -5
- package/esm2022/log-management/index.mjs +0 -3
- package/esm2022/log-management/lib/audit-logs.entity.mjs +0 -391
- package/esm2022/log-management/lib/log-management.module.mjs +0 -16
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BD7I4S8c.mjs.map +0 -1
- package/fesm2022/acorex-modules-log-management.mjs +0 -414
- package/fesm2022/acorex-modules-log-management.mjs.map +0 -1
- package/log-management/README.md +0 -4
- package/log-management/index.d.ts +0 -2
- package/log-management/lib/audit-logs.entity.d.ts +0 -3
- package/log-management/lib/log-management.module.d.ts +0 -6
- /package/application-management/lib/{application-module.entity.d.ts → entities/application-module.entity.d.ts} +0 -0
- /package/application-management/lib/{applications.entity.d.ts → entities/applications.entity.d.ts} +0 -0
- /package/application-management/lib/{edition.entity.d.ts → entities/edition.entity.d.ts} +0 -0
- /package/application-management/lib/{entity.entity.d.ts → entities/entity.entity.d.ts} +0 -0
- /package/application-management/lib/{feature.entity.d.ts → entities/feature.entity.d.ts} +0 -0
- /package/application-management/lib/{modules.entity.d.ts → entities/modules.entity.d.ts} +0 -0
- /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 {
|
3
|
-
import
|
4
|
-
import {
|
5
|
-
import {
|
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
|
9
|
-
|
10
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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: '
|
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: '
|
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: '
|
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: '
|
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
|
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.
|
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.
|
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
|