@acorex/modules 18.0.16 → 18.1.1
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/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 +3 -2
- 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 +17 -3
- 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/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 +44 -6
- 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 +83 -32
- package/esm2022/application-management/lib/module-designer/module-designer.type.mjs +2 -0
- package/esm2022/application-management/lib/services/context-menu.service.mjs +167 -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/shared/layouts/master/master.layout.mjs +3 -3
- package/esm2022/backend/lib/data/api/module-designer.service.mjs +2 -2
- package/fesm2022/acorex-modules-application-management-module-designer.component-Bgq9-BVv.mjs +322 -0
- package/fesm2022/acorex-modules-application-management-module-designer.component-Bgq9-BVv.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management.mjs +191 -13
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs → acorex-modules-auth-acorex-modules-auth-CS3UFdX0.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs.map → acorex-modules-auth-acorex-modules-auth-CS3UFdX0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs → acorex-modules-auth-app-chooser.component-BlJbIMKi.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs.map → acorex-modules-auth-app-chooser.component-BlJbIMKi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CGA5aTg2.mjs → acorex-modules-auth-login.module-DGBKGxI3.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-CGA5aTg2.mjs.map → acorex-modules-auth-login.module-DGBKGxI3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-ZJWzjLrb.mjs → acorex-modules-auth-master.layout-B_8Sfw0M.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-master.layout-ZJWzjLrb.mjs.map → acorex-modules-auth-master.layout-B_8Sfw0M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-MJhNk3UI.mjs → acorex-modules-auth-password.component-BfDjRRN_.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-MJhNk3UI.mjs.map → acorex-modules-auth-password.component-BfDjRRN_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-C4yqf342.mjs → acorex-modules-auth-password.component-DZJ1qwfa.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-C4yqf342.mjs.map → acorex-modules-auth-password.component-DZJ1qwfa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-DhORV1Js.mjs → acorex-modules-auth-routes-Bw7nXDvx.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DhORV1Js.mjs.map → acorex-modules-auth-routes-Bw7nXDvx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-BWKP0_jO.mjs → acorex-modules-auth-two-factor.module-DKStBo1V.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-BWKP0_jO.mjs.map → acorex-modules-auth-two-factor.module-DKStBo1V.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-backend.mjs +1 -1
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/package.json +7 -7
- package/fesm2022/acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs +0 -100
- package/fesm2022/acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
export * from './show-detail.action';
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class AXPShowModuleEntityDetailViewAction extends AXPWorkflowAction {
|
4
|
+
private navigation;
|
5
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPShowModuleEntityDetailViewAction, never>;
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPShowModuleEntityDetailViewAction>;
|
8
|
+
}
|
@@ -39,36 +39,21 @@ export declare const EDITIONS: {
|
|
39
39
|
}[];
|
40
40
|
export declare const FEATURES: {
|
41
41
|
id: string;
|
42
|
-
|
43
|
-
id: string;
|
44
|
-
name: string;
|
45
|
-
title: string;
|
46
|
-
isArchived: boolean;
|
47
|
-
};
|
42
|
+
moduleId: string;
|
48
43
|
name: string;
|
49
44
|
title: string;
|
50
45
|
isArchived: boolean;
|
51
46
|
}[];
|
52
47
|
export declare const ENTITIES: {
|
53
48
|
id: string;
|
54
|
-
|
55
|
-
id: string;
|
56
|
-
name: string;
|
57
|
-
title: string;
|
58
|
-
isArchived: boolean;
|
59
|
-
};
|
49
|
+
moduleId: string;
|
60
50
|
name: string;
|
61
51
|
title: string;
|
62
52
|
isArchived: boolean;
|
63
53
|
}[];
|
64
54
|
export declare const PERMISSIONS: {
|
65
55
|
id: string;
|
66
|
-
|
67
|
-
id: string;
|
68
|
-
name: string;
|
69
|
-
title: string;
|
70
|
-
isArchived: boolean;
|
71
|
-
};
|
56
|
+
moduleId: string;
|
72
57
|
name: string;
|
73
58
|
title: string;
|
74
59
|
isArchived: boolean;
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
2
2
|
import { Route } from '@angular/router';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@
|
4
|
+
import * as i1 from "@acorex/platform/workflow";
|
5
|
+
import * as i2 from "@angular/router";
|
5
6
|
export declare const routes: Route[];
|
6
7
|
export declare class AXMApplicationManagementModule {
|
7
8
|
static forRoot(): ModuleWithProviders<AXMApplicationManagementModule>;
|
@@ -10,6 +11,6 @@ export declare class AXMApplicationManagementModule {
|
|
10
11
|
*/
|
11
12
|
constructor(instances: any[]);
|
12
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXMApplicationManagementModule, [{ optional: true; }]>;
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXMApplicationManagementModule, never, [typeof i1.RouterModule], never>;
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXMApplicationManagementModule, never, [typeof i1.AXPWorkflowModule, typeof i2.RouterModule], never>;
|
14
15
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXMApplicationManagementModule>;
|
15
16
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './module-entity-detail-view/module-entity-detail-view.component';
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { AXTabStripChangedEvent } from '@acorex/components/tabs';
|
2
|
+
import { AXPEntityMasterSingleViewModel } from '@acorex/platform/layout/entity';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class AXPModuleEntityDetailViewComponent {
|
5
|
+
private activeRoute;
|
6
|
+
protected readonly vm: AXPEntityMasterSingleViewModel;
|
7
|
+
private store;
|
8
|
+
protected isSM: import("rxjs").Observable<boolean>;
|
9
|
+
protected isOpen: import("rxjs").Observable<boolean>;
|
10
|
+
protected selectedDetailTabIndex: import("@angular/core").WritableSignal<number>;
|
11
|
+
handleActiveDetailTabChanged(e: AXTabStripChangedEvent): void;
|
12
|
+
ngOnDestroy(): void;
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleEntityDetailViewComponent, never>;
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPModuleEntityDetailViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
15
|
+
}
|
@@ -1,18 +1,32 @@
|
|
1
1
|
import { AXCollapseClickEvent } from '@acorex/components/collapse';
|
2
|
-
import {
|
2
|
+
import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
3
|
+
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
4
|
+
import { AXMModuleDesignerContextMenuService } from '../services/context-menu.service';
|
3
5
|
import { AXPModuleDesignerService } from './module-designer.service';
|
6
|
+
import { AXMModuleItem } from './module-designer.type';
|
4
7
|
import * as i0 from "@angular/core";
|
5
8
|
export declare class AXMModuleDesignerComponent implements OnInit {
|
9
|
+
protected cdr: ChangeDetectorRef;
|
6
10
|
protected dataProvider: AXPModuleDesignerService;
|
11
|
+
private workflow;
|
12
|
+
protected contextMenuService: AXMModuleDesignerContextMenuService;
|
7
13
|
protected modules: import("@angular/core").WritableSignal<any[]>;
|
8
14
|
protected moduleDataCache: Map<string, any[]>;
|
15
|
+
private readonly destroyed;
|
16
|
+
constructor();
|
9
17
|
ngOnInit(): void;
|
18
|
+
protected subscribeActionEvents(): void;
|
10
19
|
protected loadModules(): Promise<void>;
|
11
|
-
protected
|
20
|
+
protected handleCollapseItemClick(moduleId: string, e: AXCollapseClickEvent, dataType: AXMModuleItem): Promise<void>;
|
21
|
+
protected loadModuleData(moduleId: string, dataType: AXMModuleItem, hardReload?: boolean): Promise<void>;
|
12
22
|
protected getEntities(moduleId: string): any[];
|
13
23
|
protected getPermissions(moduleId: string): any[];
|
14
24
|
protected getFeatures(moduleId: string): any[];
|
15
|
-
protected
|
25
|
+
protected openingContextMenu(e: AXContextMenuOpeningEvent): void;
|
26
|
+
protected handleActionClick(e: AXContextMenuItemsClickEvent): void;
|
27
|
+
protected createModule(): void;
|
28
|
+
protected destroy(): void;
|
29
|
+
protected assignData(target: HTMLElement, data: any): void;
|
16
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXMModuleDesignerComponent, never>;
|
17
31
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXMModuleDesignerComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
18
32
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export type AXMModuleItem = 'entity' | 'feature' | 'permission';
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent } from '@acorex/components/menu';
|
2
|
+
import { AXMModuleItem } from '../module-designer/module-designer.type';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class AXMModuleDesignerContextMenuService {
|
5
|
+
private workflow;
|
6
|
+
protected copiedRecord: import("@angular/core").WritableSignal<{
|
7
|
+
type: AXMModuleItem;
|
8
|
+
record: any;
|
9
|
+
} | null>;
|
10
|
+
protected elementData: import("@angular/core").WritableSignal<{
|
11
|
+
entityType: AXMModuleItem;
|
12
|
+
record: any;
|
13
|
+
moduleId: string;
|
14
|
+
} | null>;
|
15
|
+
private menuItems;
|
16
|
+
open(e: AXContextMenuOpeningEvent): void;
|
17
|
+
itemClick(e: AXContextMenuItemsClickEvent): void;
|
18
|
+
createEntity(entityType: 'module' | AXMModuleItem, moduleId?: string): Promise<void>;
|
19
|
+
showDetails(entityType: 'module' | AXMModuleItem, id: string): Promise<void>;
|
20
|
+
private copyRecord;
|
21
|
+
private pasteRecord;
|
22
|
+
private deleteEntity;
|
23
|
+
private getMenuItems;
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMModuleDesignerContextMenuService, never>;
|
25
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMModuleDesignerContextMenuService>;
|
26
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './show-detail.action';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hvdy1kZXRhaWwuYWN0aW9uJztcbiJdfQ==
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { AXPWorkflowNavigateAction } from '@acorex/platform/common';
|
2
|
+
import { AXPWorkflowAction } from '@acorex/platform/workflow';
|
3
|
+
import { Injectable, inject } from '@angular/core';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class AXPShowModuleEntityDetailViewAction extends AXPWorkflowAction {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
this.navigation = inject(AXPWorkflowNavigateAction);
|
9
|
+
}
|
10
|
+
async execute(context) {
|
11
|
+
const [module, entity] = context.getVariable('entity').split('.');
|
12
|
+
const { id } = context.getVariable('data');
|
13
|
+
const newPayload = {
|
14
|
+
commands: `/console/module-designer/m/${module}/e/${entity}/${id}/view`,
|
15
|
+
};
|
16
|
+
context.setVariable('payload', newPayload);
|
17
|
+
this.navigation.execute(context);
|
18
|
+
}
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPShowModuleEntityDetailViewAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPShowModuleEntityDetailViewAction }); }
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPShowModuleEntityDetailViewAction, decorators: [{
|
23
|
+
type: Injectable
|
24
|
+
}] });
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1kZXRhaWwuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2FwcGxpY2F0aW9uLW1hbmFnZW1lbnQvc3JjL2xpYi9hY3Rpb25zL3Nob3ctZGV0YWlsLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR25ELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxpQkFBaUI7SUFEMUU7O1FBRVUsZUFBVSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBVXhEO0lBVEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLFFBQVEsRUFBRSw4QkFBOEIsTUFBTSxNQUFNLE1BQU0sSUFBSSxFQUFFLE9BQU87U0FDeEUsQ0FBQztRQUNGLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBVlUsbUNBQW1DO2tIQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXb3JrZmxvd05hdmlnYXRlQWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBTaG93TW9kdWxlRW50aXR5RGV0YWlsVmlld0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uID0gaW5qZWN0KEFYUFdvcmtmbG93TmF2aWdhdGVBY3Rpb24pO1xuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IFttb2R1bGUsIGVudGl0eV0gPSBjb250ZXh0LmdldFZhcmlhYmxlKCdlbnRpdHknKS5zcGxpdCgnLicpO1xuICAgIGNvbnN0IHsgaWQgfSA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ2RhdGEnKTtcbiAgICBjb25zdCBuZXdQYXlsb2FkID0ge1xuICAgICAgY29tbWFuZHM6IGAvY29uc29sZS9tb2R1bGUtZGVzaWduZXIvbS8ke21vZHVsZX0vZS8ke2VudGl0eX0vJHtpZH0vdmlld2AsXG4gICAgfTtcbiAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdwYXlsb2FkJywgbmV3UGF5bG9hZCk7XG4gICAgdGhpcy5uYXZpZ2F0aW9uLmV4ZWN1dGUoY29udGV4dCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -58,7 +58,7 @@ export const FEATURES = Array.from({ length: 5 }).map((_, i) => {
|
|
58
58
|
const name = AXPDataGenerator.pick(source);
|
59
59
|
return {
|
60
60
|
id: AXPDataGenerator.uuid(),
|
61
|
-
|
61
|
+
moduleId: AXPDataGenerator.pick(MODULES).id,
|
62
62
|
name: name,
|
63
63
|
title: name,
|
64
64
|
isArchived: AXPDataGenerator.boolean(),
|
@@ -69,7 +69,7 @@ export const ENTITIES = Array.from({ length: 5 }).map((_, i) => {
|
|
69
69
|
const name = AXPDataGenerator.pick(source);
|
70
70
|
return {
|
71
71
|
id: AXPDataGenerator.uuid(),
|
72
|
-
|
72
|
+
moduleId: AXPDataGenerator.pick(MODULES).id,
|
73
73
|
name: name,
|
74
74
|
title: name,
|
75
75
|
isArchived: AXPDataGenerator.boolean(),
|
@@ -80,10 +80,10 @@ export const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {
|
|
80
80
|
const name = AXPDataGenerator.pick(source);
|
81
81
|
return {
|
82
82
|
id: AXPDataGenerator.uuid(),
|
83
|
-
|
83
|
+
moduleId: AXPDataGenerator.pick(MODULES).id,
|
84
84
|
name: name,
|
85
85
|
title: name,
|
86
86
|
isArchived: AXPDataGenerator.boolean(),
|
87
87
|
};
|
88
88
|
});
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbWFuYWdlbWVudC1tb2NrLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2FwcGxpY2F0aW9uLW1hbmFnZW1lbnQtbW9jay1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RixNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFM0MsT0FBTztRQUNMLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7S0FDdkMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDNUQsTUFBTSxNQUFNLEdBQUc7UUFDYixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtLQUN0QixDQUFDO0lBQ0YsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTNDLE9BQU87UUFDTCxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1FBQzNCLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO0tBQ3ZDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDekUsT0FBTztRQUNMLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsV0FBVyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEQsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDdkMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDN0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RixNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFM0MsT0FBTztRQUNMLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsV0FBVyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEQsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7S0FDdkMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDN0QsTUFBTSxNQUFNLEdBQUc7UUFDYixxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsWUFBWTtRQUNaLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsY0FBYztLQUNmLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsT0FBTztRQUNMLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1FBQzNDLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO0tBQ3ZDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzdELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlHLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxPQUFPO1FBQ0wsRUFBRSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUMzQixRQUFRLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7UUFDM0MsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7S0FDdkMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDaEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0SCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsT0FBTztRQUNMLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1FBQzNDLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO0tBQ3ZDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUERhdGFHZW5lcmF0b3IgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTlMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA1IH0pLm1hcCgoXywgaSkgPT4ge1xuICBjb25zdCBzb3VyY2UgPSBbJ2FwcE9uZScsICdhcHBUd28nLCAnYXBwVGhyZWUnLCAnbXlDb29sQXBwJywgJ2F3ZXNvbWVBcHAnLCAnc3VwZXJBcHAnXTtcbiAgY29uc3QgbmFtZSA9IEFYUERhdGFHZW5lcmF0b3IucGljayhzb3VyY2UpO1xuXG4gIHJldHVybiB7XG4gICAgaWQ6IEFYUERhdGFHZW5lcmF0b3IudXVpZCgpLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgdGl0bGU6IG5hbWUsXG4gICAgaXNBcmNoaXZlZDogQVhQRGF0YUdlbmVyYXRvci5ib29sZWFuKCksXG4gIH07XG59KTtcblxuZXhwb3J0IGNvbnN0IE1PRFVMRVMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA1IH0pLm1hcCgoXywgaSkgPT4ge1xuICBjb25zdCBzb3VyY2UgPSBbXG4gICAgJ1VzZXJNYW5hZ2VtZW50JyxcbiAgICAnQW5hbHl0aWNzJyxcbiAgICAnUmVwb3J0aW5nJyxcbiAgICAnUGF5bWVudEdhdGV3YXknLFxuICAgICdOb3RpZmljYXRpb25TZXJ2aWNlJyxcbiAgICAnSW52ZW50b3J5TWFuYWdlbWVudCcsXG4gIF07XG4gIGNvbnN0IG5hbWUgPSBBWFBEYXRhR2VuZXJhdG9yLnBpY2soc291cmNlKTtcblxuICByZXR1cm4ge1xuICAgIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSxcbiAgICBuYW1lOiBuYW1lLFxuICAgIHRpdGxlOiBuYW1lLFxuICAgIGlzQXJjaGl2ZWQ6IEFYUERhdGFHZW5lcmF0b3IuYm9vbGVhbigpLFxuICB9O1xufSk7XG5cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTlNfTU9EVUxFUyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSkubWFwKChfLCBpKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IEFYUERhdGFHZW5lcmF0b3IudXVpZCgpLFxuICAgIGFwcGxpY2F0aW9uOiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soQVBQTElDQVRJT05TKSxcbiAgICBtb2R1bGU6IEFYUERhdGFHZW5lcmF0b3IucGljayhNT0RVTEVTKSxcbiAgfTtcbn0pO1xuXG5leHBvcnQgY29uc3QgRURJVElPTlMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA1IH0pLm1hcCgoXywgaSkgPT4ge1xuICBjb25zdCBzb3VyY2UgPSBbJ1N0YW5kYXJkJywgJ1ByZW1pdW0nLCAnR29sZCcsICdTaWx2ZXInLCAnQnJvbnplJywgJ1BsYXRpbnVtJywgJ0VudGVycHJpc2UnXTtcbiAgY29uc3QgbmFtZSA9IEFYUERhdGFHZW5lcmF0b3IucGljayhzb3VyY2UpO1xuXG4gIHJldHVybiB7XG4gICAgaWQ6IEFYUERhdGFHZW5lcmF0b3IudXVpZCgpLFxuICAgIGFwcGxpY2F0aW9uOiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soQVBQTElDQVRJT05TKSxcbiAgICBuYW1lOiBuYW1lLFxuICAgIHRpdGxlOiBuYW1lLFxuICAgIGlzQXJjaGl2ZWQ6IEFYUERhdGFHZW5lcmF0b3IuYm9vbGVhbigpLFxuICB9O1xufSk7XG5cbmV4cG9ydCBjb25zdCBGRUFUVVJFUyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSkubWFwKChfLCBpKSA9PiB7XG4gIGNvbnN0IHNvdXJjZSA9IFtcbiAgICAnVXNlciBBdXRoZW50aWNhdGlvbicsXG4gICAgJ0RhdGEgRW5jcnlwdGlvbicsXG4gICAgJ1JlYWwtdGltZSBOb3RpZmljYXRpb25zJyxcbiAgICAnQ3VzdG9taXphYmxlIERhc2hib2FyZHMnLFxuICAgICdBUEkgQWNjZXNzJyxcbiAgICAnTXVsdGktbGFuZ3VhZ2UgU3VwcG9ydCcsXG4gICAgJ0FuYWx5dGljcyBhbmQgUmVwb3J0aW5nJyxcbiAgICAnT2ZmbGluZSBNb2RlJyxcbiAgXTtcbiAgY29uc3QgbmFtZSA9IEFYUERhdGFHZW5lcmF0b3IucGljayhzb3VyY2UpO1xuICByZXR1cm4ge1xuICAgIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSxcbiAgICBtb2R1bGVJZDogQVhQRGF0YUdlbmVyYXRvci5waWNrKE1PRFVMRVMpLmlkLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgdGl0bGU6IG5hbWUsXG4gICAgaXNBcmNoaXZlZDogQVhQRGF0YUdlbmVyYXRvci5ib29sZWFuKCksXG4gIH07XG59KTtcblxuZXhwb3J0IGNvbnN0IEVOVElUSUVTID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogNSB9KS5tYXAoKF8sIGkpID0+IHtcbiAgY29uc3Qgc291cmNlID0gWydVc2VyJywgJ1Byb2R1Y3QnLCAnT3JkZXInLCAnQ3VzdG9tZXInLCAnVHJhbnNhY3Rpb24nLCAnQ2F0ZWdvcnknLCAnUmV2aWV3JywgJ0ludmVudG9yeUl0ZW0nXTtcbiAgY29uc3QgbmFtZSA9IEFYUERhdGFHZW5lcmF0b3IucGljayhzb3VyY2UpO1xuICByZXR1cm4ge1xuICAgIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSxcbiAgICBtb2R1bGVJZDogQVhQRGF0YUdlbmVyYXRvci5waWNrKE1PRFVMRVMpLmlkLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgdGl0bGU6IG5hbWUsXG4gICAgaXNBcmNoaXZlZDogQVhQRGF0YUdlbmVyYXRvci5ib29sZWFuKCksXG4gIH07XG59KTtcbmV4cG9ydCBjb25zdCBQRVJNSVNTSU9OUyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSkubWFwKChfLCBpKSA9PiB7XG4gIGNvbnN0IHNvdXJjZSA9IFsnUmVhZCcsICdXcml0ZScsICdVcGRhdGUnLCAnRGVsZXRlJywgJ01hbmFnZVVzZXJzJywgJ1ZpZXdSZXBvcnRzJywgJ0FjY2Vzc1NldHRpbmdzJywgJ0NyZWF0ZUNvbnRlbnQnXTtcbiAgY29uc3QgbmFtZSA9IEFYUERhdGFHZW5lcmF0b3IucGljayhzb3VyY2UpO1xuICByZXR1cm4ge1xuICAgIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSxcbiAgICBtb2R1bGVJZDogQVhQRGF0YUdlbmVyYXRvci5waWNrKE1PRFVMRVMpLmlkLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgdGl0bGU6IG5hbWUsXG4gICAgaXNBcmNoaXZlZDogQVhQRGF0YUdlbmVyYXRvci5ib29sZWFuKCksXG4gIH07XG59KTtcbiJdfQ==
|
@@ -1,9 +1,14 @@
|
|
1
|
-
import { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';
|
1
|
+
import { AXPEntityDefinitionRegistryService, AXPEntityDetailViewModelResolver } from '@acorex/platform/layout/entity';
|
2
2
|
import { AXPRootLayoutComponent } from '@acorex/platform/themes/default';
|
3
|
+
import { AXPWorkflowModule } from '@acorex/platform/workflow';
|
3
4
|
import { Inject, Injector, NgModule, Optional } from '@angular/core';
|
4
5
|
import { RouterModule } from '@angular/router';
|
6
|
+
import { AXPShowModuleEntityDetailViewAction } from './actions';
|
7
|
+
import { AXPModuleEntityDetailViewComponent } from './layouts';
|
8
|
+
import { AXPCreateModuleEntityWorkflow, AXPShowModuleEntityDetailsViewWorkflow } from './workflows';
|
5
9
|
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@
|
10
|
+
import * as i1 from "@acorex/platform/workflow";
|
11
|
+
import * as i2 from "@angular/router";
|
7
12
|
export const routes = [
|
8
13
|
{
|
9
14
|
component: AXPRootLayoutComponent,
|
@@ -12,6 +17,19 @@ export const routes = [
|
|
12
17
|
{
|
13
18
|
path: 'module-designer',
|
14
19
|
loadComponent: () => import('./module-designer/module-designer.component').then((c) => c.AXMModuleDesignerComponent),
|
20
|
+
children: [
|
21
|
+
{
|
22
|
+
path: 'm/:module',
|
23
|
+
children: [
|
24
|
+
{
|
25
|
+
path: 'e/:entity/:id/view',
|
26
|
+
resolve: { vm: AXPEntityDetailViewModelResolver },
|
27
|
+
component: AXPModuleEntityDetailViewComponent,
|
28
|
+
},
|
29
|
+
],
|
30
|
+
data: { reuse: false },
|
31
|
+
},
|
32
|
+
],
|
15
33
|
},
|
16
34
|
],
|
17
35
|
},
|
@@ -46,13 +64,33 @@ export class AXMApplicationManagementModule {
|
|
46
64
|
*/
|
47
65
|
constructor(instances) { }
|
48
66
|
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 }); }
|
49
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, imports: [i1.RouterModule] }); }
|
50
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, imports: [
|
67
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, imports: [i1.AXPWorkflowModule, i2.RouterModule] }); }
|
68
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, imports: [AXPWorkflowModule.forChild({
|
69
|
+
actions: {
|
70
|
+
AXPShowModuleEntityDetailViewAction,
|
71
|
+
},
|
72
|
+
workflows: {
|
73
|
+
'create-module-entity': AXPCreateModuleEntityWorkflow,
|
74
|
+
'show-module-entity-details': AXPShowModuleEntityDetailsViewWorkflow,
|
75
|
+
},
|
76
|
+
}),
|
77
|
+
RouterModule.forChild(routes)] }); }
|
51
78
|
}
|
52
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModule, decorators: [{
|
53
80
|
type: NgModule,
|
54
81
|
args: [{
|
55
|
-
imports: [
|
82
|
+
imports: [
|
83
|
+
AXPWorkflowModule.forChild({
|
84
|
+
actions: {
|
85
|
+
AXPShowModuleEntityDetailViewAction,
|
86
|
+
},
|
87
|
+
workflows: {
|
88
|
+
'create-module-entity': AXPCreateModuleEntityWorkflow,
|
89
|
+
'show-module-entity-details': AXPShowModuleEntityDetailsViewWorkflow,
|
90
|
+
},
|
91
|
+
}),
|
92
|
+
RouterModule.forChild(routes),
|
93
|
+
],
|
56
94
|
exports: [],
|
57
95
|
declarations: [],
|
58
96
|
}]
|
@@ -62,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
62
100
|
type: Inject,
|
63
101
|
args: ['AXP_REGISTER_MODULES_ENTITIES']
|
64
102
|
}] }] });
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2FwcGxpY2F0aW9uLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBUyxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUVwRyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQVk7SUFDN0I7UUFDRSxTQUFTLEVBQUUsc0JBQXNCO1FBQ2pDLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztnQkFDakcsUUFBUSxFQUFFO29CQUNSO3dCQUNFLElBQUksRUFBRSxXQUFXO3dCQUNqQixRQUFRLEVBQUU7NEJBQ1I7Z0NBQ0UsSUFBSSxFQUFFLG9CQUFvQjtnQ0FDMUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLGdDQUFnQyxFQUFFO2dDQUNqRCxTQUFTLEVBQUUsa0NBQWtDOzZCQUM5Qzt5QkFDRjt3QkFDRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO3FCQUN2QjtpQkFDRjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFrQkYsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsOEJBQThCO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsK0JBQStCO29CQUN4QyxVQUFVLEVBQUUsS0FBSyxFQUFFLGNBQWtELEVBQUUsUUFBa0IsRUFBRSxFQUFFO3dCQUMzRixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUN2RyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQW9CLENBQUMsQ0FBQzt3QkFDOUMsRUFBRTt3QkFFRixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNwRyxjQUFjLENBQUMsUUFBUSxDQUFDLFlBQW1CLENBQUMsQ0FBQzt3QkFDN0MsRUFBRTt3QkFFRixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FDN0IsTUFBTSxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FDN0MsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDcEMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxnQkFBdUIsQ0FBQyxDQUFDO3dCQUNqRCxFQUFFO3dCQUVGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3ZHLGNBQWMsQ0FBQyxRQUFRLENBQUMsYUFBb0IsQ0FBQyxDQUFDO29CQUNoRCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLGtDQUFrQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLGlDQUFpQztpQkFDeEY7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFpRSxTQUFnQixJQUFHLENBQUM7OEdBbEMxRSw4QkFBOEIsa0JBa0NULCtCQUErQjsrR0FsQ3BELDhCQUE4QjsrR0FBOUIsOEJBQThCLFlBZHZDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztnQkFDekIsT0FBTyxFQUFFO29CQUNQLG1DQUFtQztpQkFDcEM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHNCQUFzQixFQUFFLDZCQUE2QjtvQkFDckQsNEJBQTRCLEVBQUUsc0NBQXNDO2lCQUNyRTthQUNGLENBQUM7WUFDRixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzs7MkZBS3BCLDhCQUE4QjtrQkFoQjFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQixDQUFDLFFBQVEsQ0FBQzs0QkFDekIsT0FBTyxFQUFFO2dDQUNQLG1DQUFtQzs2QkFDcEM7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULHNCQUFzQixFQUFFLDZCQUE2QjtnQ0FDckQsNEJBQTRCLEVBQUUsc0NBQXNDOzZCQUNyRTt5QkFDRixDQUFDO3dCQUNGLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtpQkFDakI7OzBCQW1DYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsIEFYUEVudGl0eURldGFpbFZpZXdNb2RlbFJlc29sdmVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFJvb3RMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0JztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhQU2hvd01vZHVsZUVudGl0eURldGFpbFZpZXdBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgQVhQTW9kdWxlRW50aXR5RGV0YWlsVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cyc7XG5pbXBvcnQgeyBBWFBDcmVhdGVNb2R1bGVFbnRpdHlXb3JrZmxvdywgQVhQU2hvd01vZHVsZUVudGl0eURldGFpbHNWaWV3V29ya2Zsb3cgfSBmcm9tICcuL3dvcmtmbG93cyc7XG5cbmV4cG9ydCBjb25zdCByb3V0ZXM6IFJvdXRlW10gPSBbXG4gIHtcbiAgICBjb21wb25lbnQ6IEFYUFJvb3RMYXlvdXRDb21wb25lbnQsXG4gICAgcGF0aDogJ2NvbnNvbGUnLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdtb2R1bGUtZGVzaWduZXInLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgIGltcG9ydCgnLi9tb2R1bGUtZGVzaWduZXIvbW9kdWxlLWRlc2lnbmVyLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhNTW9kdWxlRGVzaWduZXJDb21wb25lbnQpLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhdGg6ICdtLzptb2R1bGUnLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdlLzplbnRpdHkvOmlkL3ZpZXcnLFxuICAgICAgICAgICAgICAgIHJlc29sdmU6IHsgdm06IEFYUEVudGl0eURldGFpbFZpZXdNb2RlbFJlc29sdmVyIH0sXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBBWFBNb2R1bGVFbnRpdHlEZXRhaWxWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGRhdGE6IHsgcmV1c2U6IGZhbHNlIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIEFYUFNob3dNb2R1bGVFbnRpdHlEZXRhaWxWaWV3QWN0aW9uLFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAnY3JlYXRlLW1vZHVsZS1lbnRpdHknOiBBWFBDcmVhdGVNb2R1bGVFbnRpdHlXb3JrZmxvdyxcbiAgICAgICAgJ3Nob3ctbW9kdWxlLWVudGl0eS1kZXRhaWxzJzogQVhQU2hvd01vZHVsZUVudGl0eURldGFpbHNWaWV3V29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNQXBwbGljYXRpb25NYW5hZ2VtZW50TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWE1BcHBsaWNhdGlvbk1hbmFnZW1lbnRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYTUFwcGxpY2F0aW9uTWFuYWdlbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FYUF9SRUdJU1RFUl9NT0RVTEVTX0VOVElUSUVTJyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBhc3luYyAoZW50aXR5UmVnaXN0cnk6IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsIGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlc0VudGl0eSA9IGF3YWl0IChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvbW9kdWxlcy5lbnRpdHknKSkubW9kdWxlc0VudGl0eUZhY3RvcnkoaW5qZWN0b3IpO1xuICAgICAgICAgICAgZW50aXR5UmVnaXN0cnkucmVnaXN0ZXIobW9kdWxlc0VudGl0eSBhcyBhbnkpO1xuICAgICAgICAgICAgLy9cblxuICAgICAgICAgICAgY29uc3QgZW50aXR5RW50aXR5ID0gYXdhaXQgKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9lbnRpdHkuZW50aXR5JykpLmVudGl0eUVudGl0eUZhY3RvcnkoaW5qZWN0b3IpO1xuICAgICAgICAgICAgZW50aXR5UmVnaXN0cnkucmVnaXN0ZXIoZW50aXR5RW50aXR5IGFzIGFueSk7XG4gICAgICAgICAgICAvL1xuXG4gICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uRW50aXR5ID0gYXdhaXQgKFxuICAgICAgICAgICAgICBhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvcGVybWlzc2lvbi5lbnRpdHknKVxuICAgICAgICAgICAgKS5wZXJtaXNzaW9uRW50aXR5RmFjdG9yeShpbmplY3Rvcik7XG4gICAgICAgICAgICBlbnRpdHlSZWdpc3RyeS5yZWdpc3RlcihwZXJtaXNzaW9uRW50aXR5IGFzIGFueSk7XG4gICAgICAgICAgICAvL1xuXG4gICAgICAgICAgICBjb25zdCBmZWF0dXJlRW50aXR5ID0gYXdhaXQgKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9mZWF0dXJlLmVudGl0eScpKS5mZWF0dXJlRW50aXR5RmFjdG9yeShpbmplY3Rvcik7XG4gICAgICAgICAgICBlbnRpdHlSZWdpc3RyeS5yZWdpc3RlcihmZWF0dXJlRW50aXR5IGFzIGFueSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSwgSW5qZWN0b3JdLCAvLyBBZGQgYW55IGRlcGVuZGVuY2llcyBpZiBuZWVkZWRcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KCdBWFBfUkVHSVNURVJfTU9EVUxFU19FTlRJVElFUycpIGluc3RhbmNlczogYW55W10pIHt9XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './module-entity-detail-view/module-entity-detail-view.component';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2xheW91dHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpRUFBaUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3LmNvbXBvbmVudCc7XG4iXX0=
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { AXActionSheetModule } from '@acorex/components/action-sheet';
|
2
|
+
import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
|
3
|
+
import { AXButtonModule } from '@acorex/components/button';
|
4
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
5
|
+
import { AXDialogModule } from '@acorex/components/dialog';
|
6
|
+
import { AXDrawerModule } from '@acorex/components/drawer';
|
7
|
+
import { AXDropdownModule } from '@acorex/components/dropdown';
|
8
|
+
import { AXFormModule } from '@acorex/components/form';
|
9
|
+
import { AXLoadingModule } from '@acorex/components/loading';
|
10
|
+
import { AXPopoverModule } from '@acorex/components/popover';
|
11
|
+
import { AXTabsModule } from '@acorex/components/tabs';
|
12
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
13
|
+
import { AXPGridLayoutDirective, AXPStickyDirective, getChildDrawer, isSmallScreen, } from '@acorex/platform/common';
|
14
|
+
import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
15
|
+
import { AXPWidgetsModule } from '@acorex/platform/widgets';
|
16
|
+
import { CommonModule } from '@angular/common';
|
17
|
+
import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
|
18
|
+
import { ActivatedRoute, RouterModule } from '@angular/router';
|
19
|
+
import { Store } from '@ngrx/store';
|
20
|
+
import * as i0 from "@angular/core";
|
21
|
+
import * as i1 from "@angular/common";
|
22
|
+
import * as i2 from "@angular/router";
|
23
|
+
import * as i3 from "@acorex/components/decorators";
|
24
|
+
import * as i4 from "@acorex/components/dropdown";
|
25
|
+
import * as i5 from "@acorex/components/form";
|
26
|
+
import * as i6 from "@acorex/components/button";
|
27
|
+
import * as i7 from "@acorex/components/breadcrumbs";
|
28
|
+
import * as i8 from "@acorex/platform/layout/builder";
|
29
|
+
export class AXPModuleEntityDetailViewComponent {
|
30
|
+
constructor() {
|
31
|
+
this.activeRoute = inject(ActivatedRoute);
|
32
|
+
this.vm = this.activeRoute.snapshot.data['vm'];
|
33
|
+
//
|
34
|
+
this.store = inject((Store));
|
35
|
+
this.isSM = this.store.select(isSmallScreen());
|
36
|
+
this.isOpen = this.store.select(getChildDrawer());
|
37
|
+
this.selectedDetailTabIndex = signal(0);
|
38
|
+
}
|
39
|
+
handleActiveDetailTabChanged(e) {
|
40
|
+
this.selectedDetailTabIndex.set(e.index);
|
41
|
+
}
|
42
|
+
ngOnDestroy() {
|
43
|
+
this.vm.destroy();
|
44
|
+
}
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPModuleEntityDetailViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
46
|
+
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:
|
47
|
+
//
|
48
|
+
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:
|
49
|
+
//
|
50
|
+
AXTranslationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
51
|
+
}
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPModuleEntityDetailViewComponent, decorators: [{
|
53
|
+
type: Component,
|
54
|
+
args: [{ imports: [
|
55
|
+
CommonModule,
|
56
|
+
RouterModule,
|
57
|
+
AXDecoratorModule,
|
58
|
+
AXDropdownModule,
|
59
|
+
AXPopoverModule,
|
60
|
+
AXFormModule,
|
61
|
+
AXActionSheetModule,
|
62
|
+
AXDrawerModule,
|
63
|
+
AXDialogModule,
|
64
|
+
AXLoadingModule,
|
65
|
+
AXTabsModule,
|
66
|
+
AXButtonModule,
|
67
|
+
AXBreadcrumbsModule,
|
68
|
+
//
|
69
|
+
AXPLayoutBuilderModule,
|
70
|
+
AXPWidgetsModule,
|
71
|
+
AXPStickyDirective,
|
72
|
+
AXPGridLayoutDirective,
|
73
|
+
//
|
74
|
+
AXTranslationModule,
|
75
|
+
], 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" }]
|
76
|
+
}] });
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2xheW91dHMvbW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbGF5b3V0cy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3L21vZHVsZS1lbnRpdHktZGV0YWlsLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7QUE2QnBDLE1BQU0sT0FBTyxrQ0FBa0M7SUEzQi9DO1FBNEJVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFCLE9BQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQyxDQUFDO1FBQy9GLEVBQUU7UUFDTSxVQUFLLEdBQUcsTUFBTSxDQUFDLENBQUEsS0FBMEIsQ0FBQSxDQUFDLENBQUM7UUFDekMsU0FBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFN0MsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBUzlDO0lBUEMsNEJBQTRCLENBQUMsQ0FBeUI7UUFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUM7OEdBaEJVLGtDQUFrQztrR0FBbEMsa0NBQWtDLHdFQ3REL0MsMGxLQStIQSwyQ0RqR0ksWUFBWSxtRkFDWixZQUFZLCtRQUNaLGlCQUFpQix1VkFDakIsZ0JBQWdCLHdQQUNoQixlQUFlLDhCQUNmLFlBQVksa01BQ1osbUJBQW1CLDhCQUNuQixjQUFjLDhCQUNkLGNBQWMsOEJBQ2QsZUFBZSw4QkFDZixZQUFZLDhCQUNaLGNBQWMsOHZCQUNkLG1CQUFtQjtnQkFDbkIsRUFBRTtnQkFDRixzQkFBc0Isb1dBQ3RCLGdCQUFnQiwrQkFDaEIsa0JBQWtCLHFMQUNsQixzQkFBc0I7Z0JBQ3RCLEVBQUU7Z0JBQ0YsbUJBQW1COzsyRkFLVixrQ0FBa0M7a0JBM0I5QyxTQUFTOzhCQUVDO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLEVBQUU7d0JBQ0YsbUJBQW1CO3FCQUNwQixjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWN0aW9uU2hlZXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0JztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQVhQQWRtaW5MYXlvdXRTdGF0ZSxcbiAgQVhQR3JpZExheW91dERpcmVjdGl2ZSxcbiAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBnZXRDaGlsZERyYXdlcixcbiAgaXNTbWFsbFNjcmVlbixcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dpZGdldHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL21vZHVsZS1lbnRpdHktZGV0YWlsLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhBY3Rpb25TaGVldE1vZHVsZSxcbiAgICBBWERyYXdlck1vZHVsZSxcbiAgICBBWERpYWxvZ01vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhUYWJzTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgLy9cbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICAgIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gICAgLy9cbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTW9kdWxlRW50aXR5RGV0YWlsVmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgYWN0aXZlUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSB0aGlzLmFjdGl2ZVJvdXRlLnNuYXBzaG90LmRhdGFbJ3ZtJ10gYXMgQVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsO1xuICAvL1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlPEFYUEFkbWluTGF5b3V0U3RhdGU+KTtcbiAgcHJvdGVjdGVkIGlzU00gPSB0aGlzLnN0b3JlLnNlbGVjdChpc1NtYWxsU2NyZWVuKCkpO1xuICBwcm90ZWN0ZWQgaXNPcGVuID0gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0Q2hpbGREcmF3ZXIoKSk7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdGVkRGV0YWlsVGFiSW5kZXggPSBzaWduYWwoMCk7XG5cbiAgaGFuZGxlQWN0aXZlRGV0YWlsVGFiQ2hhbmdlZChlOiBBWFRhYlN0cmlwQ2hhbmdlZEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RlZERldGFpbFRhYkluZGV4LnNldChlLmluZGV4KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudm0uZGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1taW4taC1mdWxsIGF4LXB4LTQgYXgtcGItNCBtZDpheC1weC02IGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWIgbWQ6YXgtYm9yZGVyLTAgbWQ6YXgtYmctZGVmYXVsdFwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcHQtNCBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMCBheC10cmFuc2l0aW9uLWFsbFwiXG4gICAgI3N0aWNreT1cImF4cFN0aWNreVwiXG4gICAgW2F4cFN0aWNreV09XCInYXgtYmctc3VyZmFjZSBheC1weC02IGF4LXB5LTMgLWF4LW14LTYgYXgtc2hhZG93LXhsJ1wiXG4gICAgW3N0aWNreU9mZnNldF09XCIzMFwiXG4gID5cbiAgICA8IS0tLS0tLS0tIEJlZ2luIFRvb2xiYXIgIC0tLS0tLS0tPlxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDwhLS0tLS0tLS0gQmVnaW4gVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTEgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yIGF4LXRyYW5zaXRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdGV4dC14bCBtZDpheC10ZXh0LTN4bCBheC1mb250LWJvbGRcIj57eyB2bS50aXRsZSgpIH19PC9kaXY+XG4gICAgICAgICAgQGlmKHZtLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdGV4dC1zbSBheC10ZXh0LW5ldXRyYWwtNjAwXCIgW2NsYXNzLmF4LWhpZGRlbl09XCJzdGlja3kuaXNTdGlja3lcIj5cbiAgICAgICAgICAgIHt7IHZtLmRlc2NyaXB0aW9uKCkgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGF4LWJyZWFkY3J1bWJzIGNsYXNzPVwiY2hpbGQ6YXgtZm9udC1ub3JtYWwgY2hpbGQ6YXgtdGV4dC1uZXV0cmFsLTQwMFwiIFtjbGFzcy5heC1oaWRkZW5dPVwiaXNTTSB8IGFzeW5jXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RpdmlkZXI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1yaWdodCBheC10ZXh0LXhzIGF4LW14LTJcIj48L2k+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgQGZvcihiIG9mIHZtLmJlYXJkY3J1bWJzKCk7dHJhY2sgJGluZGV4O2xldCBsYXN0PSRsYXN0KSB7XG4gICAgICAgICAgICA8YXgtYnJlYWRjcnVtYnMtaXRlbVxuICAgICAgICAgICAgICBbYWN0aXZlXT1cImxhc3RcIlxuICAgICAgICAgICAgICBbY2xhc3MuIWF4LWZvbnQtc2VtaWJvbGRdPVwibGFzdFwiXG4gICAgICAgICAgICAgIFtjbGFzcy4hYXgtdGV4dC1uZXV0cmFsLTYwMF09XCJsYXN0XCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiYi51cmxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYoYi5pY29uKSB7XG4gICAgICAgICAgICAgIDxpIFtjbGFzc109XCJiLmljb25cIj48L2k+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3sgYi50aXRsZSB9fVxuICAgICAgICAgICAgPC9heC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYXgtYnJlYWRjcnVtYnM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tLS0tLS0tIEZpbmlzaCBUaXRsZSAgLS0tLS0tLS0+XG4gICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgIDwhLS0gQmVnaW4gQWN0aW9uIE1lbnUgIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCI+XG4gICAgICAgIEBmb3IodHIgb2Ygdm0ucHJpbWFyeUFjdGlvbnMoKTt0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCJ0ci50aXRsZVwiIFtjb2xvcl09XCJ0ci5jb2xvclwiIChvbkNsaWNrKT1cInZtLmV4ZWN1dGVDb21tYW5kKHRyLm5hbWUpXCI+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cInRyLmljb25cIj4gPC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfSBAaWYodm0uc2Vjb25kYXJ5QWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIihpc1NNIHwgYXN5bmMpID8gbnVsbCA6ICdBY3Rpb25zJ1wiIGNvbG9yPVwiZ2hvc3RcIj5cbiAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1lbGxpcHNpcy12ZXJ0aWNhbFwiPjwvaT5cbiAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgQGZvcih0ciBvZiB2bS5zZWNvbmRhcnlBY3Rpb25zKCk7dHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgQGlmKHRyLnNlcGFyYXRlZCkge1xuICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgICBbdGV4dF09XCJ0ci50aXRsZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC17eyB0ci5jb2xvciB9fVwiXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5leGVjdXRlQ29tbWFuZCh0ci5uYW1lKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwidHIuaWNvblwiPiA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRmluaXNoIEFjdGlvbiBNZW51ICAtLT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFN0YXJ0IFNlY3Rpb25zICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgIEBmb3Ioc2VjdGlvbiBvZiB2bS5zZWN0aW9ucygpOyB0cmFjayBzZWN0aW9uLm5hbWUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQgYXgtc2hhZG93LW1kIGF4LW10LTJcIiBbZ3JpZExheW91dF09XCJzZWN0aW9uLmxheW91dCgpXCI+XG4gICAgICAgIDxheC1mb3JtICNmb3JtPlxuICAgICAgICAgIDxheHAtd2lkZ2V0cy1jb250YWluZXIgW2NvbnRleHRdPVwidm0uY29udGV4dCgpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1oZWFkZXIgIWF4LXB5LTIgIWF4LXB4LTRcIj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIhYXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkXCI+e3sgc2VjdGlvbi50aXRsZSgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgIEBpZihzZWN0aW9uLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtc20gYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1ncmF5LTUwMFwiPnt7IHNlY3Rpb24uZGVzY3JpcHRpb24oKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgQGlmKHNlY3Rpb24uZWRpdGFibGUoKSkge1xuICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC14c1wiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2JsYW5rJ1wiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQoJ21vZGlmeS1lbnRpdHktc2VjdGlvbicsIHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcGVuIGF4LXRleHQtZ3JheS02MDBcIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1ib2R5ICFheC1ncmlkICFheC1ncmlkLWNvbHMtMTIgIWF4LWdhcC00XCI+XG4gICAgICAgICAgICAgIEBmb3IoYXR0ciBvZiBzZWN0aW9uLnByb3BzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMVwiIFtncmlkTGF5b3V0XT1cImF0dHIubGF5b3V0KClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LXNlbWlib2xkXCI+e3sgYXR0ci50aXRsZSgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC01MDBcIj5cbiAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LXJlbmRlcmVyIFtub2RlXT1cImF0dHIubm9kZSgpXCIgW21vZGVdPVwiJ3ZpZXcnXCI+IDwvYXhwLXdpZGdldC1yZW5kZXJlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXhwLXdpZGdldHMtY29udGFpbmVyPlxuICAgICAgICA8L2F4LWZvcm0+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEZpbmlzaCBTZWN0aW9ucyAgLS0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|