@acorex/modules 18.0.14 → 18.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/application-management/index.d.ts +10 -0
- package/application-management/lib/application-management-mock-data.d.ts +75 -0
- package/application-management/lib/application-management.module.d.ts +11 -2
- package/application-management/lib/application-management.service.d.ts +23 -0
- package/application-management/lib/entities/application-module.entity.d.ts +3 -0
- package/application-management/lib/entities/applications.entity.d.ts +3 -0
- package/application-management/lib/entities/edition.entity.d.ts +3 -0
- package/application-management/lib/entities/entity.entity.d.ts +3 -0
- package/application-management/lib/entities/feature.entity.d.ts +3 -0
- package/application-management/lib/entities/modules.entity.d.ts +3 -0
- package/application-management/lib/entities/permission.entity.d.ts +3 -0
- package/application-management/lib/entities/property.entity.d.ts +3 -0
- package/application-management/lib/module-designer/module-designer.component.d.ts +18 -0
- package/application-management/lib/module-designer/module-designer.service.d.ts +34 -0
- package/auth/lib/error-handler.d.ts +1 -1
- package/backend/lib/data/api/comment.service.d.ts +15 -0
- package/backend/lib/data/api/module-designer.service.d.ts +43 -0
- package/backend/lib/data/index.d.ts +2 -1
- package/backend/lib/data/local/local-data-provider.d.ts +1 -2
- package/esm2022/application-management/index.mjs +11 -1
- package/esm2022/application-management/lib/application-management-mock-data.mjs +89 -0
- package/esm2022/application-management/lib/application-management.module.mjs +56 -7
- package/esm2022/application-management/lib/application-management.service.mjs +66 -0
- package/esm2022/application-management/lib/entities/application-module.entity.mjs +273 -0
- package/esm2022/application-management/lib/entities/applications.entity.mjs +311 -0
- package/esm2022/application-management/lib/entities/edition.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/entity.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/feature.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/modules.entity.mjs +324 -0
- package/esm2022/application-management/lib/entities/permission.entity.mjs +284 -0
- package/esm2022/application-management/lib/entities/property.entity.mjs +449 -0
- package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +91 -0
- package/esm2022/application-management/lib/module-designer/module-designer.service.mjs +3 -0
- package/esm2022/auth/lib/account/account.module.mjs +1 -6
- package/esm2022/auth/lib/error-handler.mjs +6 -6
- package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +2 -3
- package/esm2022/backend/lib/backend.module.mjs +23 -5
- package/esm2022/backend/lib/data/api/comment.service.mjs +48 -0
- package/esm2022/backend/lib/data/api/data-provider.mjs +6 -4
- package/esm2022/backend/lib/data/api/module-designer.service.mjs +95 -0
- package/esm2022/backend/lib/data/index.mjs +3 -2
- package/esm2022/backend/lib/data/local/local-data-provider.mjs +2 -2
- package/esm2022/form-management/acorex-modules-form-management.mjs +5 -0
- package/esm2022/form-management/index.mjs +2 -0
- package/esm2022/form-management/lib/designer/designer.page.mjs +24 -0
- package/esm2022/form-management/lib/form-management.module.mjs +29 -0
- package/fesm2022/acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs +100 -0
- package/fesm2022/acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management.mjs +2693 -7
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DDSvztIU.mjs → acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs} +12 -17
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D09VaQPe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CQ87lFLo.mjs → acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CQ87lFLo.mjs.map → acorex-modules-auth-app-chooser.component-DN1ZJiZs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Ceocgnz0.mjs → acorex-modules-auth-login.module-CGA5aTg2.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-login.module-Ceocgnz0.mjs.map → acorex-modules-auth-login.module-CGA5aTg2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-D30jFVFm.mjs → acorex-modules-auth-master.layout-ZJWzjLrb.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-D30jFVFm.mjs.map → acorex-modules-auth-master.layout-ZJWzjLrb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DvmIgK3z.mjs → acorex-modules-auth-password.component-C4yqf342.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-password.component-DvmIgK3z.mjs.map → acorex-modules-auth-password.component-C4yqf342.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-QQakXucW.mjs → acorex-modules-auth-password.component-MJhNk3UI.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-QQakXucW.mjs.map → acorex-modules-auth-password.component-MJhNk3UI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-Bu1uHALz.mjs → acorex-modules-auth-routes-DhORV1Js.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-Bu1uHALz.mjs.map → acorex-modules-auth-routes-DhORV1Js.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CEcPMx4l.mjs → acorex-modules-auth-two-factor.module-BWKP0_jO.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-two-factor.module-CEcPMx4l.mjs.map → acorex-modules-auth-two-factor.module-BWKP0_jO.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +4 -4
- package/fesm2022/acorex-modules-backend.mjs +159 -141
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs +27 -0
- package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-management.mjs +36 -0
- package/fesm2022/acorex-modules-form-management.mjs.map +1 -0
- package/form-management/README.md +4 -0
- package/form-management/index.d.ts +1 -0
- package/form-management/lib/designer/designer.page.d.ts +5 -0
- package/form-management/lib/form-management.module.d.ts +7 -0
- package/package.json +6 -6
- package/backend/lib/data/local/data-Conditioner.d.ts +0 -6
- package/esm2022/backend/lib/data/local/data-Conditioner.mjs +0 -138
- package/esm2022/log-management/acorex-modules-log-management.mjs +0 -5
- package/esm2022/log-management/index.mjs +0 -3
- package/esm2022/log-management/lib/audit-logs.entity.mjs +0 -391
- package/esm2022/log-management/lib/log-management.module.mjs +0 -16
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DDSvztIU.mjs.map +0 -1
- package/fesm2022/acorex-modules-log-management.mjs +0 -414
- package/fesm2022/acorex-modules-log-management.mjs.map +0 -1
- package/log-management/README.md +0 -4
- package/log-management/index.d.ts +0 -2
- package/log-management/lib/audit-logs.entity.d.ts +0 -3
- package/log-management/lib/log-management.module.d.ts +0 -6
@@ -1,6 +1,6 @@
|
|
1
|
+
import { applyFilterArray, applySortArray } from '@acorex/platform/core';
|
1
2
|
import { AXPStorageMockService } from '@acorex/platform/mocks';
|
2
3
|
import { Injectable } from '@angular/core';
|
3
|
-
import { applyFilterArray, applySortArray } from './data-Conditioner';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "@acorex/platform/mocks";
|
6
6
|
export class AXMLocalDataProvider {
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
81
81
|
providedIn: 'root',
|
82
82
|
}]
|
83
83
|
}], ctorParameters: () => [{ type: i1.AXPStorageMockService }] });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZGF0YS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvZGF0YS9sb2NhbC9sb2NhbC1kYXRhLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFvQixjQUFxQztRQUFyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7SUFBRyxDQUFDO0lBRTdELFNBQVMsQ0FBQyxNQUF1QixFQUFFLFVBQWU7UUFDaEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUF1QixFQUFFLFVBQWU7UUFDakQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQXVCLEVBQUUsRUFBVTtRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQXVCLEVBQUUsTUFBWTtRQUNqRCxPQUFPLENB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Q0FBQyxFQUFVLEVBQUUsSUFBWTtRQUMvQixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBWTtRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBNUVVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBEYXRhUHJvdmlkZXIsIEFYUEVudGl0eUNvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGFwcGx5RmlsdGVyQXJyYXksIGFwcGx5U29ydEFycmF5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFN0b3JhZ2VNb2NrU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbW9ja3MnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhNTG9jYWxEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBEYXRhUHJvdmlkZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBBWFBTdG9yYWdlTW9ja1NlcnZpY2UpIHt9XG5cbiAgaW5zZXJ0T25lKGVudGl0eTogQVhQRW50aXR5Q29uZmlnLCBlbnRpdHlJdGVtOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmluc2VydE9ydXBkYXRlT25lKGVudGl0eS5uYW1lLCBlbnRpdHlJdGVtKTtcbiAgfVxuXG4gIGluc2VydE1hbnkoZW50aXR5OiBBWFBFbnRpdHlDb25maWcsIGVudGl0eUxpc3Q6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuaW5zZXJ0TWFueShlbnRpdHkubmFtZSwgZW50aXR5TGlzdCk7XG4gIH1cblxuICBhc3luYyBnZXRPbmUoZW50aXR5OiBBWFBFbnRpdHlDb25maWcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnNvbGUubG9nKCdATE9BQ0FMIGdldE9uZScsIGVudGl0eS5uYW1lLCBpZCk7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0T25lKGVudGl0eS5uYW1lLCBpZCk7XG4gIH1cblxuICBhc3luYyBnZXRNYW55KGVudGl0eTogQVhQRW50aXR5Q29uZmlnLCBwYXJhbXM/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnNvbGUubG9nKCdATE9BQ0FMIGdldE1hbnknLCBlbnRpdHkubmFtZSwgcGFyYW1zKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldE1hbnkoZW50aXR5Lm5hbWUsIHBhcmFtcyk7XG4gICAgY29uc3Qgc29ydGVkSXRlbXMgPSBhcHBseVNvcnRBcnJheShyZXN1bHQsIHBhcmFtcz8uc29ydCk7XG4gICAgY29uc3QgZmlsdGVyZWRJdGVtcyA9IGFwcGx5RmlsdGVyQXJyYXkoc29ydGVkSXRlbXMsIHBhcmFtcz8uZmlsdGVyPy5maWx0ZXJzKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBpdGVtczogcGFyYW1zID8gZmlsdGVyZWRJdGVtcz8uc2xpY2UocGFyYW1zLnNraXAsIChwYXJhbXMuc2tpcCA/PyAwKSArIChwYXJhbXMudGFrZSA/PyAyMCkpIDogZmlsdGVyZWRJdGVtcyxcbiAgICAgICAgdG90YWw6IGZpbHRlcmVkSXRlbXM/Lmxlbmd0aCA/PyAwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVPbmUoZW50aXR5OiBBWFBFbnRpdHlDb25maWcsIGlkOiBzdHJpbmcsIGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwZGF0ZU9uZShlbnRpdHkubmFtZSwgaWQsIGRhdGEpO1xuICB9XG5cbiAgZGVsZXRlT25lKGVudGl0eTogQVhQRW50aXR5Q29uZmlnLCBpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5kZWxldGVPbmUoZW50aXR5Lm5hbWUsIGlkKTtcbiAgfVxuXG4gIGdldEZpcnN0KGVudGl0eTogQVhQRW50aXR5Q29uZmlnKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRNYW55KGVudGl0eSkudGhlbigocmVzKSA9PiB7XG4gICAgICByZXR1cm4gcmVzLml0ZW1zID8gcmVzLml0ZW1zWzBdIDogbnVsbDtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIE1vY2sgZmlsZSB1cGxvYWRlciBmdW5jdGlvblxuICB1cGxvYWRGaWxlKGZpbGU6IEZpbGUsIHRpdGxlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgLy8gTW9jayBmaWxlIElEIGdlbmVyYXRpb25cbiAgICAgIGNvbnN0IGZpbGVJZCA9IGBtb2NrLWZpbGUtaWQtJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOSl9YDtcbiAgICAgIGNvbnN0IGZpbGVSZWNvcmQgPSB7IGlkOiBmaWxlSWQsIHRpdGxlLCBmaWxlIH07XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmluc2VydE9ydXBkYXRlT25lKCdmaWxlcycsIGZpbGVSZWNvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXNvbHZlKGZpbGVJZCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIE1vY2sgZnVuY3Rpb24gdG8gdXBsb2FkIG11bHRpcGxlIGZpbGVzXG4gIHVwbG9hZE11bHRpcGxlRmlsZXMoZmlsZXM6IEZpbGVbXSwgdGl0bGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCB1cGxvYWRQcm9taXNlcyA9IGZpbGVzLm1hcCgoZmlsZSkgPT4gdGhpcy51cGxvYWRGaWxlKGZpbGUsIHRpdGxlKSk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHVwbG9hZFByb21pc2VzKTtcbiAgfVxuXG4gIC8vIE1vY2sgZnVuY3Rpb24gdG8gdmlldyBhIGZpbGVcbiAgdmlld0ZpbGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxCbG9iPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVSZWNvcmQgPSBhd2FpdCB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldE9uZSgnZmlsZXMnLCBpZCk7XG4gICAgICBpZiAoZmlsZVJlY29yZCAmJiBmaWxlUmVjb3JkLmZpbGUpIHtcbiAgICAgICAgcmVzb2x2ZShmaWxlUmVjb3JkLmZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVqZWN0KCdGaWxlIG5vdCBmb3VuZCcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gTW9jayBmdW5jdGlvbiB0byBkb3dubG9hZCBhIGZpbGVcbiAgZG93bmxvYWRGaWxlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8QmxvYj4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdGaWxlKGlkLCBuYW1lKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtZm9ybS1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2Zvcm0tbWFuYWdlbWVudC9zcmMvYWNvcmV4LW1vZHVsZXMtZm9ybS1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './lib/form-management.module';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZm9ybS1tYW5hZ2VtZW50L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLW1hbmFnZW1lbnQubW9kdWxlJztcbiAgICAgICAgICAgICAgICAiXX0=
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { AXButtonModule } from '@acorex/components/button';
|
2
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
3
|
+
import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
4
|
+
import { AXPLayoutDesignerComponent } from '@acorex/platform/layout/designer';
|
5
|
+
import { AXPWidgetsModule } from '@acorex/platform/widgets';
|
6
|
+
import { CommonModule } from '@angular/common';
|
7
|
+
import { Component } from '@angular/core';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
export class AXMFormsDesignerPage {
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormsDesignerPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXMFormsDesignerPage, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<axp-layout-designer> </axp-layout-designer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: AXPLayoutDesignerComponent, selector: "axp-layout-designer" }] }); }
|
12
|
+
}
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormsDesignerPage, decorators: [{
|
14
|
+
type: Component,
|
15
|
+
args: [{ standalone: true, imports: [
|
16
|
+
CommonModule,
|
17
|
+
AXDecoratorModule,
|
18
|
+
AXPWidgetsModule,
|
19
|
+
AXPLayoutBuilderModule,
|
20
|
+
AXButtonModule,
|
21
|
+
AXPLayoutDesignerComponent,
|
22
|
+
], template: "<axp-layout-designer> </axp-layout-designer>\n" }]
|
23
|
+
}] });
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9mb3JtLW1hbmFnZW1lbnQvc3JjL2xpYi9kZXNpZ25lci9kZXNpZ25lci5wYWdlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Rlc2lnbmVyL2Rlc2lnbmVyLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdFQ3BCakMsZ0RBQ0EsMkNEV0ksWUFBWSw4QkFDWixpQkFBaUIsOEJBQ2pCLGdCQUFnQiw4QkFDaEIsc0JBQXNCLDhCQUN0QixjQUFjLCtCQUNkLDBCQUEwQjs7MkZBR2pCLG9CQUFvQjtrQkFaaEMsU0FBUztpQ0FFSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLDBCQUEwQjtxQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBMYXlvdXREZXNpZ25lckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyJztcbmltcG9ydCB7IEFYUFdpZGdldHNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dpZGdldHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdkZXNpZ25lci5wYWdlLmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFBMYXlvdXREZXNpZ25lckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRm9ybXNEZXNpZ25lclBhZ2Uge1xuXG59XG4iLCI8YXhwLWxheW91dC1kZXNpZ25lcj4gPC9heHAtbGF5b3V0LWRlc2lnbmVyPlxuIl19
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { NgModule } from "@angular/core";
|
2
|
+
import { RouterModule } from "@angular/router";
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/router";
|
5
|
+
const routes = [
|
6
|
+
{
|
7
|
+
path: 'forms',
|
8
|
+
children: [
|
9
|
+
{
|
10
|
+
path: 'designer',
|
11
|
+
loadComponent: () => import('./designer/designer.page').then((c) => c.AXMFormsDesignerPage),
|
12
|
+
},
|
13
|
+
]
|
14
|
+
}
|
15
|
+
];
|
16
|
+
export class AXMFormManagementModule {
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, imports: [i1.RouterModule] }); }
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, imports: [RouterModule.forChild(routes)] }); }
|
20
|
+
}
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, decorators: [{
|
22
|
+
type: NgModule,
|
23
|
+
args: [{
|
24
|
+
imports: [RouterModule.forChild(routes)],
|
25
|
+
exports: [],
|
26
|
+
declarations: [],
|
27
|
+
}]
|
28
|
+
}] });
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9mb3JtLW1hbmFnZW1lbnQvc3JjL2xpYi9mb3JtLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDOzs7QUFHdkQsTUFBTSxNQUFNLEdBQVc7SUFDbkI7UUFDSSxJQUFJLEVBQUUsT0FBTztRQUNiLFFBQVEsRUFBRTtZQUNOO2dCQUNJLElBQUksRUFBRSxVQUFVO2dCQUNoQixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7YUFDOUY7U0FDSjtLQUNKO0NBQ0osQ0FBQztBQU9GLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsWUFKdEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7OzJGQUk5Qix1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gICAge1xuICAgICAgICBwYXRoOiAnZm9ybXMnLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdkZXNpZ25lcicsXG4gICAgICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2Rlc2lnbmVyL2Rlc2lnbmVyLnBhZ2UnKS50aGVuKChjKSA9PiBjLkFYTUZvcm1zRGVzaWduZXJQYWdlKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gICAgZXhwb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRm9ybU1hbmFnZW1lbnRNb2R1bGUge1xufVxuIl19
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import { AXButtonModule } from '@acorex/components/button';
|
2
|
+
import * as i5 from '@acorex/components/collapse';
|
3
|
+
import { AXCollapseModule } from '@acorex/components/collapse';
|
4
|
+
import * as i3 from '@acorex/components/decorators';
|
5
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
6
|
+
import * as i2 from '@acorex/components/drawer';
|
7
|
+
import { AXDrawerModule } from '@acorex/components/drawer';
|
8
|
+
import { AXPopoverModule } from '@acorex/components/popover';
|
9
|
+
import { AXSelectionListModule } from '@acorex/components/selection-list';
|
10
|
+
import { AXSideMenuModule } from '@acorex/components/side-menu';
|
11
|
+
import * as i4 from '@acorex/core/translation';
|
12
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
13
|
+
import * as i1 from '@angular/common';
|
14
|
+
import { CommonModule } from '@angular/common';
|
15
|
+
import * as i0 from '@angular/core';
|
16
|
+
import { inject, signal, Component, ViewEncapsulation } from '@angular/core';
|
17
|
+
import { AXPModuleDesignerService } from './acorex-modules-application-management.mjs';
|
18
|
+
import '@acorex/platform/layout/entity';
|
19
|
+
import '@acorex/platform/themes/default';
|
20
|
+
import '@angular/router';
|
21
|
+
import '@acorex/platform/common';
|
22
|
+
import '@acorex/platform/core';
|
23
|
+
import '@acorex/platform/layout/builder';
|
24
|
+
|
25
|
+
class AXMModuleDesignerComponent {
|
26
|
+
constructor() {
|
27
|
+
this.dataProvider = inject(AXPModuleDesignerService);
|
28
|
+
this.modules = signal([]);
|
29
|
+
this.moduleDataCache = new Map();
|
30
|
+
}
|
31
|
+
ngOnInit() {
|
32
|
+
this.loadModules();
|
33
|
+
}
|
34
|
+
async loadModules() {
|
35
|
+
try {
|
36
|
+
const modules = await this.dataProvider.getModules();
|
37
|
+
this.modules.set(modules.items);
|
38
|
+
}
|
39
|
+
catch (error) {
|
40
|
+
console.error('Error loading modules:', error);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
async loadModuleData(moduleId, e, dataType) {
|
44
|
+
const cacheKey = `${moduleId}-${dataType}`;
|
45
|
+
if (e.component.isCollapsed) {
|
46
|
+
e.handled = true;
|
47
|
+
e.component.isLoading = true;
|
48
|
+
let dataItems = this.moduleDataCache.get(cacheKey);
|
49
|
+
if (!dataItems) {
|
50
|
+
try {
|
51
|
+
const methodMap = {
|
52
|
+
entities: this.dataProvider.getEntities,
|
53
|
+
permissions: this.dataProvider.getPermissions,
|
54
|
+
features: this.dataProvider.getFeatures,
|
55
|
+
};
|
56
|
+
const data = await methodMap[dataType].call(this.dataProvider, moduleId);
|
57
|
+
dataItems = data.items;
|
58
|
+
this.moduleDataCache.set(cacheKey, dataItems);
|
59
|
+
}
|
60
|
+
catch (error) {
|
61
|
+
console.error(`Error loading ${dataType}:`, error);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
e.component.toggle();
|
65
|
+
e.component.isLoading = false;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
getEntities(moduleId) {
|
69
|
+
return this.moduleDataCache.get(`${moduleId}-entities`) || [];
|
70
|
+
}
|
71
|
+
getPermissions(moduleId) {
|
72
|
+
return this.moduleDataCache.get(`${moduleId}-permissions`) || [];
|
73
|
+
}
|
74
|
+
getFeatures(moduleId) {
|
75
|
+
return this.moduleDataCache.get(`${moduleId}-features`) || [];
|
76
|
+
}
|
77
|
+
onRightClick(e) {
|
78
|
+
e.preventDefault();
|
79
|
+
console.log(e);
|
80
|
+
}
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMModuleDesignerComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<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-border-e ax-px-4 ax-py-2\">\n <div>\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n <ax-collapse-group [accordion]=\"true\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse icon=\"fas fa-folder a ax-text-warning\" [isCollapsed]=\"true\" [caption]=\"m.title\" look=\"none\">\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'entities')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getEntities(m.id) }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'features')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getFeatures(m.id) }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'permissions')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getPermissions(m.id) }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n </div>\n </ax-content>\n\n <ng-template #itemsTemplate let-items>\n <div\n (contextmenu)=\"onRightClick($event)\"\n class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[6px] ax-ps-2\"\n >\n @for (item of items; track $index) {\n <div class=\"ax-px-2 ax-py-1 hover:ax-bg-neutral-100 hover:ax-rounded-md\">\n <span>{{ item.title }}</span>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <div class=\"ax-overflow-auto\">TEST</div>\n </ax-content>\n</ax-drawer-container>\n", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-100),var(--tw-bg-opacity))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed", "closeOthers"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { 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: AXTranslationModule }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXCollapseModule }, { kind: "component", type: i5.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i5.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXSelectionListModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
83
|
+
}
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleDesignerComponent, decorators: [{
|
85
|
+
type: Component,
|
86
|
+
args: [{ encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
87
|
+
CommonModule,
|
88
|
+
AXDrawerModule,
|
89
|
+
AXButtonModule,
|
90
|
+
AXDecoratorModule,
|
91
|
+
AXTranslationModule,
|
92
|
+
AXSideMenuModule,
|
93
|
+
AXCollapseModule,
|
94
|
+
AXPopoverModule,
|
95
|
+
AXSelectionListModule,
|
96
|
+
], template: "<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-border-e ax-px-4 ax-py-2\">\n <div>\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n <ax-collapse-group [accordion]=\"true\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse icon=\"fas fa-folder a ax-text-warning\" [isCollapsed]=\"true\" [caption]=\"m.title\" look=\"none\">\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'entities')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getEntities(m.id) }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'features')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getFeatures(m.id) }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'permissions')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getPermissions(m.id) }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n </div>\n </ax-content>\n\n <ng-template #itemsTemplate let-items>\n <div\n (contextmenu)=\"onRightClick($event)\"\n class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[6px] ax-ps-2\"\n >\n @for (item of items; track $index) {\n <div class=\"ax-px-2 ax-py-1 hover:ax-bg-neutral-100 hover:ax-rounded-md\">\n <span>{{ item.title }}</span>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <div class=\"ax-overflow-auto\">TEST</div>\n </ax-content>\n</ax-drawer-container>\n", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-100),var(--tw-bg-opacity))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"] }]
|
97
|
+
}] });
|
98
|
+
|
99
|
+
export { AXMModuleDesignerComponent };
|
100
|
+
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs.map
|
package/fesm2022/acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-modules-application-management-module-designer.component-KlwqCJCF.mjs","sources":["../../../../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 { 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 { 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 { CommonModule } from '@angular/common';\nimport { Component, inject, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPModuleDesignerService } from './module-designer.service';\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 ],\n})\nexport class AXMModuleDesignerComponent implements OnInit {\n protected dataProvider = inject(AXPModuleDesignerService);\n protected modules = signal<any[]>([]);\n\n protected moduleDataCache = new Map<string, any[]>();\n\n ngOnInit() {\n this.loadModules();\n }\n\n protected async loadModules() {\n try {\n const modules = await this.dataProvider.getModules();\n this.modules.set(modules.items);\n } catch (error) {\n console.error('Error loading modules:', error);\n }\n }\n\n protected async loadModuleData(\n moduleId: string,\n e: AXCollapseClickEvent,\n dataType: 'entities' | 'permissions' | 'features'\n ) {\n const cacheKey = `${moduleId}-${dataType}`;\n if (e.component.isCollapsed) {\n e.handled = true;\n e.component.isLoading = true;\n\n let dataItems = this.moduleDataCache.get(cacheKey);\n if (!dataItems) {\n try {\n const methodMap = {\n entities: this.dataProvider.getEntities,\n permissions: this.dataProvider.getPermissions,\n features: this.dataProvider.getFeatures,\n };\n const data = await methodMap[dataType].call(this.dataProvider, moduleId);\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 e.component.toggle();\n e.component.isLoading = false;\n }\n }\n\n protected getEntities(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-entities`) || [];\n }\n\n protected getPermissions(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-permissions`) || [];\n }\n\n protected getFeatures(moduleId: string) {\n return this.moduleDataCache.get(`${moduleId}-features`) || [];\n }\n\n protected onRightClick(e: any) {\n e.preventDefault();\n console.log(e);\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-border-e ax-px-4 ax-py-2\">\n <div>\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n <ax-collapse-group [accordion]=\"true\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse icon=\"fas fa-folder a ax-text-warning\" [isCollapsed]=\"true\" [caption]=\"m.title\" look=\"none\">\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'entities')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getEntities(m.id) }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'features')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getFeatures(m.id) }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"loadModuleData(m.id, $event, 'permissions')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: getPermissions(m.id) }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n </div>\n </ax-content>\n\n <ng-template #itemsTemplate let-items>\n <div\n (contextmenu)=\"onRightClick($event)\"\n class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[6px] ax-ps-2\"\n >\n @for (item of items; track $index) {\n <div class=\"ax-px-2 ax-py-1 hover:ax-bg-neutral-100 hover:ax-rounded-md\">\n <span>{{ item.title }}</span>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <div class=\"ax-overflow-auto\">TEST</div>\n </ax-content>\n</ax-drawer-container>\n"],"names":[],"mappings":"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"}
|