@acorex/modules 19.3.2 → 19.3.3-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +1 -0
- package/common/lib/common.module.d.ts +3 -2
- package/common/lib/features/global-search/index.d.ts +3 -0
- package/common/lib/features/global-search/search-popup.component.d.ts +22 -0
- package/common/lib/features/global-search/search-slot.component.d.ts +9 -0
- package/common/lib/features/global-search/search.config.d.ts +5 -0
- package/common/lib/features/global-search/search.module.d.ts +11 -0
- package/common/lib/features/global-search/search.viewmodel.d.ts +34 -0
- package/common/lib/features/global-search/workflows/search.workflow.d.ts +11 -0
- package/dashboard-management/lib/menu.provider.d.ts +1 -0
- package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +1 -0
- package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +1 -0
- package/document-management/lib/features/drive/drive.component.d.ts +1 -0
- package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +1 -0
- package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +1 -0
- package/document-management/lib/features/shared/document-manager.types.d.ts +2 -0
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +4 -3
- package/document-management/lib/permission-definition.provider.d.ts +4 -0
- package/document-management/lib/permission.keys.d.ts +19 -0
- package/fesm2022/acorex-modules-common-search-popup.component-C3XUb6pF.mjs +128 -0
- package/fesm2022/acorex-modules-common-search-popup.component-C3XUb6pF.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +289 -7
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-VORBD1g-.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-DKGnh_V9.mjs} +33 -8
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DKGnh_V9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-home-dashboard-DiPn_RhH.mjs → acorex-modules-dashboard-management-home-dashboard-By3lZP-J.mjs} +55 -29
- package/fesm2022/acorex-modules-dashboard-management-home-dashboard-By3lZP-J.mjs.map +1 -0
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-vYaqbxKs.mjs → acorex-modules-document-management-acorex-modules-document-management-hMEt0yZI.mjs} +61 -41
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-hMEt0yZI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-Bc_IX3gT.mjs → acorex-modules-document-management-create-folder-dialog.component-D_FfCqY8.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-Bc_IX3gT.mjs.map → acorex-modules-document-management-create-folder-dialog.component-D_FfCqY8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-_9f5TQJi.mjs → acorex-modules-document-management-details-view.component-Oxtnvogq.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-_9f5TQJi.mjs.map → acorex-modules-document-management-details-view.component-Oxtnvogq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CFOb0_MF.mjs → acorex-modules-document-management-drive-choose.component-BqZyAAAw.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CFOb0_MF.mjs.map → acorex-modules-document-management-drive-choose.component-BqZyAAAw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-D9es4CBl.mjs → acorex-modules-document-management-large-icons-view.component-9APgNKIu.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-D9es4CBl.mjs.map → acorex-modules-document-management-large-icons-view.component-9APgNKIu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Q1Sjg47F.mjs → acorex-modules-document-management-large-tiles-view.component-Byt-Hl3M.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Q1Sjg47F.mjs.map → acorex-modules-document-management-large-tiles-view.component-Byt-Hl3M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-BUu5vrul.mjs → acorex-modules-document-management-list-view.component-BeuXrgYL.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-BUu5vrul.mjs.map → acorex-modules-document-management-list-view.component-BeuXrgYL.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-9KjrOZc6.mjs +31 -0
- package/fesm2022/acorex-modules-document-management-permission-definition.provider-9KjrOZc6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BMRmdslE.mjs → acorex-modules-document-management-rename-node-dialog.component-BHayM-mO.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BMRmdslE.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BHayM-mO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-ChSS7z9z.mjs → acorex-modules-document-management-small-icons-view.component-CNVZaLv2.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-ChSS7z9z.mjs.map → acorex-modules-document-management-small-icons-view.component-CNVZaLv2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-Ci33qbBY.mjs → acorex-modules-document-management-small-tiles-view.component-BDv_sH9f.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-Ci33qbBY.mjs.map → acorex-modules-document-management-small-tiles-view.component-BDv_sH9f.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-Cv92x_9Z.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-CJ2Qoott.mjs} +33 -15
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CJ2Qoott.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs → acorex-modules-form-template-management-category.entity-BjNsUAZq.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs.map → acorex-modules-form-template-management-category.entity-BjNsUAZq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BrWbwKTK.mjs → acorex-modules-form-template-management-permission-definition.provider-CqZ8ytjA.mjs} +2 -21
- package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-CqZ8ytjA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs → acorex-modules-form-template-management-settings.provider-LrzsYkiL.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs.map → acorex-modules-form-template-management-settings.provider-LrzsYkiL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BkR3x74p.mjs → acorex-modules-form-template-management-template-widget-edit.component-BP75i9zU.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BkR3x74p.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BP75i9zU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs → acorex-modules-form-template-management-template.entity-CCaHPkWq.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs.map → acorex-modules-form-template-management-template.entity-CCaHPkWq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs → acorex-modules-form-template-management-viewer-popup.component-CUOsh6e5.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs.map → acorex-modules-form-template-management-viewer-popup.component-CUOsh6e5.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-U5EJyG5e.mjs → acorex-modules-issue-management-acorex-modules-issue-management-DcmAnBue.mjs} +2 -3
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-U5EJyG5e.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-DcmAnBue.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-3ZAOJBfn.mjs → acorex-modules-issue-management-capture-screen.component-BMpafdHr.mjs} +2 -2
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-3ZAOJBfn.mjs.map → acorex-modules-issue-management-capture-screen.component-BMpafdHr.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +3 -8
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +2 -2
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-DW0TneoX.mjs → acorex-modules-organization-management-add-item.component-DE0Ek0dk.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-add-item.component-DW0TneoX.mjs.map → acorex-modules-organization-management-add-item.component-DE0Ek0dk.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-RuvkSheN.mjs +124 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-RuvkSheN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs → acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs} +59 -19
- package/fesm2022/acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +7 -7
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5lToZD6T.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CJZ86Oon.mjs} +134 -59
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CJZ86Oon.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-BElZjmXr.mjs → acorex-modules-platform-management-list-version.component-a_szjudb.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-BElZjmXr.mjs.map → acorex-modules-platform-management-list-version.component-a_szjudb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-CemrvnbH.mjs → acorex-modules-platform-management-settings.provider-D_lPw5D4.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-CemrvnbH.mjs.map → acorex-modules-platform-management-settings.provider-D_lPw5D4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-XDFtTqft.mjs +219 -0
- package/fesm2022/acorex-modules-settings-management-setting-page.component-XDFtTqft.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management-setting-view.component-B_6RIU9e.mjs +103 -0
- package/fesm2022/acorex-modules-settings-management-setting-view.component-B_6RIU9e.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +442 -0
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-training-management.mjs +0 -2
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +7 -61
- package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +8 -61
- package/package.json +5 -1
- package/platform-management/lib/const.d.ts +2 -6
- package/platform-management/lib/entities/promotion/promotion.datasource.d.ts +7 -0
- package/platform-management/lib/features/app-terms/pages/list/list-terms.component.d.ts +11 -13
- package/settings-management/README.md +3 -0
- package/settings-management/index.d.ts +2 -0
- package/settings-management/lib/features/settings/convert-setting-data.d.ts +2 -0
- package/settings-management/lib/features/settings/search-definition.provider.d.ts +4 -0
- package/settings-management/lib/features/settings/search.provider.d.ts +9 -0
- package/settings-management/lib/features/settings/setting-page/setting-page.component.d.ts +65 -0
- package/settings-management/lib/features/settings/setting-view/setting-view.component.d.ts +135 -0
- package/settings-management/lib/features/settings/settings.viewmodel.d.ts +46 -0
- package/settings-management/lib/settings-management.module.d.ts +9 -0
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-VORBD1g-.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-home-dashboard-DiPn_RhH.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-vYaqbxKs.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-Cv92x_9Z.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-BrWbwKTK.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DFqOS0So.mjs +0 -92
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DFqOS0So.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-5lToZD6T.mjs.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-print.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.page.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.page.html"],"sourcesContent":["import { AXStyleColorType } from '@acorex/components/common';\nimport { AXDialogRef, AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExportService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n/**\n * Service for printing organization charts.\n */\n@Injectable()\nexport class AXMOrgChartPrintService {\n private loadingDialog = inject(AXLoadingDialogService);\n private exportService = inject(AXPExportService);\n private translationService = inject(AXTranslationService);\n\n /**\n * Prints the organization chart.\n * @param element - The HTMLElement representing the chart to be printed.\n * @returns A promise that resolves when the print process is complete.\n */\n async printChart(element: HTMLElement): Promise<void> {\n const d = this.loadingDialog.show({\n title: 'Printing Organization Chart...',\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n status: '0/10',\n text: 'Initializing print process...',\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n d.close();\n },\n },\n ],\n });\n\n try {\n await this.HandleStep(d, await this.translateStatements('preparing-document'), 10, '1/10');\n const chartElement = element;\n const { originalStyles, modifiedStyles } = this.expandChart(chartElement);\n\n await this.HandleStep(d, await this.translateStatements('rendering-chart-image'), 25, '2.5/10');\n const canvasBlob = await this.exportService.generateBlobFromElement(chartElement, {\n popup: true,\n filter: (node: Node) => {\n if (node instanceof Element && node.classList.contains('--toggle')) {\n return false;\n }\n return true;\n },\n bgcolor: 'transparent',\n scale: 2,\n quality: 1,\n height: Number.parseInt(modifiedStyles.modifiedHeight),\n width: Number.parseInt(modifiedStyles.modifiedWidth),\n });\n\n await this.HandleStep(d, await this.translateStatements('finalizing-image-processing'), 50, '5/10');\n this.restoreChartStyles(chartElement, originalStyles);\n\n await this.HandleStep(d, await this.translateStatements('downloading-image'), 75, '7.5/10');\n this.exportService.download(canvasBlob, 'org-chart.png');\n\n await this.HandleStep(d, await this.translateStatements('process-complete'), 100, '10/10');\n\n setTimeout(() => d.close(), 1500);\n } catch (err) {\n console.error('Error capturing chart:', err);\n await this.HandleStep(\n d,\n await this.translateStatements('failed-to-generate-chart-image'),\n 100,\n 'Error',\n 'danger'\n );\n d.close();\n }\n }\n\n /**\n * Expands the chart temporarily to capture the full view.\n * @param chartElement - The HTMLElement representing the chart.\n * @returns An object containing the original and modified styles of the chart.\n */\n private expandChart(chartElement: HTMLElement): {\n originalStyles: {\n originalOverflow: string;\n originalWidth: string;\n originalHeight: string;\n };\n modifiedStyles: {\n modifiedOverflow: string;\n modifiedWidth: string;\n modifiedHeight: string;\n };\n } {\n const originalStyles = {\n originalOverflow: chartElement.style.overflow,\n originalWidth: chartElement.style.width,\n originalHeight: chartElement.style.height,\n };\n\n const modifiedStyles = {\n modifiedOverflow: 'visible',\n modifiedWidth: `${chartElement.scrollWidth}px`,\n modifiedHeight: `${chartElement.scrollHeight}px`,\n };\n\n chartElement.style.overflow = modifiedStyles.modifiedOverflow;\n chartElement.style.width = modifiedStyles.modifiedWidth;\n chartElement.style.height = modifiedStyles.modifiedHeight;\n\n return { originalStyles, modifiedStyles };\n }\n\n /**\n * Restores chart styles after capturing.\n * @param chartElement - The HTMLElement representing the chart.\n * @param originalStyles - The original styles to be restored.\n */\n private restoreChartStyles(\n chartElement: HTMLElement,\n originalStyles: { originalOverflow: string; originalWidth: string; originalHeight: string }\n ): void {\n chartElement.style.overflow = originalStyles.originalOverflow;\n chartElement.style.width = originalStyles.originalWidth;\n chartElement.style.height = originalStyles.originalHeight;\n }\n\n /**\n * Handles updating the progress dialog step.\n * @param dialog - The dialog reference.\n * @param text - The text to display in the dialog.\n * @param progress - The progress value to set.\n * @param status - The status to display.\n * @param color - The color of the progress bar.\n * @returns A promise that resolves when the dialog is updated.\n */\n private async HandleStep(\n dialog: AXDialogRef,\n text: string,\n progress: number,\n status: string,\n color: AXStyleColorType = 'primary'\n ): Promise<void> {\n return new Promise((resolve) => {\n dialog.setProgressColor(color);\n dialog.setProgressText(text);\n dialog.setProgressValue(progress);\n dialog.setProgressStatus(status);\n resolve();\n });\n }\n\n /**\n * Translates a statement using the translation service.\n * @param key - The translation key.\n * @returns A promise that resolves to the translated string.\n */\n private async translateStatements(key: string): Promise<string> {\n return (await this.translationService.translateAsync(key, { scope: 'organization-management' })) + '...';\n }\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXMenuItem } from '@acorex/components/menu';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPRegionalService } from '@acorex/platform/common';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { applyFilterArray, AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/core';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport get from 'lodash-es/get';\nimport {\n AXMOrganizationManagementBranchEntityService,\n AXMOrganizationManagementChartEntityService,\n AXMOrganizationManagementDepartmentEntityService,\n AXMOrganizationManagementDivisionEntityService,\n AXMOrganizationManagementEmployeeEntityService,\n AXMOrganizationManagementPositionEntityService,\n} from '../../entities';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport {\n AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS,\n AXMOrganizationNode,\n AXMOrganizationNodeType,\n AXMOrganizationNodeTypeCategory,\n} from './org-chart.type';\n\n@Injectable()\nexport class AXMOrgChartService {\n private departmentService = inject(AXMOrganizationManagementDepartmentEntityService);\n private divisionService = inject(AXMOrganizationManagementDivisionEntityService);\n private branchService = inject(AXMOrganizationManagementBranchEntityService);\n private employmentService = inject(AXMOrganizationManagementEmployeeEntityService);\n private positionService = inject(AXMOrganizationManagementPositionEntityService);\n private chartService = inject(AXMOrganizationManagementChartEntityService);\n\n private sessionService = inject(AXPSessionService);\n private configService = inject(AXMOrgChartConfigService);\n private popupService = inject(AXPopupService);\n private layoutService = inject(AXPLayoutThemeService);\n private regionalService = inject(AXPRegionalService);\n private dialogService = inject(AXDialogService);\n private translateService = inject(AXTranslationService);\n\n private readonly _rootNode = signal<AXMOrganizationNode>({ id: AXPDataGenerator.uuid(), title: 'Company' });\n\n public readonly rootNode = this._rootNode.asReadonly();\n\n // The clipboard holds the node being cut or copied.\n private clipboard = signal<{ mode: 'cut' | 'copy'; node: AXMOrganizationNode } | null>(null);\n\n //#region Load/Save\n\n public async load(): Promise<void> {\n const first = (\n await this.chartService.query({\n skip: 0,\n take: 1,\n sort: [{ field: 'version', dir: 'desc' }],\n })\n ).items[0];\n //\n if (first) {\n const data = first.data as AXMOrganizationNode;\n this._rootNode.set(data);\n } else {\n await this.createNew();\n await this.load();\n }\n }\n\n private async createNew(): Promise<void> {\n const tenant = this.sessionService.tenant!;\n const record = {\n id: AXPDataGenerator.uuid(),\n createAt: new Date(),\n updateAt: new Date(),\n version: '0.0.0',\n data: {\n id: AXPDataGenerator.uuid(),\n title: tenant.name,\n type: AXMOrganizationNodeType.Company,\n entity: {\n id: tenant.id,\n source: 'tenant',\n },\n children: [],\n },\n };\n await this.chartService.insertOne({ data: record.data, version: record.version });\n }\n\n public async save(): Promise<void> {\n const first = (await this.chartService.query()).items[0];\n await this.chartService.updateOne(first.id!, {\n version: first.version,\n data: this._rootNode(),\n });\n }\n\n //#endregion\n\n //#region Context Menu\n\n public async getAllowedAddMenuItems(node: AXMOrganizationNode): Promise<AXMenuItem[]> {\n const allowedTypes = await this.getAllowedChildCategoriesForParent(node);\n const allowedMenuItems: AXMenuItem[] = [];\n // Group items by category for visual breaks.\n const groupedMenuItems: Record<AXMOrganizationNodeTypeCategory, AXMenuItem[]> = {\n Company: [],\n Location: [],\n BusinessUnit: [],\n Role: [],\n Employee: [],\n };\n\n Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).forEach(([entitySource, config]) => {\n if (allowedTypes.includes(config.type)) {\n groupedMenuItems[config.category].push({\n name: 'add',\n text: `${config.title}`,\n icon: config.icon,\n data: {\n node,\n config,\n source: entitySource,\n },\n });\n }\n });\n\n Object.values(groupedMenuItems).forEach((group) => {\n if (group.length > 0) {\n allowedMenuItems.push(...group);\n group[group.length - 1].break = true;\n }\n });\n\n if (allowedMenuItems.length > 0) {\n allowedMenuItems[allowedMenuItems.length - 1].break = false;\n }\n return allowedMenuItems;\n }\n\n //#endregion\n\n //#region Check Permission\n\n private async getAllowedChildCategoriesForParent(parent: AXMOrganizationNode): Promise<AXMOrganizationNodeType[]> {\n await this.configService.load();\n const types = this.configService.types;\n const currentType = parent.type;\n if (!parent || !currentType) {\n return [];\n }\n const allowedTypes: Set<AXMOrganizationNodeType> = new Set();\n Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).forEach(([entitySource, config]) => {\n if (this.configService.isAllowed(currentType, config.type) && types.includes(config.type)) {\n allowedTypes.add(config.type);\n }\n });\n return Array.from(allowedTypes);\n }\n\n //#endregion\n\n //#region Remove/Cut/Copy/Past\n\n public async removeNode(id: string) {\n const title = await this.translateService.translateAsync('dialogs.delete.title');\n const message = await this.translateService.translateAsync('dialogs.delete.message');\n const dialogResult = await this.dialogService.confirm(title, message, 'danger', 'horizontal');\n if (dialogResult.result) {\n this._rootNode.update((node) => this.removeNodeRecursively(node, id)!);\n await this.save();\n }\n }\n\n private removeNodeRecursively(node: AXMOrganizationNode, id: string): AXMOrganizationNode | null {\n // If the node itself is the one to be deleted, return null\n if (node.id === id) {\n return null;\n }\n // Otherwise, recursively check children\n if (node.children) {\n node.children = node.children\n .filter((child) => child.id !== id)\n .map((child) => {\n return { ...child, children: this.removeNodeRecursively(child, id)?.children };\n });\n }\n\n return node;\n }\n\n public isPasteAvailable(): boolean {\n return this.clipboard() != null && this.clipboard()?.node != null;\n }\n\n public async allowPaste(target: AXMOrganizationNode): Promise<boolean> {\n if (!this.isPasteAvailable()) {\n return false;\n }\n const allowedTypes = await this.getAllowedChildCategoriesForParent(target);\n // Compare using the clipboard node's category.\n return allowedTypes.includes(this.clipboard()?.node.type!);\n }\n\n /**\n * Cuts the node with the given id.\n * The node is removed from the tree and stored in the clipboard.\n * Cutting the root node is not allowed.\n */\n public async cutNode(id: string): Promise<void> {\n const tree = this._rootNode();\n if (tree.id === id) {\n throw new Error('Cannot cut the root node.');\n }\n const result = this.findNodeAndParent(tree, id);\n if (!result) {\n throw new Error('Node not found.');\n }\n // Set the clipboard signal with mode 'cut'\n this.clipboard.set({ mode: 'cut', node: result.node });\n // Remove the node from the tree.\n const newTree = this.removeNodeRecursively(tree, id);\n this._rootNode.set(newTree!);\n await this.save();\n }\n\n /**\n * Copies the node with the given id.\n * A deep clone of the node is stored in the clipboard.\n */\n public copyNode(id: string): void {\n const tree = this._rootNode();\n const result = this.findNodeAndParent(tree, id);\n if (!result) {\n throw new Error('Node not found.');\n }\n // Use lodash's cloneDeep to create a deep clone.\n const copiedNode = cloneDeep(result.node);\n this.clipboard.set({ mode: 'copy', node: copiedNode });\n }\n\n /**\n * Pastes the node in the clipboard as a child of the node with the given parentId.\n * For a cut, the node is moved; for a copy, new IDs are generated so the pasted node is unique.\n */\n public async pasteNode(parentId: string): Promise<void> {\n const clipboardValue = this.clipboard();\n if (!clipboardValue) {\n throw new Error('Clipboard is empty.');\n }\n const tree = this._rootNode();\n const parentResult = this.findNodeAndParent(tree, parentId);\n if (!parentResult) {\n throw new Error('Parent node not found.');\n }\n let nodeToPaste: AXMOrganizationNode;\n if (clipboardValue.mode === 'cut') {\n nodeToPaste = clipboardValue.node;\n // Clear the clipboard after pasting.\n this.clipboard.set(null);\n } else {\n nodeToPaste = this.cloneNodeWithNewIds(clipboardValue.node);\n }\n const newTree = this.insertNodeRecursively(tree, parentId, nodeToPaste);\n this._rootNode.set(newTree);\n await this.save();\n }\n\n /**\n * Recursively searches the tree for the node with the given id,\n * returning both the node and its parent.\n */\n private findNodeAndParent(\n node: AXMOrganizationNode,\n id: string,\n parent: AXMOrganizationNode | null = null\n ): { node: AXMOrganizationNode; parent: AXMOrganizationNode | null } | null {\n if (node.id === id) {\n return { node, parent };\n }\n if (node.children) {\n for (const child of node.children) {\n const result = this.findNodeAndParent(child, id, node);\n if (result) {\n return result;\n }\n }\n }\n return null;\n }\n\n /**\n * Clones a node recursively and generates new IDs for the node and its children.\n */\n private cloneNodeWithNewIds(node: AXMOrganizationNode): AXMOrganizationNode {\n // First, clone the node using lodash.\n const newNode = cloneDeep(node);\n // Then, assign new IDs recursively.\n this.assignNewIds(newNode);\n return newNode;\n }\n\n /**\n * Recursively assigns new unique IDs to the given node and its children.\n */\n private assignNewIds(node: AXMOrganizationNode): void {\n node.id = AXPDataGenerator.uuid();\n if (node.children) {\n node.children.forEach((child) => this.assignNewIds(child));\n }\n }\n\n /**\n * Recursively traverses the tree to insert newNode as a child of the node with parentId.\n */\n private insertNodeRecursively(\n node: AXMOrganizationNode,\n parentId: string,\n newNode: AXMOrganizationNode\n ): AXMOrganizationNode {\n if (node.id === parentId) {\n const newChildren = node.children ? [...node.children, newNode] : [newNode];\n return { ...node, children: newChildren };\n }\n if (node.children) {\n return {\n ...node,\n children: node.children.map((child) => this.insertNodeRecursively(child, parentId, newNode)),\n };\n }\n return node;\n }\n\n //#endregion\n\n //#region Add Node\n\n public async addNode(data: any): Promise<boolean> {\n this.layoutService.setNavigationLoading(true);\n try {\n const component = (await import('./add-item/add-item.component')).AddItemComponent;\n const node = get(data, 'node') as AXMOrganizationNode;\n const type = get(data, 'config.type');\n const icon = get(data, 'config.icon');\n const source = get(data, 'source');\n let query: (request: AXPQueryRequest) => Promise<AXPPagedListResult<unknown>>;\n\n const countrySource = async (request: AXPQueryRequest) => {\n let list = await this.regionalService.getCountries();\n if (request.filter) {\n list = applyFilterArray(list, [request.filter]);\n }\n const items = list.map((c) => ({\n id: c.code,\n title: c.title,\n }));\n return { items, total: items.length } as AXPPagedListResult;\n };\n\n const provinceSource = async (request: AXPQueryRequest) => {\n let list = await this.regionalService.getProvinces(\n node.type === AXMOrganizationNodeType.Country ? node.entity?.id : undefined\n );\n if (request.filter) {\n list = applyFilterArray(list, [request.filter]);\n }\n const items = list.map((c) => ({\n id: c.code,\n title: c.title,\n }));\n return { items, total: items.length } as AXPPagedListResult;\n };\n\n const citySource = async (request: AXPQueryRequest) => {\n let filter: { countryId?: string; provinceId?: string } = {};\n\n if (node.type === AXMOrganizationNodeType.Country) {\n filter.countryId = node.entity?.id;\n } else if (node.type === AXMOrganizationNodeType.State) {\n filter.provinceId = node.entity?.id;\n }\n\n let list = await this.regionalService.getCities(filter);\n if (request.filter) {\n list = applyFilterArray(list, [request.filter]);\n }\n const items = list.map((c) => ({\n id: c.code,\n title: c.title,\n }));\n return { items, total: items.length } as AXPPagedListResult;\n };\n\n const valueField = 'id';\n const titleField = 'title';\n const subtitleField = null;\n const descriptionField = 'description';\n\n switch (type) {\n case AXMOrganizationNodeType.Country:\n query = countrySource;\n break;\n case AXMOrganizationNodeType.State:\n query = provinceSource;\n break;\n case AXMOrganizationNodeType.City:\n query = citySource;\n break;\n case AXMOrganizationNodeType.Department:\n query = this.departmentService.query.bind(this.departmentService);\n break;\n case AXMOrganizationNodeType.Division:\n query = this.divisionService.query.bind(this.divisionService);\n break;\n case AXMOrganizationNodeType.Branch:\n query = this.branchService.query.bind(this.branchService);\n break;\n case AXMOrganizationNodeType.Position:\n query = this.positionService.query.bind(this.positionService);\n break;\n case AXMOrganizationNodeType.Employee:\n query = this.employmentService.query.bind(this.employmentService);\n break;\n default:\n throw new Error(`Unsupported node type: ${type}`);\n }\n\n const result = await this.popupService.open(component, {\n title: `Add ${get(data, 'config.title')}`,\n size: 'md',\n data: {\n config: {\n valueField,\n titleField,\n subtitleField,\n descriptionField,\n query: query,\n },\n },\n });\n\n if (!result.data) {\n return false;\n }\n\n const newNode: AXMOrganizationNode = {\n id: AXPDataGenerator.uuid(),\n title: result.data.title,\n description: result.data.description,\n subtitle: result.data.subtitle,\n type: type,\n parentId: node.id,\n icon,\n entity: {\n id: result.data.id,\n source: source,\n },\n };\n\n const tree = this._rootNode();\n const newTree = this.insertNodeRecursively(tree, node.id, newNode);\n this._rootNode.set(newTree);\n await this.save();\n\n return true;\n } finally {\n this.layoutService.setNavigationLoading(false);\n }\n }\n\n //#endregion\n}\n","import { AXPanViewDirective } from '@acorex/cdk/pan-view';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPBasePage, AXPBasePageComponent, AXPPageLayoutComponent } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutBlockComponent,\n} from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n NgZone,\n signal,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport { RootConfig } from '../../const';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport { AXMOrgChartPrintService } from './org-chart-print.service';\nimport { AXMOrgChartService } from './org-chart.service';\nimport {\n AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS,\n AXMOrganizationNode,\n AXMOrganizationNodeType,\n AXMOrganizationNodeTypeCategory,\n} from './org-chart.type';\nimport { AXPActionMenuItem, AXPBreadcrumbItem, AXPExecuteCommand } from '@acorex/platform/core';\n\n/**\n * Component for displaying and interacting with an organizational chart.\n */\n@Component({\n templateUrl: './org-chart.page.html',\n styleUrls: ['./org-chart.page.scss'],\n imports: [\n CommonModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXPanViewDirective,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXMOrgChartConfigService,\n AXMOrgChartService,\n AXMOrgChartPrintService,\n {\n provide: AXPBasePage,\n useExisting: AXMOrgChartPage\n }\n ],\n})\nexport class AXMOrgChartPage extends AXPBasePageComponent {\n protected readonly rootConfig = RootConfig;\n\n private d3!: typeof import('d3');\n\n private nodeTemplate = viewChild.required<TemplateRef<any>>('nodeTemplate');\n private treeContainer = viewChild.required<ElementRef<HTMLDivElement>>('chart');\n private parent = viewChild.required<ElementRef<HTMLDivElement>>('parent');\n private contextMenu = viewChild(AXContextMenuComponent);\n private panView = viewChild(AXPanViewDirective);\n\n private ngzone = inject(NgZone);\n private viewContainerRef = inject(ViewContainerRef);\n private chartPrintService = inject(AXMOrgChartPrintService);\n private chartService = inject(AXMOrgChartService);\n\n private readonly NODE_STROKE_COLOR = 'rgba(var(--ax-sys-color-primary-400))';\n private readonly LINK_STROKE_WIDTH = 1;\n\n protected readonly NodeTypes = AXMOrganizationNodeTypeCategory;\n\n protected isFullscreen = signal(false);\n protected panX = signal(0);\n protected panY = signal(0);\n protected panZoomLevel = signal(100);\n\n protected isChartRendered = false;\n\n protected nodeTypes = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map((c) => ({\n title: c[1].title,\n color: c[1].color,\n icon: c[1].icon,\n category: c[1].category,\n }));\n\n #initialize = afterNextRender(async () => {\n this.d3 = await import('d3');\n await this.chartService.load();\n await this.refreshChart();\n });\n\n /**\n * Zooms in the chart.\n */\n protected zoomIn() {\n this.panView()?.zoomIn();\n }\n\n /**\n * Zooms out the chart.\n */\n protected zoomOut() {\n this.panView()?.zoomOut();\n }\n\n /**\n * Resets the zoom level and pan position of the chart.\n */\n protected zoomReset() {\n this.panView()?.resetPosition();\n }\n\n /**\n * Toggles fullscreen mode for the chart.\n */\n protected toggleFullscreen() {\n if (this.isFullscreen()) {\n document.exitFullscreen();\n this.isFullscreen.set(false);\n } else {\n this.parent().nativeElement.requestFullscreen();\n this.isFullscreen.set(true);\n }\n document.querySelector(`foreignObject[node=\"node-${this.chartService.rootNode().id}\"]`)?.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'center',\n });\n }\n\n /**\n * Calculates the maximum depth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum depth of the chart.\n */\n private calculateMaxDepth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return 1 + Math.max(...node.children.map((child) => this.calculateMaxDepth(child)));\n }\n\n /**\n * Calculates the maximum breadth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum breadth of the chart.\n */\n private calculateMaxBreadth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return node.children.reduce((acc, child) => acc + this.calculateMaxBreadth(child), 0);\n }\n\n /**\n * Creates and renders the organizational chart.\n * @param el - The container element for the chart.\n * @param data - The root node of the organizational chart.\n */\n createChart(el: Element, data: AXMOrganizationNode): void {\n if (!this.d3) {\n return;\n }\n this.ngzone.runOutsideAngular(() => {\n const NODE_WIDTH_BASE = 260;\n const NODE_HEIGHT_BASE = 180;\n const HORIZONTAL_SPACING = 20;\n const VERTICAL_SPACING = 40;\n\n this.clearChart(el);\n const newSvg = this.d3.select(el).append('svg');\n\n const root = this.d3.hierarchy(data);\n\n root.descendants().forEach((node: any) => {\n if (node.data.isExpanded === false) {\n node.children = undefined;\n }\n });\n\n const treeLayout = this.d3\n .tree<AXMOrganizationNode>()\n .nodeSize([NODE_WIDTH_BASE + HORIZONTAL_SPACING, NODE_HEIGHT_BASE + VERTICAL_SPACING]);\n\n treeLayout(root);\n\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity;\n root.descendants().forEach((d: any) => {\n if (d.x < minX) minX = d.x;\n if (d.x > maxX) maxX = d.x;\n if (d.y < minY) minY = d.y;\n if (d.y > maxY) maxY = d.y;\n });\n\n const CONTAINER_WIDTH = maxX - minX + NODE_WIDTH_BASE + 2 * HORIZONTAL_SPACING;\n const CONTAINER_HEIGHT = maxY - minY + NODE_HEIGHT_BASE + 2 * VERTICAL_SPACING;\n\n newSvg.attr('width', CONTAINER_WIDTH).attr('height', CONTAINER_HEIGHT);\n\n const g = newSvg\n .append('g')\n .attr(\n 'transform',\n `translate(${-minX + NODE_WIDTH_BASE / 2 + HORIZONTAL_SPACING / 2}, ${-minY + NODE_HEIGHT_BASE / 2 + VERTICAL_SPACING / 2\n })`\n );\n\n const link = g\n .selectAll('.link')\n .data(root.links())\n .enter()\n .append('path')\n .attr('class', 'link')\n .attr('d', (d: any) => {\n const source = d.source;\n const target = d.target;\n return `M${source.x},${source.y}V${(source.y + target.y) / 2}H${target.x}V${target.y - 10}`;\n })\n .attr('fill', 'none')\n .attr('stroke', this.NODE_STROKE_COLOR)\n .attr('stroke-width', this.LINK_STROKE_WIDTH)\n .attr('from', (d: any) => `node-${d.source.data.id}`)\n .attr('to', (d: any) => `node-${d.target.data.id}`);\n\n const node = g\n .selectAll('.axp-chart-node')\n .data(root.descendants())\n .enter()\n .append('foreignObject')\n .attr('class', 'axp-chart-node')\n .attr('node', (d: any) => `node-${d.data.id}`)\n .attr('x', (d: any) => d.x - NODE_WIDTH_BASE / 2)\n .attr('y', (d: any) => d.y - NODE_HEIGHT_BASE / 2 + 10)\n .attr('width', NODE_WIDTH_BASE)\n .attr('height', NODE_HEIGHT_BASE)\n .each((d: any) => this.renderNodeTemplate(d.data, d.x, d.y));\n\n this.contextMenu()?.refresh();\n });\n if (!this.isChartRendered) {\n // document.querySelector(`foreignObject[node=\"node-${data.id}\"] .--heading-container`)?.scrollIntoView({\n // behavior: 'smooth',\n // block: 'center',\n // inline: 'center',\n // });\n this.isChartRendered = true;\n this.panView()?.resetPosition();\n }\n }\n\n /**\n * Renders the node template for a given organizational node.\n * @param data - The node data.\n * @param x - The x-coordinate of the node.\n * @param y - The y-coordinate of the node.\n */\n private renderNodeTemplate(data: AXMOrganizationNode, x: number, y: number): void {\n // Find the key that matches the node type\n const entityKey = Object.keys(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).find((key) => {\n const keyName = key.split('.').pop(); // Get the last part after splitting by '.'\n return keyName === data.type; // Compare with data.type\n });\n\n if (entityKey) {\n const categoryMapping = AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS[entityKey];\n\n // Add the category to the data object\n set(data, 'category', categoryMapping.category);\n }\n\n const viewRef = this.viewContainerRef.createEmbeddedView(this.nodeTemplate(), {\n $implicit: data,\n });\n\n const nodeElement = this.d3.select(this.treeContainer().nativeElement).select(`[node=\"node-${data.id}\"]`);\n const element = nodeElement.node() as HTMLElement | null;\n if (element) {\n element.appendChild(viewRef.rootNodes[0]);\n }\n }\n\n /**\n * Toggles the expansion state of a node.\n * @param data - The node data.\n * @param el - The HTML element representing the node.\n */\n protected toggleNode(data: AXMOrganizationNode, el: HTMLDivElement) {\n data.isExpanded = data.isExpanded === undefined ? false : !data.isExpanded;\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n // el.scrollIntoView({\n // behavior: 'smooth',\n // });\n }\n\n /**\n * Clears the chart from the container element.\n * @param el - The container element.\n */\n private clearChart(el: Element): void {\n if (this.d3) {\n this.d3.select(el).select('svg').remove();\n this.viewContainerRef.clear();\n }\n }\n\n private async refreshChart() {\n if (this.d3) {\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n }\n }\n\n //#region Context Menu\n\n protected async handleContextMenuOnOpening(e: AXContextMenuOpeningEvent) {\n const node = get(e.targetElement, '__data__.data') as any as AXMOrganizationNode;\n const allowedAddItems = await this.chartService.getAllowedAddMenuItems(node);\n const allowDelete = node.type != AXMOrganizationNodeType.Company;\n const isPasteAvailable = await this.chartService.isPasteAvailable();\n const allowPaste = await this.chartService.allowPaste(node);\n //\n if (allowedAddItems.length) {\n e.items.push({\n text: 'Add New',\n icon: 'fa-light fa-plus',\n items: allowedAddItems,\n break: allowDelete,\n });\n }\n //\n if (allowDelete) {\n e.items.push({\n name: 'cut',\n text: 'Cut',\n icon: 'fa-light fa-cut',\n data: node,\n });\n e.items.push({\n name: 'copy',\n text: 'Copy',\n icon: 'fa-light fa-copy',\n data: node,\n break: !isPasteAvailable,\n });\n }\n if (isPasteAvailable) {\n e.items.push({\n name: 'paste',\n text: 'Paste',\n icon: 'fa-light fa-paste',\n data: node,\n break: true,\n disabled: !allowPaste,\n });\n }\n //\n if (allowDelete) {\n e.items.push({\n name: 'remove',\n text: 'Remove',\n color: 'danger',\n icon: 'fa-light fa-trash-can',\n data: node,\n });\n }\n //\n if (e.items.length == 0) {\n e.canceled = true;\n }\n }\n\n protected async handleContextMenuItemClick(e: AXContextMenuItemsClickEvent) {\n //\n if (e.item.name == 'add') {\n if (await this.chartService.addNode(e.item.data)) {\n await this.refreshChart();\n }\n }\n //\n else if (e.item.name == 'remove') {\n await this.chartService.removeNode(e.item.data.id);\n await this.refreshChart();\n }\n //\n else if (e.item.name == 'copy') {\n await this.chartService.copyNode(e.item.data.id);\n } else if (e.item.name == 'cut') {\n await this.chartService.cutNode(e.item.data.id);\n await this.refreshChart();\n } else if (e.item.name == 'paste') {\n await this.chartService.pasteNode(e.item.data.id);\n await this.refreshChart();\n }\n }\n\n //#endregion\n\n /**\n * Prints the organizational chart.\n */\n protected async printChart() {\n let [panX, panY, panZoomLevel] = [this.panX(), this.panY(), this.panZoomLevel()];\n this.panX.set(0), this.panY.set(0), this.panZoomLevel.set(100);\n await this.chartPrintService.printChart(this.treeContainer().nativeElement);\n this.panX.set(panX), this.panY.set(panY), this.panZoomLevel.set(panZoomLevel);\n }\n\n /**\n * Gets the node colors based on the provided color.\n * @param color - The color to use for the node.\n * @returns An object containing the node's background, text, and border colors.\n */\n protected getNodeColors(color: string) {\n if (color.includes('surface')) {\n return {\n '--node-bg-color': `var(--ax-sys-color-${color})`,\n '--node-text-color': `var(--ax-sys-color-on-${color})`,\n '--node-border-color': `var(--ax-sys-color-border-${color})`,\n };\n }\n return {\n '--node-bg-color': `var(--ax-sys-color-${color}-surface)`,\n '--node-text-color': `var(--ax-sys-color-on-${color}-surface)`,\n '--node-border-color': `var(--ax-sys-color-border-${color}-surface)`,\n };\n }\n\n protected updateVar(oldValue: any, newValue: AXMOrganizationNodeTypeCategory) {\n oldValue.cat = newValue;\n }\n\n\n\n override async getPageTitle(): Promise<string> {\n return await this.translateService.translateAsync('chart.page-title', { scope: this.rootConfig.config.i18n });\n }\n\n override async getPageDescription(): Promise<string> {\n return await this.translateService.translateAsync('chart.page-description', { scope: this.rootConfig.config.i18n });\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n {\n title: await this.translateService.translateAsync('chart.actions.print', { scope: this.rootConfig.config.i18n }),\n icon: 'fa-light fa-print',\n color: 'primary',\n command: {\n name: 'print',\n }\n }\n ];\n }\n override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n return [\n {\n title: await this.translateService.translateAsync('root-menu', { scope: this.rootConfig.config.i18n })\n },\n ];\n }\n\n override async execute(command: AXPExecuteCommand) {\n if (command.name == 'print') {\n await this.printChart();\n }\n }\n\n ngOnDestroy(): void {\n this.clearChart(this.treeContainer().nativeElement);\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <axp-page-content class=\"ax-overflow-hidden\">\n <div class=\"ax-h-[calc(100vh-290px)]\" #parent id=\"parent\">\n <div\n #chart\n axPanView\n [(panX)]=\"panX\"\n [(panY)]=\"panY\"\n [freeMode]=\"true\"\n [(zoom)]=\"panZoomLevel\"\n [fitContent]=\"true\"\n wrapperClasses=\"h\"\n class=\"ax-light\"\n ></div>\n <ax-context-menu\n [target]=\"'.axp-chart-node'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n >\n </ax-context-menu>\n </div>\n </axp-page-content>\n <axp-page-footer>\n <axp-layout-prefix>\n <div class=\"ax-flex ax-gap-1 ax-light ax-flex-wrap ax-justify-center\">\n @let v = {cat:'Company'}; @for (item of nodeTypes; track $index) {\n <div class=\"axp-node-hint\" [style]=\"getNodeColors(item.color)\" [class.ax-ms-4]=\"v.cat!=item.category\">\n <div class=\"--badge\"></div>\n {{item.title}}\n </div>\n {{updateVar(v,item.category)}} }\n </div>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <div class=\"ax-flex ax-gap-2\">\n <ax-button (onClick)=\"zoomOut()\">\n <ax-icon class=\"fa-solid fa-minus\"> </ax-icon>\n </ax-button>\n <ax-button [text]=\"panZoomLevel()\" (onClick)=\"zoomReset()\"></ax-button>\n <ax-button (onClick)=\"zoomIn()\">\n <ax-icon class=\"fa-solid fa-add\"> </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen()? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-page-footer>\n</axp-page-layout>\n\n<ng-template #nodeTemplate let-data>\n <div>\n @switch (data.category) {\n <!-- Company -->\n @case (NodeTypes.Company) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'primary' }\"></ng-container>\n }\n <!-- Location -->\n @case (NodeTypes.Location) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent1' }\"></ng-container>\n }\n <!-- BusinessUnit -->\n @case (NodeTypes.BusinessUnit) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent2' }\"></ng-container>\n }\n <!-- Role -->\n @case (NodeTypes.Role) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent3' }\"></ng-container>\n }\n <!-- Employee -->\n @case (NodeTypes.Employee) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'surface' }\"></ng-container>\n } }\n </div>\n</ng-template>\n\n<!----------------------------------- General Node Template ----------------------------------->\n<ng-template #generalTemplate let-data=\"data\" let-color=\"color\">\n <div #node class=\"--node-container\" [style]=\"getNodeColors(color)\">\n <div class=\"--container\">\n <div class=\"--heading-container\">\n <div class=\"--content\">\n <div class=\"--icon\">\n <i class=\"fa-light fa-xl fa-fw\" [class]=\"data.icon\"></i>\n </div>\n <div class=\"--titles\">\n <span class=\"--title\">{{data.title}}</span>\n @if(data.subtitle) {\n <span class=\"--sub-title\">{{data.subtitle}}</span>\n }\n </div>\n @if(data?.children?.length){\n <div class=\"--badge\">\n <span>{{data?.children?.length ?? 0}}</span>\n </div>\n }\n </div>\n </div>\n @if(data.description) {\n <div class=\"--body-container\">\n <div class=\"--description\" [class.ax-pb-3]=\"data.children && data.children.length > 0\">\n {{data.description}}\n </div>\n </div>\n } @if(data.children && data.children.length > 0){\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"toggleNode(data,node)\">\n <ax-icon icon=\"fa-solid\" [class]=\"data.isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n</ng-template>\n"],"names":["i5"],"mappings":"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"}
|
@@ -80,18 +80,18 @@ const RootConfig = {
|
|
80
80
|
structure: {
|
81
81
|
name: 'ChartStructure',
|
82
82
|
source: `${config.module}.ChartStructure`,
|
83
|
-
title: `t("
|
83
|
+
title: `t("chart-configuration.page-title",{scope:"${config.i18n}"})`,
|
84
84
|
menu: {
|
85
|
-
title: `t("
|
85
|
+
title: `t("chart-configuration.menu-title",{scope:"${config.i18n}"})`,
|
86
86
|
},
|
87
87
|
icon: 'fa-light fa-gear',
|
88
88
|
},
|
89
89
|
chart: {
|
90
90
|
name: 'Chart',
|
91
91
|
source: `${config.module}.Chart`,
|
92
|
-
title: `t("
|
92
|
+
title: `t("chart.page-title",{scope:"${config.i18n}"})`,
|
93
93
|
menu: {
|
94
|
-
title: `t("
|
94
|
+
title: `t("chart.menu-title",{scope:"${config.i18n}"})`,
|
95
95
|
},
|
96
96
|
icon: 'fa-light fa-chart-diagram',
|
97
97
|
},
|
@@ -677,11 +677,11 @@ function routesFacory() {
|
|
677
677
|
children: [
|
678
678
|
{
|
679
679
|
path: 'chart',
|
680
|
-
loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-
|
680
|
+
loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs').then((c) => c.AXMOrgChartPage),
|
681
681
|
},
|
682
682
|
{
|
683
683
|
path: 'configuration',
|
684
|
-
loadComponent: () => import('./acorex-modules-organization-management-org-chart-configuration.page-
|
684
|
+
loadComponent: () => import('./acorex-modules-organization-management-org-chart-configuration.page-RuvkSheN.mjs').then((c) => c.AXMOrgChartConfigurationPage),
|
685
685
|
},
|
686
686
|
],
|
687
687
|
},
|
@@ -698,7 +698,7 @@ function routesFactory() {
|
|
698
698
|
children: [
|
699
699
|
{
|
700
700
|
path: 'chart',
|
701
|
-
loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-
|
701
|
+
loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs').then((c) => c.AXMOrgChartPage),
|
702
702
|
},
|
703
703
|
],
|
704
704
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management.mjs","sources":["../../../../libs/modules/organization-management/src/lib/const.ts","../../../../libs/modules/organization-management/src/lib/entities/branch/branch.service.ts","../../../../libs/modules/organization-management/src/lib/entities/branch/branch.module.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.service.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.module.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.service.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.module.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.service.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.module.ts","../../../../libs/modules/organization-management/src/lib/entities/division/division.service.ts","../../../../libs/modules/organization-management/src/lib/entities/division/division.module.ts","../../../../libs/modules/organization-management/src/lib/entities/employee/employee.service.ts","../../../../libs/modules/organization-management/src/lib/entities/employee/employee.module.ts","../../../../libs/modules/organization-management/src/lib/entities/employment-type/employment-type.service.ts","../../../../libs/modules/organization-management/src/lib/entities/employment-type/employment-type.module.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.service.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.module.ts","../../../../libs/modules/organization-management/src/lib/entities/role/role.service.ts","../../../../libs/modules/organization-management/src/lib/entities/role/role.module.ts","../../../../libs/modules/organization-management/src/lib/entities/team/team.service.ts","../../../../libs/modules/organization-management/src/lib/entities/team/team.module.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.type.ts","../../../../libs/modules/organization-management/src/lib/entity.provider.ts","../../../../libs/modules/organization-management/src/lib/menu.provider.ts","../../../../libs/modules/organization-management/src/lib/organization-management.module.ts","../../../../libs/modules/organization-management/src/acorex-modules-organization-management.ts"],"sourcesContent":["const config = {\n i18n: 'organization-management',\n module: 'OrganizationManagement',\n teamEntity: 'Team',\n rolesEntity: 'Roles',\n roleEntity: 'Role',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'organization-management',\n name: config.module,\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n entities: {\n company: {\n name: 'Company',\n source: `${config.module}.Company`,\n title: `t(\"company.individual-title\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building',\n },\n division: {\n name: 'Division',\n source: `${config.module}.Division`,\n title: `t(\"division.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n department: {\n name: 'Department',\n source: `${config.module}.Department`,\n title: `t(\"department.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building-user',\n },\n branch: {\n name: 'Branch',\n source: `${config.module}.Branch`,\n title: `t(\"branch.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-network-wired',\n },\n team: {\n name: 'Team',\n source: `${config.module}.Team`,\n title: `t(\"team.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-people-group',\n },\n position: {\n name: 'Position',\n source: `${config.module}.Position`,\n title: `t(\"position.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-user-tie',\n },\n role: {\n name: 'Role',\n source: `${config.module}.Role`,\n title: `t(\"role.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-id-card',\n },\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: `t(\"employee.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-address-card',\n },\n employmentType: {\n name: 'EmploymentType',\n source: `${config.module}.EmploymentType`,\n title: `t(\"employment-type.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-signature',\n },\n structure: {\n name: 'ChartStructure',\n source: `${config.module}.ChartStructure`,\n title: `t(\"org-conf-long\",{scope:\"${config.i18n}\"})`,\n menu: {\n title: `t(\"org-conf-short\",{scope:\"${config.i18n}\"})`,\n },\n icon: 'fa-light fa-gear',\n },\n chart: {\n name: 'Chart',\n source: `${config.module}.Chart`,\n title: `t(\"org-chart-long\",{scope:\"${config.i18n}\"})`,\n menu: {\n title: `t(\"org-chart-short\",{scope:\"${config.i18n}\"})`,\n },\n icon: 'fa-light fa-chart-diagram',\n },\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementBranchEntityModel } from './branch.types';\n\nexport abstract class AXMOrganizationManagementBranchEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementBranchEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementBranchEntityServiceImpl extends AXMOrganizationManagementBranchEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.branch.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementBranchEntityService,\n AXMOrganizationManagementBranchEntityServiceImpl,\n} from './branch.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementBranchEntityService,\n useClass: AXMOrganizationManagementBranchEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementBranchEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementChartEntityModel } from './chart.types';\nexport abstract class AXMOrganizationManagementChartEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementChartEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementChartEntityServiceImpl extends AXMOrganizationManagementChartEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.chart.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementChartEntityService,\n AXMOrganizationManagementChartEntityServiceImpl,\n} from './chart.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementChartEntityService,\n useClass: AXMOrganizationManagementChartEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementChartEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementCompanyEntityModel } from './company.types';\n\nexport abstract class AXMOrganizationManagementCompanyEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementCompanyEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementCompanyEntityServiceImpl extends AXMOrganizationManagementCompanyEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.company.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementCompanyEntityService,\n AXMOrganizationManagementCompanyEntityServiceImpl,\n} from './company.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementCompanyEntityService,\n useClass: AXMOrganizationManagementCompanyEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementCompanyEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementDepartmentEntityModel } from './department.types';\n\nexport abstract class AXMOrganizationManagementDepartmentEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementDepartmentEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementDepartmentEntityServiceImpl extends AXMOrganizationManagementDepartmentEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.department.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementDepartmentEntityService,\n AXMOrganizationManagementDepartmentEntityServiceImpl,\n} from './department.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementDepartmentEntityService,\n useClass: AXMOrganizationManagementDepartmentEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementDepartmentEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementDivisionEntityModel } from './division.types';\n\nexport abstract class AXMOrganizationManagementDivisionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementDivisionEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementDivisionEntityServiceImpl extends AXMOrganizationManagementDivisionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.division.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementDivisionEntityService,\n AXMOrganizationManagementDivisionEntityServiceImpl,\n} from './division.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementDivisionEntityService,\n useClass: AXMOrganizationManagementDivisionEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementDivisionEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementEmployeeEntityModel } from './employee.types';\n\nexport abstract class AXMOrganizationManagementEmployeeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementEmployeeEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementEmployeeEntityServiceImpl extends AXMOrganizationManagementEmployeeEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.employee.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementEmployeeEntityService,\n AXMOrganizationManagementEmployeeEntityServiceImpl,\n} from './employee.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementEmployeeEntityService,\n useClass: AXMOrganizationManagementEmployeeEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementEmployeeEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementEmploymentTypeEntityModel } from './employment-type.types';\n\nexport abstract class AXMOrganizationManagementEmploymentTypeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementEmploymentTypeEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementEmploymentTypeEntityServiceImpl extends AXMOrganizationManagementEmploymentTypeEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.employmentType.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementEmploymentTypeEntityService,\n AXMOrganizationManagementEmploymentTypeEntityServiceImpl,\n} from './employment-type.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementEmploymentTypeEntityService,\n useClass: AXMOrganizationManagementEmploymentTypeEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementEmploymentTypeEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementPositionEntityModel } from './position.types';\nexport abstract class AXMOrganizationManagementPositionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementPositionEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementPositionEntityServiceImpl extends AXMOrganizationManagementPositionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.position.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementPositionEntityService,\n AXMOrganizationManagementPositionEntityServiceImpl,\n} from './position.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementPositionEntityService,\n useClass: AXMOrganizationManagementPositionEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementPositionEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementRoleEntityModel } from './role.types';\n\nexport abstract class AXMOrganizationManagementRoleEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementRoleEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementRoleEntityServiceImpl extends AXMOrganizationManagementRoleEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.role.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementRoleEntityService,\n AXMOrganizationManagementRoleEntityServiceImpl\n} from './role.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementRoleEntityService,\n useClass: AXMOrganizationManagementRoleEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementRoleEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementTeamEntityModel } from './team.types';\n\nexport abstract class AXMOrganizationManagementTeamEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementTeamEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementTeamEntityServiceImpl extends AXMOrganizationManagementTeamEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.team.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementTeamEntityService,\n AXMOrganizationManagementTeamEntityServiceImpl\n} from './team.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementTeamEntityService,\n useClass: AXMOrganizationManagementTeamEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementTeamEntityModule {}","export enum AXMOrganizationNodeTypeCategory {\n Company = 'Company', // Company\n Location = 'Location', // Country, State, City\n BusinessUnit = 'BusinessUnit', // Division, Department, Branch\n Role = 'Role', // Position\n Employee = 'Employee' // Employee\n}\n\nexport type AXMOrgChartNodePermission = {\n [parent: string]: {\n [child: string]: number // 0 (false) or 1 (true)\n };\n}\n\n\nexport enum AXMOrganizationNodeType {\n Company = 'Company',\n Country = 'Country',\n State = 'State',\n City = 'City',\n Division = 'Division',\n Department = 'Department',\n Branch = 'Branch',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n\n// Define a mapping between entity sources, organization node types, titles, and icons \nexport const AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS: Record<string, { category: AXMOrganizationNodeTypeCategory; type: AXMOrganizationNodeType, title: string; icon: string, color: string }> = {\n 'OrganizationManagement.Company': { category: AXMOrganizationNodeTypeCategory.Company, type: AXMOrganizationNodeType.Company, title: 'Company', icon: 'fal fa-building', color: \"primary\" },\n // Location\n 'OrganizationManagement.Country': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.Country, title: 'Country', icon: 'fal fa-globe', color: \"accent1\" },\n 'OrganizationManagement.State': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.State, title: 'State', icon: 'fal fa-map', color: \"accent1\" },\n 'OrganizationManagement.City': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.City, title: 'City', icon: 'fal fa-city', color: \"accent1\" },\n // Business Unit\n 'OrganizationManagement.Division': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Division, title: 'Division', icon: 'fal fa-sitemap', color: \"accent2\" },\n 'OrganizationManagement.Department': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Department, title: 'Department', icon: 'fal fa-building-user', color: \"accent2\" },\n 'OrganizationManagement.Branch': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Branch, title: 'Branch', icon: 'fal fa-network-wired', color: \"accent2\" },\n // Role\n 'OrganizationManagement.Position': { category: AXMOrganizationNodeTypeCategory.Role, type: AXMOrganizationNodeType.Position, title: 'Position', icon: 'fal fa-user-tie', color: \"accent3\" },\n // Employee\n 'OrganizationManagement.Employee': { category: AXMOrganizationNodeTypeCategory.Employee, type: AXMOrganizationNodeType.Employee, title: 'Employee', icon: 'fal fa-address-card', color: \"surface\" }\n};\n\n\nexport interface AXMOrganizationNode {\n id: string; // Unique identifier for the node\n title: string,// Title of the node\n subtitle?: string;\n description?: string | null,// Description of the node\n isExpanded?: boolean; // Add this property\n children?: AXMOrganizationNode[];\n icon?: string;\n type?: AXMOrganizationNodeType; // Type of the node\n parentId?: string | null; // ID of the parent node (null for root)\n entity?: {\n id: string; // ID of the linked entity\n source: string; // Source of the linked entity (e.g., 'OrganizationManagement.Branch', 'OrganizationManagement.Department', etc.)\n }\n metadata?: Record<string, any>; // Additional metadata (e.g., roles, counts, etc.)\n}","import { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMOrganizationModuleEntityProvider implements AXPEntityDefinitionLoader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.company.name:\n return (await import('./entities/company/company.entity')).factory(this.injector);\n case RootConfig.entities.division.name:\n return (await import('./entities/division/division.entity')).factory(this.injector);\n case RootConfig.entities.department.name:\n return (await import('./entities/department/department.entity')).factory(this.injector);\n case RootConfig.entities.branch.name:\n return (await import('./entities/branch/branch.entity')).factory(this.injector);\n case RootConfig.entities.employee.name:\n return (await import('./entities/employee/employee.entity')).factory(this.injector);\n case RootConfig.entities.employmentType.name:\n return (await import('./entities/employment-type/employment-type.entity')).factory(this.injector);\n case RootConfig.entities.position.name:\n return (await import('./entities/position/position.entity')).factory(this.injector);\n case RootConfig.entities.chart.name:\n return (await import('./entities/chart/chart.entity')).factory(this.injector);\n case RootConfig.entities.team.name:\n return (await import('./entities/team/team.entity')).factory(this.injector);\n case RootConfig.entities.role.name:\n return (await import('./entities/role/role.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { firstValueFrom } from 'rxjs';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('root-menu', {scope: \"${scope}\"})`,\n icon: module.icon,\n children: [\n // {\n // text: `t(\"companies\", {scope:\"${scope}\"})`,\n // path: this.entityService.createPath(module.name, RootConfig.entities.company.name),\n // priority: 10000,\n // icon: RootConfig.entities.company.icon,\n // },\n {\n text: `t('division.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.division.name),\n priority: 12,\n icon: RootConfig.entities.division.icon,\n },\n {\n text: `t('department.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.department.name),\n priority: 13,\n icon: RootConfig.entities.department.icon,\n },\n {\n text: `t('branch.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.branch.name),\n priority: 14,\n icon: RootConfig.entities.branch.icon,\n },\n {\n text: `t('team.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.team.name),\n priority: 15,\n icon: RootConfig.entities.team.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 20,\n },\n {\n text: `t('role.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.role.name),\n priority: 21,\n icon: RootConfig.entities.role.icon,\n },\n // {\n // text: `t('positions', {scope:\"${scope}\"})`,\n // path: this.entityService.createPath(module.name, RootConfig.entities.position.name),\n // priority: 15,\n // icon: RootConfig.entities.position.icon,\n // },\n {\n text: `t('employment-type.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 22,\n icon: RootConfig.entities.employmentType.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 30,\n },\n {\n text: `t('employee.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 31,\n icon: RootConfig.entities.employee.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 40,\n },\n {\n text: RootConfig.entities.structure.menu.title,\n path: `${this.sessionService.application?.name}/organization/configuration`,\n priority: 41,\n icon: RootConfig.entities.structure.icon,\n },\n {\n text: RootConfig.entities.chart.menu.title,\n path: `${this.sessionService.application?.name}/organization/chart`,\n priority: 42,\n icon: RootConfig.entities.chart.icon,\n },\n ],\n },\n ]);\n }\n}\n","import { AXPAuthGuard, AXPSessionService } from '@acorex/platform/auth';\nimport { AXP_HOME_PAGES, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { Route, Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementBranchEntityModule } from './entities/branch/branch.module';\nimport { AXMOrganizationManagementChartEntityModule } from './entities/chart/chart.module';\nimport { AXMOrganizationManagementCompanyEntityModule } from './entities/company/company.module';\nimport { AXMOrganizationManagementDepartmentEntityModule } from './entities/department/department.module';\nimport { AXMOrganizationManagementDivisionEntityModule } from './entities/division/division.module';\nimport { AXMOrganizationManagementEmployeeEntityModule } from './entities/employee/employee.module';\nimport { AXMOrganizationManagementEmploymentTypeEntityModule } from './entities/employment-type';\nimport { AXMOrganizationManagementPositionEntityModule } from './entities/position/position.module';\nimport { AXMOrganizationManagementTeamEntityModule } from './entities/team';\nimport { AXMOrganizationModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n loadComponent: () => {\n return config.viewers.root();\n },\n path: ':app/organization',\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: 'chart',\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n {\n path: 'configuration',\n loadComponent: () =>\n import('./features/organization-chart/org-chart-configuration.page').then(\n (c) => c.AXMOrgChartConfigurationPage\n ),\n },\n ],\n },\n ];\n return routes;\n}\n\n\nfunction routesFactory(): Route {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n return {\n path: ':app/organization',\n loadComponent: () => {\n return config.viewers.root();\n },\n children: [\n {\n path: 'chart',\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n ],\n }\n}\n\n\nimport { AXMOrganizationManagementRoleEntityModule } from './entities/role';\n@NgModule({\n imports: [\n CommonModule,\n AXMOrganizationManagementRoleEntityModule,\n AXMOrganizationManagementTeamEntityModule,\n AXMOrganizationManagementCompanyEntityModule,\n AXMOrganizationManagementDepartmentEntityModule,\n AXMOrganizationManagementDivisionEntityModule,\n AXMOrganizationManagementBranchEntityModule,\n AXMOrganizationManagementEmployeeEntityModule,\n AXMOrganizationManagementPositionEntityModule,\n AXMOrganizationManagementChartEntityModule,\n AXMOrganizationManagementEmploymentTypeEntityModule,\n ],\n providers: [\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMOrganizationModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_HOME_PAGES,\n multi: true,\n useFactory: () => [\n {\n key: 'organization-chart',\n title: 'Organization Chart',\n route: routesFactory()\n }\n ],\n },\n ],\n})\nexport class AXMOrganizationManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management.mjs","sources":["../../../../libs/modules/organization-management/src/lib/const.ts","../../../../libs/modules/organization-management/src/lib/entities/branch/branch.service.ts","../../../../libs/modules/organization-management/src/lib/entities/branch/branch.module.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.service.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.module.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.service.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.module.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.service.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.module.ts","../../../../libs/modules/organization-management/src/lib/entities/division/division.service.ts","../../../../libs/modules/organization-management/src/lib/entities/division/division.module.ts","../../../../libs/modules/organization-management/src/lib/entities/employee/employee.service.ts","../../../../libs/modules/organization-management/src/lib/entities/employee/employee.module.ts","../../../../libs/modules/organization-management/src/lib/entities/employment-type/employment-type.service.ts","../../../../libs/modules/organization-management/src/lib/entities/employment-type/employment-type.module.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.service.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.module.ts","../../../../libs/modules/organization-management/src/lib/entities/role/role.service.ts","../../../../libs/modules/organization-management/src/lib/entities/role/role.module.ts","../../../../libs/modules/organization-management/src/lib/entities/team/team.service.ts","../../../../libs/modules/organization-management/src/lib/entities/team/team.module.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.type.ts","../../../../libs/modules/organization-management/src/lib/entity.provider.ts","../../../../libs/modules/organization-management/src/lib/menu.provider.ts","../../../../libs/modules/organization-management/src/lib/organization-management.module.ts","../../../../libs/modules/organization-management/src/acorex-modules-organization-management.ts"],"sourcesContent":["const config = {\n i18n: 'organization-management',\n module: 'OrganizationManagement',\n teamEntity: 'Team',\n rolesEntity: 'Roles',\n roleEntity: 'Role',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'organization-management',\n name: config.module,\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n entities: {\n company: {\n name: 'Company',\n source: `${config.module}.Company`,\n title: `t(\"company.individual-title\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building',\n },\n division: {\n name: 'Division',\n source: `${config.module}.Division`,\n title: `t(\"division.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n department: {\n name: 'Department',\n source: `${config.module}.Department`,\n title: `t(\"department.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building-user',\n },\n branch: {\n name: 'Branch',\n source: `${config.module}.Branch`,\n title: `t(\"branch.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-network-wired',\n },\n team: {\n name: 'Team',\n source: `${config.module}.Team`,\n title: `t(\"team.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-people-group',\n },\n position: {\n name: 'Position',\n source: `${config.module}.Position`,\n title: `t(\"position.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-user-tie',\n },\n role: {\n name: 'Role',\n source: `${config.module}.Role`,\n title: `t(\"role.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-id-card',\n },\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: `t(\"employee.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-address-card',\n },\n employmentType: {\n name: 'EmploymentType',\n source: `${config.module}.EmploymentType`,\n title: `t(\"employment-type.individual-title\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-signature',\n },\n structure: {\n name: 'ChartStructure',\n source: `${config.module}.ChartStructure`,\n title: `t(\"chart-configuration.page-title\",{scope:\"${config.i18n}\"})`,\n menu: {\n title: `t(\"chart-configuration.menu-title\",{scope:\"${config.i18n}\"})`,\n },\n icon: 'fa-light fa-gear',\n },\n chart: {\n name: 'Chart',\n source: `${config.module}.Chart`,\n title: `t(\"chart.page-title\",{scope:\"${config.i18n}\"})`,\n menu: {\n title: `t(\"chart.menu-title\",{scope:\"${config.i18n}\"})`,\n },\n icon: 'fa-light fa-chart-diagram',\n },\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementBranchEntityModel } from './branch.types';\n\nexport abstract class AXMOrganizationManagementBranchEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementBranchEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementBranchEntityServiceImpl extends AXMOrganizationManagementBranchEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.branch.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementBranchEntityService,\n AXMOrganizationManagementBranchEntityServiceImpl,\n} from './branch.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementBranchEntityService,\n useClass: AXMOrganizationManagementBranchEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementBranchEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementChartEntityModel } from './chart.types';\nexport abstract class AXMOrganizationManagementChartEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementChartEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementChartEntityServiceImpl extends AXMOrganizationManagementChartEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.chart.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementChartEntityService,\n AXMOrganizationManagementChartEntityServiceImpl,\n} from './chart.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementChartEntityService,\n useClass: AXMOrganizationManagementChartEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementChartEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementCompanyEntityModel } from './company.types';\n\nexport abstract class AXMOrganizationManagementCompanyEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementCompanyEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementCompanyEntityServiceImpl extends AXMOrganizationManagementCompanyEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.company.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementCompanyEntityService,\n AXMOrganizationManagementCompanyEntityServiceImpl,\n} from './company.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementCompanyEntityService,\n useClass: AXMOrganizationManagementCompanyEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementCompanyEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementDepartmentEntityModel } from './department.types';\n\nexport abstract class AXMOrganizationManagementDepartmentEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementDepartmentEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementDepartmentEntityServiceImpl extends AXMOrganizationManagementDepartmentEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.department.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementDepartmentEntityService,\n AXMOrganizationManagementDepartmentEntityServiceImpl,\n} from './department.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementDepartmentEntityService,\n useClass: AXMOrganizationManagementDepartmentEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementDepartmentEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementDivisionEntityModel } from './division.types';\n\nexport abstract class AXMOrganizationManagementDivisionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementDivisionEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementDivisionEntityServiceImpl extends AXMOrganizationManagementDivisionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.division.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementDivisionEntityService,\n AXMOrganizationManagementDivisionEntityServiceImpl,\n} from './division.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementDivisionEntityService,\n useClass: AXMOrganizationManagementDivisionEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementDivisionEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementEmployeeEntityModel } from './employee.types';\n\nexport abstract class AXMOrganizationManagementEmployeeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementEmployeeEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementEmployeeEntityServiceImpl extends AXMOrganizationManagementEmployeeEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.employee.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementEmployeeEntityService,\n AXMOrganizationManagementEmployeeEntityServiceImpl,\n} from './employee.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementEmployeeEntityService,\n useClass: AXMOrganizationManagementEmployeeEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementEmployeeEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementEmploymentTypeEntityModel } from './employment-type.types';\n\nexport abstract class AXMOrganizationManagementEmploymentTypeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementEmploymentTypeEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementEmploymentTypeEntityServiceImpl extends AXMOrganizationManagementEmploymentTypeEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.employmentType.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementEmploymentTypeEntityService,\n AXMOrganizationManagementEmploymentTypeEntityServiceImpl,\n} from './employment-type.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementEmploymentTypeEntityService,\n useClass: AXMOrganizationManagementEmploymentTypeEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementEmploymentTypeEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementPositionEntityModel } from './position.types';\nexport abstract class AXMOrganizationManagementPositionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementPositionEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementPositionEntityServiceImpl extends AXMOrganizationManagementPositionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.position.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementPositionEntityService,\n AXMOrganizationManagementPositionEntityServiceImpl,\n} from './position.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementPositionEntityService,\n useClass: AXMOrganizationManagementPositionEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementPositionEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementRoleEntityModel } from './role.types';\n\nexport abstract class AXMOrganizationManagementRoleEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementRoleEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementRoleEntityServiceImpl extends AXMOrganizationManagementRoleEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.role.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementRoleEntityService,\n AXMOrganizationManagementRoleEntityServiceImpl\n} from './role.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementRoleEntityService,\n useClass: AXMOrganizationManagementRoleEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementRoleEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementTeamEntityModel } from './team.types';\n\nexport abstract class AXMOrganizationManagementTeamEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementTeamEntityModel\n> {}\n\n@Injectable()\nexport class AXMOrganizationManagementTeamEntityServiceImpl extends AXMOrganizationManagementTeamEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.team.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementTeamEntityService,\n AXMOrganizationManagementTeamEntityServiceImpl\n} from './team.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementTeamEntityService,\n useClass: AXMOrganizationManagementTeamEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementTeamEntityModule {}","export enum AXMOrganizationNodeTypeCategory {\n Company = 'Company', // Company\n Location = 'Location', // Country, State, City\n BusinessUnit = 'BusinessUnit', // Division, Department, Branch\n Role = 'Role', // Position\n Employee = 'Employee' // Employee\n}\n\nexport type AXMOrgChartNodePermission = {\n [parent: string]: {\n [child: string]: number // 0 (false) or 1 (true)\n };\n}\n\n\nexport enum AXMOrganizationNodeType {\n Company = 'Company',\n Country = 'Country',\n State = 'State',\n City = 'City',\n Division = 'Division',\n Department = 'Department',\n Branch = 'Branch',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n\n// Define a mapping between entity sources, organization node types, titles, and icons \nexport const AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS: Record<string, { category: AXMOrganizationNodeTypeCategory; type: AXMOrganizationNodeType, title: string; icon: string, color: string }> = {\n 'OrganizationManagement.Company': { category: AXMOrganizationNodeTypeCategory.Company, type: AXMOrganizationNodeType.Company, title: 'Company', icon: 'fal fa-building', color: \"primary\" },\n // Location\n 'OrganizationManagement.Country': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.Country, title: 'Country', icon: 'fal fa-globe', color: \"accent1\" },\n 'OrganizationManagement.State': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.State, title: 'State', icon: 'fal fa-map', color: \"accent1\" },\n 'OrganizationManagement.City': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.City, title: 'City', icon: 'fal fa-city', color: \"accent1\" },\n // Business Unit\n 'OrganizationManagement.Division': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Division, title: 'Division', icon: 'fal fa-sitemap', color: \"accent2\" },\n 'OrganizationManagement.Department': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Department, title: 'Department', icon: 'fal fa-building-user', color: \"accent2\" },\n 'OrganizationManagement.Branch': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Branch, title: 'Branch', icon: 'fal fa-network-wired', color: \"accent2\" },\n // Role\n 'OrganizationManagement.Position': { category: AXMOrganizationNodeTypeCategory.Role, type: AXMOrganizationNodeType.Position, title: 'Position', icon: 'fal fa-user-tie', color: \"accent3\" },\n // Employee\n 'OrganizationManagement.Employee': { category: AXMOrganizationNodeTypeCategory.Employee, type: AXMOrganizationNodeType.Employee, title: 'Employee', icon: 'fal fa-address-card', color: \"surface\" }\n};\n\n\nexport interface AXMOrganizationNode {\n id: string; // Unique identifier for the node\n title: string,// Title of the node\n subtitle?: string;\n description?: string | null,// Description of the node\n isExpanded?: boolean; // Add this property\n children?: AXMOrganizationNode[];\n icon?: string;\n type?: AXMOrganizationNodeType; // Type of the node\n parentId?: string | null; // ID of the parent node (null for root)\n entity?: {\n id: string; // ID of the linked entity\n source: string; // Source of the linked entity (e.g., 'OrganizationManagement.Branch', 'OrganizationManagement.Department', etc.)\n }\n metadata?: Record<string, any>; // Additional metadata (e.g., roles, counts, etc.)\n}","import { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMOrganizationModuleEntityProvider implements AXPEntityDefinitionLoader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.company.name:\n return (await import('./entities/company/company.entity')).factory(this.injector);\n case RootConfig.entities.division.name:\n return (await import('./entities/division/division.entity')).factory(this.injector);\n case RootConfig.entities.department.name:\n return (await import('./entities/department/department.entity')).factory(this.injector);\n case RootConfig.entities.branch.name:\n return (await import('./entities/branch/branch.entity')).factory(this.injector);\n case RootConfig.entities.employee.name:\n return (await import('./entities/employee/employee.entity')).factory(this.injector);\n case RootConfig.entities.employmentType.name:\n return (await import('./entities/employment-type/employment-type.entity')).factory(this.injector);\n case RootConfig.entities.position.name:\n return (await import('./entities/position/position.entity')).factory(this.injector);\n case RootConfig.entities.chart.name:\n return (await import('./entities/chart/chart.entity')).factory(this.injector);\n case RootConfig.entities.team.name:\n return (await import('./entities/team/team.entity')).factory(this.injector);\n case RootConfig.entities.role.name:\n return (await import('./entities/role/role.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { firstValueFrom } from 'rxjs';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('root-menu', {scope: \"${scope}\"})`,\n icon: module.icon,\n children: [\n // {\n // text: `t(\"companies\", {scope:\"${scope}\"})`,\n // path: this.entityService.createPath(module.name, RootConfig.entities.company.name),\n // priority: 10000,\n // icon: RootConfig.entities.company.icon,\n // },\n {\n text: `t('division.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.division.name),\n priority: 12,\n icon: RootConfig.entities.division.icon,\n },\n {\n text: `t('department.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.department.name),\n priority: 13,\n icon: RootConfig.entities.department.icon,\n },\n {\n text: `t('branch.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.branch.name),\n priority: 14,\n icon: RootConfig.entities.branch.icon,\n },\n {\n text: `t('team.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.team.name),\n priority: 15,\n icon: RootConfig.entities.team.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 20,\n },\n {\n text: `t('role.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.role.name),\n priority: 21,\n icon: RootConfig.entities.role.icon,\n },\n // {\n // text: `t('positions', {scope:\"${scope}\"})`,\n // path: this.entityService.createPath(module.name, RootConfig.entities.position.name),\n // priority: 15,\n // icon: RootConfig.entities.position.icon,\n // },\n {\n text: `t('employment-type.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 22,\n icon: RootConfig.entities.employmentType.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 30,\n },\n {\n text: `t('employee.plural-title', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 31,\n icon: RootConfig.entities.employee.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 40,\n },\n {\n text: RootConfig.entities.structure.menu.title,\n path: `${this.sessionService.application?.name}/organization/configuration`,\n priority: 41,\n icon: RootConfig.entities.structure.icon,\n },\n {\n text: RootConfig.entities.chart.menu.title,\n path: `${this.sessionService.application?.name}/organization/chart`,\n priority: 42,\n icon: RootConfig.entities.chart.icon,\n },\n ],\n },\n ]);\n }\n}\n","import { AXPAuthGuard, AXPSessionService } from '@acorex/platform/auth';\nimport { AXP_HOME_PAGES, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { Route, Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementBranchEntityModule } from './entities/branch/branch.module';\nimport { AXMOrganizationManagementChartEntityModule } from './entities/chart/chart.module';\nimport { AXMOrganizationManagementCompanyEntityModule } from './entities/company/company.module';\nimport { AXMOrganizationManagementDepartmentEntityModule } from './entities/department/department.module';\nimport { AXMOrganizationManagementDivisionEntityModule } from './entities/division/division.module';\nimport { AXMOrganizationManagementEmployeeEntityModule } from './entities/employee/employee.module';\nimport { AXMOrganizationManagementEmploymentTypeEntityModule } from './entities/employment-type';\nimport { AXMOrganizationManagementPositionEntityModule } from './entities/position/position.module';\nimport { AXMOrganizationManagementTeamEntityModule } from './entities/team';\nimport { AXMOrganizationModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n loadComponent: () => {\n return config.viewers.root();\n },\n path: ':app/organization',\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: 'chart',\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n {\n path: 'configuration',\n loadComponent: () =>\n import('./features/organization-chart/org-chart-configuration.page').then(\n (c) => c.AXMOrgChartConfigurationPage\n ),\n },\n ],\n },\n ];\n return routes;\n}\n\n\nfunction routesFactory(): Route {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n return {\n path: ':app/organization',\n loadComponent: () => {\n return config.viewers.root();\n },\n children: [\n {\n path: 'chart',\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n ],\n }\n}\n\n\nimport { AXMOrganizationManagementRoleEntityModule } from './entities/role';\n@NgModule({\n imports: [\n CommonModule,\n AXMOrganizationManagementRoleEntityModule,\n AXMOrganizationManagementTeamEntityModule,\n AXMOrganizationManagementCompanyEntityModule,\n AXMOrganizationManagementDepartmentEntityModule,\n AXMOrganizationManagementDivisionEntityModule,\n AXMOrganizationManagementBranchEntityModule,\n AXMOrganizationManagementEmployeeEntityModule,\n AXMOrganizationManagementPositionEntityModule,\n AXMOrganizationManagementChartEntityModule,\n AXMOrganizationManagementEmploymentTypeEntityModule,\n ],\n providers: [\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMOrganizationModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_HOME_PAGES,\n multi: true,\n useFactory: () => [\n {\n key: 'organization-chart',\n title: 'Organization Chart',\n route: routesFactory()\n }\n ],\n },\n ],\n})\nexport class AXMOrganizationManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|