@acorex/modules 18.2.2 → 18.2.4
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/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +42 -4
- package/auth/lib/account/profile/profile-slot.component.d.ts +0 -1
- package/auth/lib/error-handler.d.ts +0 -1
- package/backend/lib/data/api/data-provider.d.ts +1 -0
- package/backend/lib/data/index.d.ts +0 -1
- package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +6 -10
- package/esm2022/application-management/lib/menu.provider.mjs +3 -3
- package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +2 -4
- package/esm2022/auth/lib/error-handler.mjs +4 -5
- package/esm2022/auth/lib/menu.provider.mjs +6 -6
- package/esm2022/backend/lib/data/api/data-provider.mjs +6 -3
- package/esm2022/backend/lib/data/index.mjs +1 -2
- package/esm2022/form-template-management/lib/form-template-management.module.mjs +39 -29
- package/esm2022/form-template-management/lib/menu.provider.mjs +3 -3
- package/esm2022/form-template-management/lib/services/designer-connector.service.mjs +9 -2
- package/esm2022/form-template-management/lib/workflows/design-template.workflow.mjs +2 -2
- package/esm2022/localization-management/lib/menu.provider.mjs +5 -5
- package/esm2022/notification-management/lib/menu.provider.mjs +5 -5
- package/esm2022/platform-management/lib/menu.provider.mjs +4 -4
- package/esm2022/scheduler-job-management/acorex-modules-scheduler-job-management.mjs +5 -0
- package/esm2022/scheduler-job-management/index.mjs +5 -0
- package/esm2022/scheduler-job-management/lib/const.mjs +8 -0
- package/esm2022/scheduler-job-management/lib/entities/index.mjs +2 -0
- package/esm2022/scheduler-job-management/lib/entities/scheduler-job/index.mjs +5 -0
- package/esm2022/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.entity.mjs +333 -0
- package/esm2022/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.module.mjs +28 -0
- package/esm2022/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.service.mjs +17 -0
- package/esm2022/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.types.mjs +2 -0
- package/esm2022/scheduler-job-management/lib/entity.provider.mjs +25 -0
- package/esm2022/scheduler-job-management/lib/menu.provider.mjs +31 -0
- package/esm2022/scheduler-job-management/lib/scheduler-job-management.module.mjs +44 -0
- package/esm2022/text-template-management/lib/entities/category/category.entity.mjs +6 -1
- package/esm2022/text-template-management/lib/menu.provider.mjs +4 -4
- package/esm2022/text-template-management/lib/setting.provider.mjs +282 -22
- package/fesm2022/{acorex-modules-application-management-module-designer.component-DjRdIBQt.mjs → acorex-modules-application-management-module-designer.component-B6WPz0N8.mjs} +2 -2
- package/fesm2022/{acorex-modules-application-management-module-designer.component-DjRdIBQt.mjs.map → acorex-modules-application-management-module-designer.component-B6WPz0N8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +9 -12
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-Chw_5AKM.mjs → acorex-modules-auth-acorex-modules-auth-DQzSrtut.mjs} +19 -21
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DQzSrtut.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DN04Uoqa.mjs → acorex-modules-auth-app-chooser.component-BFQgjqFV.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DN04Uoqa.mjs.map → acorex-modules-auth-app-chooser.component-BFQgjqFV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Bir7SJ8b.mjs → acorex-modules-auth-login.module-KR2dB8vW.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-login.module-Bir7SJ8b.mjs.map → acorex-modules-auth-login.module-KR2dB8vW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DwijDvUp.mjs → acorex-modules-auth-master.layout-CU27gbWp.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-master.layout-DwijDvUp.mjs.map → acorex-modules-auth-master.layout-CU27gbWp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CuLQNJ-W.mjs → acorex-modules-auth-password.component-9uIMNoQE.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-password.component-CuLQNJ-W.mjs.map → acorex-modules-auth-password.component-9uIMNoQE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-C1S8V4Bw.mjs → acorex-modules-auth-password.component-DpjEjw0o.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-password.component-C1S8V4Bw.mjs.map → acorex-modules-auth-password.component-DpjEjw0o.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-ILpWODmz.mjs → acorex-modules-auth-routes-CWqGOFnQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-ILpWODmz.mjs.map → acorex-modules-auth-routes-CWqGOFnQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-bgwR1LBc.mjs → acorex-modules-auth-two-factor.module-Bnoi3ZXB.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-two-factor.module-bgwR1LBc.mjs.map → acorex-modules-auth-two-factor.module-Bnoi3ZXB.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +3 -3
- package/fesm2022/acorex-modules-backend.mjs +8 -96
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +47 -32
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-localization-management.mjs +4 -4
- package/fesm2022/acorex-modules-localization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +4 -4
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +3 -3
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-setting-management.mjs → acorex-modules-scheduler-job-management.mjs} +155 -66
- package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-text-template-management.mjs +290 -24
- package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
- package/form-template-management/lib/form-template-management.module.d.ts +6 -7
- package/form-template-management/lib/services/designer-connector.service.d.ts +1 -0
- package/package.json +17 -17
- package/scheduler-job-management/README.md +3 -0
- package/{setting-management → scheduler-job-management}/index.d.ts +1 -1
- package/scheduler-job-management/lib/const.d.ts +7 -0
- package/scheduler-job-management/lib/entities/index.d.ts +1 -0
- package/scheduler-job-management/lib/entities/scheduler-job/index.d.ts +4 -0
- package/{setting-management/lib/entities/setting/setting.entity.d.ts → scheduler-job-management/lib/entities/scheduler-job/scheduler-job.entity.d.ts} +1 -1
- package/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.module.d.ts +6 -0
- package/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.service.d.ts +10 -0
- package/scheduler-job-management/lib/entities/scheduler-job/scheduler-job.types.d.ts +5 -0
- package/scheduler-job-management/lib/entity.provider.d.ts +9 -0
- package/{setting-management → scheduler-job-management}/lib/menu.provider.d.ts +1 -1
- package/scheduler-job-management/lib/scheduler-job-management.module.d.ts +7 -0
- package/backend/lib/data/local/local-data-provider.d.ts +0 -23
- package/esm2022/backend/lib/data/local/local-data-provider.mjs +0 -94
- package/esm2022/setting-management/acorex-modules-setting-management.mjs +0 -5
- package/esm2022/setting-management/index.mjs +0 -5
- package/esm2022/setting-management/lib/const.mjs +0 -7
- package/esm2022/setting-management/lib/entities/index.mjs +0 -2
- package/esm2022/setting-management/lib/entities/setting/index.mjs +0 -5
- package/esm2022/setting-management/lib/entities/setting/setting.entity.mjs +0 -244
- package/esm2022/setting-management/lib/entities/setting/setting.module.mjs +0 -28
- package/esm2022/setting-management/lib/entities/setting/setting.service.mjs +0 -17
- package/esm2022/setting-management/lib/entities/setting/setting.types.mjs +0 -2
- package/esm2022/setting-management/lib/entity.provider.mjs +0 -25
- package/esm2022/setting-management/lib/menu.provider.mjs +0 -32
- package/esm2022/setting-management/lib/setting-management.module.mjs +0 -44
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-Chw_5AKM.mjs.map +0 -1
- package/fesm2022/acorex-modules-setting-management.mjs.map +0 -1
- package/setting-management/README.md +0 -3
- package/setting-management/lib/const.d.ts +0 -6
- package/setting-management/lib/entities/index.d.ts +0 -1
- package/setting-management/lib/entities/setting/index.d.ts +0 -4
- package/setting-management/lib/entities/setting/setting.module.d.ts +0 -6
- package/setting-management/lib/entities/setting/setting.service.d.ts +0 -10
- package/setting-management/lib/entities/setting/setting.types.d.ts +0 -5
- package/setting-management/lib/entity.provider.d.ts +0 -9
- package/setting-management/lib/setting-management.module.d.ts +0 -7
@@ -11,20 +11,20 @@ export class AXMTextTemplateManagementModuleMenuProvider {
|
|
11
11
|
context.addItems([
|
12
12
|
{
|
13
13
|
priority: 9001,
|
14
|
-
text: `t('module-name', {scope: ${scope}})`,
|
14
|
+
text: `t('module-name', {scope: "${scope}"})`,
|
15
15
|
icon: 'fa-solid fa-code',
|
16
16
|
data: {
|
17
17
|
// requiredPermission: 'demo.admin.settings',
|
18
18
|
},
|
19
19
|
children: [
|
20
20
|
{
|
21
|
-
text: `t('templates', {scope: ${scope}})`,
|
21
|
+
text: `t('templates', {scope: "${scope}"})`,
|
22
22
|
path: this.entityService.createPath(moduleName, AXMTextTemplateManagementModuleConst.templateEntity),
|
23
23
|
icon: 'fa-solid fa-file-code',
|
24
24
|
priority: 1,
|
25
25
|
},
|
26
26
|
{
|
27
|
-
text: `t('category', {scope: ${scope}})`,
|
27
|
+
text: `t('category', {scope: "${scope}"})`,
|
28
28
|
path: this.entityService.createPath(moduleName, AXMTextTemplateManagementModuleConst.categoryEntity),
|
29
29
|
icon: 'fa-solid fa-layer-group',
|
30
30
|
priority: 2,
|
@@ -34,4 +34,4 @@ export class AXMTextTemplateManagementModuleMenuProvider {
|
|
34
34
|
]);
|
35
35
|
}
|
36
36
|
}
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy90ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQvc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRS9ELE1BQU0sT0FBTywyQ0FBMkM7SUFBeEQ7UUFDVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBK0JuRCxDQUFDO0lBN0JDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBK0I7UUFDM0MsTUFBTSxLQUFLLEdBQUcsb0NBQW9DLENBQUMsSUFBSSxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLG9DQUFvQyxDQUFDLFVBQVUsQ0FBQztRQUVuRSxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2Y7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsSUFBSSxFQUFFLDZCQUE2QixLQUFLLEtBQUs7Z0JBQzdDLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRTtnQkFDSiw2Q0FBNkM7aUJBQzlDO2dCQUNELFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsMkJBQTJCLEtBQUssS0FBSzt3QkFDM0MsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxvQ0FBb0MsQ0FBQyxjQUFjLENBQUM7d0JBQ3BHLElBQUksRUFBRSx1QkFBdUI7d0JBQzdCLFFBQVEsRUFBRSxDQUFDO3FCQUNaO29CQUNEO3dCQUNFLElBQUksRUFBRSwwQkFBMEIsS0FBSyxLQUFLO3dCQUMxQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLG9DQUFvQyxDQUFDLGNBQWMsQ0FBQzt3QkFDcEcsSUFBSSxFQUFFLHlCQUF5Qjt3QkFDL0IsUUFBUSxFQUFFLENBQUM7cUJBQ1o7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlQ29uc3QgfSBmcm9tICcuL2NvbnN0JztcblxuZXhwb3J0IGNsYXNzIEFYTVRleHRUZW1wbGF0ZU1hbmFnZW1lbnRNb2R1bGVNZW51UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBNZW51UHJvdmlkZXIge1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG5cbiAgYXN5bmMgcHJvdmlkZShjb250ZXh0OiBBWFBNZW51UHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2NvcGUgPSBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlQ29uc3QuaTE4bjtcbiAgICBjb25zdCBtb2R1bGVOYW1lID0gQVhNVGV4dFRlbXBsYXRlTWFuYWdlbWVudE1vZHVsZUNvbnN0Lm1vZHVsZU5hbWU7XG5cbiAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgIHtcbiAgICAgICAgcHJpb3JpdHk6IDkwMDEsXG4gICAgICAgIHRleHQ6IGB0KCdtb2R1bGUtbmFtZScsIHtzY29wZTogXCIke3Njb3BlfVwifSlgLFxuICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtY29kZScsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAvLyByZXF1aXJlZFBlcm1pc3Npb246ICdkZW1vLmFkbWluLnNldHRpbmdzJyxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiBgdCgndGVtcGxhdGVzJywge3Njb3BlOiBcIiR7c2NvcGV9XCJ9KWAsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChtb2R1bGVOYW1lLCBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlQ29uc3QudGVtcGxhdGVFbnRpdHkpLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWZpbGUtY29kZScsXG4gICAgICAgICAgICBwcmlvcml0eTogMSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6IGB0KCdjYXRlZ29yeScsIHtzY29wZTogXCIke3Njb3BlfVwifSlgLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgobW9kdWxlTmFtZSwgQVhNVGV4dFRlbXBsYXRlTWFuYWdlbWVudE1vZHVsZUNvbnN0LmNhdGVnb3J5RW50aXR5KSxcbiAgICAgICAgICAgIGljb246ICdmYS1zb2xpZCBmYS1sYXllci1ncm91cCcsXG4gICAgICAgICAgICBwcmlvcml0eTogMixcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxufVxuIl19
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { AXPSettingDefinitionItemType, } from '@acorex/platform/common';
|
2
1
|
import { AXMTextTemplateManagementModuleConst } from './const';
|
3
2
|
export class AXMTextTemplateManagementModuleSettingProvider {
|
4
3
|
async provide(context) {
|
@@ -7,42 +6,303 @@ export class AXMTextTemplateManagementModuleSettingProvider {
|
|
7
6
|
context.addItems([
|
8
7
|
{
|
9
8
|
name: 'text-template-management',
|
10
|
-
type: AXPSettingDefinitionItemType.Group,
|
11
9
|
title: 'Text Template Management',
|
12
|
-
|
10
|
+
groups: [
|
13
11
|
{
|
14
|
-
name: '
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
name: 'category-settings',
|
13
|
+
title: 'Category Settings',
|
14
|
+
groups: [
|
15
|
+
{
|
16
|
+
name: 'advanced-category',
|
17
|
+
title: 'Advanced Category Settings',
|
18
|
+
sections: [
|
19
|
+
{
|
20
|
+
name: 'category-limitations',
|
21
|
+
title: 'Category Limitations',
|
22
|
+
description: 'Define limits and restrictions for categories',
|
23
|
+
settings: [
|
24
|
+
{
|
25
|
+
name: 'maxCategories',
|
26
|
+
title: 'Max Categories',
|
27
|
+
dataType: 'number',
|
28
|
+
widget: {
|
29
|
+
type: 'number-editor',
|
30
|
+
name: 'maxCategories-number',
|
31
|
+
path: 'text-template-management/category-settings/advanced-category/category-limitations/maxCategories',
|
32
|
+
options: {
|
33
|
+
placeholder: 'Enter max categories',
|
34
|
+
},
|
35
|
+
},
|
36
|
+
scope: 'G',
|
37
|
+
isRequired: true,
|
38
|
+
isInherited: false,
|
39
|
+
isEncrypted: false,
|
40
|
+
},
|
41
|
+
{
|
42
|
+
name: 'defaultCategoryColor',
|
43
|
+
title: 'Default Category Color',
|
44
|
+
dataType: 'string',
|
45
|
+
widget: {
|
46
|
+
type: 'color-editor',
|
47
|
+
name: 'defaultCategoryColor',
|
48
|
+
path: 'text-template-management/category-settings/advanced-category/category-limitations/defaultCategoryColor',
|
49
|
+
options: {
|
50
|
+
placeholder: 'Select default category color',
|
51
|
+
},
|
52
|
+
},
|
53
|
+
scope: 'A',
|
54
|
+
isRequired: false,
|
55
|
+
isInherited: false,
|
56
|
+
isEncrypted: false,
|
57
|
+
},
|
58
|
+
],
|
59
|
+
},
|
60
|
+
{
|
61
|
+
name: 'category-customizations',
|
62
|
+
title: 'Category Customizations',
|
63
|
+
description: 'Customize the category UI and behavior',
|
64
|
+
settings: [
|
65
|
+
{
|
66
|
+
name: 'categoryIcon',
|
67
|
+
title: 'Category Icon',
|
68
|
+
dataType: 'string',
|
69
|
+
widget: {
|
70
|
+
type: 'select-editor',
|
71
|
+
name: 'categoryIcon-select',
|
72
|
+
path: 'text-template-management/category-settings/advanced-category/category-customizations/categoryIcon',
|
73
|
+
options: {
|
74
|
+
dataSource: ['Folder', 'Star', 'Tag', 'Circle'],
|
75
|
+
multiple: false,
|
76
|
+
},
|
77
|
+
},
|
78
|
+
scope: 'G',
|
79
|
+
isRequired: false,
|
80
|
+
isInherited: false,
|
81
|
+
isEncrypted: false,
|
82
|
+
},
|
83
|
+
{
|
84
|
+
name: 'enableCategoryDescription',
|
85
|
+
title: 'Enable Category Description',
|
86
|
+
dataType: 'boolean',
|
87
|
+
widget: {
|
88
|
+
type: 'checkbox-editor',
|
89
|
+
name: 'enableCategoryDescription-checkbox',
|
90
|
+
path: 'text-template-management/category-settings/advanced-category/category-customizations/enableCategoryDescription',
|
91
|
+
options: {
|
92
|
+
label: 'Enable detailed descriptions for categories',
|
93
|
+
},
|
94
|
+
},
|
95
|
+
scope: 'T',
|
96
|
+
isRequired: true,
|
97
|
+
isInherited: false,
|
98
|
+
isEncrypted: false,
|
99
|
+
},
|
100
|
+
],
|
101
|
+
},
|
102
|
+
],
|
103
|
+
groups: [],
|
104
|
+
},
|
105
|
+
],
|
106
|
+
sections: [
|
107
|
+
{
|
108
|
+
name: 'enable-category',
|
109
|
+
title: 'Enable Category',
|
110
|
+
description: 'Enable or disable the category feature for text templates',
|
111
|
+
settings: [
|
112
|
+
{
|
113
|
+
name: 'isCategoryEnabled',
|
114
|
+
title: 'Enable Category',
|
115
|
+
dataType: 'boolean',
|
116
|
+
widget: {
|
117
|
+
type: 'toggle-editor',
|
118
|
+
name: 'enable-category-toggle',
|
119
|
+
path: 'test',
|
120
|
+
options: {
|
121
|
+
label: 'Enable Category',
|
122
|
+
},
|
123
|
+
},
|
124
|
+
scope: 'T',
|
125
|
+
isRequired: true,
|
126
|
+
isInherited: false,
|
127
|
+
isEncrypted: false,
|
128
|
+
},
|
129
|
+
],
|
130
|
+
},
|
131
|
+
],
|
132
|
+
},
|
133
|
+
{
|
134
|
+
name: 'template-behaviors',
|
135
|
+
title: 'Template Behaviors',
|
136
|
+
groups: [],
|
137
|
+
sections: [
|
138
|
+
{
|
139
|
+
name: 'template-caching',
|
140
|
+
title: 'Template Caching',
|
141
|
+
description: 'Settings for caching templates',
|
142
|
+
settings: [
|
143
|
+
{
|
144
|
+
name: 'enableCaching',
|
145
|
+
title: 'Enable Caching',
|
146
|
+
dataType: 'boolean',
|
147
|
+
widget: {
|
148
|
+
type: 'toggle-editor',
|
149
|
+
name: 'enableCaching-toggle',
|
150
|
+
path: 'text-template-management/template-behaviors/template-caching/enableCaching',
|
151
|
+
options: {
|
152
|
+
label: 'Enable caching for templates',
|
153
|
+
},
|
154
|
+
},
|
155
|
+
scope: 'A',
|
156
|
+
isRequired: true,
|
157
|
+
isInherited: false,
|
158
|
+
isEncrypted: false,
|
159
|
+
},
|
160
|
+
{
|
161
|
+
name: 'cacheTimeout',
|
162
|
+
title: 'Cache Timeout',
|
163
|
+
dataType: 'number',
|
164
|
+
widget: {
|
165
|
+
type: 'number-editor',
|
166
|
+
name: 'cacheTimeout-number',
|
167
|
+
path: 'text-template-management/template-behaviors/template-caching/cacheTimeout',
|
168
|
+
options: {
|
169
|
+
placeholder: 'Enter timeout in minutes',
|
170
|
+
},
|
171
|
+
},
|
172
|
+
scope: 'G',
|
173
|
+
isRequired: false,
|
174
|
+
isInherited: true,
|
175
|
+
isEncrypted: false,
|
176
|
+
},
|
177
|
+
],
|
178
|
+
},
|
179
|
+
{
|
180
|
+
name: 'template-defaults',
|
181
|
+
title: 'Template Defaults',
|
182
|
+
description: 'Default settings for new templates',
|
183
|
+
settings: [
|
184
|
+
{
|
185
|
+
name: 'defaultTemplateText',
|
186
|
+
title: 'Default Template Text',
|
187
|
+
dataType: 'string',
|
188
|
+
widget: {
|
189
|
+
type: 'large-text-editor',
|
190
|
+
name: 'defaultTemplateText-largeText',
|
191
|
+
path: 'text-template-management/template-behaviors/template-defaults/defaultTemplateText',
|
192
|
+
options: {
|
193
|
+
clearButton: true,
|
194
|
+
},
|
195
|
+
},
|
196
|
+
scope: 'T',
|
197
|
+
isRequired: true,
|
198
|
+
isInherited: false,
|
199
|
+
isEncrypted: false,
|
200
|
+
},
|
201
|
+
{
|
202
|
+
name: 'defaultTemplateName',
|
203
|
+
title: 'Default Template Name',
|
204
|
+
dataType: 'string',
|
205
|
+
widget: {
|
206
|
+
type: 'text-editor',
|
207
|
+
name: 'defaultTemplateName-text',
|
208
|
+
path: 'text-template-management/template-behaviors/template-defaults/defaultTemplateName',
|
209
|
+
options: {},
|
210
|
+
},
|
211
|
+
scope: 'A',
|
212
|
+
isRequired: false,
|
213
|
+
isInherited: false,
|
214
|
+
isEncrypted: false,
|
215
|
+
},
|
216
|
+
],
|
217
|
+
},
|
218
|
+
],
|
22
219
|
},
|
23
220
|
],
|
24
|
-
|
221
|
+
sections: [
|
25
222
|
{
|
26
|
-
name: '
|
27
|
-
|
28
|
-
|
29
|
-
|
223
|
+
name: 'general-settings',
|
224
|
+
title: 'General Settings',
|
225
|
+
description: 'Basic configuration settings for text template management',
|
226
|
+
settings: [
|
30
227
|
{
|
31
|
-
name: '
|
228
|
+
name: 'enableFeature',
|
229
|
+
title: 'Enable Feature',
|
32
230
|
dataType: 'boolean',
|
33
|
-
|
34
|
-
|
231
|
+
widget: {
|
232
|
+
type: 'toggle-editor',
|
233
|
+
name: 'enableFeature-toggle',
|
234
|
+
path: 'text-template-management/general-settings/enableFeature',
|
235
|
+
options: {
|
236
|
+
label: 'Enable Template Feature',
|
237
|
+
},
|
238
|
+
},
|
35
239
|
scope: 'T',
|
36
|
-
title: 'Text Template Category Management Active',
|
37
240
|
isRequired: true,
|
38
|
-
|
241
|
+
isInherited: false,
|
242
|
+
isEncrypted: false,
|
243
|
+
},
|
244
|
+
{
|
245
|
+
name: 'defaultTemplateLanguage',
|
246
|
+
title: 'Default Template Language',
|
247
|
+
dataType: 'string',
|
248
|
+
widget: {
|
249
|
+
type: 'select-editor',
|
250
|
+
name: 'defaultTemplateLanguage-select',
|
251
|
+
path: 'text-template-management/general-settings/defaultTemplateLanguage',
|
252
|
+
options: {
|
253
|
+
dataSource: ['English', 'Spanish', 'French'],
|
254
|
+
multiple: false,
|
255
|
+
},
|
256
|
+
},
|
257
|
+
scope: 'G',
|
258
|
+
isRequired: false,
|
259
|
+
isInherited: false,
|
260
|
+
isEncrypted: false,
|
39
261
|
},
|
40
262
|
],
|
263
|
+
},
|
264
|
+
],
|
265
|
+
},
|
266
|
+
{
|
267
|
+
name: 'user-management',
|
268
|
+
title: 'User Management',
|
269
|
+
description: 'Manage user settings, roles, and permissions',
|
270
|
+
groups: [
|
271
|
+
{
|
272
|
+
name: 'user-preferences',
|
273
|
+
title: 'User Preferences',
|
41
274
|
groups: [],
|
275
|
+
sections: [
|
276
|
+
{
|
277
|
+
name: 'notifications',
|
278
|
+
title: 'Notifications',
|
279
|
+
description: 'User notification settings',
|
280
|
+
settings: [
|
281
|
+
{
|
282
|
+
name: 'emailNotifications',
|
283
|
+
title: 'Email Notifications',
|
284
|
+
dataType: 'boolean',
|
285
|
+
widget: {
|
286
|
+
type: 'checkbox-editor',
|
287
|
+
name: 'emailNotifications-checkbox',
|
288
|
+
path: 'user-management/user-preferences/notifications/emailNotifications',
|
289
|
+
options: {
|
290
|
+
label: 'Receive notifications via email',
|
291
|
+
},
|
292
|
+
},
|
293
|
+
scope: 'A',
|
294
|
+
isRequired: false,
|
295
|
+
isInherited: true,
|
296
|
+
isEncrypted: false,
|
297
|
+
},
|
298
|
+
],
|
299
|
+
},
|
300
|
+
],
|
42
301
|
},
|
43
302
|
],
|
303
|
+
sections: [],
|
44
304
|
},
|
45
305
|
]);
|
46
306
|
}
|
47
307
|
}
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy90ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQvc3JjL2xpYi9zZXR0aW5nLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCw0QkFBNEIsR0FHN0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFL0QsTUFBTSxPQUFPLDhDQUE4QztJQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLG9DQUFvQyxDQUFDLElBQUksQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxvQ0FBb0MsQ0FBQyxVQUFVLENBQUM7UUFFbkUsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNmO2dCQUNFLElBQUksRUFBRSwwQkFBMEI7Z0JBQ2hDLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxLQUFLO2dCQUN4QyxLQUFLLEVBQUUsMEJBQTBCO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ1A7d0JBQ0UsSUFBSSxFQUFFLGNBQWM7d0JBQ3BCLFFBQVEsRUFBRSxTQUFTO3dCQUNuQixXQUFXLEVBQUUsS0FBSzt3QkFDbEIsV0FBVyxFQUFFLEtBQUs7d0JBQ2xCLEtBQUssRUFBRSxHQUFHO3dCQUNWLEtBQUssRUFBRSxpQ0FBaUM7d0JBQ3hDLFVBQVUsRUFBRSxJQUFJO3dCQUNoQixJQUFJLEVBQUUsNEJBQTRCLENBQUMsTUFBTTtxQkFDMUM7aUJBQ0Y7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOO3dCQUNFLElBQUksRUFBRSxtQ0FBbUM7d0JBQ3pDLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxLQUFLO3dCQUN4QyxLQUFLLEVBQUUsVUFBVTt3QkFDakIsT0FBTyxFQUFFOzRCQUNQO2dDQUNFLElBQUksRUFBRSxlQUFlO2dDQUNyQixRQUFRLEVBQUUsU0FBUztnQ0FDbkIsV0FBVyxFQUFFLEtBQUs7Z0NBQ2xCLFdBQVcsRUFBRSxLQUFLO2dDQUNsQixLQUFLLEVBQUUsR0FBRztnQ0FDVixLQUFLLEVBQUUsMENBQTBDO2dDQUNqRCxVQUFVLEVBQUUsSUFBSTtnQ0FDaEIsSUFBSSxFQUFFLDRCQUE0QixDQUFDLE1BQU07NkJBQzFDO3lCQUNGO3dCQUNELE1BQU0sRUFBRSxFQUFFO3FCQUNYO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyLFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhNVGV4dFRlbXBsYXRlTWFuYWdlbWVudE1vZHVsZUNvbnN0IH0gZnJvbSAnLi9jb25zdCc7XG5cbmV4cG9ydCBjbGFzcyBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlU2V0dGluZ1Byb3ZpZGVyIGltcGxlbWVudHMgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlciB7XG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzY29wZSA9IEFYTVRleHRUZW1wbGF0ZU1hbmFnZW1lbnRNb2R1bGVDb25zdC5pMThuO1xuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlQ29uc3QubW9kdWxlTmFtZTtcblxuICAgIGNvbnRleHQuYWRkSXRlbXMoW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50JyxcbiAgICAgICAgdHlwZTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCxcbiAgICAgICAgdGl0bGU6ICdUZXh0IFRlbXBsYXRlIE1hbmFnZW1lbnQnLFxuICAgICAgICBzaW5nbGVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1RUTS1pc0VuYWJsZScsXG4gICAgICAgICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgaXNFbmNyeXB0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgaXNJbmhlcml0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgICAgIHRpdGxlOiAnVGV4dCBUZW1wbGF0ZSBNYW5hZ2VtZW50IEFjdGl2ZScsXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgdHlwZTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5TaW5nbGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZ3JvdXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3RleHQtdGVtcGxhdGUtbWFuYWdlbWVudC1jYXRlZ29yeScsXG4gICAgICAgICAgICB0eXBlOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwLFxuICAgICAgICAgICAgdGl0bGU6ICdDYXRlZ29yeScsXG4gICAgICAgICAgICBzaW5nbGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnVFRNQy1pc0VuYWJsZScsXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICBpc0VuY3J5cHRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaXNJbmhlcml0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNjb3BlOiAnVCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdUZXh0IFRlbXBsYXRlIENhdGVnb3J5IE1hbmFnZW1lbnQgQWN0aXZlJyxcbiAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHR5cGU6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuU2luZ2xlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGdyb3VwczogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy90ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQvc3JjL2xpYi9zZXR0aW5nLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUvRCxNQUFNLE9BQU8sOENBQThDO0lBQ3pELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsb0NBQW9DLENBQUMsSUFBSSxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLG9DQUFvQyxDQUFDLFVBQVUsQ0FBQztRQUVuRSxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2Y7Z0JBQ0UsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsTUFBTSxFQUFFO29CQUNOO3dCQUNFLElBQUksRUFBRSxtQkFBbUI7d0JBQ3pCLEtBQUssRUFBRSxtQkFBbUI7d0JBQzFCLE1BQU0sRUFBRTs0QkFDTjtnQ0FDRSxJQUFJLEVBQUUsbUJBQW1CO2dDQUN6QixLQUFLLEVBQUUsNEJBQTRCO2dDQUNuQyxRQUFRLEVBQUU7b0NBQ1I7d0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjt3Q0FDNUIsS0FBSyxFQUFFLHNCQUFzQjt3Q0FDN0IsV0FBVyxFQUFFLCtDQUErQzt3Q0FDNUQsUUFBUSxFQUFFOzRDQUNSO2dEQUNFLElBQUksRUFBRSxlQUFlO2dEQUNyQixLQUFLLEVBQUUsZ0JBQWdCO2dEQUN2QixRQUFRLEVBQUUsUUFBUTtnREFDbEIsTUFBTSxFQUFFO29EQUNOLElBQUksRUFBRSxlQUFlO29EQUNyQixJQUFJLEVBQUUsc0JBQXNCO29EQUM1QixJQUFJLEVBQUUsaUdBQWlHO29EQUN2RyxPQUFPLEVBQUU7d0RBQ1AsV0FBVyxFQUFFLHNCQUFzQjtxREFDcEM7aURB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VUFBVSxFQUFFLEtBQUs7d0NBQ2pCLFdBQVcsRUFBRSxJQUFJO3dDQUNqQixXQUFXLEVBQUUsS0FBSztxQ0FDbkI7aUNBQ0Y7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsUUFBUSxFQUFFLEVBQUU7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhNVGV4dFRlbXBsYXRlTWFuYWdlbWVudE1vZHVsZUNvbnN0IH0gZnJvbSAnLi9jb25zdCc7XG5cbmV4cG9ydCBjbGFzcyBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlU2V0dGluZ1Byb3ZpZGVyIGltcGxlbWVudHMgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlciB7XG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzY29wZSA9IEFYTVRleHRUZW1wbGF0ZU1hbmFnZW1lbnRNb2R1bGVDb25zdC5pMThuO1xuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBBWE1UZXh0VGVtcGxhdGVNYW5hZ2VtZW50TW9kdWxlQ29uc3QubW9kdWxlTmFtZTtcblxuICAgIGNvbnRleHQuYWRkSXRlbXMoW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50JyxcbiAgICAgICAgdGl0bGU6ICdUZXh0IFRlbXBsYXRlIE1hbmFnZW1lbnQnLFxuICAgICAgICBncm91cHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnY2F0ZWdvcnktc2V0dGluZ3MnLFxuICAgICAgICAgICAgdGl0bGU6ICdDYXRlZ29yeSBTZXR0aW5ncycsXG4gICAgICAgICAgICBncm91cHM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdhZHZhbmNlZC1jYXRlZ29yeScsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBZHZhbmNlZCBDYXRlZ29yeSBTZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhdGVnb3J5LWxpbWl0YXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDYXRlZ29yeSBMaW1pdGF0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVmaW5lIGxpbWl0cyBhbmQgcmVzdHJpY3Rpb25zIGZvciBjYXRlZ29yaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnbWF4Q2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ01heCBDYXRlZ29yaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyLWVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdtYXhDYXRlZ29yaWVzLW51bWJlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICd0ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQvY2F0ZWdvcnktc2V0dGluZ3MvYWR2YW5jZWQtY2F0ZWdvcnkvY2F0ZWdvcnktbGltaXRhdGlvbnMvbWF4Q2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ0VudGVyIG1heCBjYXRlZ29yaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogJ0cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRW5jcnlwdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkZWZhdWx0Q2F0ZWdvcnlDb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0RlZmF1bHQgQ2F0ZWdvcnkgQ29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjb2xvci1lZGl0b3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGVmYXVsdENhdGVnb3J5Q29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAndGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50L2NhdGVnb3J5LXNldHRpbmdzL2FkdmFuY2VkLWNhdGVnb3J5L2NhdGVnb3J5LWxpbWl0YXRpb25zL2RlZmF1bHRDYXRlZ29yeUNvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IGRlZmF1bHQgY2F0ZWdvcnkgY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnQScsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRW5jcnlwdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhdGVnb3J5LWN1c3RvbWl6YXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDYXRlZ29yeSBDdXN0b21pemF0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQ3VzdG9taXplIHRoZSBjYXRlZ29yeSBVSSBhbmQgYmVoYXZpb3InLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjYXRlZ29yeUljb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDYXRlZ29yeSBJY29uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2VsZWN0LWVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjYXRlZ29yeUljb24tc2VsZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3RleHQtdGVtcGxhdGUtbWFuYWdlbWVudC9jYXRlZ29yeS1zZXR0aW5ncy9hZHZhbmNlZC1jYXRlZ29yeS9jYXRlZ29yeS1jdXN0b21pemF0aW9ucy9jYXRlZ29yeUljb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogWydGb2xkZXInLCAnU3RhcicsICdUYWcnLCAnQ2lyY2xlJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnRycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRW5jcnlwdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmFibGVDYXRlZ29yeURlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRW5hYmxlIENhdGVnb3J5IERlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmFibGVDYXRlZ29yeURlc2NyaXB0aW9uLWNoZWNrYm94JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3RleHQtdGVtcGxhdGUtbWFuYWdlbWVudC9jYXRlZ29yeS1zZXR0aW5ncy9hZHZhbmNlZC1jYXRlZ29yeS9jYXRlZ29yeS1jdXN0b21pemF0aW9ucy9lbmFibGVDYXRlZ29yeURlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlIGRldGFpbGVkIGRlc2NyaXB0aW9ucyBmb3IgY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VuY3J5cHRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBncm91cHM6IFtdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnZW5hYmxlLWNhdGVnb3J5JyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0VuYWJsZSBDYXRlZ29yeScsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdFbmFibGUgb3IgZGlzYWJsZSB0aGUgY2F0ZWdvcnkgZmVhdHVyZSBmb3IgdGV4dCB0ZW1wbGF0ZXMnLFxuICAgICAgICAgICAgICAgIHNldHRpbmdzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0NhdGVnb3J5RW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRW5hYmxlIENhdGVnb3J5JyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RvZ2dsZS1lZGl0b3InLFxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmFibGUtY2F0ZWdvcnktdG9nZ2xlJyxcbiAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAndGVzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdFbmFibGUgQ2F0ZWdvcnknLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnVCcsXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgaXNFbmNyeXB0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICd0ZW1wbGF0ZS1iZWhhdmlvcnMnLFxuICAgICAgICAgICAgdGl0bGU6ICdUZW1wbGF0ZSBCZWhhdmlvcnMnLFxuICAgICAgICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndGVtcGxhdGUtY2FjaGluZycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdUZW1wbGF0ZSBDYWNoaW5nJyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1NldHRpbmdzIGZvciBjYWNoaW5nIHRlbXBsYXRlcycsXG4gICAgICAgICAgICAgICAgc2V0dGluZ3M6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2VuYWJsZUNhY2hpbmcnLFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0VuYWJsZSBDYWNoaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RvZ2dsZS1lZGl0b3InLFxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmFibGVDYWNoaW5nLXRvZ2dsZScsXG4gICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3RleHQtdGVtcGxhdGUtbWFuYWdlbWVudC90ZW1wbGF0ZS1iZWhhdmlvcnMvdGVtcGxhdGUtY2FjaGluZy9lbmFibGVDYWNoaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0VuYWJsZSBjYWNoaW5nIGZvciB0ZW1wbGF0ZXMnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnQScsXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgaXNFbmNyeXB0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhY2hlVGltZW91dCcsXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQ2FjaGUgVGltZW91dCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ251bWJlci1lZGl0b3InLFxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjYWNoZVRpbWVvdXQtbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAndGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50L3RlbXBsYXRlLWJlaGF2aW9ycy90ZW1wbGF0ZS1jYWNoaW5nL2NhY2hlVGltZW91dCcsXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdFbnRlciB0aW1lb3V0IGluIG1pbnV0ZXMnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnRycsXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgaXNFbmNyeXB0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3RlbXBsYXRlLWRlZmF1bHRzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1RlbXBsYXRlIERlZmF1bHRzJyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0RlZmF1bHQgc2V0dGluZ3MgZm9yIG5ldyB0ZW1wbGF0ZXMnLFxuICAgICAgICAgICAgICAgIHNldHRpbmdzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkZWZhdWx0VGVtcGxhdGVUZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdEZWZhdWx0IFRlbXBsYXRlIFRleHQnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdsYXJnZS10ZXh0LWVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHRUZW1wbGF0ZVRleHQtbGFyZ2VUZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAndGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50L3RlbXBsYXRlLWJlaGF2aW9ycy90ZW1wbGF0ZS1kZWZhdWx0cy9kZWZhdWx0VGVtcGxhdGVUZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhckJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGlzRW5jcnlwdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkZWZhdWx0VGVtcGxhdGVOYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdEZWZhdWx0IFRlbXBsYXRlIE5hbWUnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0LWVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHRUZW1wbGF0ZU5hbWUtdGV4dCcsXG4gICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3RleHQtdGVtcGxhdGUtbWFuYWdlbWVudC90ZW1wbGF0ZS1iZWhhdmlvcnMvdGVtcGxhdGUtZGVmYXVsdHMvZGVmYXVsdFRlbXBsYXRlTmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnQScsXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGlzRW5jcnlwdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZ2VuZXJhbC1zZXR0aW5ncycsXG4gICAgICAgICAgICB0aXRsZTogJ0dlbmVyYWwgU2V0dGluZ3MnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdCYXNpYyBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0ZXh0IHRlbXBsYXRlIG1hbmFnZW1lbnQnLFxuICAgICAgICAgICAgc2V0dGluZ3M6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdlbmFibGVGZWF0dXJlJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0VuYWJsZSBGZWF0dXJlJyxcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RvZ2dsZS1lZGl0b3InLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2VuYWJsZUZlYXR1cmUtdG9nZ2xlJyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICd0ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQvZ2VuZXJhbC1zZXR0aW5ncy9lbmFibGVGZWF0dXJlJyxcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdFbmFibGUgVGVtcGxhdGUgRmVhdHVyZScsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBpc0VuY3J5cHRlZDogZmFsc2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnZGVmYXVsdFRlbXBsYXRlTGFuZ3VhZ2UnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnRGVmYXVsdCBUZW1wbGF0ZSBMYW5ndWFnZScsXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3NlbGVjdC1lZGl0b3InLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHRUZW1wbGF0ZUxhbmd1YWdlLXNlbGVjdCcsXG4gICAgICAgICAgICAgICAgICBwYXRoOiAndGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50L2dlbmVyYWwtc2V0dGluZ3MvZGVmYXVsdFRlbXBsYXRlTGFuZ3VhZ2UnLFxuICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBbJ0VuZ2xpc2gnLCAnU3BhbmlzaCcsICdGcmVuY2gnXSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNjb3BlOiAnRycsXG4gICAgICAgICAgICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaXNJbmhlcml0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlzRW5jcnlwdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd1c2VyLW1hbmFnZW1lbnQnLFxuICAgICAgICB0aXRsZTogJ1VzZXIgTWFuYWdlbWVudCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWFuYWdlIHVzZXIgc2V0dGluZ3MsIHJvbGVzLCBhbmQgcGVybWlzc2lvbnMnLFxuICAgICAgICBncm91cHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndXNlci1wcmVmZXJlbmNlcycsXG4gICAgICAgICAgICB0aXRsZTogJ1VzZXIgUHJlZmVyZW5jZXMnLFxuICAgICAgICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnbm90aWZpY2F0aW9ucycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdOb3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgbm90aWZpY2F0aW9uIHNldHRpbmdzJyxcbiAgICAgICAgICAgICAgICBzZXR0aW5nczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZW1haWxOb3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFbWFpbCBOb3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2VtYWlsTm90aWZpY2F0aW9ucy1jaGVja2JveCcsXG4gICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3VzZXItbWFuYWdlbWVudC91c2VyLXByZWZlcmVuY2VzL25vdGlmaWNhdGlvbnMvZW1haWxOb3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1JlY2VpdmUgbm90aWZpY2F0aW9ucyB2aWEgZW1haWwnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnQScsXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgaXNFbmNyeXB0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBzZWN0aW9uczogW10sXG4gICAgICB9LFxuICAgIF0pO1xuICB9XG59XG4iXX0=
|
@@ -37,8 +37,8 @@ import '@acorex/components/form';
|
|
37
37
|
import '@acorex/components/loading';
|
38
38
|
import '@acorex/components/tabs';
|
39
39
|
import '@acorex/platform/layout/builder';
|
40
|
+
import '@acorex/platform/themes/shared';
|
40
41
|
import '@acorex/platform/widgets';
|
41
|
-
import '@ngrx/store';
|
42
42
|
import '@acorex/platform/core';
|
43
43
|
|
44
44
|
class AXMModuleDesignerContextMenuService {
|
@@ -326,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
326
326
|
}], ctorParameters: () => [] });
|
327
327
|
|
328
328
|
export { AXMModuleDesignerComponent };
|
329
|
-
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-
|
329
|
+
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-B6WPz0N8.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-application-management-module-designer.component-DjRdIBQt.mjs","sources":["../../../../libs/modules/application-management/src/lib/services/context-menu.service.ts","../../../../libs/modules/application-management/src/lib/module-designer/module-designer.component.ts","../../../../libs/modules/application-management/src/lib/module-designer/module-designer.component.html"],"sourcesContent":["import { AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent, AXMenuItem } from '@acorex/components/menu';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { AXMModuleItem } from '../module-designer/module-designer.type';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMModuleDesignerContextMenuService {\n private workflow = inject(AXPWorkflowService);\n protected copiedRecord = signal<{ type: AXMModuleItem; record: any } | null>(null);\n protected elementData = signal<{ entityType: AXMModuleItem; record: any; moduleId: string } | null>(null);\n\n private menuItems: AXMenuItem[] = [\n {\n name: 'create',\n text: 'Create',\n icon: 'fas fa-plus',\n color: 'primary',\n },\n {\n name: 'delete',\n text: 'Delete',\n icon: 'fas fa-trash',\n color: 'danger',\n },\n {\n name: 'details',\n text: 'Details',\n icon: 'fas fa-eye',\n color: 'ghost',\n },\n {\n name: 'copy',\n text: 'Copy',\n icon: 'fas fa-copy',\n color: 'ghost',\n },\n {\n name: 'paste',\n text: 'Paste',\n icon: 'fas fa-paste',\n color: 'ghost',\n disabled: false,\n },\n ];\n\n open(e: AXContextMenuOpeningEvent) {\n const target = e.targetElement;\n const elementType = target?.getAttribute('data-elementType');\n\n const { data } = target as any;\n\n if (elementType == 'module' || elementType == 'subModule') {\n const moduleId = target?.getAttribute('data-moduleId');\n const entityType = target?.getAttribute('data-entityType') as AXMModuleItem;\n if (elementType == 'module') {\n this.elementData.set({\n entityType,\n moduleId: moduleId as string,\n record: {\n id: moduleId,\n },\n });\n e.items = this.getMenuItems(['details', 'delete']);\n } else {\n this.elementData.set({\n entityType,\n moduleId: moduleId as string,\n record: undefined,\n });\n const items = this.getMenuItems(['create', 'paste']);\n const customMenuItems = items.map((i) =>\n i.name == 'paste' ? { ...i, disabled: entityType == this.copiedRecord()?.type ? false : true } : i\n );\n e.items = customMenuItems;\n }\n } else if (elementType == 'subModuleItem') {\n this.elementData.set(data);\n e.items = this.getMenuItems(['delete', 'copy', 'details']);\n } else {\n e.items = [];\n e.canceled = true;\n }\n }\n\n itemClick(e: AXContextMenuItemsClickEvent) {\n if (this.elementData()) {\n switch (e.item.name) {\n case 'create':\n this.createEntity(this.elementData()?.entityType as AXMModuleItem, this.elementData()?.moduleId);\n break;\n\n case 'details':\n this.showDetails(this.elementData()?.entityType as AXMModuleItem | 'module', this.elementData()?.record.id);\n break;\n\n case 'delete':\n this.deleteEntity(\n this.elementData()?.entityType as AXMModuleItem | 'module',\n this.elementData()?.record.id,\n this.elementData()?.moduleId\n );\n break;\n\n case 'copy':\n this.copyRecord(this.elementData()?.entityType as AXMModuleItem, this.elementData()?.record);\n break;\n\n case 'paste':\n this.pasteRecord(this.elementData()?.moduleId as string);\n break;\n\n default:\n break;\n }\n }\n }\n\n async createEntity(entityType: 'module' | AXMModuleItem, moduleId?: string) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${entityType}`,\n data: {\n moduleId,\n },\n meta: {\n type: entityType,\n moduleId,\n },\n });\n }\n\n async showDetails(entityType: 'module' | AXMModuleItem, id: string) {\n await this.workflow.execute('show-module-entity-details', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n });\n }\n\n private copyRecord(entityType: AXMModuleItem, record: any) {\n const newRecord = { ...record, moduleId: undefined, id: undefined };\n this.copiedRecord.set({ type: entityType, record: newRecord });\n }\n\n private async pasteRecord(moduleId: string) {\n if (this.copiedRecord()) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${this.copiedRecord()?.type}`,\n data: {\n ...this.copiedRecord()?.record,\n moduleId,\n },\n meta: {\n type: this.copiedRecord()?.type,\n moduleId,\n },\n });\n }\n }\n\n private async deleteEntity(entityType: 'module' | AXMModuleItem, id: string[] | string, moduleId?: string) {\n await this.workflow.execute('delete-entity', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n meta: {\n moduleId,\n type: entityType,\n },\n });\n }\n\n private getMenuItems(includeItems: string[]) {\n return this.menuItems.filter((i) => includeItems.includes(i.name as string));\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseClickEvent, AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityCreateEvent, AXPEntityDeletedEvent } from '@acorex/platform/layouts';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n OnInit,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { set } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXMModuleDesignerContextMenuService } from '../services/context-menu.service';\nimport { AXPModuleDesignerService } from './module-designer.service';\nimport { AXMModuleItem } from './module-designer.type';\n\n@Component({\n templateUrl: './module-designer.component.html',\n styleUrls: ['./module-designer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n CommonModule,\n AXDrawerModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSideMenuModule,\n AXCollapseModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXBadgeModule,\n AXMenuModule,\n RouterModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMModuleDesignerComponent implements OnInit {\n protected cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n protected contextMenu = viewChild<AXContextMenuComponent>('contextMenu');\n\n protected dataProvider = inject(AXPModuleDesignerService);\n private workflow = inject(AXPWorkflowService);\n protected contextMenuService = inject(AXMModuleDesignerContextMenuService);\n\n protected modules = signal<any[]>([]);\n\n protected moduleDataCache = new Map<string, any[]>();\n\n private readonly destroyed = new Subject<void>();\n\n constructor() {\n this.subscribeActionEvents();\n }\n\n ngOnInit() {\n this.loadModules();\n }\n\n protected subscribeActionEvents() {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n const { meta } = event.payload;\n if (meta.type === 'module') {\n this.loadModules();\n } else {\n this.loadModuleData(meta.moduleId, meta.type, true);\n }\n this.cdr.markForCheck();\n });\n }\n\n protected async loadModules() {\n try {\n const modules = await this.dataProvider.getModules();\n this.modules.set(modules.items);\n this.refreshContextMenu();\n } catch (error) {\n console.error('Error loading modules:', error);\n }\n }\n\n protected async handleCollapseItemClick(moduleId: string, e: AXCollapseClickEvent, dataType: AXMModuleItem) {\n if (e.component.isCollapsed) {\n e.handled = true;\n e.component.isLoading = true;\n\n await this.loadModuleData(moduleId, dataType);\n\n e.component.toggle();\n e.component.isLoading = false;\n e.component['cdr'].markForCheck();\n this.refreshContextMenu();\n }\n }\n\n protected refreshContextMenu() {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n }, 0);\n }\n\n protected async loadModuleData(moduleId: string, dataType: AXMModuleItem, hardReload = false) {\n const cacheKey = `${moduleId}-${dataType}`;\n\n let dataItems = this.moduleDataCache.get(cacheKey);\n // if (!dataItems || hardReload) {\n try {\n const methodMap = {\n entity: this.dataProvider.getEntities,\n permission: this.dataProvider.getPermissions,\n feature: this.dataProvider.getFeatures,\n };\n const data = await methodMap[dataType].call(this.dataProvider, moduleId);\n\n dataItems = data.items as any[];\n this.moduleDataCache.set(cacheKey, dataItems);\n } catch (error) {\n console.error(`Error loading ${dataType}:`, error);\n }\n // }\n }\n\n protected getEntities(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-entity`) || [];\n }\n\n protected getPermissions(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-permission`) || [];\n }\n\n protected getFeatures(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-feature`) || [];\n }\n\n protected openingContextMenu(e: AXContextMenuOpeningEvent) {\n this.contextMenuService.open(e);\n }\n\n protected handleActionClick(e: AXContextMenuItemsClickEvent) {\n this.contextMenuService.itemClick(e);\n }\n\n protected createModule() {\n this.contextMenuService.createEntity('module');\n }\n\n protected destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n protected assignData(target: HTMLElement, data: any): void {\n set(target, 'data', data);\n }\n}\n","<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-folder ax-text-warning\"\n [isCollapsed]=\"true\"\n [caption]=\"m.title\"\n look=\"none\"\n data-elementType=\"module\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"module\"\n >\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"entity\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"feature\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"permission\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button\n class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\"\n (onClick)=\"createModule()\"\n look=\"solid\"\n color=\"primary\"\n >\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div\n #d\n (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\"\n >\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge\n [look]=\"'twotone'\"\n [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\"\n >\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu\n #contextMenu\n (onItemClick)=\"handleActionClick($event)\"\n [items]=\"[]\"\n [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onOpening)=\"openingContextMenu($event)\"\n>\n</ax-context-menu>\n"],"names":["i3","i4","i7","i9"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-application-management-module-designer.component-B6WPz0N8.mjs","sources":["../../../../libs/modules/application-management/src/lib/services/context-menu.service.ts","../../../../libs/modules/application-management/src/lib/module-designer/module-designer.component.ts","../../../../libs/modules/application-management/src/lib/module-designer/module-designer.component.html"],"sourcesContent":["import { AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent, AXMenuItem } from '@acorex/components/menu';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { AXMModuleItem } from '../module-designer/module-designer.type';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMModuleDesignerContextMenuService {\n private workflow = inject(AXPWorkflowService);\n protected copiedRecord = signal<{ type: AXMModuleItem; record: any } | null>(null);\n protected elementData = signal<{ entityType: AXMModuleItem; record: any; moduleId: string } | null>(null);\n\n private menuItems: AXMenuItem[] = [\n {\n name: 'create',\n text: 'Create',\n icon: 'fas fa-plus',\n color: 'primary',\n },\n {\n name: 'delete',\n text: 'Delete',\n icon: 'fas fa-trash',\n color: 'danger',\n },\n {\n name: 'details',\n text: 'Details',\n icon: 'fas fa-eye',\n color: 'ghost',\n },\n {\n name: 'copy',\n text: 'Copy',\n icon: 'fas fa-copy',\n color: 'ghost',\n },\n {\n name: 'paste',\n text: 'Paste',\n icon: 'fas fa-paste',\n color: 'ghost',\n disabled: false,\n },\n ];\n\n open(e: AXContextMenuOpeningEvent) {\n const target = e.targetElement;\n const elementType = target?.getAttribute('data-elementType');\n\n const { data } = target as any;\n\n if (elementType == 'module' || elementType == 'subModule') {\n const moduleId = target?.getAttribute('data-moduleId');\n const entityType = target?.getAttribute('data-entityType') as AXMModuleItem;\n if (elementType == 'module') {\n this.elementData.set({\n entityType,\n moduleId: moduleId as string,\n record: {\n id: moduleId,\n },\n });\n e.items = this.getMenuItems(['details', 'delete']);\n } else {\n this.elementData.set({\n entityType,\n moduleId: moduleId as string,\n record: undefined,\n });\n const items = this.getMenuItems(['create', 'paste']);\n const customMenuItems = items.map((i) =>\n i.name == 'paste' ? { ...i, disabled: entityType == this.copiedRecord()?.type ? false : true } : i\n );\n e.items = customMenuItems;\n }\n } else if (elementType == 'subModuleItem') {\n this.elementData.set(data);\n e.items = this.getMenuItems(['delete', 'copy', 'details']);\n } else {\n e.items = [];\n e.canceled = true;\n }\n }\n\n itemClick(e: AXContextMenuItemsClickEvent) {\n if (this.elementData()) {\n switch (e.item.name) {\n case 'create':\n this.createEntity(this.elementData()?.entityType as AXMModuleItem, this.elementData()?.moduleId);\n break;\n\n case 'details':\n this.showDetails(this.elementData()?.entityType as AXMModuleItem | 'module', this.elementData()?.record.id);\n break;\n\n case 'delete':\n this.deleteEntity(\n this.elementData()?.entityType as AXMModuleItem | 'module',\n this.elementData()?.record.id,\n this.elementData()?.moduleId\n );\n break;\n\n case 'copy':\n this.copyRecord(this.elementData()?.entityType as AXMModuleItem, this.elementData()?.record);\n break;\n\n case 'paste':\n this.pasteRecord(this.elementData()?.moduleId as string);\n break;\n\n default:\n break;\n }\n }\n }\n\n async createEntity(entityType: 'module' | AXMModuleItem, moduleId?: string) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${entityType}`,\n data: {\n moduleId,\n },\n meta: {\n type: entityType,\n moduleId,\n },\n });\n }\n\n async showDetails(entityType: 'module' | AXMModuleItem, id: string) {\n await this.workflow.execute('show-module-entity-details', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n });\n }\n\n private copyRecord(entityType: AXMModuleItem, record: any) {\n const newRecord = { ...record, moduleId: undefined, id: undefined };\n this.copiedRecord.set({ type: entityType, record: newRecord });\n }\n\n private async pasteRecord(moduleId: string) {\n if (this.copiedRecord()) {\n await this.workflow.execute('create-module-entity', {\n entity: `application-management.${this.copiedRecord()?.type}`,\n data: {\n ...this.copiedRecord()?.record,\n moduleId,\n },\n meta: {\n type: this.copiedRecord()?.type,\n moduleId,\n },\n });\n }\n }\n\n private async deleteEntity(entityType: 'module' | AXMModuleItem, id: string[] | string, moduleId?: string) {\n await this.workflow.execute('delete-entity', {\n entity: `application-management.${entityType}`,\n data: {\n id,\n },\n meta: {\n moduleId,\n type: entityType,\n },\n });\n }\n\n private getMenuItems(includeItems: string[]) {\n return this.menuItems.filter((i) => includeItems.includes(i.name as string));\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseClickEvent, AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXSideMenuModule } from '@acorex/components/side-menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityCreateEvent, AXPEntityDeletedEvent } from '@acorex/platform/layouts';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n OnInit,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { set } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXMModuleDesignerContextMenuService } from '../services/context-menu.service';\nimport { AXPModuleDesignerService } from './module-designer.service';\nimport { AXMModuleItem } from './module-designer.type';\n\n@Component({\n templateUrl: './module-designer.component.html',\n styleUrls: ['./module-designer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n CommonModule,\n AXDrawerModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSideMenuModule,\n AXCollapseModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXBadgeModule,\n AXMenuModule,\n RouterModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMModuleDesignerComponent implements OnInit {\n protected cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n protected contextMenu = viewChild<AXContextMenuComponent>('contextMenu');\n\n protected dataProvider = inject(AXPModuleDesignerService);\n private workflow = inject(AXPWorkflowService);\n protected contextMenuService = inject(AXMModuleDesignerContextMenuService);\n\n protected modules = signal<any[]>([]);\n\n protected moduleDataCache = new Map<string, any[]>();\n\n private readonly destroyed = new Subject<void>();\n\n constructor() {\n this.subscribeActionEvents();\n }\n\n ngOnInit() {\n this.loadModules();\n }\n\n protected subscribeActionEvents() {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n const { meta } = event.payload;\n if (meta.type === 'module') {\n this.loadModules();\n } else {\n this.loadModuleData(meta.moduleId, meta.type, true);\n }\n this.cdr.markForCheck();\n });\n }\n\n protected async loadModules() {\n try {\n const modules = await this.dataProvider.getModules();\n this.modules.set(modules.items);\n this.refreshContextMenu();\n } catch (error) {\n console.error('Error loading modules:', error);\n }\n }\n\n protected async handleCollapseItemClick(moduleId: string, e: AXCollapseClickEvent, dataType: AXMModuleItem) {\n if (e.component.isCollapsed) {\n e.handled = true;\n e.component.isLoading = true;\n\n await this.loadModuleData(moduleId, dataType);\n\n e.component.toggle();\n e.component.isLoading = false;\n e.component['cdr'].markForCheck();\n this.refreshContextMenu();\n }\n }\n\n protected refreshContextMenu() {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n }, 0);\n }\n\n protected async loadModuleData(moduleId: string, dataType: AXMModuleItem, hardReload = false) {\n const cacheKey = `${moduleId}-${dataType}`;\n\n let dataItems = this.moduleDataCache.get(cacheKey);\n // if (!dataItems || hardReload) {\n try {\n const methodMap = {\n entity: this.dataProvider.getEntities,\n permission: this.dataProvider.getPermissions,\n feature: this.dataProvider.getFeatures,\n };\n const data = await methodMap[dataType].call(this.dataProvider, moduleId);\n\n dataItems = data.items as any[];\n this.moduleDataCache.set(cacheKey, dataItems);\n } catch (error) {\n console.error(`Error loading ${dataType}:`, error);\n }\n // }\n }\n\n protected getEntities(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-entity`) || [];\n }\n\n protected getPermissions(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-permission`) || [];\n }\n\n protected getFeatures(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-feature`) || [];\n }\n\n protected openingContextMenu(e: AXContextMenuOpeningEvent) {\n this.contextMenuService.open(e);\n }\n\n protected handleActionClick(e: AXContextMenuItemsClickEvent) {\n this.contextMenuService.itemClick(e);\n }\n\n protected createModule() {\n this.contextMenuService.createEntity('module');\n }\n\n protected destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n protected assignData(target: HTMLElement, data: any): void {\n set(target, 'data', data);\n }\n}\n","<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-folder ax-text-warning\"\n [isCollapsed]=\"true\"\n [caption]=\"m.title\"\n look=\"none\"\n data-elementType=\"module\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"module\"\n >\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"entity\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"feature\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"permission\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button\n class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\"\n (onClick)=\"createModule()\"\n look=\"solid\"\n color=\"primary\"\n >\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div\n #d\n (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\"\n >\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge\n [look]=\"'twotone'\"\n [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\"\n >\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu\n #contextMenu\n (onItemClick)=\"handleActionClick($event)\"\n [items]=\"[]\"\n [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onOpening)=\"openingContextMenu($event)\"\n>\n</ax-context-menu>\n"],"names":["i3","i4","i7","i9"],"mappings":"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"}
|