@acorex/modules 19.3.8 → 19.4.2
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/auth/lib/pages/account/account.module.d.ts +1 -1
- package/common/lib/features/global-search/search.module.d.ts +1 -1
- package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +2 -2
- package/document-management/lib/badge.provider.d.ts +1 -1
- package/document-management/lib/document-management.module.d.ts +11 -10
- package/document-management/lib/features/drive/drive.component.d.ts +2 -2
- package/document-management/lib/features/drive-choose/drive-choose.module.d.ts +7 -0
- package/document-management/lib/features/drive-choose/slots/file-uploader-widget-extension/file-uploader-widget-extension.component.d.ts +8 -0
- package/document-management/lib/features/shared/document-manager.service.d.ts +2 -1
- package/document-management/lib/features/shared/document-manager.types.d.ts +3 -0
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +5 -4
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-bj5xztse.mjs → acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs} +18 -17
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-bj5xztse.mjs.map → acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BOL3VzC1.mjs → acorex-modules-auth-app-chooser.component-DNr963RR.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BOL3VzC1.mjs.map → acorex-modules-auth-app-chooser.component-DNr963RR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-C1AoXhCI.mjs → acorex-modules-auth-login.module-HfQItJY6.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-C1AoXhCI.mjs.map → acorex-modules-auth-login.module-HfQItJY6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-vuHfrDxu.mjs → acorex-modules-auth-master.layout-DgN0Dh-I.mjs} +6 -5
- package/fesm2022/acorex-modules-auth-master.layout-DgN0Dh-I.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-C71v2x71.mjs → acorex-modules-auth-password.component-B-L3ksjM.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-C71v2x71.mjs.map → acorex-modules-auth-password.component-B-L3ksjM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-Dtcz95NV.mjs → acorex-modules-auth-password.component-CVgNTaKI.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-Dtcz95NV.mjs.map → acorex-modules-auth-password.component-CVgNTaKI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-lJgHFaQR.mjs → acorex-modules-auth-routes-CtoZQEq9.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-lJgHFaQR.mjs.map → acorex-modules-auth-routes-CtoZQEq9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-C9SfEHF7.mjs → acorex-modules-auth-two-factor.module-CCP_Oovk.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-C9SfEHF7.mjs.map → acorex-modules-auth-two-factor.module-CCP_Oovk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-CCsoLecU.mjs → acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-CCsoLecU.mjs.map → acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-D1Ddwc_U.mjs → acorex-modules-common-search-popup.component-tUvSQpDP.mjs} +5 -5
- package/fesm2022/acorex-modules-common-search-popup.component-tUvSQpDP.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +7 -6
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +8 -6
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs → acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs} +187 -63
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs → acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs.map → acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs → acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs.map → acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-DE84Itc_.mjs → acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-DE84Itc_.mjs.map → acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs → acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs.map → acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs → acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs.map → acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs → acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs.map → acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-CGSls2hG.mjs → acorex-modules-document-management-list-view.component-DZBjqWfy.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-CGSls2hG.mjs.map → acorex-modules-document-management-list-view.component-DZBjqWfy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs → acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs} +3 -3
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs → acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs → acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs.map → acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs → acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs.map → acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-Bh0D44Yv.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-KTKkPz-B.mjs} +9 -9
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-Bh0D44Yv.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-KTKkPz-B.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-category.entity-CMez7XCT.mjs → acorex-modules-form-template-management-category.entity-DxgqHkjI.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-CMez7XCT.mjs.map → acorex-modules-form-template-management-category.entity-DxgqHkjI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-D_VOBOyf.mjs → acorex-modules-form-template-management-permission-definition.provider-6czJEo8f.mjs} +13 -13
- package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-6czJEo8f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-CzvnYncE.mjs → acorex-modules-form-template-management-settings.provider-D3nbUDMw.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-CzvnYncE.mjs.map → acorex-modules-form-template-management-settings.provider-D3nbUDMw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CJqwkNDn.mjs → acorex-modules-form-template-management-template-widget-edit.component-BLobMX4C.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CJqwkNDn.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BLobMX4C.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-CSUgPKlG.mjs → acorex-modules-form-template-management-template.entity-Ci6QzE16.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-CSUgPKlG.mjs.map → acorex-modules-form-template-management-template.entity-Ci6QzE16.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDFNie66.mjs → acorex-modules-form-template-management-viewer-popup.component-DIzlC6tX.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDFNie66.mjs.map → acorex-modules-form-template-management-viewer-popup.component-DIzlC6tX.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +5 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs → acorex-modules-organization-management-org-chart-configuration.page-DNzhGz5G.mjs} +7 -7
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DNzhGz5G.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-1UgQCqvl.mjs → acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs} +22 -10
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +117 -5
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Bh6NW7UJ.mjs → acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs} +184 -20
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-Ctqr4YiY.mjs → acorex-modules-platform-management-list-version.component-BGhETw3U.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-Ctqr4YiY.mjs.map → acorex-modules-platform-management-list-version.component-BGhETw3U.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs → acorex-modules-platform-management-settings.provider-C327XLKW.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs.map → acorex-modules-platform-management-settings.provider-C327XLKW.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs +218 -0
- package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs +41 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs +21 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-P3adQ1xt.mjs +51 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-P3adQ1xt.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-D4lk67fE.mjs +22 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-D4lk67fE.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-Cz32ewum.mjs +21 -0
- package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-Cz32ewum.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management.mjs +185 -18
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs → acorex-modules-settings-management-setting-page.component-BgQoPRy_.mjs} +7 -7
- package/fesm2022/acorex-modules-settings-management-setting-page.component-BgQoPRy_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-DryghOjs.mjs → acorex-modules-settings-management-setting-view.component-CX_FKIxI.mjs} +4 -3
- package/fesm2022/acorex-modules-settings-management-setting-view.component-CX_FKIxI.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +3 -3
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +3 -2
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/form-template-management/index.d.ts +1 -0
- package/notification-management/lib/notification-management.module.d.ts +1 -1
- package/organization-management/lib/features/employee/employee-feature.module.d.ts +9 -0
- package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +2 -2
- package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +3 -2
- package/organization-management/lib/organization-management.module.d.ts +2 -1
- package/package.json +11 -11
- package/platform-management/lib/entities/data-source/data-source.service.d.ts +1 -1
- package/platform-management/lib/entities/data-source/data-source.types.d.ts +2 -2
- package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +1 -1
- package/platform-management/lib/entities/meta-data-definition/meta-data-definition.service.d.ts +2 -2
- package/platform-management/lib/entities/meta-data-definition/meta-data-definition.types.d.ts +2 -2
- package/platform-management/lib/entities/meta-data-definition-category/category.service.d.ts +1 -1
- package/platform-management/lib/entities/meta-data-definition-category/category.types.d.ts +2 -2
- package/platform-management/lib/features/app-terms/pages/list/list-terms.component.d.ts +2 -2
- package/platform-management/lib/features/app-terms/settings.keys.d.ts +3 -0
- package/platform-management/lib/features/common/common.module.d.ts +1 -1
- package/platform-management/lib/platform-management.module.d.ts +1 -1
- package/security-management/lib/features/permissions/permissions-editor/permissions-editor.component.d.ts +70 -0
- package/security-management/lib/features/permissions/permissions-widget/permissions-widget-column.component.d.ts +10 -0
- package/security-management/lib/features/permissions/permissions-widget/permissions-widget-designer.component.d.ts +6 -0
- package/security-management/lib/features/permissions/permissions-widget/permissions-widget-edit.component.d.ts +8 -0
- package/security-management/lib/features/permissions/permissions-widget/permissions-widget-print.component.d.ts +6 -0
- package/security-management/lib/features/permissions/permissions-widget/permissions-widget-view.component.d.ts +6 -0
- package/security-management/lib/features/permissions/permissions-widget/permissions-widget.config.d.ts +2 -0
- package/security-management/lib/features/permissions/permissions.module.d.ts +8 -0
- package/security-management/lib/features/permissions/workflows/assign-permissions.workflow.d.ts +10 -0
- package/security-management/lib/security-management.module.d.ts +3 -2
- package/settings-management/lib/features/settings/setting-page/setting-page.component.d.ts +2 -2
- package/fesm2022/acorex-modules-auth-master.layout-vuHfrDxu.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-search-popup.component-D1Ddwc_U.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-D_VOBOyf.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-1UgQCqvl.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-Bh6NW7UJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-DryghOjs.mjs.map +0 -1
@@ -13,7 +13,7 @@ import * as i1 from '@angular/common';
|
|
13
13
|
import { CommonModule } from '@angular/common';
|
14
14
|
import * as i0 from '@angular/core';
|
15
15
|
import { inject, signal, ChangeDetectionStrategy, Component } from '@angular/core';
|
16
|
-
import { a as AXMAppVersionService } from './acorex-modules-platform-management-acorex-modules-platform-management-
|
16
|
+
import { a as AXMAppVersionService } from './acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs';
|
17
17
|
import { DomSanitizer } from '@angular/platform-browser';
|
18
18
|
|
19
19
|
class AXMListVersionComponent extends AXBasePageComponent {
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
56
56
|
}] });
|
57
57
|
|
58
58
|
export { AXMListVersionComponent };
|
59
|
-
//# sourceMappingURL=acorex-modules-platform-management-list-version.component-
|
59
|
+
//# sourceMappingURL=acorex-modules-platform-management-list-version.component-BGhETw3U.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-platform-management-list-version.component-
|
1
|
+
{"version":3,"file":"acorex-modules-platform-management-list-version.component-BGhETw3U.mjs","sources":["../../../../libs/modules/platform-management/src/lib/features/app-version/components/list-versions/list-version.component.ts","../../../../libs/modules/platform-management/src/lib/features/app-version/components/list-versions/list-version.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTimeLineModule } from '@acorex/components/time-line';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFormatModule, AXFormatService } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, WritableSignal } from '@angular/core';\nimport { AXMAppVersionService } from '../../../../entities/app-version/app-version.service';\nimport { AXMAppVersionListComponentModel } from '../../../../entities/app-version/app-version.types';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'axm-list-version',\n imports: [\n CommonModule,\n AXTimeLineModule,\n AXDecoratorModule,\n AXFormatModule,\n AXDateTimeModule,\n AXButtonModule,\n AXTranslationModule,\n ],\n templateUrl: './list-version.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMListVersionComponent extends AXBasePageComponent {\n private appVersionService = inject(AXMAppVersionService);\n private formatService = inject(AXFormatService);\n sanitize = inject(DomSanitizer)\n versions: WritableSignal<AXMAppVersionListComponentModel[]> = signal([]);\n\n protected override async ngOnInit(): Promise<void> {\n const result = await this.appVersionService.query({\n take: 1000,\n skip: 0,\n });\n const mappedItems = result.items.map<AXMAppVersionListComponentModel>((item) => ({\n id: item.id,\n //TODO to translate\n title: `Version ${item.versionNumber} Published at ${this.formatService.format(item.publishDate, 'datetime', {\n format: 'date',\n })}`,\n content: this.sanitize.bypassSecurityTrustHtml(item.changeLog) ?? '',\n }));\n this.versions.set(mappedItems);\n }\n}\n","<div class=\"ax-px-12 ax-min-h-96\">\n <ax-time-line>\n @for(version of versions();track version.id){\n <ax-time-line-item [text]=\"version.title\" [isCollapsed]=\"$index == 0 ? false : true\">\n <ax-icon class=\"fa-solid fa-flag-checkered\"></ax-icon>\n <ax-content class=\"ax-px-8 ax-py-2 ax-text-base/6\" [innerHtml]=\"version.content\"></ax-content>\n </ax-time-line-item>\n }\n </ax-time-line>\n</div>\n<ax-footer class=\"ax-flex !ax-justify-end\"\n ><ax-button [text]=\"'okay' | translate | async\" color=\"primary\" (onClick)=\"this.close()\"></ax-button\n></ax-footer>\n"],"names":["i3","i5"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AXTranslationService } from '@acorex/core/translation';
|
2
2
|
import { AXPRegionalService } from '@acorex/platform/common';
|
3
|
-
import { A as AXPRegionalSetting } from './acorex-modules-platform-management-acorex-modules-platform-management-
|
3
|
+
import { A as AXPRegionalSetting } from './acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs';
|
4
4
|
import { objectKeyValueTransforms } from '@acorex/platform/core';
|
5
5
|
import { AXPWidgetsList } from '@acorex/modules/common';
|
6
6
|
import { AXFormatService } from '@acorex/core/format';
|
@@ -460,4 +460,4 @@ class AXMRegionalSettingProvider {
|
|
460
460
|
}
|
461
461
|
|
462
462
|
export { AXMRegionalSettingProvider };
|
463
|
-
//# sourceMappingURL=acorex-modules-platform-management-settings.provider-
|
463
|
+
//# sourceMappingURL=acorex-modules-platform-management-settings.provider-C327XLKW.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs","sources":["../../../../libs/modules/platform-management/src/lib/features/common/regional/settings.provider.ts"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPRegionalService,\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex/platform/common';\nimport { Injector } from '@angular/core';\nimport { AXPRegionalSetting } from './settings.keys';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXFormatService } from '@acorex/core/format';\nexport class AXMRegionalSettingProvider implements AXPSettingDefinitionProvider {\n private regionalService = this.injector.get(AXPRegionalService);\n private readonly translateService = this.injector.get(AXTranslationService);\n private readonly formatService = this.injector.get(AXFormatService);\n\n constructor(private injector: Injector) { }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const trans = async (key: string) => await this.translateService.translateAsync(`settings.regional.${key}`, { scope: 'regional' });\n const profiles = await this.regionalService.getLocaleProfiles();\n const defaultProfile = profiles.find(p => p.code === 'en-US')!;\n\n context\n .addGroup(\n 'regional-settings',\n await trans('title'),\n await trans('description'),\n 'fa-light fa-earth-americas'\n )\n\n // Date & Time Section\n .addSection('date-time', await trans('datetime.title'), await trans('datetime.description'))\n .addSetting({\n key: AXPRegionalSetting.TimeZone,\n title: await trans('datetime.timezone.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: await this.regionalService.getBrowserTimeZoneCode(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: await this.regionalService.getTimeZones(),\n },\n },\n description: await trans('datetime.timezone.description'),\n })\n .endSection()\n\n // Region Section\n .addSection('region', await trans('region.title'), await trans('region.description'))\n .addSetting({\n key: AXPRegionalSetting.LocaleProfile,\n title: await trans('region.format.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.code,\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: profiles,\n },\n },\n description: await trans('region.format.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.Language,\n title: await trans('region.language.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: await this.translateService.getDefaultLang(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: await this.regionalService.getAvailableLanguages(),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: `{{ widget.setValue(context.eval('${AXPRegionalSetting.LocaleProfile}')) }}`,\n },\n ],\n },\n description: await trans('region.language.description'),\n })\n\n .addSetting({\n key: AXPRegionalSetting.Calendar,\n title: await trans('region.calendar.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.calendar.system,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: await trans('region.calendar.options.gregorian'),\n value: 'gregorian'\n },\n {\n text: await trans('region.calendar.options.hijri'),\n value: 'solar-hijri'\n }\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.system) }}`,\n ],\n },\n ],\n },\n description: await trans('region.calendar.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.FirstDayOfWeek,\n title: await trans('region.firstday.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.startsOn,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: await trans('region.firstday.options.saturday'),\n value: 6\n },\n {\n text: await trans('region.firstday.options.sunday'),\n value: 0\n },\n {\n text: await trans('region.firstday.options.monday'),\n value: 1\n }\n ],\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.startsOn) }}`,\n ],\n },\n ],\n },\n },\n description: await trans('region.firstday.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeekendDays,\n title: await trans('region.workdays.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.weekends,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: await trans('region.workdays.options.monday'), value: 1 },\n { text: await trans('region.workdays.options.tuesday'), value: 2 },\n { text: await trans('region.workdays.options.wednesday'), value: 3 },\n { text: await trans('region.workdays.options.thursday'), value: 4 },\n { text: await trans('region.workdays.options.friday'), value: 5 },\n { text: await trans('region.workdays.options.saturday'), value: 6 },\n { text: await trans('region.workdays.options.sunday'), value: 0 }\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.weekends) }}`,\n ],\n },\n ],\n },\n description: await trans('region.workdays.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.ShortDate,\n title: await trans('region.shortdate.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.date.short,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.date.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.short })})`,\n value: c.formats.date.short\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.short) }}`,\n ],\n },\n ],\n },\n description: await trans('region.shortdate.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LongDate,\n title: await trans('region.longdate.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.date.long,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.date.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.long })})`,\n value: c.formats.date.long\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.long) }}`,\n ],\n },\n ],\n },\n description: await trans('region.longdate.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.ShortTime,\n title: await trans('region.shorttime.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.time.short,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.time.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.short })})`,\n value: c.formats.time.short\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.short) }}`,\n ],\n },\n ],\n },\n description: await trans('region.shorttime.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LongTime,\n title: await trans('region.longtime.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.time.long,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.time.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.long })})`,\n value: c.formats.time.long\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.long) }}`,\n ],\n },\n ],\n },\n description: await trans('region.longtime.description'),\n })\n .endSection()\n\n // Unit Settings Section\n .addSection('units', await trans('units.title'), await trans('units.description'))\n .addSetting({\n key: AXPRegionalSetting.TemperatureUnits,\n title: await trans('units.temperature.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.temperature,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.temperature.options.${c.units!.temperature}`),\n value: c.units!.temperature\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.temperature) }}`,\n ],\n },\n ],\n },\n description: await trans('units.temperature.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.DistanceUnits,\n title: await trans('units.distance.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.distance,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.distance.options.${c.units!.distance}`),\n value: c.units!.distance\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.distance) }}`,\n ],\n },\n ],\n },\n description: await trans('units.distance.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeightUnits,\n title: await trans('units.weight.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.weight,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.weight.options.${c.units!.weight}`),\n value: c.units!.weight\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.weight) }}`,\n ],\n },\n ],\n },\n description: await trans('units.weight.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.VolumeUnits,\n title: await trans('units.volume.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.volume,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: await trans('units.volume.options.liters'), value: 'liters' },\n { text: await trans('units.volume.options.gallons'), value: 'gallons' }\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.volume) }}`,\n ],\n },\n ],\n },\n description: await trans('units.volume.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.SpeedUnits,\n title: await trans('units.speed.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.speed,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.speed.options.${c.units!.speed}`),\n value: c.units!.speed\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.speed) }}`,\n ],\n },\n ],\n },\n description: await trans('units.speed.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.AreaUnits,\n title: await trans('units.area.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.area,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.area.options.${c.units!.area}`),\n value: c.units!.area\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.area) }}`,\n ],\n },\n ],\n },\n description: await trans('units.area.description'),\n })\n .endSection()\n .endGroup();\n }\n}\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-platform-management-settings.provider-C327XLKW.mjs","sources":["../../../../libs/modules/platform-management/src/lib/features/common/regional/settings.provider.ts"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPRegionalService,\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex/platform/common';\nimport { Injector } from '@angular/core';\nimport { AXPRegionalSetting } from './settings.keys';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXFormatService } from '@acorex/core/format';\nexport class AXMRegionalSettingProvider implements AXPSettingDefinitionProvider {\n private regionalService = this.injector.get(AXPRegionalService);\n private readonly translateService = this.injector.get(AXTranslationService);\n private readonly formatService = this.injector.get(AXFormatService);\n\n constructor(private injector: Injector) { }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const trans = async (key: string) => await this.translateService.translateAsync(`settings.regional.${key}`, { scope: 'regional' });\n const profiles = await this.regionalService.getLocaleProfiles();\n const defaultProfile = profiles.find(p => p.code === 'en-US')!;\n\n context\n .addGroup(\n 'regional-settings',\n await trans('title'),\n await trans('description'),\n 'fa-light fa-earth-americas'\n )\n\n // Date & Time Section\n .addSection('date-time', await trans('datetime.title'), await trans('datetime.description'))\n .addSetting({\n key: AXPRegionalSetting.TimeZone,\n title: await trans('datetime.timezone.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: await this.regionalService.getBrowserTimeZoneCode(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: await this.regionalService.getTimeZones(),\n },\n },\n description: await trans('datetime.timezone.description'),\n })\n .endSection()\n\n // Region Section\n .addSection('region', await trans('region.title'), await trans('region.description'))\n .addSetting({\n key: AXPRegionalSetting.LocaleProfile,\n title: await trans('region.format.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.code,\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: profiles,\n },\n },\n description: await trans('region.format.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.Language,\n title: await trans('region.language.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: await this.translateService.getDefaultLang(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: await this.regionalService.getAvailableLanguages(),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: `{{ widget.setValue(context.eval('${AXPRegionalSetting.LocaleProfile}')) }}`,\n },\n ],\n },\n description: await trans('region.language.description'),\n })\n\n .addSetting({\n key: AXPRegionalSetting.Calendar,\n title: await trans('region.calendar.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.calendar.system,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: await trans('region.calendar.options.gregorian'),\n value: 'gregorian'\n },\n {\n text: await trans('region.calendar.options.hijri'),\n value: 'solar-hijri'\n }\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.system) }}`,\n ],\n },\n ],\n },\n description: await trans('region.calendar.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.FirstDayOfWeek,\n title: await trans('region.firstday.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.startsOn,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: await trans('region.firstday.options.saturday'),\n value: 6\n },\n {\n text: await trans('region.firstday.options.sunday'),\n value: 0\n },\n {\n text: await trans('region.firstday.options.monday'),\n value: 1\n }\n ],\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.startsOn) }}`,\n ],\n },\n ],\n },\n },\n description: await trans('region.firstday.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeekendDays,\n title: await trans('region.workdays.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.weekends,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: await trans('region.workdays.options.monday'), value: 1 },\n { text: await trans('region.workdays.options.tuesday'), value: 2 },\n { text: await trans('region.workdays.options.wednesday'), value: 3 },\n { text: await trans('region.workdays.options.thursday'), value: 4 },\n { text: await trans('region.workdays.options.friday'), value: 5 },\n { text: await trans('region.workdays.options.saturday'), value: 6 },\n { text: await trans('region.workdays.options.sunday'), value: 0 }\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.weekends) }}`,\n ],\n },\n ],\n },\n description: await trans('region.workdays.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.ShortDate,\n title: await trans('region.shortdate.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.date.short,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.date.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.short })})`,\n value: c.formats.date.short\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.short) }}`,\n ],\n },\n ],\n },\n description: await trans('region.shortdate.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LongDate,\n title: await trans('region.longdate.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.date.long,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.date.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.long })})`,\n value: c.formats.date.long\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.long) }}`,\n ],\n },\n ],\n },\n description: await trans('region.longdate.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.ShortTime,\n title: await trans('region.shorttime.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.time.short,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.time.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.short })})`,\n value: c.formats.time.short\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.short) }}`,\n ],\n },\n ],\n },\n description: await trans('region.shorttime.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LongTime,\n title: await trans('region.longtime.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.time.long,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: `${c.formats.time.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.long })})`,\n value: c.formats.time.long\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.long) }}`,\n ],\n },\n ],\n },\n description: await trans('region.longtime.description'),\n })\n .endSection()\n\n // Unit Settings Section\n .addSection('units', await trans('units.title'), await trans('units.description'))\n .addSetting({\n key: AXPRegionalSetting.TemperatureUnits,\n title: await trans('units.temperature.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.temperature,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.temperature.options.${c.units!.temperature}`),\n value: c.units!.temperature\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.temperature) }}`,\n ],\n },\n ],\n },\n description: await trans('units.temperature.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.DistanceUnits,\n title: await trans('units.distance.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.distance,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.distance.options.${c.units!.distance}`),\n value: c.units!.distance\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.distance) }}`,\n ],\n },\n ],\n },\n description: await trans('units.distance.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeightUnits,\n title: await trans('units.weight.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.weight,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.weight.options.${c.units!.weight}`),\n value: c.units!.weight\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.weight) }}`,\n ],\n },\n ],\n },\n description: await trans('units.weight.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.VolumeUnits,\n title: await trans('units.volume.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.volume,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: await trans('units.volume.options.liters'), value: 'liters' },\n { text: await trans('units.volume.options.gallons'), value: 'gallons' }\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.volume) }}`,\n ],\n },\n ],\n },\n description: await trans('units.volume.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.SpeedUnits,\n title: await trans('units.speed.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.speed,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.speed.options.${c.units!.speed}`),\n value: c.units!.speed\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.speed) }}`,\n ],\n },\n ],\n },\n description: await trans('units.speed.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.AreaUnits,\n title: await trans('units.area.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units!.area,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(\n profiles.map(async c => ({\n text: await trans(`units.area.options.${c.units!.area}`),\n value: c.units!.area\n }))\n ),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.area) }}`,\n ],\n },\n ],\n },\n description: await trans('units.area.description'),\n })\n .endSection()\n .endGroup();\n\n }\n}\n"],"names":[],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export { K as AXMAppPromotionService, d as AXMAppTermService, e as AXMAppTermServiceImpl, a as AXMAppVersionService, k as AXMAppVersionServiceImpl, m as AXMAppVersionSlotComponent, n as AXMChangeLogPopupAction, o as AXMChangeLogUpdateSettingAction, q as AXMCheckNewVersionAction, r as AXMCheckNewVersionWorkflow, t as AXMDataSourceService, u as AXMDataSourceServiceImpl, w as AXMGlobalVariablesService, x as AXMGlobalVariablesServiceImpl, z as AXMGlossaryService, B as AXMGlossaryServiceImpl, f as AXMListTermsComponent, G as AXMMetaDataDefinitionCategoryService, H as AXMMetaDataDefinitionCategoryServiceImpl, D as AXMMetaDataDefinitionService, i as AXMNewTermWorkflow, l as AXMNotifyAppComponent, g as AXMNotifyNewTermPopupAction, E as AXMPMetaDataDefinitionServiceImpl, b as AXMPlatformManagementModule, L as AXMPromotionServiceImpl, I as AXMPromotionSlotComponent, h as AXMTermUpdateSettingAction, N as AXMUpdaterModule, p as AXMWhatsNewWorkflow, M as AXPRegionalStoreService, O as AXPUpdaterService, R as RootConfig, c as appTermEntityEntityFactory, j as appVersionEntityEntityFactory, s as dataSourceEntityFactory, v as globalVariableEntityFactory, y as glossaryEntityFactory, F as metaDataDefinitionCategoryEntityFactory, C as metaDataDefinitionFactory, J as promotionEntityFactory } from './acorex-modules-platform-management-acorex-modules-platform-management-
|
1
|
+
export { K as AXMAppPromotionService, d as AXMAppTermService, e as AXMAppTermServiceImpl, a as AXMAppVersionService, k as AXMAppVersionServiceImpl, m as AXMAppVersionSlotComponent, n as AXMChangeLogPopupAction, o as AXMChangeLogUpdateSettingAction, q as AXMCheckNewVersionAction, r as AXMCheckNewVersionWorkflow, t as AXMDataSourceService, u as AXMDataSourceServiceImpl, w as AXMGlobalVariablesService, x as AXMGlobalVariablesServiceImpl, z as AXMGlossaryService, B as AXMGlossaryServiceImpl, f as AXMListTermsComponent, G as AXMMetaDataDefinitionCategoryService, H as AXMMetaDataDefinitionCategoryServiceImpl, D as AXMMetaDataDefinitionService, i as AXMNewTermWorkflow, l as AXMNotifyAppComponent, g as AXMNotifyNewTermPopupAction, E as AXMPMetaDataDefinitionServiceImpl, b as AXMPlatformManagementModule, L as AXMPromotionServiceImpl, I as AXMPromotionSlotComponent, h as AXMTermUpdateSettingAction, N as AXMUpdaterModule, p as AXMWhatsNewWorkflow, M as AXPRegionalStoreService, O as AXPUpdaterService, R as RootConfig, c as appTermEntityEntityFactory, j as appVersionEntityEntityFactory, s as dataSourceEntityFactory, v as globalVariableEntityFactory, y as glossaryEntityFactory, F as metaDataDefinitionCategoryEntityFactory, C as metaDataDefinitionFactory, J as promotionEntityFactory } from './acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs';
|
2
2
|
//# sourceMappingURL=acorex-modules-platform-management.mjs.map
|
@@ -0,0 +1,218 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { inject, signal, computed, ViewEncapsulation, Component } from '@angular/core';
|
3
|
+
import * as i1 from '@angular/common';
|
4
|
+
import { CommonModule } from '@angular/common';
|
5
|
+
import { AXFormModule } from '@acorex/components/form';
|
6
|
+
import { AXButtonModule } from '@acorex/components/button';
|
7
|
+
import { AXTextBoxModule } from '@acorex/components/text-box';
|
8
|
+
import * as i4 from '@acorex/components/check-box';
|
9
|
+
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
10
|
+
import * as i3 from '@acorex/components/label';
|
11
|
+
import { AXLabelModule } from '@acorex/components/label';
|
12
|
+
import { AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent, AXPPopupLayoutBase } from '@acorex/platform/layout/views';
|
13
|
+
import { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';
|
14
|
+
import { AXPPermissionDefinitionService } from '@acorex/platform/auth';
|
15
|
+
import * as i6 from '@acorex/components/decorators';
|
16
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
17
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
18
|
+
import * as i5 from '@acorex/components/tabs';
|
19
|
+
import { AXTabsModule } from '@acorex/components/tabs';
|
20
|
+
import * as i7 from '@acorex/components/badge';
|
21
|
+
import { AXBadgeModule } from '@acorex/components/badge';
|
22
|
+
import * as i2 from '@angular/forms';
|
23
|
+
import { FormsModule } from '@angular/forms';
|
24
|
+
import { AXTooltipModule } from '@acorex/components/tooltip';
|
25
|
+
|
26
|
+
// #region ---------------- Imports ----------------
|
27
|
+
// #endregion
|
28
|
+
class AXPPermissionsEditorComponent extends AXPPopupLayoutBaseComponent {
|
29
|
+
constructor() {
|
30
|
+
super(...arguments);
|
31
|
+
// #region ---------------- Class Properties ----------------
|
32
|
+
/** Service for fetching permission groups and definitions */
|
33
|
+
this.permissionService = inject(AXPPermissionDefinitionService);
|
34
|
+
/** Currently selected permission group */
|
35
|
+
this.selectedGroup = signal(null);
|
36
|
+
/** All available permission groups */
|
37
|
+
this.groups = signal([]);
|
38
|
+
/** Initial permissions to be selected */
|
39
|
+
this.initialPermissions = [];
|
40
|
+
/** List of selected permission names */
|
41
|
+
this.selectedPermissions = signal([]);
|
42
|
+
/**
|
43
|
+
* Computed: Returns mapped permissions for the selected group.
|
44
|
+
*/
|
45
|
+
this.items = computed(() => {
|
46
|
+
const permissions = this.selectedGroup()?.permissions || [];
|
47
|
+
return this.mapPermissions(permissions);
|
48
|
+
});
|
49
|
+
/**
|
50
|
+
* Computed: Returns groups with badge counts.
|
51
|
+
*/
|
52
|
+
this.groupsWithBadge = computed(() => {
|
53
|
+
const groups = this.groups();
|
54
|
+
const result = groups.map(group => {
|
55
|
+
return {
|
56
|
+
...group,
|
57
|
+
badge: this.getBadge(group) || ''
|
58
|
+
};
|
59
|
+
});
|
60
|
+
return result;
|
61
|
+
});
|
62
|
+
}
|
63
|
+
// #endregion
|
64
|
+
// #region ---------------- Computed Properties ----------------
|
65
|
+
/**
|
66
|
+
* Recursively maps permissions to include selection state and children.
|
67
|
+
*/
|
68
|
+
mapPermissions(items) {
|
69
|
+
return (items || []).map(item => {
|
70
|
+
const hasChild = Array.isArray(item.children) && item.children.length > 0;
|
71
|
+
return {
|
72
|
+
...item,
|
73
|
+
isSelected: this.isSelected(item.name),
|
74
|
+
children: hasChild ? this.mapPermissions(item.children) : null
|
75
|
+
};
|
76
|
+
});
|
77
|
+
}
|
78
|
+
// #endregion
|
79
|
+
// #region ---------------- Utility Methods ----------------
|
80
|
+
/**
|
81
|
+
* Recursively collects all permission names (parents and children) from an array.
|
82
|
+
*/
|
83
|
+
collectAllPermissionNames(permissions) {
|
84
|
+
let names = [];
|
85
|
+
for (const item of permissions) {
|
86
|
+
names.push(item.name);
|
87
|
+
if (Array.isArray(item.children) && item.children.length > 0) {
|
88
|
+
names = names.concat(this.collectAllPermissionNames(item.children));
|
89
|
+
}
|
90
|
+
}
|
91
|
+
return names;
|
92
|
+
}
|
93
|
+
/**
|
94
|
+
* Returns the badge count for a group (all selected permissions, including parents).
|
95
|
+
*/
|
96
|
+
getBadge(group) {
|
97
|
+
const allNames = this.collectAllPermissionNames(group.permissions || []);
|
98
|
+
const selectedPermissions = this.selectedPermissions();
|
99
|
+
const count = allNames.filter(name => selectedPermissions.includes(name)).length;
|
100
|
+
return count.toString();
|
101
|
+
}
|
102
|
+
/**
|
103
|
+
* Checks if a permission is selected.
|
104
|
+
*/
|
105
|
+
isSelected(name) {
|
106
|
+
return this.selectedPermissions().includes(name);
|
107
|
+
}
|
108
|
+
/**
|
109
|
+
* Recursively collects all descendant permission names for a single item (including itself).
|
110
|
+
*/
|
111
|
+
collectPermissionNames(item) {
|
112
|
+
let names = [item.name];
|
113
|
+
if (Array.isArray(item.children) && item.children.length > 0) {
|
114
|
+
for (const child of item.children) {
|
115
|
+
names = names.concat(this.collectPermissionNames(child));
|
116
|
+
}
|
117
|
+
}
|
118
|
+
return names;
|
119
|
+
}
|
120
|
+
// #endregion
|
121
|
+
// #region ---------------- Lifecycle Methods ----------------
|
122
|
+
/**
|
123
|
+
* Initializes the component and loads permission groups.
|
124
|
+
*/
|
125
|
+
async ngOnInit() {
|
126
|
+
super.ngOnInit();
|
127
|
+
const groups = await this.permissionService.getGroups();
|
128
|
+
this.groups.set(groups);
|
129
|
+
this.selectedGroup.set(groups[0]);
|
130
|
+
this.selectedPermissions.set(this.initialPermissions);
|
131
|
+
}
|
132
|
+
// #endregion
|
133
|
+
// #region ---------------- UI Handlers ----------------
|
134
|
+
/**
|
135
|
+
* Handles group tab/menu item click.
|
136
|
+
*/
|
137
|
+
handleMenuItemClick(item) {
|
138
|
+
this.selectedGroup.set(item);
|
139
|
+
}
|
140
|
+
/**
|
141
|
+
* Returns the primary menu items for the popup layout.
|
142
|
+
*/
|
143
|
+
getPrimaryMenuItems() {
|
144
|
+
return [
|
145
|
+
{
|
146
|
+
title: 't("select")',
|
147
|
+
icon: 'fa-solid',
|
148
|
+
command: {
|
149
|
+
name: 'select'
|
150
|
+
}
|
151
|
+
}
|
152
|
+
];
|
153
|
+
}
|
154
|
+
/**
|
155
|
+
* Handles permission checkbox toggle (checks/unchecks all children recursively).
|
156
|
+
*/
|
157
|
+
onPermissionToggle(item, e) {
|
158
|
+
const names = this.collectPermissionNames(item);
|
159
|
+
if (e.value) {
|
160
|
+
// Add all names (parent + children), avoiding duplicates
|
161
|
+
const set = new Set([...this.selectedPermissions(), ...names]);
|
162
|
+
this.selectedPermissions.set(Array.from(set));
|
163
|
+
}
|
164
|
+
else {
|
165
|
+
// Remove all names (parent + children)
|
166
|
+
this.selectedPermissions.set(this.selectedPermissions().filter(name => !names.includes(name)));
|
167
|
+
}
|
168
|
+
}
|
169
|
+
execute(command) {
|
170
|
+
if (command.name === 'select') {
|
171
|
+
this.close(this.selectedPermissions());
|
172
|
+
}
|
173
|
+
}
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPPermissionsEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXPPermissionsEditorComponent, isStandalone: true, selector: "axm-permissions-editor", providers: [
|
176
|
+
{
|
177
|
+
provide: AXPPopupLayoutBase,
|
178
|
+
useExisting: AXPPermissionsEditorComponent
|
179
|
+
}
|
180
|
+
], usesInheritance: true, ngImport: i0, template: "<axp-popup-layout>\n <axp-page-content>\n <div class=\"ax-flex ax-min-h-96\">\n <div class=\"ax-p-4 ax-min-h-full ax-overflow-auto ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item\n [active]=\"group.name === selectedGroup()?.name\"\n [text]=\"group.title\"\n (onClick)=\"handleMenuItemClick(group)\"\n >\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ selectedGroup()?.title! }}</span>\n </div>\n <div class=\"ax-flex ax-p-4\">\n <ul class=\"\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"ax-py-1\">\n <ax-check-box [ngModel]=\"item.isSelected\" (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n @if (item.children && item.children.length > 0) {\n <ul class=\"ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"\n ></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n </div>\n </div>\n </axp-page-content>\n</axp-popup-layout>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
181
|
+
// Angular
|
182
|
+
CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
|
183
|
+
// ACoreX
|
184
|
+
AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i3.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i4.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i5.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i5.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i6.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "component", type:
|
185
|
+
// Platform
|
186
|
+
AXPPopupLayoutComponent, selector: "axp-popup-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }], encapsulation: i0.ViewEncapsulation.None }); }
|
187
|
+
}
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPPermissionsEditorComponent, decorators: [{
|
189
|
+
type: Component,
|
190
|
+
args: [{ selector: 'axm-permissions-editor', imports: [
|
191
|
+
// Angular
|
192
|
+
CommonModule,
|
193
|
+
FormsModule,
|
194
|
+
// ACoreX
|
195
|
+
AXFormModule,
|
196
|
+
AXTextBoxModule,
|
197
|
+
AXButtonModule,
|
198
|
+
AXLabelModule,
|
199
|
+
AXCheckBoxModule,
|
200
|
+
AXTabsModule,
|
201
|
+
AXDecoratorModule,
|
202
|
+
AXTranslationModule,
|
203
|
+
AXBadgeModule,
|
204
|
+
AXCheckBoxModule,
|
205
|
+
AXTooltipModule,
|
206
|
+
// Platform
|
207
|
+
AXPPopupLayoutComponent,
|
208
|
+
AXPThemeLayoutBlockComponent
|
209
|
+
], encapsulation: ViewEncapsulation.None, providers: [
|
210
|
+
{
|
211
|
+
provide: AXPPopupLayoutBase,
|
212
|
+
useExisting: AXPPermissionsEditorComponent
|
213
|
+
}
|
214
|
+
], template: "<axp-popup-layout>\n <axp-page-content>\n <div class=\"ax-flex ax-min-h-96\">\n <div class=\"ax-p-4 ax-min-h-full ax-overflow-auto ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item\n [active]=\"group.name === selectedGroup()?.name\"\n [text]=\"group.title\"\n (onClick)=\"handleMenuItemClick(group)\"\n >\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ selectedGroup()?.title! }}</span>\n </div>\n <div class=\"ax-flex ax-p-4\">\n <ul class=\"\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"ax-py-1\">\n <ax-check-box [ngModel]=\"item.isSelected\" (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n @if (item.children && item.children.length > 0) {\n <ul class=\"ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"\n ></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n </div>\n </div>\n </axp-page-content>\n</axp-popup-layout>\n" }]
|
215
|
+
}] });
|
216
|
+
|
217
|
+
export { AXPPermissionsEditorComponent };
|
218
|
+
//# sourceMappingURL=acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map
|
package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs","sources":["../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.html"],"sourcesContent":["// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, computed, inject, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPPermissionDefinition, AXPPermissionDefinitionService, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { FormsModule } from '@angular/forms';\nimport { AXValueChangedEvent } from \"@acorex/cdk/common\";\nimport { AXTooltipModule } from '@acorex/components/tooltip';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor',\n templateUrl: './permissions-editor.component.html',\n styleUrl: './permissions-editor.component.scss',\n imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTabsModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXBadgeModule,\n AXCheckBoxModule,\n AXTooltipModule,\n // Platform\n AXPPopupLayoutComponent,\n AXPThemeLayoutBlockComponent\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPopupLayoutBase,\n useExisting: AXPPermissionsEditorComponent\n }\n\n ],\n})\nexport class AXPPermissionsEditorComponent extends AXPPopupLayoutBaseComponent {\n\n // #region ---------------- Class Properties ----------------\n /** Service for fetching permission groups and definitions */\n private permissionService = inject(AXPPermissionDefinitionService);\n\n /** Currently selected permission group */\n protected selectedGroup = signal<AXPPermissionGroupDefinition | null>(null);\n\n /** All available permission groups */\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n /** Initial permissions to be selected */\n protected initialPermissions = [];\n\n /** List of selected permission names */\n protected selectedPermissions = signal<string[]>([]);\n // #endregion\n\n // #region ---------------- Computed Properties ----------------\n /**\n * Recursively maps permissions to include selection state and children.\n */\n private mapPermissions(items: any[]): any[] {\n return (items || []).map(item => {\n const hasChild = Array.isArray(item.children) && item.children.length > 0;\n return {\n ...item,\n isSelected: this.isSelected(item.name),\n children: hasChild ? this.mapPermissions(item.children) : null\n };\n });\n }\n\n /**\n * Computed: Returns mapped permissions for the selected group.\n */\n protected items = computed(() => {\n const permissions = this.selectedGroup()?.permissions || [];\n return this.mapPermissions(permissions);\n });\n\n /**\n * Computed: Returns groups with badge counts.\n */\n protected groupsWithBadge = computed(() => {\n const groups = this.groups();\n const result = groups.map(group => {\n return {\n ...group,\n badge: this.getBadge(group) || ''\n };\n });\n return result;\n });\n // #endregion\n\n // #region ---------------- Utility Methods ----------------\n /**\n * Recursively collects all permission names (parents and children) from an array.\n */\n private collectAllPermissionNames(permissions: any[]): string[] {\n let names: string[] = [];\n for (const item of permissions) {\n names.push(item.name);\n if (Array.isArray(item.children) && item.children.length > 0) {\n names = names.concat(this.collectAllPermissionNames(item.children));\n }\n }\n return names;\n }\n\n /**\n * Returns the badge count for a group (all selected permissions, including parents).\n */\n private getBadge(group: AXPPermissionGroupDefinition): string {\n const allNames = this.collectAllPermissionNames(group.permissions || []);\n const selectedPermissions = this.selectedPermissions();\n const count = allNames.filter(name => selectedPermissions.includes(name)).length;\n return count.toString();\n }\n\n /**\n * Checks if a permission is selected.\n */\n private isSelected(name: string): boolean {\n return this.selectedPermissions().includes(name);\n }\n\n /**\n * Recursively collects all descendant permission names for a single item (including itself).\n */\n private collectPermissionNames(item: any): string[] {\n let names = [item.name];\n if (Array.isArray(item.children) && item.children.length > 0) {\n for (const child of item.children) {\n names = names.concat(this.collectPermissionNames(child));\n }\n }\n return names;\n }\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component and loads permission groups.\n */\n override async ngOnInit() {\n super.ngOnInit();\n const groups = await this.permissionService.getGroups();\n this.groups.set(groups);\n this.selectedGroup.set(groups[0]);\n this.selectedPermissions.set(this.initialPermissions);\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles group tab/menu item click.\n */\n protected handleMenuItemClick(item: AXPPermissionGroupDefinition) {\n this.selectedGroup.set(item);\n }\n\n /**\n * Returns the primary menu items for the popup layout.\n */\n protected override getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n return [\n {\n title: 't(\"select\")',\n icon: 'fa-solid',\n command: {\n name: 'select'\n }\n }\n ]\n }\n\n /**\n * Handles permission checkbox toggle (checks/unchecks all children recursively).\n */\n protected onPermissionToggle(item: any, e: AXValueChangedEvent): void {\n const names = this.collectPermissionNames(item);\n if (e.value) {\n // Add all names (parent + children), avoiding duplicates\n const set = new Set([...this.selectedPermissions(), ...names]);\n this.selectedPermissions.set(Array.from(set));\n } else {\n // Remove all names (parent + children)\n this.selectedPermissions.set(\n this.selectedPermissions().filter(name => !names.includes(name))\n );\n }\n }\n\n override execute(command: AXPExecuteCommand): void | Promise<void> {\n if (command.name === 'select') {\n this.close(this.selectedPermissions());\n }\n }\n\n // #endregion\n\n}\n","<axp-popup-layout>\n <axp-page-content>\n <div class=\"ax-flex ax-min-h-96\">\n <div class=\"ax-p-4 ax-min-h-full ax-overflow-auto ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item\n [active]=\"group.name === selectedGroup()?.name\"\n [text]=\"group.title\"\n (onClick)=\"handleMenuItemClick(group)\"\n >\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ selectedGroup()?.title! }}</span>\n </div>\n <div class=\"ax-flex ax-p-4\">\n <ul class=\"\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"ax-py-1\">\n <ax-check-box [ngModel]=\"item.isSelected\" (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n @if (item.children && item.children.length > 0) {\n <ul class=\"ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"\n ></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n </div>\n </div>\n </axp-page-content>\n</axp-popup-layout>\n"],"names":[],"mappings":"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"}
|
package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
import * as i2 from '@acorex/core/translation';
|
2
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
3
|
+
import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';
|
4
|
+
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
5
|
+
import * as i1 from '@angular/common';
|
6
|
+
import { CommonModule } from '@angular/common';
|
7
|
+
import * as i0 from '@angular/core';
|
8
|
+
import { computed, inject, ChangeDetectionStrategy, Component } from '@angular/core';
|
9
|
+
import { castArray } from 'lodash-es';
|
10
|
+
|
11
|
+
class AXPPermissionsWidgetColumnComponent extends AXPColumnWidgetComponent {
|
12
|
+
constructor() {
|
13
|
+
super(...arguments);
|
14
|
+
this.count = computed(() => castArray(this.rawValue).length);
|
15
|
+
this.workflowService = inject(AXPWorkflowService);
|
16
|
+
}
|
17
|
+
openPermissionsEditor() {
|
18
|
+
this.workflowService.execute('assign-permissions', {
|
19
|
+
data: this.rowData
|
20
|
+
});
|
21
|
+
}
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPPermissionsWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AXPPermissionsWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: `
|
24
|
+
<span class="ax-cursor-pointer ax-text-primary ax-underline" (click)="openPermissionsEditor()">{{count()}} {{'@security-management:features.permissions.terms.permissions' | translate | async}}</span>
|
25
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
26
|
+
}
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPPermissionsWidgetColumnComponent, decorators: [{
|
28
|
+
type: Component,
|
29
|
+
args: [{
|
30
|
+
template: `
|
31
|
+
<span class="ax-cursor-pointer ax-text-primary ax-underline" (click)="openPermissionsEditor()">{{count()}} {{'@security-management:features.permissions.terms.permissions' | translate | async}}</span>
|
32
|
+
`,
|
33
|
+
standalone: true,
|
34
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
35
|
+
imports: [CommonModule, AXTranslationModule],
|
36
|
+
inputs: ['rawValue', 'rowData']
|
37
|
+
}]
|
38
|
+
}] });
|
39
|
+
|
40
|
+
export { AXPPermissionsWidgetColumnComponent };
|
41
|
+
//# sourceMappingURL=acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs","sources":["../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-column.component.ts"],"sourcesContent":["import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { castArray } from 'lodash-es';\n@Component({\n template: `\n <span class=\"ax-cursor-pointer ax-text-primary ax-underline\" (click)=\"openPermissionsEditor()\">{{count()}} {{'@security-management:features.permissions.terms.permissions' | translate | async}}</span>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n inputs: ['rawValue', 'rowData']\n})\nexport class AXPPermissionsWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n\n protected count = computed(() => castArray(this.rawValue).length);\n protected workflowService = inject(AXPWorkflowService);\n\n openPermissionsEditor() {\n this.workflowService.execute('assign-permissions', {\n data: this.rowData\n });\n }\n}"],"names":[],"mappings":";;;;;;;;;;AAeM,MAAO,mCAAoC,SAAQ,wBAA6B,CAAA;AATtF,IAAA,WAAA,GAAA;;AAWY,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AACvD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAOvD;IALC,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC;AACZ,SAAA,CAAC;;+GARO,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,EARpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;GAET,EAGS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,mFAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGhC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAT/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;AAC5C,oBAAA,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS;AAC/B,iBAAA;;;;;"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { AXPLayoutWidgetComponent } from '@acorex/platform/layout/builder';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import * as i0 from '@angular/core';
|
4
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
5
|
+
|
6
|
+
class AXPPermissionsWidgetDesignerComponent extends AXPLayoutWidgetComponent {
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPPermissionsWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AXPPermissionsWidgetDesignerComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
9
|
+
}
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPPermissionsWidgetDesignerComponent, decorators: [{
|
11
|
+
type: Component,
|
12
|
+
args: [{
|
13
|
+
template: ``,
|
14
|
+
standalone: true,
|
15
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
16
|
+
imports: [CommonModule]
|
17
|
+
}]
|
18
|
+
}] });
|
19
|
+
|
20
|
+
export { AXPPermissionsWidgetDesignerComponent };
|
21
|
+
//# sourceMappingURL=acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs","sources":["../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-designer.component.ts"],"sourcesContent":["import { AXPLayoutWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPPermissionsWidgetDesignerComponent extends AXPLayoutWidgetComponent {}"],"names":[],"mappings":";;;;;AASM,MAAO,qCAAsC,SAAQ,wBAAwB,CAAA;+GAAtE,qCAAqC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EALtC,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGF,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEX,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBANjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,YAAY;AACvB,iBAAA;;;;;"}
|