@acorex/modules 21.0.0-next.43 → 21.0.0-next.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-modules-ai-management.mjs +31 -225
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bwk3-2wy.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-hImDhzkB.mjs} +16 -19
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-hImDhzkB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B5aSubCY.mjs → acorex-modules-human-capital-management-approve-leave-request.command-DujyJOvo.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B5aSubCY.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-DujyJOvo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-l8dGe3kg.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-BPB9vaCn.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-l8dGe3kg.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-BPB9vaCn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-CeV-5Y5n.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-BdPUdhbU.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-CeV-5Y5n.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-BdPUdhbU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-DNgt9yQm.mjs → acorex-modules-human-capital-management-employee.entity-CgmF-WPf.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-DNgt9yQm.mjs.map → acorex-modules-human-capital-management-employee.entity-CgmF-WPf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-rq8-Bauc.mjs → acorex-modules-human-capital-management-employment-type.entity-Chio_E9S.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-rq8-Bauc.mjs.map → acorex-modules-human-capital-management-employment-type.entity-Chio_E9S.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-DlQJw4F6.mjs → acorex-modules-human-capital-management-leave-request.entity--9iGu0H7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-DlQJw4F6.mjs.map → acorex-modules-human-capital-management-leave-request.entity--9iGu0H7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5J2oOuY.mjs → acorex-modules-human-capital-management-leave-type.entity-O0j4P2oU.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5J2oOuY.mjs.map → acorex-modules-human-capital-management-leave-type.entity-O0j4P2oU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D7mKhxYp.mjs → acorex-modules-human-capital-management-position-assignment.entity-Bg6omEy_.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D7mKhxYp.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-Bg6omEy_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C4AWFOmG.mjs → acorex-modules-human-capital-management-reject-leave-request.command-ZNGufyB1.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C4AWFOmG.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-ZNGufyB1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BSJhBW3p.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-C8pwJExa.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BSJhBW3p.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-C8pwJExa.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-Dqhk5reQ.mjs → acorex-modules-organization-management-acorex-modules-organization-management-CGzZcKEy.mjs} +141 -578
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CGzZcKEy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-pnxqURIQ.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BEJyfR3P.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-pnxqURIQ.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BEJyfR3P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DbHKd1Nd.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-DKgxg9q5.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DbHKd1Nd.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-DKgxg9q5.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-DJJT7BXT.mjs +130 -0
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-DJJT7BXT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-FsF290Im.mjs → acorex-modules-organization-management-business-unit.entity-BAp38sib.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-FsF290Im.mjs.map → acorex-modules-organization-management-business-unit.entity-BAp38sib.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-_OJkO2zX.mjs → acorex-modules-organization-management-chart.entity-WfmpWj8R.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-_OJkO2zX.mjs.map → acorex-modules-organization-management-chart.entity-WfmpWj8R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-Dw7_BvxV.mjs → acorex-modules-organization-management-company.entity-BUVLrwjq.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-Dw7_BvxV.mjs.map → acorex-modules-organization-management-company.entity-BUVLrwjq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-BWw2RN_V.mjs → acorex-modules-organization-management-entity.provider-DH3eUGTu.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-BWw2RN_V.mjs.map → acorex-modules-organization-management-entity.provider-DH3eUGTu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-D3WYwpy0.mjs → acorex-modules-organization-management-feature-definition.provider-DuScrBze.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-D3WYwpy0.mjs.map → acorex-modules-organization-management-feature-definition.provider-DuScrBze.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-CnS_nu1v.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-D-J9JCsU.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-CnS_nu1v.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-D-J9JCsU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-ZTopEh2M.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-Dsy5rFGw.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-ZTopEh2M.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-Dsy5rFGw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-Yyzwqg0v.mjs → acorex-modules-organization-management-job-definition-skills-page.component-B73wLPby.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-Yyzwqg0v.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-B73wLPby.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-DJjmv1hf.mjs → acorex-modules-organization-management-job-definition.entity-B7mWKYqb.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-DJjmv1hf.mjs.map → acorex-modules-organization-management-job-definition.entity-B7mWKYqb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DJH3zaNN.mjs → acorex-modules-organization-management-job-level.datasource-DibRoKXR.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DJH3zaNN.mjs.map → acorex-modules-organization-management-job-level.datasource-DibRoKXR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-DBEFEBzu.mjs → acorex-modules-organization-management-job-level.entity-C_MzeTw5.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-DBEFEBzu.mjs.map → acorex-modules-organization-management-job-level.entity-C_MzeTw5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-yGn338K1.mjs → acorex-modules-organization-management-menu.provider-CQeJINzl.mjs} +3 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-yGn338K1.mjs.map → acorex-modules-organization-management-menu.provider-CQeJINzl.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-D3hCHSr_.mjs +228 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-D3hCHSr_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-Bv0I-45L.mjs +182 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-Bv0I-45L.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DbfYza8q.mjs +170 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DbfYza8q.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-C9APxguL.mjs +334 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-C9APxguL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-C1J123cl.mjs → acorex-modules-organization-management-org-chart.page-BcHO5kKP.mjs} +104 -19
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BcHO5kKP.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-B1f668X4.mjs → acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs} +3 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-B1f668X4.mjs.map → acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs +56 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-BvSjM5Hs.mjs → acorex-modules-organization-management-position.entity-DBOpLtSI.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-BvSjM5Hs.mjs.map → acorex-modules-organization-management-position.entity-DBOpLtSI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-CPdbVSno.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-TqYgfnsy.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-CPdbVSno.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-TqYgfnsy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-CQRcVN6R.mjs → acorex-modules-organization-management-replace-position-assignee.command-BJ2gn0-A.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-CQRcVN6R.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-BJ2gn0-A.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-Ce3T04Qb.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CZdMLIL-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-Ce3T04Qb.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CZdMLIL-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CIr7JDX-.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BBo97rDN.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CIr7JDX-.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BBo97rDN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-BXWso7Ga.mjs → acorex-modules-organization-management-responsibilities-matrix.component-D9oH_Fbb.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-BXWso7Ga.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-D9oH_Fbb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DB04XTJ8.mjs → acorex-modules-organization-management-responsibility-level.entity-D6IG9Zc7.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DB04XTJ8.mjs.map → acorex-modules-organization-management-responsibility-level.entity-D6IG9Zc7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BMqhYqJS.mjs → acorex-modules-organization-management-responsibility.entity-BosNxYjW.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BMqhYqJS.mjs.map → acorex-modules-organization-management-responsibility.entity-BosNxYjW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-BhIJkbq_.mjs → acorex-modules-organization-management-settings.provider-CL9C9UXA.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-BhIJkbq_.mjs.map → acorex-modules-organization-management-settings.provider-CL9C9UXA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-DkTtZv7y.mjs → acorex-modules-organization-management-team-business-unit.entity-CYFGTcHe.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-DkTtZv7y.mjs.map → acorex-modules-organization-management-team-business-unit.entity-CYFGTcHe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DPqEPpkP.mjs → acorex-modules-organization-management-team-member-role.entity-B5vNDne0.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DPqEPpkP.mjs.map → acorex-modules-organization-management-team-member-role.entity-B5vNDne0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-IN-CPv5W.mjs → acorex-modules-organization-management-team-member.entity-DsKuxCRB.mjs} +14 -2
- package/fesm2022/acorex-modules-organization-management-team-member.entity-DsKuxCRB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-D7B8ulFX.mjs → acorex-modules-organization-management-team.entity-Cg30cho_.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-D7B8ulFX.mjs.map → acorex-modules-organization-management-team.entity-Cg30cho_.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-CWlgXg_u.mjs → acorex-modules-task-management-acorex-modules-task-management-DDUq9FpA.mjs} +178 -14
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-DDUq9FpA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-Bxpga0DN.mjs → acorex-modules-task-management-task-board.page-C6j-_aSD.mjs} +106 -68
- package/fesm2022/acorex-modules-task-management-task-board.page-C6j-_aSD.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/organization-management/README.md +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +25 -67
- package/types/acorex-modules-organization-management.d.ts +128 -69
- package/types/acorex-modules-task-management.d.ts +12 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bwk3-2wy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Dqhk5reQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-C1J123cl.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member.entity-IN-CPv5W.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-CWlgXg_u.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-Bxpga0DN.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-acorex-modules-organization-management-Dqhk5reQ.mjs","sources":["../../../../libs/modules/organization-management/src/lib/const.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.types.ts","../../../../libs/modules/organization-management/src/lib/entities/business-unit-type/business-unit-type.entity.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.type.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-communication-submenu.const.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-node-contribution.token.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-structure-refresh.hub.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-host.token.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/views/detail-panel/org-chart-detail-panel.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/views/detail-panel/org-chart-detail-panel.component.html","../../../../libs/modules/organization-management/src/lib/settings.keys.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-user-ui.helper.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-ui.resolver.ts","../../../../libs/modules/organization-management/src/lib/manifest.ts","../../../../libs/modules/organization-management/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget.config.ts","../../../../libs/modules/organization-management/src/lib/widget-definition.provider.ts","../../../../libs/modules/organization-management/src/lib/commands.keys.ts","../../../../libs/modules/organization-management/src/lib/permission.keys.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-default-node-contribution.provider.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-position-employee-node-contribution.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: '@organization-management:module.title',\n icon: 'fa-light fa-sitemap',\n },\n entities: {\n responsibility: {\n name: 'Responsibility',\n title: '@organization-management:responsibilities.entities.responsibility.title',\n source: `${config.module}.Responsibility`,\n icon: 'fa-light fa-tasks',\n },\n jobDefinition: {\n name: 'JobDefinition',\n title: '@organization-management:job-definitions.entities.job-definition.title',\n source: `${config.module}.JobDefinition`,\n icon: 'fa-light fa-user-tie',\n },\n jobLevel: {\n name: 'JobLevel',\n title: '@organization-management:job-levels.entities.job-level.title',\n source: `${config.module}.JobLevel`,\n icon: 'fa-light fa-layer-group',\n },\n responsibilityLevel: {\n name: 'ResponsibilityLevel',\n title: '@organization-management:responsibility-levels.entities.responsibility-level.title',\n titlePlural: '@organization-management:responsibility-levels.entities.responsibility-level.plural',\n source: `${config.module}.ResponsibilityLevel`,\n icon: 'fa-light fa-layer-group',\n },\n company: {\n name: 'Company',\n source: `${config.module}.Company`,\n title: '@organization-management:companies.entities.company.title',\n icon: 'fa-light fa-building',\n },\n team: {\n name: 'Team',\n source: `${config.module}.Team`,\n title: '@organization-management:teams.entities.team.title',\n icon: 'fa-light fa-people-group',\n },\n teamMemberRole: {\n name: 'TeamMemberRole',\n source: `${config.module}.TeamMemberRole`,\n title: '@organization-management:team-member-roles.entities.team-member-role.title',\n icon: 'fa-light fa-user-tag',\n },\n teamMember: {\n name: 'TeamMember',\n source: `${config.module}.TeamMember`,\n title: '@organization-management:team-members.entities.team-member.title',\n icon: 'fa-light fa-users',\n },\n teamBusinessUnit: {\n name: 'TeamBusinessUnit',\n source: `${config.module}.TeamBusinessUnit`,\n title: '@organization-management:team-business-units.entities.team-business-unit.title',\n icon: 'fa-light fa-link',\n },\n position: {\n name: 'Position',\n source: `${config.module}.Position`,\n title: '@organization-management:positions.entities.position.title',\n icon: 'fa-light fa-briefcase',\n },\n businessUnitType: {\n name: 'BusinessUnitType',\n source: `${config.module}.BusinessUnitType`,\n title: '@organization-management:business-unit-types.entities.business-unit-type.title',\n icon: 'fa-light fa-tag',\n },\n businessUnit: {\n name: 'BusinessUnit',\n source: `${config.module}.BusinessUnit`,\n title: '@organization-management:business-units.entities.business-unit.title',\n icon: 'fa-light fa-sitemap',\n },\n\n structure: {\n name: 'ChartStructure',\n source: `${config.module}.ChartStructure`,\n title: '@organization-management:chart-configuration.components.chart-configuration.title',\n menu: {\n title: '@organization-management:chart-configuration.menus.chart-configuration.title',\n },\n icon: 'fa-light fa-gear',\n },\n chart: {\n name: 'Chart',\n source: `${config.module}.Chart`,\n title: '@organization-management:organization-chart.components.chart.title',\n menu: {\n title: '@organization-management:organization-chart.menus.chart.title',\n },\n icon: 'fa-light fa-chart-diagram',\n },\n },\n};\n","import type { AXPEntityReference, AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\n/** Persisted org-chart JSON: all chart modes in one row (`structure` column). */\nexport const AXM_ORG_CHART_STRUCTURE_SCHEMA_VERSION = 1 as const;\n\nexport interface AXMOrgChartStructurePayload {\n schemaVersion: typeof AXM_ORG_CHART_STRUCTURE_SCHEMA_VERSION;\n modes: {\n structure: AXMOrganizationManagementChartNodeEntityModel;\n location: AXMOrganizationManagementChartNodeEntityModel;\n reporting: AXMOrganizationManagementChartNodeEntityModel;\n positionHierarchy: AXMOrganizationManagementChartNodeEntityModel;\n };\n}\n\nexport interface AXMOrganizationManagementChartEntityModel extends AXPEntityModel<string> {\n version: string;\n structure: AXMOrgChartStructurePayload;\n}\n\nexport interface AXMOrganizationManagementChartNodeEntityModel extends AXPEntityModel<string> {\n id: string; // Unique identifier for the node\n title: AXPMultiLanguageString;\n subtitle?: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n isExpanded?: boolean; // Add this property\n children?: AXMOrganizationManagementChartNodeEntityModel[];\n icon?: string;\n type?: string; // Type of the node\n parentId?: string | null; // ID of the parent node (null for root)\n entity?: AXPEntityReference;\n metadata?: Record<string, any>; // Additional metadata (e.g., roles, counts, etc.)\n}\n","import { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n const entityName = 'business-unit-type';\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.businessUnitType.name,\n title: '@organization-management:business-unit-types.entities.business-unit-type.title',\n icon: 'fa-light fa-tags',\n formats: {\n individual: '@organization-management:business-unit-types.entities.business-unit-type.title',\n plural: '@organization-management:business-unit-types.entities.business-unit-type.plural',\n searchResult: { title: '{{ title }}', description: RootConfig.module.title },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n plugins: [{ name: 'color' }, { name: 'icon' }],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.TextBox },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'isLocationBased',\n title:\n '@organization-management:business-unit-types.entities.business-unit-type.fields.is-location-based.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n trulyText: '@general:terms.common.yes-no.yes',\n falsyText: '@general:terms.common.yes-no.no',\n },\n },\n defaultValue: false,\n },\n },\n {\n name: 'allowsDirectPositions',\n title:\n '@organization-management:business-unit-types.entities.business-unit-type.fields.allows-direct-positions.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n trulyText: '@general:terms.common.yes-no.yes',\n falsyText: '@general:terms.common.yes-no.no',\n },\n },\n defaultValue: true,\n },\n },\n ],\n columns: [\n { name: 'name' },\n { name: 'title' },\n { name: 'isLocationBased' },\n { name: 'allowsDirectPositions' },\n { name: 'color' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'name',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n {\n name: 'isLocationBased',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n {\n name: 'allowsDirectPositions',\n layout: {\n order: 4,\n positions: {\n sm: { colSpan: 12, order: 4 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'name',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n {\n name: 'isLocationBased',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n {\n name: 'allowsDirectPositions',\n layout: {\n order: 4,\n positions: {\n sm: { colSpan: 12, order: 4 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'name',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n {\n name: 'isLocationBased',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n {\n name: 'allowsDirectPositions',\n layout: {\n order: 4,\n positions: {\n sm: { colSpan: 12, order: 4 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","/**\n * Chart node data types for organization chart.\n */\nimport type { AXPEntityReference, AXPMultiLanguageString } from '@acorex/platform/core';\n\n/**\n * Chart nodes use {@link AXPMultiLanguageString} for every user-visible string on the card\n * (`title`, `subtitle`, `description`) so stored chart JSON and the UI respect locale.\n *\n * - Prefer **locale maps** `{ 'en-US': '…', 'fa-IR': '…' }` (see `createMultiLanguageString` in platform core).\n * - A **plain string** is allowed as a narrow fallback; the resolver treats it as the value for any locale.\n * - **`metadata`** fields that are shown in templates must also be `AXPMultiLanguageString` (or plain string\n * with the same rules), not English-only literals baked into feature code.\n */\nexport enum AXMOrgChartNodeType {\n Company = 'Company',\n BusinessUnit = 'BusinessUnit',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n/** Card layout for organizational (and compatible geographic) charts — see README merging strategy. */\nexport type AXMOrgChartCardTemplate =\n | 'merged-executive'\n | 'merged-unit'\n | 'merged-manager'\n | 'position-ic'\n | 'employee-card'\n | 'compact';\n\n/** Structured head / CEO block for merged cards; `positionTitle` is always localized. */\nexport interface AXMOrgChartMergedRoleBlock {\n positionTitle: AXPMultiLanguageString;\n positionId?: string;\n employeeName?: string;\n employeeId?: string;\n vacant: boolean;\n}\n\n// Minimal high-level categories for rendering/legend only\nexport enum AXMOrgChartCategory {\n Company = 'Company',\n BusinessUnit = 'BusinessUnit',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n/** User-selectable hierarchy chart view in the organization chart page. */\nexport type OrgChartMode = 'location' | 'structure' | 'reporting' | 'positionHierarchy';\n\nexport interface AXMOrganizationNode {\n id: string; // Unique identifier for the node\n /** Primary label; must be multi-language when content is not a proper name. */\n title: AXPMultiLanguageString;\n /** Secondary line (e.g. head summary); use locale map when mixing labels and entity titles. */\n subtitle?: AXPMultiLanguageString;\n /** Body / mission text. */\n description?: AXPMultiLanguageString;\n isExpanded?: boolean; // Add this property\n children?: AXMOrganizationNode[];\n icon?: string;\n type?: AXMOrgChartNodeType; // Type of the node\n parentId?: string | null; // ID of the parent node (null for root)\n entity?: AXPEntityReference;\n /** Rich card data; any **display** field here should use `AXPMultiLanguageString` like the core node fields. */\n metadata?: Record<string, any>;\n}\n\n/**\n * Pill badge on org chart node cards (icon + label). {@link title} is translated in the template.\n */\nexport interface AXMOrgChartNodeBadgeItem {\n /** Font Awesome class segment (e.g. `fa-light fa-building`). */\n icon: string;\n title: AXPMultiLanguageString;\n}\n\n/**\n * Footer metric cell: icon, numeric or short value, and translated label.\n */\nexport interface AXMOrgChartNodeFooterMetric {\n icon: string;\n /** Plain display value (formatted number or short text). */\n value: string;\n title: AXPMultiLanguageString;\n}\n","//#region ---- Org chart: shared communication flyout ----\n\n/**\n * Stable {@link AXMOrgChartNodeMenuAction.submenuGroupId} so chat and email extensions merge\n * their org-chart context actions under one parent flyout.\n */\nexport const AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID =\n 'organization-management.org-chart.communication-submenu' as const;\n\n/**\n * i18n key for the flyout parent label (`apps/.../organization-management.json`:\n * `organization-chart.communication-submenu.title`).\n */\nexport const AXM_ORG_CHART_COMMUNICATION_SUBMENU_TITLE_I18N_KEY =\n '@organization-management:organization-chart.communication-submenu.title' as const;\n\n/** Parent row icon when actions from multiple modules supply the same group id. */\nexport const AXM_ORG_CHART_COMMUNICATION_SUBMENU_ICON = 'fa-light fa-comments' as const;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { InjectionToken } from '@angular/core';\nimport { AXMOrganizationNode } from './org-chart.type';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport type AXMOrgChartNodeKind = 'company-root' | 'business-unit' | 'position' | 'employee' | 'other';\n\nexport interface AXMOrgChartNodeContributionContext {\n node: AXMOrganizationNode;\n nodeKind: AXMOrgChartNodeKind;\n selectedMode: 'location' | 'structure' | 'reporting' | 'positionHierarchy';\n refreshChart: () => Promise<void>;\n}\n\nexport interface AXMOrgChartNodeMenuAction {\n id: string;\n /** i18n key (`@scope:...`) or {@link AXPMultiLanguageString} locale map (`ax-menu-item` pipes `translate` without forwarding params — use maps for interpolated copy). */\n title: string | AXPMultiLanguageString;\n /** Interpolation helper for contributors; the org chart host does not pipe params into menu `translate` (use `title` maps). */\n titleParams?: Record<string, string | number>;\n icon?: string;\n color?: AXStyleColorType;\n order?: number;\n disabled?: boolean;\n /** When true, renders a separator after this item in the context menu. */\n break?: boolean;\n /**\n * When this action is rendered as a child of a `submenuGroupId` flyout, shows a separator after this row inside\n * that flyout only. Does not control the separator after the parent flyout (use `break` on any group member for that).\n */\n submenuSectionBreak?: boolean;\n /**\n * When true, nested under the chart **Add …** submenu (business unit kinds, add position, and similar).\n */\n nestedInAddFlyout?: boolean;\n /**\n * Optional flyout: actions that share the same `submenuGroupId` render as children of one parent row.\n * Use the same `submenuGroupTitle` for every member; `submenuGroupIcon` may be set on any member (first wins).\n * If `break` is true on any member, a separator is shown after the parent submenu row (child rows do not inherit\n * `break` for inner lines; use `submenuSectionBreak` for a separator between children inside the flyout).\n * Cross-module chat + email on the org chart should use the communication constants in\n * `org-chart-communication-submenu.const.ts` (`AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID`, title key, icon).\n */\n submenuGroupId?: string;\n submenuGroupTitle?: string | AXPMultiLanguageString;\n submenuGroupIcon?: string;\n execute: (context: AXMOrgChartNodeContributionContext) => Promise<void>;\n}\n\nexport interface AXMOrgChartNodeInfoContribution {\n id: string;\n title: AXPMultiLanguageString;\n order?: number;\n load: (context: AXMOrgChartNodeContributionContext) => Promise<unknown>;\n}\n\nexport interface AXMOrgChartNodeContributionProvider {\n getMenuActions(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeMenuAction[]>;\n getInfoContributions?(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeInfoContribution[]>;\n}\n\n//#endregion\n\n//#region ---- Tokens ----\n\nexport const AXM_ORG_CHART_NODE_CONTRIBUTOR = new InjectionToken<AXMOrgChartNodeContributionProvider[]>(\n 'AXM_ORG_CHART_NODE_CONTRIBUTOR',\n);\n\n//#endregion\n","import { Injectable, signal } from '@angular/core';\n\n/**\n * Broadcasts when persisted org chart structure was rebuilt (e.g. mock listener after related entity changes).\n * The chart page reloads from storage when {@link structureDataRevision} increments.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMOrgChartStructureRefreshHub {\n private readonly revision = signal(0);\n\n readonly structureDataRevision = this.revision.asReadonly();\n\n notifyStructureRebuilt(): void {\n this.revision.update((v) => v + 1);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { AXMOrganizationNode } from './org-chart.type';\n\n/**\n * Injected by org chart node components to access colors, i18n labels, and expand/collapse.\n */\nexport interface AXMOrgChartHostApi {\n getNodeColors(color: string): Record<string, string>;\n isNodeSelected(data: AXMOrganizationNode): boolean;\n selectNode(data: AXMOrganizationNode): void;\n openNodeContextMenuFromMore(event: unknown, data: AXMOrganizationNode): void;\n readonly chartML: {\n vacant: AXPMultiLanguageString;\n directReports: AXPMultiLanguageString;\n teams: AXPMultiLanguageString;\n people: AXPMultiLanguageString;\n positions: AXPMultiLanguageString;\n chiefExecutive: AXPMultiLanguageString;\n /** Business unit detail rows: unit head display name and role title from `metadata.unitHead`. */\n buHead: AXPMultiLanguageString;\n buPosition: AXPMultiLanguageString;\n unitType: AXPMultiLanguageString;\n businessUnit: AXPMultiLanguageString;\n location: AXPMultiLanguageString;\n code: AXPMultiLanguageString;\n capacity: AXPMultiLanguageString;\n level: AXPMultiLanguageString;\n email: AXPMultiLanguageString;\n phone: AXPMultiLanguageString;\n employmentType: AXPMultiLanguageString;\n workMode: AXPMultiLanguageString;\n /** i18n key for the node “more” control (translate pipe). */\n more: string;\n /** i18n key when the context menu has no runnable actions. */\n noActionsAvailable: string;\n };\n getTeamsMembershipCount(data: AXMOrganizationNode): number | null;\n /** When the card body already shows the assignee (merged unit / manager seat), hide `subtitle` so it is not duplicated. */\n shouldShowOrgCardSubtitle(data: AXMOrganizationNode): boolean;\n /** Subtree / seat strip: BU & company snapshot stats, or `position-ic` seats (1 position; people from vacant state or subtree). */\n getSubtreeRosterCounts(data: AXMOrganizationNode): { people: number; positions: number } | null;\n /** Key-value rows for the side detail panel only (not rendered on node cards). */\n getNodeInfoItems(data: AXMOrganizationNode): Array<{ label: AXPMultiLanguageString; value: string }>;\n toggleNode(data: AXMOrganizationNode, el?: HTMLDivElement | null): void;\n}\n\nexport const AXM_ORG_CHART_HOST = new InjectionToken<AXMOrgChartHostApi>('AXM_ORG_CHART_HOST');\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXM_ORG_CHART_HOST } from '../../org-chart-host.token';\nimport { AXMOrganizationNode, AXMOrgChartNodeType } from '../../org-chart.type';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Side panel for the organization chart: mirrors document explorer detail-panel layout/styling for node summary and metadata rows.\n */\n@Component({\n selector: 'axm-org-chart-detail-panel',\n templateUrl: './org-chart-detail-panel.component.html',\n styleUrls: ['./org-chart-detail-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXDecoratorModule, AXButtonModule, AXTranslationModule],\n})\nexport class AXMOrgChartDetailPanelComponent {\n //#region ---- Services & Dependencies ----\n\n protected readonly host = inject(AXM_ORG_CHART_HOST);\n protected readonly OrgChartNodeType = AXMOrgChartNodeType;\n\n //#endregion\n\n //#region ---- Inputs / Outputs ----\n\n /** Selected tree node, or `null` when nothing is selected. */\n readonly node = input<AXMOrganizationNode | null>(null);\n\n /** Emitted when the user closes the panel (matches explorer close control). */\n readonly panelClose = output<void>();\n\n //#endregion\n\n //#region ---- Node surface (icon chip) ----\n\n /**\n * CSS custom properties for {@link AXMOrgChartHostApi.getNodeColors}. Use per-property `[style.--*]` bindings;\n * a plain `[style]` map does not reliably apply `--node-*` variables in all Angular versions.\n */\n protected surfaceVarsForNode(node: AXMOrganizationNode): Record<string, string> {\n return this.host.getNodeColors(this.nodeColorKey(node));\n }\n\n protected surfaceVarsForPrimary(): Record<string, string> {\n return this.host.getNodeColors('primary');\n }\n\n /**\n * Color argument for {@link AXMOrgChartHostApi.getNodeColors}: semantic token or `metadata.unitTypeColor` (hex/rgb) for business units.\n */\n protected nodeColorKey(node: AXMOrganizationNode): string {\n if (node.type === AXMOrgChartNodeType.Company) {\n return 'primary';\n }\n if (node.type === AXMOrgChartNodeType.BusinessUnit) {\n const typeColor = node.metadata?.['unitTypeColor'];\n if (typeof typeColor === 'string' && typeColor.trim().length > 0) {\n return typeColor.trim();\n }\n return node.metadata?.['isRegional'] === true ? 'accent1' : 'accent2';\n }\n if (node.type === AXMOrgChartNodeType.Position || node.type === AXMOrgChartNodeType.Employee) {\n return 'accent3';\n }\n return 'primary';\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n protected onClose(): void {\n this.panelClose.emit();\n }\n\n protected nodeIconClass(node: AXMOrganizationNode): string {\n const raw = node.icon?.trim() ?? '';\n const withoutWeight = raw\n .replace(/\\bfa-(solid|light|regular|thin|duotone)\\b/gi, '')\n .trim()\n .replace(/\\s+/g, ' ');\n const glyph = withoutWeight.length > 0 ? withoutWeight : 'fa-sitemap';\n return `fa-solid fa-lg fa-fw ${glyph}`;\n }\n\n //#endregion\n}\n\n//#endregion\n","@let n = node();\n@if (n) {\n @let sv = surfaceVarsForNode(n);\n <div class=\"__header\">\n <div class=\"__title\">\n <span\n class=\"detail-panel-icon\"\n [style.--node-bg-color]=\"sv['--node-bg-color']\"\n >\n <i [class]=\"nodeIconClass(n)\"></i>\n </span>\n <div class=\"ax-flex ax-flex-col ax-min-w-0 ax-flex-1\">\n <span class=\"__heading-primary\">{{ n.title | translate | async }}</span>\n @if (n.type === OrgChartNodeType.BusinessUnit) {\n @if (n.description) {\n <span class=\"ax-text-xs ax-opacity-80 ax-truncate\">{{ n.description | translate | async }}</span>\n } @else if (n.subtitle) {\n <span class=\"ax-text-xs ax-opacity-80 ax-truncate\">{{ n.subtitle | translate | async }}</span>\n }\n } @else if (n.subtitle) {\n <span class=\"ax-text-xs ax-opacity-80 ax-truncate\">{{ n.subtitle | translate | async }}</span>\n }\n </div>\n </div>\n <ax-button [look]=\"'blank'\" class=\"ax-sm ax-rounded-full\" (onClick)=\"onClose()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n <div class=\"__content\">\n @if (host.getNodeInfoItems(n).length > 0) {\n <div class=\"__section\">\n <div class=\"__title\">\n <span>{{\n '@organization-management:organization-chart.components.chart.detail-panel.details-section'\n | translate\n | async\n }}</span>\n </div>\n <div class=\"__content\">\n @for (item of host.getNodeInfoItems(n); track item.value + '-' + $index) {\n <div class=\"__row\">\n <div class=\"__title\">\n <span>{{ item.label | translate | async }}</span>\n </div>\n <div class=\"__content\">\n <span>{{ item.value }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n } @else {\n <div class=\"__section\">\n <div class=\"__content\">\n <span class=\"ax-opacity-70 ax-text-sm\">{{\n '@organization-management:organization-chart.components.chart.detail-panel.no-rows'\n | translate\n | async\n }}</span>\n </div>\n </div>\n }\n </div>\n} @else {\n @let pv = surfaceVarsForPrimary();\n <div class=\"__header\">\n <div class=\"__title\">\n <span\n class=\"detail-panel-icon\"\n [style.--node-bg-color]=\"pv['--node-bg-color']\"\n >\n <i class=\"fa-solid fa-lg fa-fw fa-diagram-project\"></i>\n </span>\n <span class=\"__heading-primary\">{{\n '@organization-management:organization-chart.components.chart.detail-panel.title' | translate | async\n }}</span>\n </div>\n <ax-button [look]=\"'blank'\" class=\"ax-sm ax-rounded-full\" (onClick)=\"onClose()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n <div class=\"__content\">\n <div class=\"__section\">\n <div class=\"__content\">\n <span class=\"ax-opacity-70 ax-text-sm\">{{\n '@organization-management:organization-chart.components.chart.detail-panel.empty' | translate | async\n }}</span>\n </div>\n </div>\n </div>\n}\n","export enum AXPOrganizationManagementSettings {\n OrganizationName = 'OrganizationManagement:Setting:Organization.OrganizationName',\n OrganizationID = 'OrganizationManagement:Setting:Organization.OrganizationID',\n ContactEmail = 'OrganizationManagement:Setting:Organization.ContactEmail',\n ContactPhone = 'OrganizationManagement:Setting:Organization.ContactPhone',\n OrganizationAddress = 'OrganizationManagement:Setting:Organization.OrganizationAddress',\n OrganizationCity = 'OrganizationManagement:Setting:Organization.OrganizationCity',\n OrganizationCountry = 'OrganizationManagement:Setting:Organization.OrganizationCountry',\n BrandingColor = 'OrganizationManagement:Setting:Organization.Branding.Color',\n BrandingLogo = 'OrganizationManagement:Setting:Organization.Branding.Logo',\n CopyrightText = 'OrganizationManagement:Setting:Organization.CopyrightText',\n ApplicationHeaderTitle = 'OrganizationManagement:Setting:Organization.ApplicationHeaderTitle',\n SupportEmail = 'OrganizationManagement:Setting:Organization.SupportEmail',\n InfoEmail = 'OrganizationManagement:Setting:Organization.InfoEmail',\n FaxNumber = 'OrganizationManagement:Setting:Organization.FaxNumber',\n Relations = 'OrganizationManagement:Setting:Organization.Relations',\n\n /** User preference: organization hierarchy chart mode (`structure` | `location` | `reporting` | `positionHierarchy`). */\n HierarchyChartMode = 'OrganizationManagement:Setting:User.HierarchyChart.Mode',\n /** User preference: show vacant leaf seats (structure / geographic modes). */\n HierarchyChartShowVacantLeafSeats = 'OrganizationManagement:Setting:User.HierarchyChart.ShowVacantLeafSeats',\n}\n","import type { OrgChartMode } from './org-chart.type';\n\n/**\n * Chart mode + vacant-seat visibility restored from user settings (route resolver or post-load hydrate).\n */\nexport interface OrgChartHydratedUiPrefs {\n selectedMode?: OrgChartMode;\n showVacantLeafSeats?: boolean;\n}\n\nexport function parseOrgChartMode(value: unknown): OrgChartMode | undefined {\n if (\n value === 'structure' ||\n value === 'location' ||\n value === 'reporting' ||\n value === 'positionHierarchy'\n ) {\n return value;\n }\n return undefined;\n}\n\n/**\n * Normalizes vacant-toggle values from persisted settings or UI widgets (some paths use strings).\n */\nexport function normalizeVacantLeafSeatsSetting(value: unknown): boolean | undefined {\n if (value === true || value === 1) {\n return true;\n }\n if (value === false || value === 0) {\n return false;\n }\n if (typeof value === 'string') {\n const s = value.trim().toLowerCase();\n if (s === 'true' || s === '1' || s === 'yes' || s === 'on') {\n return true;\n }\n if (s === 'false' || s === '0' || s === 'no' || s === 'off') {\n return false;\n }\n }\n return undefined;\n}\n","import { inject } from '@angular/core';\nimport { ResolveFn } from '@angular/router';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPOrganizationManagementSettings } from '../../settings.keys';\nimport {\n normalizeVacantLeafSeatsSetting,\n type OrgChartHydratedUiPrefs,\n parseOrgChartMode,\n} from './org-chart-user-ui.helper';\n\n/**\n * Loads user chart UI preferences before {@link AXMOrgChartPage} is created so the first render matches saved state.\n */\nexport const orgChartUiPrefsResolver: ResolveFn<OrgChartHydratedUiPrefs> = async () => {\n const settingsService = inject(AXPSettingsService);\n await settingsService.load();\n\n const userScope = settingsService.scope(AXPPlatformScope.User);\n const modeRaw = await userScope.get<string | undefined>(\n AXPOrganizationManagementSettings.HierarchyChartMode,\n );\n const vacantRaw = await userScope.get<unknown>(\n AXPOrganizationManagementSettings.HierarchyChartShowVacantLeafSeats,\n );\n\n const prefs: OrgChartHydratedUiPrefs = {};\n const mode = parseOrgChartMode(modeRaw);\n if (mode !== undefined) {\n prefs.selectedMode = mode;\n }\n const vacant = normalizeVacantLeafSeatsSetting(vacantRaw);\n if (vacant !== undefined) {\n prefs.showVacantLeafSeats = vacant;\n }\n return prefs;\n};\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Organization Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const OrganizationManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n // Module dependencies\n dependencies: ['LearningManagement'],\n};\n\n//#endregion\n\n","import { AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXMResponsibilitiesMatrixWidget: AXPWidgetConfig<AXMResponsibilitiesMatrixWidgetConfigType> = {\n name: 'responsibilities-matrix-editor',\n title: 'Responsibilities Matrix',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n description: 'Matrix widget for managing responsibility levels',\n icon: 'fa-light fa-table',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./responsibilities-matrix-widget-view.component').then((c) => c.AXMResponsibilitiesMatrixWidgetViewComponent),\n },\n edit: {\n component: () => import('./responsibilities-matrix-widget-edit.component').then((c) => c.AXMResponsibilitiesMatrixWidgetEditComponent),\n },\n },\n};\n\nexport type AXMResponsibilitiesMatrixWidgetConfigType = {\n type: 'editor';\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXMResponsibilitiesMatrixWidget } from './features/responsibilities-matrix/responsibilities-matrix-widget.config';\n\n//#endregion\n\n//#region ---- Organization Management Widgets Provider ----\n\n@Injectable()\nexport class AXMOrganizationManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMResponsibilitiesMatrixWidget];\n }\n}\n\n//#endregion\n","export const AXMOrganizationManagementCommandKeys = {\n OrganizationChart: {\n AddPositionToBusinessUnit: 'OrganizationManagement.OrgChart:AddPositionToBusinessUnit',\n AddBusinessUnitToBusinessUnit: 'OrganizationManagement.OrgChart:AddBusinessUnitToBusinessUnit',\n RemovePositionFromBusinessUnit: 'OrganizationManagement.OrgChart:RemovePositionFromBusinessUnit',\n ReplacePositionAssignee: 'OrganizationManagement.OrgChart:ReplacePositionAssignee',\n },\n} as const;\n\n/** HCM command key (string only; avoid importing HCM from org-management). */\nexport const AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND =\n 'HumanCapitalManagement.PositionAssignment:Assign' as const;\n\n/** HCM command key (string only; avoid importing HCM from org-management). */\nexport const AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND =\n 'HumanCapitalManagement.PositionAssignment:Revoke' as const;\n","export const AXPOrganizationManagementPermissionKeys = {\n OrganizationManagement: {\n Management: 'OrganizationManagement:Permission:OrganizationManagement.Management',\n },\n // Important Entity - Full CRUD\n Team: {\n Management: 'OrganizationManagement:Permission:Team.Management',\n View: 'OrganizationManagement:Permission:Team.View',\n Create: 'OrganizationManagement:Permission:Team.Create',\n Update: 'OrganizationManagement:Permission:Team.Update',\n Delete: 'OrganizationManagement:Permission:Team.Delete',\n },\n // Important Entity - Full CRUD\n Position: {\n Management: 'OrganizationManagement:Permission:Position.Management',\n View: 'OrganizationManagement:Permission:Position.View',\n Create: 'OrganizationManagement:Permission:Position.Create',\n Update: 'OrganizationManagement:Permission:Position.Update',\n Delete: 'OrganizationManagement:Permission:Position.Delete',\n },\n // Important Entity - Full CRUD\n JobDefinition: {\n Management: 'OrganizationManagement:Permission:JobDefinition.Management',\n View: 'OrganizationManagement:Permission:JobDefinition.View',\n Create: 'OrganizationManagement:Permission:JobDefinition.Create',\n Update: 'OrganizationManagement:Permission:JobDefinition.Update',\n Delete: 'OrganizationManagement:Permission:JobDefinition.Delete',\n },\n // Simple Entity - Management Only\n JobLevel: {\n Management: 'OrganizationManagement:Permission:JobLevel.Management',\n },\n // Simple Entity - Management Only\n Responsibility: {\n Management: 'OrganizationManagement:Permission:Responsibility.Management',\n },\n // Important Entity - Full CRUD\n BusinessUnit: {\n Management: 'OrganizationManagement:Permission:BusinessUnit.Management',\n View: 'OrganizationManagement:Permission:BusinessUnit.View',\n Create: 'OrganizationManagement:Permission:BusinessUnit.Create',\n Update: 'OrganizationManagement:Permission:BusinessUnit.Update',\n Delete: 'OrganizationManagement:Permission:BusinessUnit.Delete',\n },\n // Simple Entity - Management Only\n BusinessUnitType: {\n Management: 'OrganizationManagement:Permission:BusinessUnitType.Management',\n },\n // Simple Entity - Management Only\n Chart: {\n Management: 'OrganizationManagement:Permission:Chart.Management',\n },\n} as const;\n\n","//#region ---- Imports ----\n\nimport { AXTranslationService, createMultiLanguageString, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { AXMOrganizationManagementCommandKeys } from '../../commands.keys';\nimport { RootConfig } from '../../const';\nimport { AXPOrganizationManagementPermissionKeys } from '../../permission.keys';\nimport {\n AXMOrgChartNodeContributionContext,\n AXMOrgChartNodeContributionProvider,\n AXMOrgChartNodeMenuAction,\n} from './org-chart-node-contribution.token';\n\n//#endregion\n\n//#region ---- Module Constants ----\n\nconst orgChartNodeActionKey = (suffix: string): string =>\n `@organization-management:organization-chart.node-actions.${suffix}`;\n\n//#endregion\n\n@Injectable()\nexport class AXMOrgChartDefaultNodeContributionProvider implements AXMOrgChartNodeContributionProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly workflowService = inject(AXPWorkflowService);\n private readonly sessionService = inject(AXPSessionService);\n private readonly entityService = inject(AXPEntityService);\n private readonly localeId = inject(LOCALE_ID);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Menu Actions ----\n\n async getMenuActions(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeMenuAction[]> {\n if (context.nodeKind !== 'company-root' && context.nodeKind !== 'business-unit') {\n return [];\n }\n\n const businessUnitId = this.resolveBusinessUnitId(context);\n const parentId = context.nodeKind === 'business-unit' ? businessUnitId : undefined;\n\n const typeAllowsDirectPositions =\n context.nodeKind === 'business-unit' && businessUnitId\n ? await this.resolveTypeAllowsDirectPositions(context, businessUnitId)\n : false;\n\n /** When true, a separator goes after the last “Add BU by type” row before the Add position row. */\n const hasPositionRowAfterBuTypes =\n context.nodeKind === 'business-unit' && Boolean(businessUnitId) && typeAllowsDirectPositions;\n\n const canCreateBusinessUnit = this.authorize(AXPOrganizationManagementPermissionKeys.BusinessUnit.Create);\n const canUpdateBusinessUnit = this.authorize(AXPOrganizationManagementPermissionKeys.BusinessUnit.Update);\n const canDeleteBusinessUnit = this.authorize(AXPOrganizationManagementPermissionKeys.BusinessUnit.Delete);\n const canViewPosition = this.authorize(AXPOrganizationManagementPermissionKeys.Position.View);\n\n const buTypeRows = await this.loadBusinessUnitTypes();\n const addNewBuKey = orgChartNodeActionKey('add-new-bu-with-type');\n const addBuActions: AXMOrgChartNodeMenuAction[] = await Promise.all(\n buTypeRows.map(async (row, index) => ({\n id: `organization-management.add-bu-type.${row.id}`,\n title: await this.menuTitleDualLocale(addNewBuKey, { type: row.title }),\n nestedInAddFlyout: true,\n icon: 'fa-light fa-sitemap',\n order: 10 + index,\n disabled: !canCreateBusinessUnit,\n break: hasPositionRowAfterBuTypes && index === buTypeRows.length - 1 && buTypeRows.length > 0,\n execute: async () => {\n await this.commandService.execute(\n AXMOrganizationManagementCommandKeys.OrganizationChart.AddBusinessUnitToBusinessUnit,\n { parentBusinessUnitId: parentId, typeId: row.id },\n );\n await context.refreshChart();\n },\n })),\n );\n\n const addPositionToBuAction: AXMOrgChartNodeMenuAction | null =\n context.nodeKind === 'business-unit' && businessUnitId && typeAllowsDirectPositions\n ? {\n id: 'organization-management.add-position-to-business-unit',\n title: orgChartNodeActionKey('add-new-position'),\n nestedInAddFlyout: true,\n icon: 'fa-light fa-briefcase',\n order: 10 + buTypeRows.length,\n disabled: !canUpdateBusinessUnit || !canViewPosition,\n execute: async () => {\n const result = await this.commandService.execute(\n AXMOrganizationManagementCommandKeys.OrganizationChart.AddPositionToBusinessUnit,\n { businessUnitId },\n );\n if (result?.success) {\n await context.refreshChart();\n }\n },\n }\n : null;\n\n const removeBuActions: AXMOrgChartNodeMenuAction[] =\n context.nodeKind === 'business-unit'\n ? [\n {\n id: 'organization-management.remove-bu',\n title: orgChartNodeActionKey('remove'),\n icon: 'fa-light fa-trash',\n color: 'danger',\n order: 120,\n disabled: !canDeleteBusinessUnit || !businessUnitId,\n execute: async () => {\n await this.workflowService.execute('delete-entity', {\n entity: RootConfig.entities.businessUnit.source,\n data: { id: businessUnitId },\n options: { process: { showResult: true } },\n });\n await context.refreshChart();\n },\n },\n ]\n : [];\n\n return [...addBuActions, ...(addPositionToBuAction ? [addPositionToBuAction] : []), ...removeBuActions];\n }\n\n //#endregion\n\n //#region ---- Authorization ----\n\n private authorize(permission: string): boolean {\n return this.sessionService.authorize(permission);\n }\n\n //#endregion\n\n //#region ---- Menu Labels ----\n\n /**\n * Resolves copy for menu rows: nested `translate` bindings do not pass interpolation params into the pipe;\n * use per-locale strings via {@link createMultiLanguageString}.\n *\n * TODO: Remove this dual-locale pre-resolution once we can pass interpolation params through\n * {@link AXPMultiLanguageString} and/or the menu `translate` pipe (see `@acorex/components/menu` item template).\n */\n private async menuTitleDualLocale(\n key: string,\n params: Record<string, string | number>,\n ): Promise<ReturnType<typeof createMultiLanguageString>> {\n const [enUs, faIr] = await Promise.all([\n this.translationService.translateAsync(key, { lang: 'en-US', params }),\n this.translationService.translateAsync(key, { lang: 'fa-IR', params }),\n ]);\n return createMultiLanguageString(enUs, faIr);\n }\n\n //#endregion\n\n //#region ---- Business Unit Types ----\n\n /**\n * Resolves whether the BU's type allows direct positions (metadata from chart, nested type, or type lookup).\n */\n private async resolveTypeAllowsDirectPositions(\n context: AXMOrgChartNodeContributionContext,\n businessUnitId: string,\n ): Promise<boolean> {\n const fromMeta = context.node.metadata?.['typeAllowsDirectPositions'];\n if (typeof fromMeta === 'boolean') {\n return fromMeta;\n }\n try {\n const bu = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.businessUnit.name)\n .data()\n .byKey(businessUnitId);\n const row = bu as { type?: { allowsDirectPositions?: boolean }; typeId?: string } | null;\n const nested = row?.type?.allowsDirectPositions;\n if (typeof nested === 'boolean') {\n return nested;\n }\n const typeId = row?.typeId?.trim();\n if (typeId) {\n const ty = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.businessUnitType.name)\n .data()\n .byKey(typeId);\n return (ty as { allowsDirectPositions?: boolean } | null)?.allowsDirectPositions !== false;\n }\n } catch {\n // fall through\n }\n return true;\n }\n\n private async loadBusinessUnitTypes(): Promise<Array<{ id: string; title: string }>> {\n try {\n const result = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.businessUnitType.name)\n .data()\n .query({\n skip: 0,\n take: 500,\n sort: [{ field: 'title', dir: 'asc' }],\n });\n const items = (result.items ?? []) as Array<{ id: string; title?: unknown; name?: string }>;\n return items\n .map((row) => {\n const id = String(row.id ?? '');\n const title = this.resolveBusinessUnitTypeLabel(row);\n return { id, title: title || (row.name ?? '').trim() || id };\n })\n .filter((row) => row.id.length > 0);\n } catch {\n return [];\n }\n }\n\n /**\n * API rows use {@link AXPMultiLanguageString} for `title`; treating it as a string breaks `.trim()` and drops all types.\n */\n private resolveBusinessUnitTypeLabel(row: { title?: unknown; name?: string }): string {\n const raw = row.title;\n if (raw == null) {\n return '';\n }\n if (typeof raw === 'string') {\n return raw.trim();\n }\n return resolveMultiLanguageString(raw as AXPMultiLanguageString, this.localeId).trim();\n }\n\n //#endregion\n\n //#region ---- Node Metadata ----\n\n private resolveBusinessUnitId(context: AXMOrgChartNodeContributionContext): string | undefined {\n if (context.nodeKind === 'business-unit') {\n return (\n context.node.entity?.id ??\n (context.node.metadata?.['businessUnitId'] as string | undefined) ??\n (context.node.metadata?.['unitId'] as string | undefined)\n );\n }\n return context.node.metadata?.['businessUnitId'] as string | undefined;\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport {\n AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND,\n AXMOrganizationManagementCommandKeys,\n} from '../../commands.keys';\nimport { RootConfig } from '../../const';\nimport { AXPOrganizationManagementPermissionKeys } from '../../permission.keys';\nimport {\n AXMOrgChartNodeContributionContext,\n AXMOrgChartNodeContributionProvider,\n AXMOrgChartNodeMenuAction,\n} from './org-chart-node-contribution.token';\n\n//#endregion\n\n//#region ---- Module Constants ----\n\nconst orgChartNodeActionKey = (suffix: string): string =>\n `@organization-management:organization-chart.node-actions.${suffix}`;\n\nconst HCM_EMPLOYEE_MODULE = 'HumanCapitalManagement';\nconst HCM_EMPLOYEE_NAME = 'Employee';\nconst HCM_EMPLOYEE_SOURCE = `${HCM_EMPLOYEE_MODULE}.${HCM_EMPLOYEE_NAME}`;\nconst HCM_EMPLOYEE_TITLE_KEY = '@human-capital-management:employees.entities.employee.title';\n\nconst POSITION_ENTITY_SOURCE = RootConfig.entities.position.source;\n\nconst positionAssignmentCreatePermission = 'HumanCapitalManagement:Permission:PositionAssignment.Create';\nconst positionAssignmentEditPermission = 'HumanCapitalManagement:Permission:PositionAssignment.Edit';\nconst employeeEditPermission = 'HumanCapitalManagement:Permission:Employee.Edit';\n\n//#endregion\n\n/**\n * Context menu actions for org chart **position** and **employee** nodes (structure / location / etc.).\n */\n@Injectable()\nexport class AXMOrgChartPositionEmployeeNodeContributionProvider implements AXMOrgChartNodeContributionProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly sessionService = inject(AXPSessionService);\n\n private readonly positionEntityInfo = {\n module: RootConfig.module.name,\n name: RootConfig.entities.position.name,\n title: RootConfig.entities.position.title,\n };\n\n private readonly employeeEntityInfo = {\n module: HCM_EMPLOYEE_MODULE,\n name: HCM_EMPLOYEE_NAME,\n title: HCM_EMPLOYEE_TITLE_KEY,\n };\n\n //#endregion\n\n //#region ---- AXMOrgChartNodeContributionProvider Implementation ----\n\n async getMenuActions(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeMenuAction[]> {\n if (context.nodeKind === 'position') {\n return this.getPositionNodeActions(context);\n }\n if (context.nodeKind === 'employee') {\n return this.getEmployeeNodeActions(context);\n }\n return [];\n }\n\n //#endregion\n\n //#region ---- Position Node Actions ----\n\n private getPositionNodeActions(context: AXMOrgChartNodeContributionContext): AXMOrgChartNodeMenuAction[] {\n const positionId = this.resolvePositionId(context);\n if (!positionId) {\n return [];\n }\n\n const businessUnitId = this.resolveBusinessUnitIdForPosition(context);\n const vacant = context.node.metadata?.['vacant'] === true;\n const occupant = context.node.metadata?.['occupant'] as Record<string, unknown> | undefined;\n const occupantEmployeeId =\n typeof occupant?.['employeeId'] === 'string' && occupant['employeeId'].trim().length > 0\n ? occupant['employeeId'].trim()\n : undefined;\n\n const canViewPosition = this.authorize(AXPOrganizationManagementPermissionKeys.Position.View);\n const canUpdatePosition = this.authorize(AXPOrganizationManagementPermissionKeys.Position.Update);\n const canUpdateBusinessUnit = this.authorize(AXPOrganizationManagementPermissionKeys.BusinessUnit.Update);\n const canCreateAssignment = this.authorize(positionAssignmentCreatePermission);\n const canEditAssignment = this.authorize(positionAssignmentEditPermission);\n\n const actions: AXMOrgChartNodeMenuAction[] = [];\n\n actions.push({\n id: 'organization-management.modify-position-from-chart',\n title: orgChartNodeActionKey('modify-position'),\n icon: 'fa-light fa-pen',\n order: 100,\n disabled: !canUpdatePosition || !canViewPosition,\n execute: async (ctx) => {\n const pid = this.resolvePositionId(ctx);\n if (!pid) {\n return;\n }\n await this.commandService.execute('Entity:Update', {\n __context__: {\n entity: POSITION_ENTITY_SOURCE,\n entityInfo: this.positionEntityInfo,\n data: pid,\n options: {\n process: {\n redirect: false,\n },\n },\n },\n });\n await ctx.refreshChart();\n },\n });\n\n if (vacant && businessUnitId) {\n actions.push({\n id: 'organization-management.assign-employee-to-position-from-chart',\n title: orgChartNodeActionKey('assign-employee-to-position'),\n icon: 'fa-light fa-user-plus',\n order: 110,\n disabled: !canCreateAssignment,\n execute: async (ctx) => {\n const pid = this.resolvePositionId(ctx);\n const buId = this.resolveBusinessUnitIdForPosition(ctx);\n if (!pid || !buId) {\n return;\n }\n const result = await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, {\n data: {\n businessUnitId: buId,\n positionId: pid,\n isPrimary: false,\n },\n });\n if (result?.success) {\n await ctx.refreshChart();\n }\n },\n });\n }\n\n if (!vacant && occupantEmployeeId && businessUnitId) {\n actions.push({\n id: 'organization-management.replace-position-assignee-from-chart',\n title: orgChartNodeActionKey('assign-new-employee-to-position'),\n icon: 'fa-light fa-arrows-rotate',\n order: 115,\n disabled: !canCreateAssignment || !canEditAssignment,\n execute: async (ctx) => {\n const pid = this.resolvePositionId(ctx);\n const buId = this.resolveBusinessUnitIdForPosition(ctx);\n const occ = ctx.node.metadata?.['occupant'] as Record<string, unknown> | undefined;\n const eid =\n typeof occ?.['employeeId'] === 'string' && occ['employeeId'].trim().length > 0\n ? occ['employeeId'].trim()\n : '';\n if (!pid || !buId || !eid) {\n return;\n }\n const result = await this.commandService.execute(\n AXMOrganizationManagementCommandKeys.OrganizationChart.ReplacePositionAssignee,\n { businessUnitId: buId, positionId: pid, currentEmployeeId: eid },\n );\n if (result?.success) {\n await ctx.refreshChart();\n }\n },\n });\n }\n\n if (businessUnitId) {\n actions.push({\n id: 'organization-management.remove-position-from-unit-from-chart',\n title: orgChartNodeActionKey('remove-from-unit'),\n icon: 'fa-light fa-link-slash',\n color: 'danger',\n order: 120,\n disabled: !canUpdateBusinessUnit,\n execute: async (ctx) => {\n const pid = this.resolvePositionId(ctx);\n const buId = this.resolveBusinessUnitIdForPosition(ctx);\n if (!pid || !buId) {\n return;\n }\n const occ = ctx.node.metadata?.['occupant'] as Record<string, unknown> | undefined;\n const occId =\n typeof occ?.['employeeId'] === 'string' && occ['employeeId'].trim().length > 0\n ? occ['employeeId'].trim()\n : undefined;\n const result = await this.commandService.execute(\n AXMOrganizationManagementCommandKeys.OrganizationChart.RemovePositionFromBusinessUnit,\n {\n businessUnitId: buId,\n positionId: pid,\n ...(occId ? { occupantEmployeeId: occId } : {}),\n },\n );\n if (result?.success) {\n await ctx.refreshChart();\n }\n },\n });\n }\n\n return actions;\n }\n\n //#endregion\n\n //#region ---- Employee Node Actions ----\n\n private getEmployeeNodeActions(context: AXMOrgChartNodeContributionContext): AXMOrgChartNodeMenuAction[] {\n const employeeId = this.resolveEmployeeId(context);\n if (!employeeId) {\n return [];\n }\n\n const canEditEmployee = this.authorize(employeeEditPermission);\n\n return [\n {\n id: 'organization-management.modify-employee-from-chart',\n title: orgChartNodeActionKey('modify-employee'),\n icon: 'fa-light fa-pen',\n order: 100,\n disabled: !canEditEmployee,\n execute: async (ctx) => {\n const eid = this.resolveEmployeeId(ctx);\n if (!eid) {\n return;\n }\n await this.commandService.execute('Entity:Update', {\n __context__: {\n entity: HCM_EMPLOYEE_SOURCE,\n entityInfo: this.employeeEntityInfo,\n data: eid,\n options: {\n process: {\n redirect: false,\n },\n },\n },\n });\n await ctx.refreshChart();\n },\n },\n ];\n }\n\n //#endregion\n\n //#region ---- Resolvers & Authorization ----\n\n private authorize(permission: string): boolean {\n return this.sessionService.authorize(permission);\n }\n\n private resolvePositionId(context: AXMOrgChartNodeContributionContext): string | undefined {\n const entity = context.node.entity;\n if (entity?.id != null && this.isPositionEntityType(entity.type)) {\n const id = String(entity.id).trim();\n return id.length > 0 ? id : undefined;\n }\n const metaPid = context.node.metadata?.['positionId'];\n if (typeof metaPid === 'string' && metaPid.trim().length > 0) {\n return metaPid.trim();\n }\n return undefined;\n }\n\n private isPositionEntityType(entityType: string | undefined): boolean {\n if (!entityType || typeof entityType !== 'string') {\n return false;\n }\n return entityType === POSITION_ENTITY_SOURCE || entityType.endsWith('.Position');\n }\n\n private resolveBusinessUnitIdForPosition(context: AXMOrgChartNodeContributionContext): string | undefined {\n const meta = context.node.metadata ?? {};\n const a = meta['businessUnitId'];\n const b = meta['organizationalUnitId'];\n const raw = (typeof a === 'string' && a.trim().length > 0 ? a : typeof b === 'string' ? b : '') as string;\n const id = String(raw).trim();\n return id.length > 0 ? id : undefined;\n }\n\n private resolveEmployeeId(context: AXMOrgChartNodeContributionContext): string | undefined {\n const entity = context.node.entity;\n if (entity?.id != null && this.isEmployeeEntityType(entity.type)) {\n const id = String(entity.id).trim();\n return id.length > 0 ? id : undefined;\n }\n return undefined;\n }\n\n private isEmployeeEntityType(entityType: string | undefined): boolean {\n if (!entityType || typeof entityType !== 'string') {\n return false;\n }\n return entityType === HCM_EMPLOYEE_SOURCE || entityType.endsWith('.Employee');\n }\n\n //#endregion\n}\n","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_IDENTIFIER_RULES } from '@acorex/modules/identifier-management';\nimport { AXP_HOME_PAGES, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport {\n AXP_MODULE_MANIFEST_PROVIDER,\n AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n AXP_DATASOURCE_DEFINITION_PROVIDER,\n AXP_FEATURE_DEFINITION_PROVIDER,\n provideLazyProvider,\n} from '@acorex/platform/core';\nimport { orgChartUiPrefsResolver } from './features/organization-chart/org-chart-ui.resolver';\nimport { OrganizationManagementManifest } from './manifest';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex/platform/layout/components';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { provideCommand } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { inject, NgModule } from '@angular/core';\nimport { Route, Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementWidgetsProvider } from './widget-definition.provider';\nimport { AXMOrgChartDefaultNodeContributionProvider } from './features/organization-chart/org-chart-default-node-contribution.provider';\nimport { AXMOrgChartPositionEmployeeNodeContributionProvider } from './features/organization-chart/org-chart-position-employee-node-contribution.provider';\nimport { AXMOrganizationManagementCommandKeys } from './commands.keys';\nimport { AXM_ORG_CHART_NODE_CONTRIBUTOR } from './features/organization-chart/org-chart-node-contribution.token';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n loadComponent: () => {\n return config.viewers.root();\n },\n path: ':app/organization',\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: 'chart',\n resolve: { orgChartUi: orgChartUiPrefsResolver },\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n ],\n },\n ];\n return routes;\n}\n\nfunction routesFactory(): Route {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n return {\n path: ':app/organization',\n loadComponent: () => {\n return config.viewers.root();\n },\n children: [\n {\n path: 'chart',\n resolve: { orgChartUi: orgChartUiPrefsResolver },\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n ],\n };\n}\n\n@NgModule({\n imports: [\n CommonModule,\n AXPWidgetCoreModule,\n ],\n providers: [\n provideLazyProvider(AXP_IDENTIFIER_RULES, () =>\n import('./features/identifiers/organization-code-identifier-rules.provider').then(\n (m) => m.AXMOrganizationBusinessUnitCodeIdentifierRule,\n ),\n ),\n provideLazyProvider(AXP_IDENTIFIER_RULES, () =>\n import('./features/identifiers/organization-code-identifier-rules.provider').then(\n (m) => m.AXMOrganizationTeamCodeIdentifierRule,\n ),\n ),\n provideLazyProvider(AXP_IDENTIFIER_RULES, () =>\n import('./features/identifiers/organization-code-identifier-rules.provider').then(\n (m) => m.AXMOrganizationPositionCodeIdentifierRule,\n ),\n ),\n // Module-specific providers (not part of manifest system)\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_HOME_PAGES,\n multi: true,\n useFactory: () => [\n {\n key: 'organization-chart',\n title: 'Organization Chart',\n route: routesFactory(),\n },\n ],\n },\n provideLazyProvider(AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, () =>\n import('./features/shared/data-source-evaluator-scope.provider').then(\n (m) => m.AXMOrganizationManagementDataSourceEvaluatorScopeProvider,\n ),\n ),\n provideLazyProvider(AXP_DATASOURCE_DEFINITION_PROVIDER, () =>\n import('./features/shared/datasources/job-level.datasource').then((m) => m.AXMJobLevelDataSourceDefinition),\n ),\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: OrganizationManagementManifest,\n multi: true,\n },\n provideLazyProvider(AXP_PERMISSION_DEFINITION_PROVIDER, () =>\n import('./permission-definition.provider').then((m) => m.AXMPermissionDefinitionProvider),\n ),\n provideLazyProvider(AXP_MENU_PROVIDER, () => import('./menu.provider').then((m) => m.AXMMenuProvider)),\n provideLazyProvider(AXP_ENTITY_DEFINITION_LOADER, () =>\n import('./entity.provider').then((m) => m.AXMOrganizationModuleEntityProvider),\n ),\n provideLazyProvider(AXP_FEATURE_DEFINITION_PROVIDER, () =>\n import('./feature-definition.provider').then((m) => m.AXPOrganizationManagementFeatureDefinitionProvider),\n ),\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/job-definition-pages/job-definition-pages-component.provider').then(\n (m) => m.AXMJobDefinitionPagesComponentProvider,\n ),\n ),\n provideLazyProvider(\n AXP_SETTING_DEFINITION_PROVIDER,\n () => import('./settings.provider').then((m) => m.AXMSettingProvider),\n ),\n // Widgets must register eagerly: lazy registration can resolve after entity forms bind,\n // so module editors like responsibilities-matrix-editor would not be found (blank UI).\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMOrganizationManagementWidgetsProvider,\n multi: true,\n },\n {\n provide: AXM_ORG_CHART_NODE_CONTRIBUTOR,\n useClass: AXMOrgChartDefaultNodeContributionProvider,\n multi: true,\n },\n {\n provide: AXM_ORG_CHART_NODE_CONTRIBUTOR,\n useClass: AXMOrgChartPositionEmployeeNodeContributionProvider,\n multi: true,\n },\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.AddPositionToBusinessUnit, () =>\n import('./features/organization-chart/commands/add-position-to-business-unit.command').then(\n (m) => m.AXMAddPositionToBusinessUnitCommand,\n ),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.AddBusinessUnitToBusinessUnit, () =>\n import('./features/organization-chart/commands/add-business-unit-to-business-unit.command').then(\n (m) => m.AXMAddBusinessUnitToBusinessUnitCommand,\n ),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.RemovePositionFromBusinessUnit, () =>\n import('./features/organization-chart/commands/remove-position-from-business-unit.command').then(\n (m) => m.AXMRemovePositionFromBusinessUnitCommand,\n ),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.ReplacePositionAssignee, () =>\n import('./features/organization-chart/commands/replace-position-assignee.command').then(\n (m) => m.AXMReplacePositionAssigneeCommand,\n ),\n ),\n ],\n})\nexport class AXMOrganizationManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","orgChartNodeActionKey"],"mappings":"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"}
|