@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
|