@acorex/modules 19.2.7 → 19.2.9

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.
Files changed (107) hide show
  1. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +3 -0
  2. package/conversation/lib/entities/chat/chat.module.d.ts +2 -3
  3. package/fesm2022/acorex-modules-application-management.mjs +15 -2
  4. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  5. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs → acorex-modules-auth-acorex-modules-auth-D1qxdECo.mjs} +8 -8
  6. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs.map → acorex-modules-auth-acorex-modules-auth-D1qxdECo.mjs.map} +1 -1
  7. package/fesm2022/{acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs → acorex-modules-auth-app-chooser.component-8GCTwtb2.mjs} +2 -2
  8. package/fesm2022/{acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs.map → acorex-modules-auth-app-chooser.component-8GCTwtb2.mjs.map} +1 -1
  9. package/fesm2022/{acorex-modules-auth-login.module-CDvLUxls.mjs → acorex-modules-auth-login.module-DR3QLEM-.mjs} +4 -4
  10. package/fesm2022/{acorex-modules-auth-login.module-CDvLUxls.mjs.map → acorex-modules-auth-login.module-DR3QLEM-.mjs.map} +1 -1
  11. package/fesm2022/{acorex-modules-auth-master.layout-CnKBnl8W.mjs → acorex-modules-auth-master.layout-BMJ5mW63.mjs} +4 -4
  12. package/fesm2022/{acorex-modules-auth-master.layout-CnKBnl8W.mjs.map → acorex-modules-auth-master.layout-BMJ5mW63.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-password.component-C16jeHuJ.mjs → acorex-modules-auth-password.component-EXWlXGez.mjs} +2 -2
  14. package/fesm2022/{acorex-modules-auth-password.component-C16jeHuJ.mjs.map → acorex-modules-auth-password.component-EXWlXGez.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-password.component-1FnIjiZ8.mjs → acorex-modules-auth-password.component-avrMwyr8.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-auth-password.component-1FnIjiZ8.mjs.map → acorex-modules-auth-password.component-avrMwyr8.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-routes-ZDDUhAWd.mjs → acorex-modules-auth-routes-BPYBFOxg.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-auth-routes-ZDDUhAWd.mjs.map → acorex-modules-auth-routes-BPYBFOxg.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-two-factor.module-C32MVGby.mjs → acorex-modules-auth-two-factor.module-B_V_nQN_.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-auth-two-factor.module-C32MVGby.mjs.map → acorex-modules-auth-two-factor.module-B_V_nQN_.mjs.map} +1 -1
  21. package/fesm2022/acorex-modules-auth.mjs +1 -1
  22. package/fesm2022/acorex-modules-conversation.mjs +3 -8
  23. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  24. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-gE7jDpjq.mjs} +99 -7
  25. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-gE7jDpjq.mjs.map +1 -0
  26. package/fesm2022/{acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs → acorex-modules-form-template-management-category.entity-BaX5yaK9.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs.map → acorex-modules-form-template-management-category.entity-BaX5yaK9.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs → acorex-modules-form-template-management-setting.provider-h3v_4sR9.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs.map → acorex-modules-form-template-management-setting.provider-h3v_4sR9.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs → acorex-modules-form-template-management-template-widget-edit.component-GxCDqH9d.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-GxCDqH9d.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs → acorex-modules-form-template-management-template.entity-CzmbpLj_.mjs} +33 -2
  33. package/fesm2022/acorex-modules-form-template-management-template.entity-CzmbpLj_.mjs.map +1 -0
  34. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CJKcMi8Q.mjs +93 -0
  35. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CJKcMi8Q.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  37. package/fesm2022/{acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs → acorex-modules-organization-management-add-item.component-PhQRBTtI.mjs} +22 -16
  38. package/fesm2022/acorex-modules-organization-management-add-item.component-PhQRBTtI.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs → acorex-modules-organization-management-branch.entity-CxxFiBPd.mjs} +48 -4
  40. package/fesm2022/acorex-modules-organization-management-branch.entity-CxxFiBPd.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs → acorex-modules-organization-management-department.entity-BxyeK3lU.mjs} +48 -4
  42. package/fesm2022/acorex-modules-organization-management-department.entity-BxyeK3lU.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs → acorex-modules-organization-management-division.entity-Dh54R4es.mjs} +48 -4
  44. package/fesm2022/acorex-modules-organization-management-division.entity-Dh54R4es.mjs.map +1 -0
  45. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs → acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs} +48 -4
  46. package/fesm2022/acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs → acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs} +4 -4
  48. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs.map +1 -0
  49. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs → acorex-modules-organization-management-org-chart-configuration.service-QLdDEdqL.mjs} +4 -3
  50. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-QLdDEdqL.mjs.map +1 -0
  51. package/fesm2022/{acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs → acorex-modules-organization-management-org-chart.page-BSh18amn.mjs} +181 -110
  52. package/fesm2022/acorex-modules-organization-management-org-chart.page-BSh18amn.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-organization-management-position.entity-DDkiBefn.mjs → acorex-modules-organization-management-position.entity-B7ceEEbu.mjs} +49 -5
  54. package/fesm2022/acorex-modules-organization-management-position.entity-B7ceEEbu.mjs.map +1 -0
  55. package/fesm2022/acorex-modules-organization-management.mjs +8 -15
  56. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  57. package/fesm2022/acorex-modules-platform-management.mjs +476 -245
  58. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  59. package/fesm2022/acorex-modules-security-management.mjs +3 -3
  60. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  61. package/form-template-management/lib/features/viewer/viewer-connector.service.d.ts +12 -0
  62. package/form-template-management/lib/features/viewer/viewer-popup.component.d.ts +23 -0
  63. package/form-template-management/lib/features/viewer/workflows/open-template.workflow.d.ts +9 -0
  64. package/organization-management/lib/entities/branch/branch.types.d.ts +1 -0
  65. package/organization-management/lib/entities/department/department.types.d.ts +1 -0
  66. package/organization-management/lib/entities/division/division.types.d.ts +1 -0
  67. package/organization-management/lib/entities/employment-type/employment-type.types.d.ts +1 -0
  68. package/organization-management/lib/entities/position/position.types.d.ts +1 -0
  69. package/organization-management/lib/features/organization-chart/add-item/add-item.component.d.ts +5 -3
  70. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +3 -0
  71. package/organization-management/lib/features/organization-chart/org-chart-configuration.service.d.ts +2 -6
  72. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +3 -0
  73. package/organization-management/lib/features/organization-chart/org-chart.service.d.ts +16 -13
  74. package/organization-management/lib/features/organization-chart/org-chart.type.d.ts +5 -5
  75. package/package.json +5 -5
  76. package/platform-management/lib/common/index.d.ts +1 -0
  77. package/platform-management/lib/common/regional/index.d.ts +1 -0
  78. package/platform-management/lib/common/regional/language-slot/language-slot.component.d.ts +1 -1
  79. package/platform-management/lib/entities/check-version.d.ts +1 -0
  80. package/platform-management/lib/entities/data-source/coulmn-def.widget.d.ts +11 -0
  81. package/platform-management/lib/entities/data-source/data-source.types.d.ts +2 -1
  82. package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +2 -0
  83. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs.map +0 -1
  84. package/fesm2022/acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs.map +0 -1
  85. package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs.map +0 -1
  86. package/fesm2022/acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs.map +0 -1
  87. package/fesm2022/acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs.map +0 -1
  88. package/fesm2022/acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs.map +0 -1
  89. package/fesm2022/acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs.map +0 -1
  90. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs.map +0 -1
  91. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs.map +0 -1
  92. package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs.map +0 -1
  93. package/fesm2022/acorex-modules-organization-management-position.entity-DDkiBefn.mjs.map +0 -1
  94. package/fesm2022/acorex-modules-platform-management-countries-CuJVdPLt.mjs +0 -19
  95. package/fesm2022/acorex-modules-platform-management-countries-CuJVdPLt.mjs.map +0 -1
  96. package/fesm2022/acorex-modules-platform-management-currencies-vgPg4Hj3.mjs +0 -13
  97. package/fesm2022/acorex-modules-platform-management-currencies-vgPg4Hj3.mjs.map +0 -1
  98. package/fesm2022/acorex-modules-platform-management-regional-formats-BaHofjWg.mjs +0 -14
  99. package/fesm2022/acorex-modules-platform-management-regional-formats-BaHofjWg.mjs.map +0 -1
  100. package/fesm2022/acorex-modules-platform-management-timezones-BoScbn0h.mjs +0 -15
  101. package/fesm2022/acorex-modules-platform-management-timezones-BoScbn0h.mjs.map +0 -1
  102. package/platform-management/lib/common/regional/data/countries.d.ts +0 -2
  103. package/platform-management/lib/common/regional/data/currencies.d.ts +0 -2
  104. package/platform-management/lib/common/regional/data/regional-formats.d.ts +0 -2
  105. package/platform-management/lib/common/regional/data/timezones.d.ts +0 -2
  106. package/platform-management/lib/common/regional/regional-util.service.d.ts +0 -12
  107. package/platform-management/lib/common/regional/regional.types.d.ts +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-org-chart.page-BSh18amn.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 { AXPDataGenerator, AXPPagedListResult, AXPQueryRequest, AXPRegionalService } from '@acorex/platform/common';\nimport { applyFilterArray } 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 updateAt: new Date(),\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 { AXContextMenuComponent, AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent, AXMenuItem, AXMenuModule } from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSimplePageLayout } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutFooterComponent,\n AXPThemeLayoutHeaderTemplateComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n} from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\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 { RootConfig } from '../../const';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport { AXMOrgChartPrintService } from './org-chart-print.service';\nimport { AXMOrgChartService } from './org-chart.service';\nimport { AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, AXMOrganizationNode, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory } from './org-chart.type';\nimport set from 'lodash-es/set';\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 AXPSimplePageLayout,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderTemplateComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutFooterComponent,\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXPanViewDirective,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXMOrgChartConfigService, AXMOrgChartService, AXMOrgChartPrintService],\n})\nexport class AXMOrgChartPage {\n\n\n protected readonly layout = inject(AXPLayoutThemeService);\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\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\n protected nodeTypes = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map(c =>\n (\n {\n title: c[1].title,\n color: c[1].color,\n icon: c[1].icon,\n category: c[1].category\n })\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 /**\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\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\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 }\n else if (e.item.name == 'cut') {\n await this.chartService.cutNode(e.item.data.id);\n await this.refreshChart();\n }\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 ngOnDestroy(): void {\n this.clearChart(this.treeContainer().nativeElement);\n }\n}\n","<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.chart.title) | async}} </axp-layout-title>\n\n <axp-layout-description> Clear and dynamic view of your organization's structure </axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('print') | async)!\" (onClick)=\"printChart()\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item> {{(t('home') | async)}} </ax-breadcrumbs-item>\n <ax-breadcrumbs-item> Organization </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content class=\"ax-overflow-hidden\">\n <div class=\"ax-h-[calc(100vh-290px)]\" #parent id=\"parent\">\n <div #chart axPanView [(panX)]=\"panX\" [(panY)]=\"panY\" [freeMode]=\"true\" [(zoom)]=\"panZoomLevel\"\n [fitContent]=\"true\" wrapperClasses=\"h\" class=\"ax-light\"></div>\n <ax-context-menu [target]=\"'.axp-chart-node'\" [orientation]=\"'vertical'\" [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\" (onOpening)=\"handleContextMenuOnOpening($event)\">\n </ax-context-menu>\n </div>\n </axp-layout-content>\n <axp-layout-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'};\n @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\">\n </div>\n {{item.title}}\n </div>\n {{updateVar(v,item.category)}}\n }\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-layout-footer>\n</axp-layout-simple-page>\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 }\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 {\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 {\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 }\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>"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ async function factory(injector) {
48
48
  interface: {
49
49
  type: AXPWidgetsCatalog.text,
50
50
  options: {
51
- width: '400px',
51
+ width: '300px',
52
52
  },
53
53
  },
54
54
  },
@@ -58,8 +58,22 @@ async function factory(injector) {
58
58
  },
59
59
  ],
60
60
  },
61
+ {
62
+ name: 'description',
63
+ title: `t("description", { scope: "common" })`,
64
+ groupId: 'section',
65
+ schema: {
66
+ dataType: 'string',
67
+ interface: {
68
+ type: AXPWidgetsCatalog.text,
69
+ options: {
70
+ width: '500px',
71
+ },
72
+ },
73
+ },
74
+ },
61
75
  ],
62
- columns: [{ name: 'title' }],
76
+ columns: [{ name: 'title' }, { name: 'description' }],
63
77
  commands: {
64
78
  create: {
65
79
  execute: async (data) => {
@@ -111,6 +125,16 @@ async function factory(injector) {
111
125
  },
112
126
  },
113
127
  },
128
+ {
129
+ name: 'description',
130
+ layout: {
131
+ positions: {
132
+ lg: {
133
+ colSpan: 12,
134
+ },
135
+ },
136
+ },
137
+ },
114
138
  ],
115
139
  },
116
140
  update: {
@@ -125,7 +149,17 @@ async function factory(injector) {
125
149
  layout: {
126
150
  positions: {
127
151
  lg: {
128
- colSpan: 6,
152
+ colSpan: 12,
153
+ },
154
+ },
155
+ },
156
+ },
157
+ {
158
+ name: 'description',
159
+ layout: {
160
+ positions: {
161
+ lg: {
162
+ colSpan: 12,
129
163
  },
130
164
  },
131
165
  },
@@ -152,7 +186,17 @@ async function factory(injector) {
152
186
  layout: {
153
187
  positions: {
154
188
  lg: {
155
- colSpan: 6,
189
+ colSpan: 12,
190
+ },
191
+ },
192
+ },
193
+ },
194
+ {
195
+ name: 'description',
196
+ layout: {
197
+ positions: {
198
+ lg: {
199
+ colSpan: 12,
156
200
  },
157
201
  },
158
202
  },
@@ -209,4 +253,4 @@ async function factory(injector) {
209
253
  }
210
254
 
211
255
  export { factory };
212
- //# sourceMappingURL=acorex-modules-organization-management-position.entity-DDkiBefn.mjs.map
256
+ //# sourceMappingURL=acorex-modules-organization-management-position.entity-B7ceEEbu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-position.entity-B7ceEEbu.mjs","sources":["../../../../libs/modules/organization-management/src/lib/entities/position/position.entity.ts"],"sourcesContent":["import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementPositionEntityService } from './position.service';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMOrganizationManagementPositionEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.position.name,\n source: '',\n title: `t(\"position\", { scope: \"${i18n}\" })`,\n formats: {\n individual: `t(\"position\", { scope: \"${i18n}\" })`,\n plural: `t(\"positions\", { scope: \"${i18n}\" })`,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: `t(\"position\", { scope: \"${i18n}\" })`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n schema: {\n dataType: 'uuid',\n hidden: true,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n width: '300px',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `t(\"description\", { scope: \"common\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n width: '500px',\n },\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'description' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter, sort: e.sort });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"allItem\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
@@ -394,13 +394,6 @@ var AXMOrganizationNodeTypeCategory;
394
394
  AXMOrganizationNodeTypeCategory["Role"] = "Role";
395
395
  AXMOrganizationNodeTypeCategory["Employee"] = "Employee"; // Employee
396
396
  })(AXMOrganizationNodeTypeCategory || (AXMOrganizationNodeTypeCategory = {}));
397
- const AXM_ORG_CHART_NODE_TYPE_CATEGORY_LIST = {
398
- "Company": { title: "Company", icon: "fal fa-building", color: 'primary' },
399
- "Location": { title: "Location", icon: "fal fa-map", color: 'accent1' },
400
- "BusinessUnit": { title: "Business Unit", icon: "fal fa-network-wired", color: 'accent2' },
401
- "Role": { title: "Role", icon: "fal fa-user-tie", color: 'accent3' },
402
- "Employee": { title: "Employee", icon: "fal a-address-card", color: 'surface' },
403
- };
404
397
  var AXMOrganizationNodeType;
405
398
  (function (AXMOrganizationNodeType) {
406
399
  AXMOrganizationNodeType["Company"] = "Company";
@@ -447,17 +440,17 @@ class AXMOrganizationModuleEntityProvider {
447
440
  case RootConfig.entities.company.name:
448
441
  return (await import('./acorex-modules-organization-management-company.entity-d7GaCVei.mjs')).factory(this.injector);
449
442
  case RootConfig.entities.division.name:
450
- return (await import('./acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs')).factory(this.injector);
443
+ return (await import('./acorex-modules-organization-management-division.entity-Dh54R4es.mjs')).factory(this.injector);
451
444
  case RootConfig.entities.department.name:
452
- return (await import('./acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs')).factory(this.injector);
445
+ return (await import('./acorex-modules-organization-management-department.entity-BxyeK3lU.mjs')).factory(this.injector);
453
446
  case RootConfig.entities.branch.name:
454
- return (await import('./acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs')).factory(this.injector);
447
+ return (await import('./acorex-modules-organization-management-branch.entity-CxxFiBPd.mjs')).factory(this.injector);
455
448
  case RootConfig.entities.employee.name:
456
449
  return (await import('./acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs')).factory(this.injector);
457
450
  case RootConfig.entities.employmentType.name:
458
- return (await import('./acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs')).factory(this.injector);
451
+ return (await import('./acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs')).factory(this.injector);
459
452
  case RootConfig.entities.position.name:
460
- return (await import('./acorex-modules-organization-management-position.entity-DDkiBefn.mjs')).factory(this.injector);
453
+ return (await import('./acorex-modules-organization-management-position.entity-B7ceEEbu.mjs')).factory(this.injector);
461
454
  case RootConfig.entities.chart.name:
462
455
  return (await import('./acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs')).factory(this.injector);
463
456
  }
@@ -559,11 +552,11 @@ function routesFacory() {
559
552
  children: [
560
553
  {
561
554
  path: 'chart',
562
- loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs').then(function (n) { return n.o; }).then((c) => c.AXMOrgChartPage),
555
+ loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-BSh18amn.mjs').then((c) => c.AXMOrgChartPage),
563
556
  },
564
557
  {
565
558
  path: 'configuration',
566
- loadComponent: () => import('./acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs').then((c) => c.AXMOrgChartConfigurationPage),
559
+ loadComponent: () => import('./acorex-modules-organization-management-org-chart-configuration.page-DjzqBdaS.mjs').then((c) => c.AXMOrgChartConfigurationPage),
567
560
  },
568
561
  ],
569
562
  },
@@ -663,5 +656,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
663
656
  * Generated bundle index. Do not edit.
664
657
  */
665
658
 
666
- export { AXMOrganizationManagementBranchEntityModule, AXMOrganizationManagementBranchEntityService, AXMOrganizationManagementBranchEntityServiceImpl, AXMOrganizationManagementChartEntityModule, AXMOrganizationManagementChartEntityService, AXMOrganizationManagementChartEntityServiceImpl, AXMOrganizationManagementCompanyEntityModule, AXMOrganizationManagementCompanyEntityService, AXMOrganizationManagementCompanyEntityServiceImpl, AXMOrganizationManagementDepartmentEntityModule, AXMOrganizationManagementDepartmentEntityService, AXMOrganizationManagementDepartmentEntityServiceImpl, AXMOrganizationManagementDivisionEntityModule, AXMOrganizationManagementDivisionEntityService, AXMOrganizationManagementDivisionEntityServiceImpl, AXMOrganizationManagementEmployeeEntityModule, AXMOrganizationManagementEmployeeEntityService, AXMOrganizationManagementEmployeeEntityServiceImpl, AXMOrganizationManagementEmploymentTypeEntityModule, AXMOrganizationManagementEmploymentTypeEntityService, AXMOrganizationManagementEmploymentTypeEntityServiceImpl, AXMOrganizationManagementModule, AXMOrganizationManagementPositionEntityModule, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementPositionEntityServiceImpl, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory, AXM_ORG_CHART_NODE_TYPE_CATEGORY_LIST, AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, RootConfig };
659
+ export { AXMOrganizationManagementBranchEntityModule, AXMOrganizationManagementBranchEntityService, AXMOrganizationManagementBranchEntityServiceImpl, AXMOrganizationManagementChartEntityModule, AXMOrganizationManagementChartEntityService, AXMOrganizationManagementChartEntityServiceImpl, AXMOrganizationManagementCompanyEntityModule, AXMOrganizationManagementCompanyEntityService, AXMOrganizationManagementCompanyEntityServiceImpl, AXMOrganizationManagementDepartmentEntityModule, AXMOrganizationManagementDepartmentEntityService, AXMOrganizationManagementDepartmentEntityServiceImpl, AXMOrganizationManagementDivisionEntityModule, AXMOrganizationManagementDivisionEntityService, AXMOrganizationManagementDivisionEntityServiceImpl, AXMOrganizationManagementEmployeeEntityModule, AXMOrganizationManagementEmployeeEntityService, AXMOrganizationManagementEmployeeEntityServiceImpl, AXMOrganizationManagementEmploymentTypeEntityModule, AXMOrganizationManagementEmploymentTypeEntityService, AXMOrganizationManagementEmploymentTypeEntityServiceImpl, AXMOrganizationManagementModule, AXMOrganizationManagementPositionEntityModule, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementPositionEntityServiceImpl, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory, AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, RootConfig };
667
660
  //# sourceMappingURL=acorex-modules-organization-management.mjs.map
@@ -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/company/company.service.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.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/department/department.service.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.module.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/position/position.service.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.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/chart/chart.service.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.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};\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\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building',\n },\n division: {\n name: 'Division',\n source: `${config.module}.Division`,\n title: `t(\"division\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n department: {\n name: 'Department',\n source: `${config.module}.Department`,\n title: `t(\"department\",{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\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-network-wired',\n },\n position: {\n name: 'Position',\n source: `${config.module}.Position`,\n title: `t(\"position\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-user-tie',\n },\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: `t(\"employee\",{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\",{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/common';\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.entities.company.source);\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/common';\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.entities.division.source);\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/common';\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.entities.department.source);\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/common';\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.entities.branch.source);\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/common';\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.entities.position.source);\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/common';\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.entities.employee.source);\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/common';\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.entities.employmentType.source);\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/common';\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.entities.chart.source);\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","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 const AXM_ORG_CHART_NODE_TYPE_CATEGORY_LIST: Record<string, { title: string; icon: string, color: string }> = {\n \"Company\": { title: \"Company\", icon: \"fal fa-building\", color: 'primary' },\n \"Location\": { title: \"Location\", icon: \"fal fa-map\", color: 'accent1' },\n \"BusinessUnit\": { title: \"Business Unit\", icon: \"fal fa-network-wired\", color: 'accent2' },\n \"Role\": { title: \"Role\", icon: \"fal fa-user-tie\", color: 'accent3' },\n \"Employee\": { title: \"Employee\", icon: \"fal a-address-card\", color: 'surface' },\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 }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\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 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: 'fa-light fa-file-invoice',\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('divisions', {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('departments', {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('branches', {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('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-types', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 21,\n icon: RootConfig.entities.employmentType.icon,\n },\n {\n text: `t('employees', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 22,\n icon: RootConfig.entities.employee.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 30,\n },\n {\n text: RootConfig.entities.structure.menu.title,\n path: `${this.sessionService.application?.name}/organization/configuration`,\n priority: 31,\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: 31,\n icon: RootConfig.entities.chart.icon,\n },\n ],\n },\n ]);\n }\n}\n","import { 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 { Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementChartEntityModule } from './entities/chart/chart.module';\nimport { AXMOrganizationManagementCompanyEntityModule } from './entities/company/company.module';\nimport { AXMOrganizationManagementDepartmentEntityModule } from './entities/department/department.module';\nimport { AXMOrganizationManagementEmployeeEntityModule } from './entities/employee/employee.module';\nimport { AXMOrganizationManagementPositionEntityModule } from './entities/position/position.module';\nimport { AXMOrganizationModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMOrganizationManagementDivisionEntityModule } from './entities/division/division.module';\nimport { AXMOrganizationManagementBranchEntityModule } from './entities/branch/branch.module';\nimport { AXMOrganizationManagementEmploymentTypeEntityModule } from './entities/employment-type';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n component: config.viewers.root(),\n path: ':app/organization',\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: () => import('./features/organization-chart/org-chart-configuration.page').then((c) => c.AXMOrgChartConfigurationPage),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n CommonModule,\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('./setting.provider')).AXMSettingProvider;\n return new provider(injector.get(AXPSessionService));\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})\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/company/company.service.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.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/department/department.service.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.module.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/position/position.service.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.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/chart/chart.service.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.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};\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\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building',\n },\n division: {\n name: 'Division',\n source: `${config.module}.Division`,\n title: `t(\"division\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n department: {\n name: 'Department',\n source: `${config.module}.Department`,\n title: `t(\"department\",{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\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-network-wired',\n },\n position: {\n name: 'Position',\n source: `${config.module}.Position`,\n title: `t(\"position\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-user-tie',\n },\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: `t(\"employee\",{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\",{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/common';\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.entities.company.source);\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/common';\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.entities.division.source);\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/common';\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.entities.department.source);\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/common';\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.entities.branch.source);\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/common';\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.entities.position.source);\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/common';\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.entities.employee.source);\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/common';\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.entities.employmentType.source);\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/common';\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.entities.chart.source);\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","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 }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\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 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: 'fa-light fa-file-invoice',\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('divisions', {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('departments', {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('branches', {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('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-types', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 21,\n icon: RootConfig.entities.employmentType.icon,\n },\n {\n text: `t('employees', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 22,\n icon: RootConfig.entities.employee.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 30,\n },\n {\n text: RootConfig.entities.structure.menu.title,\n path: `${this.sessionService.application?.name}/organization/configuration`,\n priority: 31,\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: 31,\n icon: RootConfig.entities.chart.icon,\n },\n ],\n },\n ]);\n }\n}\n","import { 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 { Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementChartEntityModule } from './entities/chart/chart.module';\nimport { AXMOrganizationManagementCompanyEntityModule } from './entities/company/company.module';\nimport { AXMOrganizationManagementDepartmentEntityModule } from './entities/department/department.module';\nimport { AXMOrganizationManagementEmployeeEntityModule } from './entities/employee/employee.module';\nimport { AXMOrganizationManagementPositionEntityModule } from './entities/position/position.module';\nimport { AXMOrganizationModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMOrganizationManagementDivisionEntityModule } from './entities/division/division.module';\nimport { AXMOrganizationManagementBranchEntityModule } from './entities/branch/branch.module';\nimport { AXMOrganizationManagementEmploymentTypeEntityModule } from './entities/employment-type';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n component: config.viewers.root(),\n path: ':app/organization',\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: () => import('./features/organization-chart/org-chart-configuration.page').then((c) => c.AXMOrgChartConfigurationPage),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n CommonModule,\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('./setting.provider')).AXMSettingProvider;\n return new provider(injector.get(AXPSessionService));\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})\nexport class AXMOrganizationManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}