@acorex/modules 21.0.0-next.57 → 21.0.0-next.63
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/assessment-management/README.md +4 -4
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DlhSQ0cB.mjs} +3657 -422
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DlhSQ0cB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs → acorex-modules-assessment-management-assessment-case.entity-B6C2PRZw.mjs} +93 -82
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-B6C2PRZw.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-BRdwcIvw.mjs +47 -0
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-BRdwcIvw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs → acorex-modules-assessment-management-assessment-session.entity-DquzZNaQ.mjs} +22 -42
- package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-DquzZNaQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs → acorex-modules-assessment-management-fill-assessment-session.command-CRE8SxzC.mjs} +32 -7
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-CRE8SxzC.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs → acorex-modules-assessment-management-preview-question.command-Ce7yOnJY.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-Ce7yOnJY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs → acorex-modules-assessment-management-preview-questionnaire.command-S-8MDeB7.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-S-8MDeB7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-wdHMGBxi.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-wdHMGBxi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs → acorex-modules-assessment-management-question-bank-item.entity-1Pm9O0kv.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-1Pm9O0kv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Dwx0y7WY.mjs} +36 -65
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-Dwx0y7WY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs → acorex-modules-assessment-management-questionnaire.entity-BI_jc4C6.mjs} +12 -36
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-BI_jc4C6.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-view-case-last-session-answers.command-Ds-QGMPy.mjs +157 -0
- package/fesm2022/acorex-modules-assessment-management-view-case-last-session-answers.command-Ds-QGMPy.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-COTVoRRG.mjs +172 -0
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-COTVoRRG.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-view-session-outcomes.command-2buH7ydV.mjs +239 -0
- package/fesm2022/acorex-modules-assessment-management-view-session-outcomes.command-2buH7ydV.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs → acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs} +39 -30
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BY281-Cl.mjs → acorex-modules-auth-app-chooser.component-BEktaBWD.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BY281-Cl.mjs.map → acorex-modules-auth-app-chooser.component-BEktaBWD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CjgYlyOv.mjs → acorex-modules-auth-login.module-aAwHzXPj.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-CjgYlyOv.mjs.map → acorex-modules-auth-login.module-aAwHzXPj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-Clx8QDYW.mjs → acorex-modules-auth-master.layout-BapDYFZ_.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-Clx8QDYW.mjs.map → acorex-modules-auth-master.layout-BapDYFZ_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-CGnGAPJ2.mjs → acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-CGnGAPJ2.mjs.map → acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-8eEX0lRP.mjs → acorex-modules-auth-password.component-DB-ac0Rn.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-8eEX0lRP.mjs.map → acorex-modules-auth-password.component-DB-ac0Rn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CUxwThnN.mjs → acorex-modules-auth-password.component-cPmwNpuq.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-CUxwThnN.mjs.map → acorex-modules-auth-password.component-cPmwNpuq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-CYLKJm9g.mjs → acorex-modules-auth-routes-r72zIRTa.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-CYLKJm9g.mjs.map → acorex-modules-auth-routes-r72zIRTa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DDK1KW-8.mjs → acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DDK1KW-8.mjs.map → acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Iw2U7Cy5.mjs → acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-Iw2U7Cy5.mjs.map → acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-sKDANprs.mjs → acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-sKDANprs.mjs.map → acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +8 -3
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-DlteA_jC.mjs → acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs} +8 -7
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BAgBuxlz.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-BAgBuxlz.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component-BrwP9l7M.mjs → acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-BrwP9l7M.mjs.map → acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-BzKawEoN.mjs → acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-BzKawEoN.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BUOGUMl0.mjs → acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BUOGUMl0.mjs.map → acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-customer-management.mjs +2 -0
- package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +6 -5
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-Bfjo-ENr.mjs → acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs} +3 -2
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CsACFkPq.mjs → acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CsACFkPq.mjs.map → acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs.map} +1 -1
- package/fesm2022/acorex-modules-help-desk.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs} +131 -112
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs → acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs} +8 -8
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs → acorex-modules-human-capital-management-employment-type.entity-B20Taa5x.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs.map → acorex-modules-human-capital-management-employment-type.entity-B20Taa5x.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs → acorex-modules-human-capital-management-leave-request.entity-BO8QXpZE.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs.map → acorex-modules-human-capital-management-leave-request.entity-BO8QXpZE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs → acorex-modules-human-capital-management-leave-type.entity-CQwSWqSh.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs.map → acorex-modules-human-capital-management-leave-type.entity-CQwSWqSh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs → acorex-modules-human-capital-management-lifecycle-event-type.entity-BPWJrvbN.mjs} +13 -13
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-BPWJrvbN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs → acorex-modules-human-capital-management-lifecycle-event.entity-ZZuPu9KQ.mjs} +45 -56
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-ZZuPu9KQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs → acorex-modules-human-capital-management-position-assignment.entity-BN1y0qhi.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-BN1y0qhi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs → acorex-modules-human-capital-management-reject-leave-request.command-LczqOHP-.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-LczqOHP-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-Dm8YacDI.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-Dm8YacDI.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DPwuyFz2.mjs +237 -0
- package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DPwuyFz2.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/{acorex-modules-learning-management-enrollment.entity-B53AQq_9.mjs → acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs} +4 -22
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +1 -1
- package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +1 -0
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs → acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs} +4 -4
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs → acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs.map → acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +3 -0
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-supplier-management.mjs +1 -0
- package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-CrybKNgo.mjs → acorex-modules-task-management-acorex-modules-task-management--mdNdYIs.mjs} +32 -2
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management--mdNdYIs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-B2xxXscG.mjs → acorex-modules-task-management-task-board.page-BIZ1qH7m.mjs} +33 -3
- package/fesm2022/acorex-modules-task-management-task-board.page-BIZ1qH7m.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-RRzkvrNM.mjs → acorex-modules-workflow-management-index-BhVZ1Bcw.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-RRzkvrNM.mjs.map → acorex-modules-workflow-management-index-BhVZ1Bcw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-Eh5DDK-V.mjs → acorex-modules-workflow-management-index-DC_9M9dk.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-Eh5DDK-V.mjs.map → acorex-modules-workflow-management-index-DC_9M9dk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs → acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs +255 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1819 -745
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-assessment-management.d.ts +387 -278
- package/types/acorex-modules-common.d.ts +2 -0
- package/types/acorex-modules-human-capital-management.d.ts +31 -30
- package/types/acorex-modules-learning-management.d.ts +0 -1
- package/types/acorex-modules-task-management.d.ts +41 -2
- package/types/acorex-modules-workflow-management.d.ts +280 -34
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-XdJCIYG3.mjs +0 -1509
- package/fesm2022/acorex-modules-assessment-management-index-XdJCIYG3.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs +0 -236
- package/fesm2022/acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs +0 -61
- package/fesm2022/acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs +0 -112
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-wfCSNwXC.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DlteA_jC.mjs.map +0 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-Bfjo-ENr.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-B53AQq_9.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-CrybKNgo.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-B2xxXscG.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs +0 -356
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs","sources":["../../../../libs/modules/human-capital-management/src/lib/features/shared/position-assignment-status.provider.ts","../../../../libs/modules/human-capital-management/src/lib/const.ts","../../../../libs/modules/human-capital-management/src/lib/entities/lifecycle-event/lifecycle-event.types.ts","../../../../libs/modules/human-capital-management/src/lib/entities/lifecycle-event/lifecycle-event-status.constants.ts","../../../../libs/modules/human-capital-management/src/lib/entities/lifecycle-event-type/lifecycle-event-type.types.ts","../../../../libs/modules/human-capital-management/src/lib/entities/index.ts","../../../../libs/modules/human-capital-management/src/lib/features/leave-request/badge.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/leave-request/leave-request-resource-appointment.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/leave-request/services/leave-request-dialog.service.ts","../../../../libs/modules/human-capital-management/src/lib/features/leave-request/workflow-tasks/leave-request-task-popover.component.ts","../../../../libs/modules/human-capital-management/src/lib/features.keys.ts","../../../../libs/modules/human-capital-management/src/lib/feature-definition.provider.ts","../../../../libs/modules/human-capital-management/src/lib/commands.keys.ts","../../../../libs/modules/human-capital-management/src/lib/entity.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/lifecycle-event/lifecycle-event-status.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/lifecycle-event/lifecycle-event.module.ts","../../../../libs/modules/human-capital-management/src/lib/features/leave-request/leave-request-status.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/leave-request/leave-request.module.ts","../../../../libs/modules/human-capital-management/src/lib/features/shared/identifiers/employee-code-identifier-rule.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/shared/employee-status.provider.ts","../../../../libs/modules/human-capital-management/src/lib/manifest.ts","../../../../libs/modules/human-capital-management/src/lib/menu.keys.ts","../../../../libs/modules/human-capital-management/src/lib/permission.keys.ts","../../../../libs/modules/human-capital-management/src/lib/menu.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/shared/datasources/employee.datasource.ts","../../../../libs/modules/human-capital-management/src/lib/features/shared/datasources/employment-type.datasource.ts","../../../../libs/modules/human-capital-management/src/lib/features/organization-chart/hcm-org-chart-node-contribution.provider.ts","../../../../libs/modules/human-capital-management/src/lib/features/shared/lifecycle-event-expression-evaluator-scope.provider.ts","../../../../libs/modules/human-capital-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/human-capital-management/src/lib/human-capital-management.module.ts","../../../../libs/modules/human-capital-management/src/acorex-modules-human-capital-management.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n AXPStatusDefinition,\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Position Assignment Status Names ----\n\nexport const AXM_POSITION_ASSIGNMENT_STATUS = {\n active: AXPSystemStatusType.Active,\n scheduled: 'scheduled',\n expired: 'expired',\n revoked: 'revoked',\n} as const;\n\nexport type AXMPositionAssignmentStatusId =\n (typeof AXM_POSITION_ASSIGNMENT_STATUS)[keyof typeof AXM_POSITION_ASSIGNMENT_STATUS];\n\n/**\n * Statuses that still occupy the employee / manager seat for overlap and revoke resolution.\n * Keep in sync with position-assignment duplicate-seat validation (mock and future API rules).\n */\nexport const AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS: readonly AXMPositionAssignmentStatusId[] = [\n AXM_POSITION_ASSIGNMENT_STATUS.active,\n AXM_POSITION_ASSIGNMENT_STATUS.scheduled,\n];\n\n//#endregion\n\n//#region ---- Position Assignment Status Provider ----\n\n/**\n * Position assignment lifecycle statuses used by status plugin badges and filters.\n */\nexport class AXMPositionAssignmentStatusProvider extends AXPStatusProvider {\n readonly key = 'human-capital-management.status.position-assignment';\n\n readonly defaultStatus = AXM_POSITION_ASSIGNMENT_STATUS.active;\n\n readonly statuses: AXPStatusDefinition[] = [\n systemStatusToDefinition(AXM_POSITION_ASSIGNMENT_STATUS.active, {\n title: '@human-capital-management:position-assignments.states.active',\n generateView: true,\n }),\n {\n name: AXM_POSITION_ASSIGNMENT_STATUS.scheduled,\n title: '@human-capital-management:position-assignments.states.scheduled',\n icon: 'fa-light fa-calendar-clock',\n color: 'info',\n order: 2,\n isInitial: false,\n isFinal: false,\n generateView: true,\n },\n {\n name: AXM_POSITION_ASSIGNMENT_STATUS.expired,\n title: '@human-capital-management:position-assignments.states.expired',\n icon: 'fa-light fa-clock-rotate-left',\n color: 'warning',\n order: 3,\n isInitial: false,\n isFinal: true,\n generateView: true,\n },\n {\n name: AXM_POSITION_ASSIGNMENT_STATUS.revoked,\n title: '@human-capital-management:position-assignments.states.revoked',\n icon: 'fa-light fa-user-slash',\n color: 'danger',\n order: 4,\n isInitial: false,\n isFinal: true,\n generateView: true,\n },\n ];\n\n readonly transitions: AXPStatusTransition[] = [];\n}\n\n//#endregion\n","const config = {\n i18n: 'human-capital-management',\n module: 'HumanCapitalManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'human-capital-management',\n name: config.module,\n title: '@human-capital-management:module.title',\n icon: 'fa-light fa-users',\n },\n entities: {\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: '@human-capital-management:employees.entities.employee.title',\n titlePlural: '@human-capital-management:employees.entities.employee.plural',\n icon: 'fa-light fa-address-card',\n },\n employmentType: {\n name: 'EmploymentType',\n source: `${config.module}.EmploymentType`,\n title: '@human-capital-management:employment-types.entities.employment-type.title',\n titlePlural: '@human-capital-management:employment-types.entities.employment-type.plural',\n icon: 'fa-light fa-file-signature',\n },\n positionAssignment: {\n name: 'PositionAssignment',\n source: `${config.module}.PositionAssignment`,\n title: '@human-capital-management:position-assignments.entities.position-assignment.title',\n titlePlural: '@human-capital-management:position-assignments.entities.position-assignment.plural',\n icon: 'fa-light fa-user-tie-hair',\n },\n leaveType: {\n name: 'LeaveType',\n source: `${config.module}.LeaveType`,\n title: '@human-capital-management:leave-types.entities.leave-type.title',\n titlePlural: '@human-capital-management:leave-types.entities.leave-type.plural',\n icon: 'fa-light fa-calendar-days',\n },\n leaveRequest: {\n name: 'LeaveRequest',\n source: `${config.module}.LeaveRequest`,\n title: '@human-capital-management:leave-requests.entities.leave-request.title',\n titlePlural: '@human-capital-management:leave-requests.entities.leave-request.plural',\n icon: 'fa-light fa-plane-departure',\n },\n lifecycleEventType: {\n name: 'LifecycleEventType',\n source: `${config.module}.LifecycleEventType`,\n title: '@human-capital-management:lifecycle-event-types.entities.lifecycle-event-type.title',\n titlePlural: '@human-capital-management:lifecycle-event-types.entities.lifecycle-event-type.plural',\n icon: 'fa-light fa-diagram-next',\n },\n lifecycleEvent: {\n name: 'LifecycleEvent',\n source: `${config.module}.LifecycleEvent`,\n title: '@human-capital-management:lifecycle-events.entities.lifecycle-event.title',\n titlePlural: '@human-capital-management:lifecycle-events.entities.lifecycle-event.plural',\n icon: 'fa-light fa-clipboard-list-check',\n },\n },\n pages: {\n appointmentBoard: {\n path: 'Boards/ResourceAppointment',\n title: '@human-capital-management:leave-requests.menus.appointment-board.title',\n icon: 'fa-light fa-calendar-lines',\n },\n },\n};\n","//#region ---- Imports ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { AXPSystemStatusType } from '@acorex/platform/common';\nimport { AXPEntityModel } from '@acorex/platform/layout/entity';\nimport { AXMHumanCapitalManagementEmployeeEntityModel } from '../employee/employee.types';\n\n//#endregion\n\n//#region ---- Lifecycle event ----\n\nexport type AXMHumanCapitalManagementLifecycleEventStatus =\n | AXPSystemStatusType.InProgress\n | AXPSystemStatusType.WaitingSignOff\n | AXPSystemStatusType.Completed\n | AXPSystemStatusType.Cancelled;\n\n/**\n * One employee lifecycle event (onboarding, separation, …), driven by {@link AXMHumanCapitalManagementLifecycleEventTypeEntityModel}.\n */\nexport interface AXMHumanCapitalManagementLifecycleEventEntityModel extends AXPEntityModel<string> {\n employeeId: string;\n employee?: AXMHumanCapitalManagementEmployeeEntityModel;\n eventTypeId: string;\n eventType?: { id: string; name?: string; title: AXPMultiLanguageString };\n /**\n * Platform user currently assigned the active workflow step (human task / cartable assignee).\n * Populate from workflow engine or middleware when tasks are created or claimed.\n */\n assignedToUserId?: string | null;\n assignedToUser?: { id: string; displayName?: string };\n effectiveDate?: Date;\n notes?: string;\n statusId?: AXMHumanCapitalManagementLifecycleEventStatus;\n status?: { id: AXMHumanCapitalManagementLifecycleEventStatus; title?: string };\n}\n\n//#endregion\n","import { AXPSystemStatusType } from '@acorex/platform/common';\n\n//#region ---- Lifecycle event open statuses ----\n\n/** Statuses that block starting another run for the same employee and event type. */\nexport const AXMLifecycleEventOpenStatusIds = [\n AXPSystemStatusType.InProgress,\n AXPSystemStatusType.WaitingSignOff,\n] as const;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXMMetaDataBuilderValue } from '@acorex/modules/data-management';\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { AXPEntityModel } from '@acorex/platform/layout/entity';\n\n//#endregion\n\n//#region ---- Lifecycle event type (reference) ----\n\n/**\n * Defines workflow defaults, questionnaire, and metadata schema for employee lifecycle events (onboarding, separation, etc.).\n */\nexport interface AXMHumanCapitalManagementLifecycleEventTypeEntityModel extends AXPEntityModel<string> {\n /** Stable programmatic key (e.g. ONBOARDING); follows technical name rules. */\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n /** Workflow definition entity id when starting a run; selected via lookup. */\n workflowDefinitionId?: string | null;\n workflowDefinition?: { id: string; title?: AXPMultiLanguageString } | null;\n questionnaireId?: string | null;\n questionnaire?: { id: string; title: AXPMultiLanguageString } | null;\n /** Font Awesome icon classes (e.g. `fa-light fa-user-plus`). */\n icon?: string;\n /** Meta-data-builder schema (`metaDataList`); drives dynamic fields on lifecycle events for this template. */\n metaDataList?: AXMMetaDataBuilderValue;\n}\n\n//#endregion\n","// Entity exports - services and modules removed, handled by middleware\n// Exporting entity types for use in feature components\n\nexport * from './employee/employee.types';\nexport * from './lifecycle-event/lifecycle-event.types';\nexport * from './lifecycle-event/lifecycle-event-status.constants';\nexport * from './employment-type/employment-type.types';\nexport * from './leave-request/leave-request.types';\nexport * from './leave-type/leave-type.types';\nexport * from './lifecycle-event-type/lifecycle-event-type.types';\nexport * from './position-assignment/position-assignment.types';\n","//#region ---- Imports ----\n\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPTaskBadgeProvider } from '@acorex/platform/layout/components';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandEventsService, AXPCommandExecutionEvent } from '@acorex/platform/runtime';\nimport { DestroyRef, inject, Injectable, signal } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMHumanCapitalManagementLeaveRequestEntityModel } from '../../entities/leave-request/leave-request.types';\n\n//#endregion\n\n//#region ---- Task Badge Provider ----\n\n@Injectable()\nexport class AXMLeaveRequestBadgeProvider extends AXPTaskBadgeProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly leaveRequestData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data<string, AXMHumanCapitalManagementLeaveRequestEntityModel>();\n private readonly commandEvents = inject(AXPCommandEventsService);\n private readonly destroyRef = inject(DestroyRef);\n\n //#endregion\n\n //#region ---- Signals & Properties ----\n\n key = 'leave-request-badge';\n count = signal(0);\n\n //#endregion\n\n constructor() {\n super();\n\n void this.refresh();\n\n const unsubscribe = this.commandEvents.listen((event) => this.handleCommandEvent(event));\n\n this.destroyRef.onDestroy(unsubscribe);\n }\n\n //#region ---- Badge Actions ----\n\n /**\n * Forces badge count recalculation by querying the leave request entity service.\n */\n async refresh(): Promise<void> {\n const baseFilters: AXDataSourceFilterOption[] = [\n {\n field: 'statusId',\n operator: { type: 'equal' as const },\n value: AXPSystemStatuses.Pending.name,\n },\n ];\n\n const result = await this.leaveRequestData.query({\n skip: 0,\n take: 99,\n filter: {\n logic: 'and',\n filters: baseFilters,\n },\n });\n\n this.count.set(result.total);\n }\n\n /**\n * Handles command execution events and refreshes the badge when targeted leave request commands succeed.\n */\n private async handleCommandEvent(event?: AXPCommandExecutionEvent): Promise<void> {\n if (!event || event.stage !== 'after' || !event.success) {\n return;\n }\n\n await this.refresh();\n }\n\n //#endregion\n}\n\n//#endregion\n","import { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPExecuteCommand, AXPExecuteCommandResult } from '@acorex/platform/core';\nimport {\n AXPResourceAppointmentActionMenuItem,\n AXPResourceAppointmentBoardFilter,\n AXPResourceAppointmentBoardProvider,\n AXPResourceAppointmentItem,\n AXPResourceAppointmentResource,\n AXPResourceAppointmentStatus,\n} from '@acorex/platform/layout/components';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMHumanCapitalManagementEmployeeEntityModel } from '../../entities';\nimport { AXMHumanCapitalManagementLeaveRequestEntityModel } from '../../entities/leave-request/leave-request.types';\n\nexport class AXMLeaveRequestResourceAppointmentProvider extends AXPResourceAppointmentBoardProvider<AXMHumanCapitalManagementLeaveRequestEntityModel> {\n private readonly entityService = inject(AXPEntityService);\n\n override get name(): string {\n return 'leave-request';\n }\n\n override get title(): string {\n return '@human-capital-management:leave-requests.entities.leave-request.plural';\n }\n\n override get icon(): string {\n return RootConfig.entities.leaveRequest.icon;\n }\n\n override async getList(filter?: AXPResourceAppointmentBoardFilter): Promise<AXPResourceAppointmentResource[]> {\n const leaveRequestDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data<string, AXMHumanCapitalManagementLeaveRequestEntityModel>();\n\n const employeeDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.employee.name)\n .data<string, AXMHumanCapitalManagementEmployeeEntityModel>();\n\n const fieldFilters: AXDataSourceFilterOption[] = [];\n\n if (filter?.range?.from) {\n fieldFilters.push({\n field: 'startDate',\n operator: { type: 'gte' },\n value: filter.range.from,\n });\n }\n\n if (filter?.range?.end) {\n fieldFilters.push({\n field: 'endDate',\n operator: { type: 'lte' },\n value: filter.range.end,\n });\n }\n\n const employee = await employeeDataAccessor.query();\n\n const { items } = await leaveRequestDataAccessor.query({\n skip: 0,\n take: 1000,\n ...(fieldFilters.length\n ? {\n filter: {\n logic: 'and',\n filters: fieldFilters,\n } as AXDataSourceFilterOption,\n }\n : {}),\n });\n\n const result: AXPResourceAppointmentResource[] = employee.items.map(\n (employee: AXMHumanCapitalManagementEmployeeEntityModel) => ({\n id: employee.id,\n title: employee.person?.fullName ?? '',\n description: 'description', //TODO fill later\n icon: 'icon',\n appointments: items\n .filter((item) => item.employeeId === employee.id)\n .map((item) => ({\n id: item.id,\n title: item.leaveType?.title ?? '',\n startDate: item.startDate,\n endDate: item.endDate,\n resourceId: item.employeeId,\n description: item.reason,\n allDay: false,\n })),\n }),\n );\n return result;\n\n // const resourcesMap = new Map<string | number, AXPResourceAppointmentResource>();\n\n // for (const leave of items) {\n // const resourceId: string | number = leave.employeeId ?? 'unassigned';\n // let resource = resourcesMap.get(resourceId);\n\n // if (!resource) {\n // resource = {\n // id: resourceId,\n // title: leave.employee?.person?.displayName ?? '@general:terms.people.employee',\n // appointments: [],\n // };\n // resourcesMap.set(resourceId, resource);\n // }\n\n // const task: AXPResourceAppointmentItem = {\n // id: leave.id,\n // title: leave.leaveType?.title ?? '@human-capital-management:leave-requests.entities.leave-request.title',\n // description: leave.reason,\n // startDate: leave.startDate,\n // endDate: leave.endDate,\n // allDay: false,\n // resourceId,\n // };\n\n // resource.appointments.push(task);\n // }\n\n // return Array.from(resourcesMap.values());\n }\n\n override async getStatuses(): Promise<AXPResourceAppointmentStatus[]> {\n const pending = AXPSystemStatuses.Pending;\n const approved = AXPSystemStatuses.Approved;\n const rejected = AXPSystemStatuses.Rejected;\n const cancelled = AXPSystemStatuses.Cancelled;\n\n const statuses: AXPResourceAppointmentStatus[] = [\n { key: pending.name, index: 0, title: pending.title, color: pending.color },\n { key: approved.name, index: 1, title: approved.title, color: approved.color },\n { key: rejected.name, index: 2, title: rejected.title, color: rejected.color },\n { key: cancelled.name, index: 3, title: cancelled.title, color: cancelled.color },\n ];\n\n return statuses;\n }\n\n override async getActions(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n context?: AXPResourceAppointmentItem,\n ): Promise<AXPResourceAppointmentActionMenuItem[]> {\n // Actions can be wired to existing approve/reject/cancel commands later.\n // For now, return an empty list so the board works without a context menu.\n return [];\n }\n\n override async executeCommand(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n command: AXPExecuteCommand,\n ): Promise<AXPExecuteCommandResult> {\n // No-op for now – commands are handled by existing leave request commands elsewhere.\n return { success: true };\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nexport interface LeaveRequestActionDialogResult {\n reason?: string;\n note?: string;\n cancelled: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPLeaveRequestDialogService {\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly translationService = inject(AXTranslationService);\n\n async showRejectionDialog(): Promise<LeaveRequestActionDialogResult> {\n const result = await this.layoutBuilder\n .create()\n .dialog<LeaveRequestActionDialogResult>(dialog => {\n dialog\n .setTitle('@general:actions.reject.title')\n .setMessage('@human-capital-management:leave-requests.components.rejection-dialog.message')\n .setContext({ reason: '', note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.rejection-dialog.fields.reason-label', field => {\n field.path('reason');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.rejection-dialog.fields.reason-placeholder',\n maxLength: 500\n });\n })\n .formField('@human-capital-management:leave-requests.components.rejection-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.rejection-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.reject.title');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n if (!context || action === 'cancel') {\n return { reason: undefined, note: undefined, cancelled: true };\n }\n return {\n reason: context['reason'],\n note: context['note'],\n cancelled: false\n };\n });\n })\n .show();\n return result;\n }\n\n async showCancellationDialog(): Promise<LeaveRequestActionDialogResult> {\n const result = await this.layoutBuilder\n .create()\n .dialog<LeaveRequestActionDialogResult>(dialog => {\n dialog\n .setTitle('@general:actions.cancel.title')\n .setMessage('@human-capital-management:leave-requests.components.cancellation-dialog.message')\n .setContext({ reason: '', note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.cancellation-dialog.fields.reason-label', field => {\n field.path('reason');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.cancellation-dialog.fields.reason-placeholder',\n maxLength: 500\n });\n })\n .formField('@human-capital-management:leave-requests.components.cancellation-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.cancellation-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.close.title').submit('@general:actions.cancel.title');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n if (!context || action === 'cancel') {\n return { reason: undefined, note: undefined, cancelled: true };\n }\n return {\n reason: context['reason'],\n note: context['note'],\n cancelled: false\n };\n });\n })\n .show();\n return result;\n }\n\n async showApprovalDialog(): Promise<LeaveRequestActionDialogResult> {\n const result = await this.layoutBuilder\n .create()\n .dialog<LeaveRequestActionDialogResult>(dialog => {\n dialog\n .setTitle('@general:actions.approve.title')\n .setMessage('@human-capital-management:leave-requests.components.approval-dialog.message')\n .setContext({ note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.approval-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.approval-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.approve.title');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n if (!context || action === 'cancel') {\n return { note: undefined, cancelled: true };\n }\n return {\n note: context['note'],\n cancelled: false\n };\n });\n })\n .show();\n return result;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPTask, AXPTaskPopoverComponent } from '@acorex/modules/task-management';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXMHumanCapitalManagementLeaveRequestEntityModel } from '../../../entities/leave-request/leave-request.types';\nimport { AXPLeaveRequestDialogService } from '../services/leave-request-dialog.service';\n\n@Component({\n selector: 'axm-leave-request-task-popover',\n template: `\n <div class=\"leave-request-popover\">\n <!-- Employee Info -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-user\"></i>\n <span>Employee Information</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Employee:</span>\n <span class=\"leave-request-popover__value\">{{ employeeName() }}</span>\n </div>\n @if (managerName(); as manager) {\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Manager:</span>\n <span class=\"leave-request-popover__value\">{{ manager }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Leave Details -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-calendar\"></i>\n <span>Leave Details</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Leave Type:</span>\n <span class=\"leave-request-popover__value\">{{ leaveType() }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Start Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().startDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">End Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().endDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Duration:</span>\n <span class=\"leave-request-popover__value\">{{ calculateDuration() }} days</span>\n </div>\n </div>\n </div>\n\n <!-- Reason -->\n @if (task().description) {\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-note-sticky\"></i>\n <span>Reason</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <p class=\"leave-request-popover__reason\">{{ task().description }}</p>\n </div>\n </div>\n }\n\n <!-- Status -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-flag\"></i>\n <span>Status</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__status-badge\" [attr.data-status]=\"task().status.id\">\n {{ task().status.title }}\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"leave-request-popover__actions\">\n @if (canApprove()) {\n <ax-button\n [color]=\"'success'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.approve.title' | translate | async\"\n (onClick)=\"handleApprove()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-check\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canReject()) {\n <ax-button\n [color]=\"'danger'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.reject.title' | translate | async\"\n (onClick)=\"handleReject()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-xmark\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canCancel()) {\n <ax-button\n [color]=\"'secondary'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCancel()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-ban\"></i>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n `,\n styles: `\n .leave-request-popover {\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-width: 280px;\n max-width: 360px;\n }\n\n .leave-request-popover__section {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .leave-request-popover__section-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n color: var(--ax-sys-color-text-primary);\n padding-bottom: 6px;\n border-bottom: 1px solid var(--ax-sys-color-border);\n\n i {\n font-size: 13px;\n color: var(--ax-sys-color-text-neutral-600);\n }\n }\n\n .leave-request-popover__section-content {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .leave-request-popover__info-row {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 10px;\n font-size: 12px;\n line-height: 1.4;\n }\n\n .leave-request-popover__label {\n color: var(--ax-sys-color-text-neutral-600);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .leave-request-popover__value {\n color: var(--ax-sys-color-text-primary);\n text-align: right;\n word-break: break-word;\n }\n\n .leave-request-popover__reason {\n margin: 0;\n padding: 8px;\n background: var(--ax-sys-color-lighter-surface);\n border-radius: 4px;\n font-size: 12px;\n line-height: 1.4;\n color: var(--ax-sys-color-text-primary);\n }\n\n .leave-request-popover__status-badge {\n display: inline-block;\n padding: 3px 10px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 500;\n text-transform: capitalize;\n\n &[data-status='pending'] {\n background: var(--ax-sys-color-warning-lightest);\n color: var(--ax-sys-color-warning);\n }\n\n &[data-status='approved'] {\n background: var(--ax-sys-color-success-lightest);\n color: var(--ax-sys-color-success);\n }\n\n &[data-status='rejected'] {\n background: var(--ax-sys-color-danger-lightest);\n color: var(--ax-sys-color-danger);\n }\n\n &[data-status='cancelled'] {\n background: var(--ax-sys-color-neutral-lightest);\n color: var(--ax-sys-color-neutral);\n }\n }\n\n .leave-request-popover__actions {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n padding-top: 8px;\n border-top: 1px solid var(--ax-sys-color-border);\n }\n\n .leave-request-popover__action-btn {\n flex: 1;\n min-width: 90px;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule],\n})\nexport class AXMLeaveRequestTaskPopoverComponent extends AXPTaskPopoverComponent {\n task = input.required<AXPTask>();\n\n private readonly commandExecutor = inject(AXPCommandExecutor);\n private readonly dialogService = inject(AXPLeaveRequestDialogService);\n\n protected taskData = computed(() => {\n const task = this.task();\n return (\n (task.data as AXMHumanCapitalManagementLeaveRequestEntityModel) ||\n ((task as any).payload as AXMHumanCapitalManagementLeaveRequestEntityModel)\n );\n });\n\n protected employeeName = computed(() => {\n const data = this.taskData();\n return this.task().reporter?.fullName || 'Unknown';\n });\n\n protected managerName = computed(() => {\n const data = this.taskData();\n return data?.employee?.manager?.person?.fullName || '';\n });\n\n protected leaveType = computed(() => {\n const data = this.taskData();\n // Extract leave type from task title or data\n const title = this.task().title || '';\n const parts = title.split(' - ');\n return parts.length > 1 ? parts[1] : data?.leaveType?.title || 'N/A';\n });\n\n protected canApprove = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Rejected.name;\n });\n\n protected canReject = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;\n });\n\n protected canCancel = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;\n });\n\n protected formatDate(date: Date): string {\n return new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(new Date(date));\n }\n\n protected calculateDuration(): number {\n const start = new Date(this.task().startDate);\n const end = new Date(this.task().endDate);\n const diffTime = Math.abs(end.getTime() - start.getTime());\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n return diffDays + 1; // Include both start and end days\n }\n\n protected async handleApprove(): Promise<void> {\n const task = this.task();\n const leaveRequestId = task.id;\n\n try {\n const dialogResult = await this.dialogService.showApprovalDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Approve';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n\n if (result?.success) {\n // Optionally emit an event or refresh the task\n console.log('Leave request approved successfully');\n }\n } catch (error) {\n console.error('Failed to approve leave request:', error);\n }\n }\n\n protected async handleReject(): Promise<void> {\n const task = this.task();\n const leaveRequestId = task.id;\n\n try {\n const dialogResult = await this.dialogService.showRejectionDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Reject';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n\n if (result?.success) {\n console.log('Leave request rejected successfully');\n }\n } catch (error) {\n console.error('Failed to reject leave request:', error);\n }\n }\n\n protected async handleCancel(): Promise<void> {\n const task = this.task();\n const leaveRequestId = task.id;\n\n try {\n const dialogResult = await this.dialogService.showCancellationDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Cancel';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n\n if (result?.success) {\n console.log('Leave request cancelled successfully');\n }\n } catch (error) {\n console.error('Failed to cancel leave request:', error);\n }\n }\n}\n","export const AXPHumanCapitalManagementFeatureKeys = {\n EmployeeManagement: 'HumanCapitalManagement:Feature:Employee.Management',\n LeaveManagement: 'HumanCapitalManagement:Feature:Leave.Management',\n LifecycleManagement: 'HumanCapitalManagement:Feature:Lifecycle.Management',\n} as const;\n\n","//#region ---- Imports ----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex/platform/core';\nimport { AXPHumanCapitalManagementFeatureKeys } from './features.keys';\n\n//#endregion\n\n//#region ---- Feature Definition Provider ----\n\n/**\n * Human Capital Management Feature Definition Provider.\n * Provides feature definitions for the Human Capital Management module.\n */\nexport class AXPHumanCapitalManagementFeatureDefinitionProvider implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.EmployeeManagement, {\n title: '@human-capital-management:features.employee-management.title',\n description: '@human-capital-management:features.employee-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.LeaveManagement, {\n title: '@human-capital-management:features.leave-management.title',\n description: '@human-capital-management:features.leave-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.LifecycleManagement, {\n title: '@human-capital-management:features.lifecycle-management.title',\n description: '@human-capital-management:features.lifecycle-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n\n","export const AXPHumanCapitalManagementCommandKeys = {\n PositionAssignment: {\n Assign: 'HumanCapitalManagement.PositionAssignment:Assign',\n Revoke: 'HumanCapitalManagement.PositionAssignment:Revoke',\n },\n LifecycleEvent: {\n StartFlow: 'HumanCapitalManagement.LifecycleEvent:StartFlow',\n },\n} as const;\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 AXMHumanCapitalModuleEntityProvider 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.employee.name:\n return (await import('./entities/employee/employee.entity')).factory();\n case RootConfig.entities.employmentType.name:\n return (await import('./entities/employment-type/employment-type.entity')).factory();\n case RootConfig.entities.positionAssignment?.name:\n return (await import('./entities/position-assignment/position-assignment.entity')).factory();\n case RootConfig.entities.leaveType.name:\n return (await import('./entities/leave-type/leave-type.entity')).factory();\n case RootConfig.entities.leaveRequest.name:\n return (await import('./entities/leave-request/leave-request.entity')).factory();\n case RootConfig.entities.lifecycleEventType.name:\n return (await import('./entities/lifecycle-event-type/lifecycle-event-type.entity')).factory();\n case RootConfig.entities.lifecycleEvent.name:\n return (await import('./entities/lifecycle-event/lifecycle-event.entity')).factory();\n }\n }\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const m = RootConfig.module.name;\n return Promise.resolve(\n Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m }))\n );\n }\n}\n","//#region ---- Imports ----\n\nimport {\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Lifecycle event status ----\n\n/**\n * Status lifecycle for lifecycle events: In progress → Waiting sign-off → Completed (or Cancelled).\n */\nexport class AXMLifecycleEventStatusProvider extends AXPStatusProvider {\n readonly key = 'human-capital-management.status.lifecycle-event';\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.InProgress, {\n title: '@human-capital-management:lifecycle-events.states.in-progress',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.WaitingSignOff, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Completed, {\n title: '@human-capital-management:lifecycle-events.states.completed',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Cancelled, {\n title: '@human-capital-management:lifecycle-events.states.cancelled',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.InProgress,\n to: AXPSystemStatusType.WaitingSignOff,\n title: '@human-capital-management:lifecycle-events.transitions.await-sign-off',\n },\n {\n from: AXPSystemStatusType.WaitingSignOff,\n to: AXPSystemStatusType.Completed,\n title: '@human-capital-management:lifecycle-events.transitions.complete',\n },\n {\n from: AXPSystemStatusType.WaitingSignOff,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n },\n {\n from: AXPSystemStatusType.InProgress,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n },\n ];\n\n readonly defaultStatus = AXPSystemStatusType.InProgress;\n}\n\n//#endregion\n","import { AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXPRuntimeModule, provideCommandSetups } from '@acorex/platform/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXPHumanCapitalManagementCommandKeys } from '../../commands.keys';\nimport { AXMLifecycleEventStatusProvider } from './lifecycle-event-status.provider';\n\n@NgModule({\n imports: [AXPRuntimeModule],\n providers: [\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMLifecycleEventStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: AXPHumanCapitalManagementCommandKeys.LifecycleEvent.StartFlow,\n command: () =>\n import('./commands/start-lifecycle-event-flow.command').then((c) => c.StartLifecycleEventFlowCommand),\n },\n ]),\n ],\n})\nexport class AXMLifecycleEventFeatureModule {}\n","//#region ---- Imports ----\n\nimport {\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Leave Request Status Provider ----\n\n/**\n * Leave request status provider defining lifecycle states: Pending, Approved, Rejected, Cancelled.\n * Used by the status plugin to manage leave request status transitions and metadata.\n */\nexport class AXMLeaveRequestStatusProvider extends AXPStatusProvider {\n readonly key = 'human-capital-management.status.leave-request';\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@human-capital-management:leave-requests.states.pending',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@human-capital-management:leave-requests.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@human-capital-management:leave-requests.states.rejected',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Cancelled, {\n title: '@human-capital-management:leave-requests.states.cancelled',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Approved,\n title: '@general:statuses.transitions.approve',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Rejected,\n title: '@general:statuses.transitions.reject',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n requiresApproval: true\n },\n ];\n\n readonly defaultStatus = AXPSystemStatusType.Pending;\n}\n\n//#endregion\n\n","import { AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';\nimport { AXPRuntimeModule, provideCommandSetups } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXMLeaveRequestBadgeProvider } from './badge.provider';\nimport { AXMLeaveRequestStatusProvider } from './leave-request-status.provider';\n\n@NgModule({\n imports: [CommonModule, AXPRuntimeModule],\n providers: [\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMLeaveRequestBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMLeaveRequestStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'HumanCapitalManagement.LeaveRequest:Approve',\n command: () => import('./commands/approve-leave-request.command').then((c) => c.ApproveLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Reject',\n command: () => import('./commands/reject-leave-request.command').then((c) => c.RejectLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Cancel',\n command: () => import('./commands/cancel-leave-request.command').then((c) => c.CancelLeaveRequestCommand),\n },\n ]),\n ],\n})\nexport class AXMLeaveRequestFeatureModule {}\n","import { AXPIdentifierRule } from \"@acorex/modules/identifier-management\";\n\nexport const AXM_EMPLOYEE_CODE_IDENTIFIER_RULE: AXPIdentifierRule = {\n id: 'employee-code',\n title: 'Employee Code',\n entity: 'HumanCapitalManagement.Employee',\n pattern: 'EMP-{date:YYYYMM}-{seq:4}',\n enabled: true,\n priority: 1,\n scopeConfig: { byTenant: false, period: 'yearly', minValue: 100, blockSize: 0 },\n}","//#region ---- Imports ----\n\nimport {\n AXPStatusDefinition,\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Custom Status Names ----\n\nconst OnLeave = 'on-leave';\nconst Terminated = 'terminated';\n\n//#endregion\n\n//#region ---- Employee Status Provider ----\n\n/**\n * Employee status provider defining standard lifecycle states: Active, On Leave, Suspended, Terminated, Pending.\n * Used by the status plugin to manage employee status transitions and metadata.\n */\nexport class AXMEmployeeStatusProvider extends AXPStatusProvider {\n readonly key = 'human-capital-management.status.employee';\n\n readonly defaultStatus = AXPSystemStatusType.Active;\n\n readonly statuses: AXPStatusDefinition[] = [\n systemStatusToDefinition(AXPSystemStatusType.Active, {\n title: '@human-capital-management:employees.states.active',\n generateView: true,\n }),\n {\n name: OnLeave,\n title: '@human-capital-management:employees.states.on-leave',\n icon: 'fa-light fa-umbrella-beach',\n color: 'info',\n order: 2,\n isInitial: false,\n isFinal: false,\n generateView: true,\n },\n systemStatusToDefinition(AXPSystemStatusType.Suspended, {\n title: '@human-capital-management:employees.states.suspended',\n generateView: true,\n }),\n {\n name: Terminated,\n title: '@human-capital-management:employees.states.terminated',\n icon: 'fa-light fa-user-xmark',\n color: 'danger',\n order: 4,\n isInitial: false,\n isFinal: true,\n generateView: true,\n },\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@human-capital-management:employees.states.pending',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Active,\n title: '@human-capital-management:employees.transitions.activate',\n },\n {\n from: AXPSystemStatusType.Active,\n to: OnLeave,\n title: '@human-capital-management:employees.transitions.start-leave',\n },\n {\n from: OnLeave,\n to: AXPSystemStatusType.Active,\n title: '@human-capital-management:employees.transitions.return-from-leave',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Suspended,\n title: '@human-capital-management:employees.transitions.suspend',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: AXPSystemStatusType.Active,\n title: '@human-capital-management:employees.transitions.resume',\n },\n {\n from: AXPSystemStatusType.Active,\n to: Terminated,\n title: '@human-capital-management:employees.transitions.terminate',\n },\n {\n from: OnLeave,\n to: Terminated,\n title: '@human-capital-management:employees.transitions.terminate',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: Terminated,\n title: '@human-capital-management:employees.transitions.terminate',\n },\n ];\n}\n\n//#endregion\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 * Human Capital Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const HumanCapitalManagementManifest: 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: [\n 'OrganizationManagement',\n 'PersonCore',\n 'LocationManagement',\n 'DocumentManagement',\n 'AssessmentManagement',\n 'WorkflowManagement',\n 'DataManagement',\n ],\n};\n\n//#endregion\n\n","export const AXPHumanCapitalManagementMenuKeys = {\n Root: 'HumanCapitalManagement:Menu',\n Employees: 'HumanCapitalManagement:Menu:Employees',\n EmploymentTypes: 'HumanCapitalManagement:Menu:EmploymentTypes',\n Divider1: 'HumanCapitalManagement:Menu:Divider1',\n PositionAssignments: 'HumanCapitalManagement:Menu:PositionAssignments',\n Divider2: 'HumanCapitalManagement:Menu:Divider2',\n LeaveTypes: 'HumanCapitalManagement:Menu:LeaveTypes',\n LeaveRequests: 'HumanCapitalManagement:Menu:LeaveRequests',\n LeaveRequestBoard: 'HumanCapitalManagement:Menu:LeaveRequestBoard',\n LifecycleEventTypes: 'HumanCapitalManagement:Menu:LifecycleEventTypes',\n} as const;\n\n","export const AXMPermissionsKeys = {\n HumanCapitalManagement: {\n Employee: {\n Management: 'HumanCapitalManagement:Permission:Employee.Management',\n View: 'HumanCapitalManagement:Permission:Employee.View',\n Edit: 'HumanCapitalManagement:Permission:Employee.Edit',\n Delete: 'HumanCapitalManagement:Permission:Employee.Delete',\n Create: 'HumanCapitalManagement:Permission:Employee.Create',\n },\n EmploymentType: {\n Management: 'HumanCapitalManagement:Permission:EmploymentType.Management',\n View: 'HumanCapitalManagement:Permission:EmploymentType.View',\n Edit: 'HumanCapitalManagement:Permission:EmploymentType.Edit',\n Delete: 'HumanCapitalManagement:Permission:EmploymentType.Delete',\n Create: 'HumanCapitalManagement:Permission:EmploymentType.Create',\n },\n PositionAssignment: {\n Management: 'HumanCapitalManagement:Permission:PositionAssignment.Management',\n View: 'HumanCapitalManagement:Permission:PositionAssignment.View',\n Edit: 'HumanCapitalManagement:Permission:PositionAssignment.Edit',\n Delete: 'HumanCapitalManagement:Permission:PositionAssignment.Delete',\n Create: 'HumanCapitalManagement:Permission:PositionAssignment.Create',\n },\n LeaveType: {\n Management: 'HumanCapitalManagement:Permission:LeaveType.Management',\n View: 'HumanCapitalManagement:Permission:LeaveType.View',\n Edit: 'HumanCapitalManagement:Permission:LeaveType.Edit',\n Delete: 'HumanCapitalManagement:Permission:LeaveType.Delete',\n Create: 'HumanCapitalManagement:Permission:LeaveType.Create',\n },\n LeaveRequest: {\n Management: 'HumanCapitalManagement:Permission:LeaveRequest.Management',\n View: 'HumanCapitalManagement:Permission:LeaveRequest.View',\n Edit: 'HumanCapitalManagement:Permission:LeaveRequest.Edit',\n Delete: 'HumanCapitalManagement:Permission:LeaveRequest.Delete',\n Create: 'HumanCapitalManagement:Permission:LeaveRequest.Create',\n },\n LifecycleEventType: {\n Management: 'HumanCapitalManagement:Permission:LifecycleEventType.Management',\n View: 'HumanCapitalManagement:Permission:LifecycleEventType.View',\n Edit: 'HumanCapitalManagement:Permission:LifecycleEventType.Edit',\n Delete: 'HumanCapitalManagement:Permission:LifecycleEventType.Delete',\n Create: 'HumanCapitalManagement:Permission:LifecycleEventType.Create',\n },\n LifecycleEvent: {\n Management: 'HumanCapitalManagement:Permission:LifecycleEvent.Management',\n View: 'HumanCapitalManagement:Permission:LifecycleEvent.View',\n Edit: 'HumanCapitalManagement:Permission:LifecycleEvent.Edit',\n Delete: 'HumanCapitalManagement:Permission:LifecycleEvent.Delete',\n Create: 'HumanCapitalManagement:Permission:LifecycleEvent.Create',\n },\n },\n};\n\n","import { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPHumanCapitalManagementFeatureKeys } from './features.keys';\nimport { AXPHumanCapitalManagementMenuKeys } from './menu.keys';\nimport { AXMPermissionsKeys } from './permission.keys';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const module = RootConfig.module;\n\n const organizationMenu = context.find(AXPCommonMenuKeys.Organization);\n if (!organizationMenu.exists) {\n context.addItems([\n {\n name: AXPCommonMenuKeys.Organization,\n priority: 9000,\n text: '@organization-management:module.menus.root.title',\n type: 'menu',\n icon: 'fa-light fa-sitemap',\n children: [],\n },\n ]);\n }\n\n // Root Organization: Employees, Position Assignments, Leave Requests (operational)\n context.find(AXPCommonMenuKeys.Organization).addItems([\n {\n name: AXPHumanCapitalManagementMenuKeys.Employees,\n text: '@human-capital-management:employees.menus.employees.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 60,\n icon: RootConfig.entities.employee.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n { name: AXPHumanCapitalManagementMenuKeys.Divider1, text: '', type: 'break', priority: 62 },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveRequests,\n text: '@human-capital-management:leave-requests.menus.leave-requests.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.leaveRequest.name),\n priority: 63,\n icon: RootConfig.entities.leaveRequest.icon,\n badgeKey: 'leave-request-badge',\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveRequest.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveRequestBoard,\n text: RootConfig.pages.appointmentBoard.title,\n path: `${this.sessionService.application?.name}/${RootConfig.pages.appointmentBoard.path}/leave-request`,\n priority: 64,\n icon: RootConfig.pages.appointmentBoard.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveRequest.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n ]);\n\n // Configuration/Organization: Employment Types, Leave Types (reference)\n const orgConfigMenu = context.find(AXPCommonMenuKeys.OrganizationConfig);\n if (!orgConfigMenu.exists) {\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXPCommonMenuKeys.OrganizationConfig,\n priority: 8600,\n text: '@organization-management:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.OrganizationConfig).addItems([\n {\n name: AXPHumanCapitalManagementMenuKeys.EmploymentTypes,\n text: '@human-capital-management:employment-types.menus.employment-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 8,\n icon: RootConfig.entities.employmentType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveTypes,\n text: '@human-capital-management:leave-types.menus.leave-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.leaveType.name),\n priority: 9,\n icon: RootConfig.entities.leaveType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveType.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LifecycleEventTypes,\n text: '@human-capital-management:lifecycle-event-types.menus.lifecycle-event-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.lifecycleEventType.name),\n priority: 10,\n icon: RootConfig.entities.lifecycleEventType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LifecycleEventType.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LifecycleManagement],\n },\n },\n ]);\n }\n}\n","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPFilterDefinition } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXMHumanCapitalManagementEmployeeEntityModel } from '../../../entities/employee/employee.types';\n\nexport class AXMEmployeeDataSourceDefinition implements AXPDataSourceDefinitionProvider {\n protected entityService = inject(AXPEntityService);\n protected employeeData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.employee.name)\n .data<string, AXMHumanCapitalManagementEmployeeEntityModel>();\n\n items(): Promise<AXPDataSourceDefinition[]> {\n return Promise.resolve([\n {\n name: 'employees',\n title: 'Employees',\n source: () => {\n return new AXDataSource({\n key: 'id',\n load: async (_) => {\n try {\n const res = await this.employeeData.query();\n return {\n items: res.items.map((item: AXMHumanCapitalManagementEmployeeEntityModel) => ({\n ...item,\n })),\n total: res.total,\n };\n } catch (e) {\n console.log(e);\n throw e;\n }\n },\n byKey: async (key: unknown) => {\n return await this.employeeData.byKey(key as string);\n },\n pageSize: 100,\n });\n },\n columns: [\n {\n name: 'id',\n title: 'ID',\n datatype: 'uuid',\n type: AXPWidgetsCatalog.text,\n },\n {\n name: 'employeeCode',\n title: 'Employee Code',\n datatype: 'string',\n type: AXPWidgetsCatalog.text,\n },\n {\n name: 'person.fullName',\n title: 'Display Name',\n datatype: 'string',\n type: AXPWidgetsCatalog.text,\n },\n ],\n filters: [\n {\n field: 'employeeCode',\n title: 'Employee Code',\n operator: {\n type: 'equal',\n },\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n filterType: {\n advance: true,\n inline: true,\n },\n } as AXPFilterDefinition,\n ],\n textField: {\n name: 'person.fullName',\n title: 'Display Name',\n },\n valueField: {\n name: 'id',\n title: 'ID',\n },\n },\n ]);\n }\n}\n","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPFilterDefinition } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXMHumanCapitalManagementEmploymentTypeEntityModel } from '../../../entities/employment-type/employment-type.types';\n\nexport class AXMEmploymentTypeDataSourceDefinition implements AXPDataSourceDefinitionProvider {\n protected entityService = inject(AXPEntityService);\n protected employmentTypeData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.employmentType.name)\n .data<string, AXMHumanCapitalManagementEmploymentTypeEntityModel>();\n\n items(): Promise<AXPDataSourceDefinition[]> {\n return Promise.resolve([\n {\n name: 'employmentTypes',\n title: 'Employment Types',\n source: () => {\n return new AXDataSource({\n key: 'id',\n load: async (_) => {\n try {\n const res = await this.employmentTypeData.query();\n return {\n items: res.items.map((item: AXMHumanCapitalManagementEmploymentTypeEntityModel) => ({\n ...item,\n })),\n total: res.total,\n };\n } catch (e) {\n console.log(e);\n throw e;\n }\n },\n byKey: async (key: unknown) => {\n return await this.employmentTypeData.byKey(key as string);\n },\n pageSize: 100,\n });\n },\n columns: [\n {\n name: 'id',\n title: 'ID',\n datatype: 'uuid',\n type: AXPWidgetsCatalog.text,\n },\n {\n name: 'title',\n title: 'Title',\n datatype: 'string',\n type: AXPWidgetsCatalog.text,\n },\n {\n name: 'description',\n title: 'Description',\n datatype: 'string',\n type: AXPWidgetsCatalog.text,\n },\n ],\n filters: [\n {\n field: 'title',\n title: 'Title',\n operator: {\n type: 'equal',\n },\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n filterType: {\n advance: true,\n inline: true,\n },\n } as AXPFilterDefinition,\n ],\n textField: {\n name: 'title',\n title: 'Title',\n },\n valueField: {\n name: 'id',\n title: 'ID',\n },\n },\n ]);\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport {\n AXMOrgChartNodeContributionContext,\n AXMOrgChartNodeContributionProvider,\n AXMOrgChartNodeMenuAction,\n} from '@acorex/modules/organization-management';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPHumanCapitalManagementCommandKeys } from '../../commands.keys';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst orgChartNodeActionKey = (suffix: string): string =>\n `@human-capital-management:organization-chart.node-actions.${suffix}`;\nconst positionAssignmentSubmenuGroupId = 'position-assignment';\n\n//#endregion\n\n@Injectable()\nexport class AXMHcmOrgChartNodeContributionProvider implements AXMOrgChartNodeContributionProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly sessionService = inject(AXPSessionService);\n private readonly positionAssignmentCreatePermission = 'HumanCapitalManagement:Permission:PositionAssignment.Create';\n private readonly positionAssignmentEditPermission = 'HumanCapitalManagement:Permission:PositionAssignment.Edit';\n\n //#endregion\n\n //#region ---- AXMOrgChartNodeContributionProvider Implementation ----\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 positionId = this.resolveManagerPositionId(context);\n const hasManager = this.hasAssignedManager(context);\n const shouldShowVacantAssignAction = context.nodeKind === 'business-unit' && this.hasVacantBusinessUnitHead(context);\n const canCreatePositionAssignment = this.sessionService.authorize(this.positionAssignmentCreatePermission);\n const canEditPositionAssignment = this.sessionService.authorize(this.positionAssignmentEditPermission);\n\n const assignVacantHeadAction: AXMOrgChartNodeMenuAction | null =\n shouldShowVacantAssignAction\n ? {\n id: 'organization-management.assign-employee-to-head',\n title: orgChartNodeActionKey('assign-manager'),\n icon: 'fa-light fa-user-plus',\n order: 95,\n submenuGroupId: positionAssignmentSubmenuGroupId,\n submenuGroupTitle: orgChartNodeActionKey('position-assignment'),\n submenuGroupIcon: 'fa-light fa-user-tie',\n disabled: !canCreatePositionAssignment || !businessUnitId || !positionId,\n execute: async () => {\n if (!businessUnitId || !positionId) {\n return;\n }\n const result = await this.commandService.execute(AXPHumanCapitalManagementCommandKeys.PositionAssignment.Assign, {\n data: {\n businessUnitId,\n positionId,\n isPrimary: true,\n },\n });\n if (result?.success) {\n await context.refreshChart();\n }\n },\n }\n : null;\n\n const managerAction: AXMOrgChartNodeMenuAction = {\n id: 'organization-management.assign-manager',\n title: hasManager ? orgChartNodeActionKey('change-manager') : orgChartNodeActionKey('assign-manager'),\n icon: 'fa-light fa-user-tie',\n order: 100,\n submenuGroupId: positionAssignmentSubmenuGroupId,\n submenuGroupTitle: orgChartNodeActionKey('position-assignment'),\n submenuGroupIcon: 'fa-light fa-user-tie',\n disabled: !canCreatePositionAssignment || !businessUnitId || !positionId,\n execute: async () => {\n if (!businessUnitId || !positionId) {\n return;\n }\n const result = await this.commandService.execute(AXPHumanCapitalManagementCommandKeys.PositionAssignment.Assign, {\n data: {\n businessUnitId,\n positionId,\n isPrimary: true,\n },\n });\n if (result?.success) {\n await context.refreshChart();\n }\n },\n };\n\n const revokeManagerAction: AXMOrgChartNodeMenuAction = {\n id: 'organization-management.revoke-manager',\n title: orgChartNodeActionKey('revoke-manager-assignment'),\n icon: 'fa-light fa-user-minus',\n color: 'danger',\n order: 110,\n submenuGroupId: positionAssignmentSubmenuGroupId,\n submenuGroupTitle: orgChartNodeActionKey('position-assignment'),\n submenuGroupIcon: 'fa-light fa-user-tie',\n disabled: !canEditPositionAssignment || !hasManager || !positionId,\n execute: async () => {\n if (!positionId) {\n return;\n }\n const employeeId = this.resolveManagerEmployeeId(context);\n if (!employeeId) {\n return;\n }\n const result = await this.commandService.execute(AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke, {\n positionId,\n employeeId,\n businessUnitId,\n });\n if (result?.success) {\n await context.refreshChart();\n }\n },\n };\n\n return [\n ...(assignVacantHeadAction ? [assignVacantHeadAction] : []),\n ...(!shouldShowVacantAssignAction ? [managerAction] : []),\n ...(hasManager ? [revokeManagerAction] : []),\n ];\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\n // Company root (merged-executive chart): corporate scope is often `mergedCorporateBusinessUnitId`, not `businessUnitId`.\n const meta = context.node.metadata;\n return (\n (meta?.['businessUnitId'] as string | undefined) ??\n (meta?.['mergedCorporateBusinessUnitId'] as string | undefined)\n );\n }\n\n private resolveManagerPositionId(context: AXMOrgChartNodeContributionContext): string | undefined {\n const metadata = context.node.metadata ?? {};\n const topRole = metadata['topRole'] as Record<string, unknown> | undefined;\n const unitHead = metadata['unitHead'] as Record<string, unknown> | undefined;\n return (\n (unitHead?.['positionId'] as string | undefined) ??\n (topRole?.['positionId'] as string | undefined) ??\n (metadata['headPositionId'] as string | undefined)\n );\n }\n\n private hasAssignedManager(context: AXMOrgChartNodeContributionContext): boolean {\n const metadata = context.node.metadata ?? {};\n if (context.nodeKind === 'company-root') {\n const topRole = metadata['topRole'] as Record<string, unknown> | undefined;\n if (!topRole) {\n return false;\n }\n const vacant = topRole['vacant'] === true;\n const employeeName = topRole['employeeName'];\n return !vacant && typeof employeeName === 'string' && employeeName.trim().length > 0;\n }\n if (context.nodeKind === 'business-unit') {\n const unitHead = metadata['unitHead'] as Record<string, unknown> | undefined;\n if (!unitHead) {\n return false;\n }\n const vacant = unitHead['vacant'] === true;\n const employeeName = unitHead['employeeName'];\n return !vacant && typeof employeeName === 'string' && employeeName.trim().length > 0;\n }\n return false;\n }\n\n private resolveManagerEmployeeId(context: AXMOrgChartNodeContributionContext): string | undefined {\n const metadata = context.node.metadata ?? {};\n if (context.nodeKind === 'company-root') {\n const topRole = metadata['topRole'] as Record<string, unknown> | undefined;\n const employeeId = topRole?.['employeeId'];\n return typeof employeeId === 'string' && employeeId.trim().length > 0 ? employeeId : undefined;\n }\n if (context.nodeKind === 'business-unit') {\n const unitHead = metadata['unitHead'] as Record<string, unknown> | undefined;\n const employeeId = unitHead?.['employeeId'];\n return typeof employeeId === 'string' && employeeId.trim().length > 0 ? employeeId : undefined;\n }\n return undefined;\n }\n\n private hasVacantBusinessUnitHead(context: AXMOrgChartNodeContributionContext): boolean {\n if (context.nodeKind !== 'business-unit') {\n return false;\n }\n const metadata = context.node.metadata ?? {};\n const unitHead = metadata['unitHead'] as Record<string, unknown> | undefined;\n return unitHead?.['vacant'] === true;\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport {\n AXPEntityAction,\n AXPEntityCommandScope,\n AXPSystemStatusType,\n} from '@acorex/platform/common';\nimport {\n AXPExpressionEvaluatorScopeProvider,\n AXPExpressionEvaluatorScopeProviderContext,\n} from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXPHumanCapitalManagementCommandKeys } from '../../commands.keys';\nimport { RootConfig } from '../../const';\n\n//#endregion\n\n//#region ---- Guided workflow mapping ----\n\n/**\n * Lifecycle event type `name` values that start a workflow (`workflowDefinitionId` on the type)\n * instead of opening `Entity:Create` for `HumanCapitalManagement.LifecycleEvent`.\n */\nconst LIFECYCLE_EVENT_FLOW_TARGETS_BY_TYPE_NAME: Partial<Record<string, string>> = {\n ONBOARDING: AXPSystemStatusType.Active,\n SEPARATION_DEFAULT: 'terminated',\n};\n\n//#endregion\n\n//#region ---- Icon helpers ----\n\n/** Dropdown items render `fa-light {{ suffix }}`; strip a leading FA style token from full icon classes. */\nfunction lifecycleEventMenuIconSuffix(icon?: string): string {\n const trimmed = icon?.trim();\n if (!trimmed) {\n return 'fa-circle-plus';\n }\n const rest = trimmed.replace(/^(fa-(?:duotone|solid|regular|light|thin|brands))\\s+/i, '').trim();\n return rest || 'fa-circle-plus';\n}\n\n//#endregion\n\n/**\n * Expression-evaluator scope for lifecycle event \"Start\" dropdown items (event type templates).\n */\nexport class AXMHumanCapitalManagementLifecycleEventExpressionEvaluatorScopeProvider\n implements AXPExpressionEvaluatorScopeProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPExpressionEvaluatorScopeProvider ----\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope(RootConfig.module.name, {\n /**\n * Loads lifecycle event types and returns toolbar child actions.\n * Templates that define onboarding/offboarding targets run `HumanCapitalManagement.LifecycleEvent:StartFlow`;\n * other types show a not-implemented toast until wired.\n */\n LifecycleEvents: async (): Promise<AXPEntityAction[]> => {\n try {\n const locale = this.translation.getActiveLang();\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.lifecycleEventType.name)\n .data()\n .query({ skip: 0, take: 500 });\n const rows = (page.items ?? []) as Array<{\n id: string;\n name?: string;\n title?: unknown;\n icon?: string;\n questionnaireId?: string;\n workflowDefinitionId?: string;\n }>;\n\n const sorted = [...rows].sort((a, b) => {\n const ta = resolveMultiLanguageString(a.title as never, locale).trim() || a.name || a.id;\n const tb = resolveMultiLanguageString(b.title as never, locale).trim() || b.name || b.id;\n return ta.localeCompare(tb, locale, { sensitivity: 'base' });\n });\n\n return sorted.map((row) => {\n const title =\n resolveMultiLanguageString(row.title as never, locale).trim() || row.name || row.id;\n\n const targetEmployeeStatusId =\n row.name !== undefined ? LIFECYCLE_EVENT_FLOW_TARGETS_BY_TYPE_NAME[row.name] : undefined;\n\n const workflowId = row.workflowDefinitionId?.trim();\n\n const guidedFlowCommand =\n targetEmployeeStatusId && row.questionnaireId && workflowId\n ? ({\n name: AXPHumanCapitalManagementCommandKeys.LifecycleEvent.StartFlow,\n options: {\n workflowId,\n input: {\n employeeId: '{{ context.eval(\"id\") }}',\n employeeDisplayName: '{{ context.eval(\"person.fullName\") }}',\n eventTypeId: row.id,\n eventTypeTitle: title,\n questionnaireId: row.questionnaireId,\n targetEmployeeStatusId,\n },\n },\n } satisfies AXPEntityAction['command'])\n : undefined;\n\n const notImplementedToastCommand = {\n name: 'workflow-activity:show-toast',\n options: {\n message: '@human-capital-management:lifecycle-events.messages.event-not-implemented',\n type: 'warning',\n },\n } satisfies AXPEntityAction['command'];\n\n return {\n name: `start-lifecycle-event-${row.id}`,\n title,\n icon: lifecycleEventMenuIconSuffix(row.icon),\n color: 'default',\n command: guidedFlowCommand ?? notImplementedToastCommand,\n priority: 'primary',\n type: 'info',\n scope: AXPEntityCommandScope.TypeLevel,\n } satisfies AXPEntityAction;\n });\n } catch (error: unknown) {\n console.error(\n `${RootConfig.module.name}.LifecycleEvents failed:`,\n error instanceof Error ? error.message : error,\n );\n return [];\n }\n },\n });\n }\n\n //#endregion\n}\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXMPermissionsKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n private readonly translateService: AXTranslationService;\n\n constructor(private injector: Injector) {\n this.translateService = this.injector.get(AXTranslationService);\n }\n\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXMPermissionsKeys.HumanCapitalManagement;\n\n const moduleTitle = await this.translateService.translateAsync('@human-capital-management:module.permissions.title');\n const moduleDescription = await this.translateService.translateAsync('@human-capital-management:module.permissions.description');\n\n context.addGroup(RootConfig.module.name, moduleTitle, moduleDescription)\n //\n .addPermission(\n keys.Employee.Management,\n await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.title'),\n await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.description')\n )\n .addChild(keys.Employee.View, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.view.description'))\n .addChild(keys.Employee.Create, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.create.description'))\n .addChild(keys.Employee.Edit, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.edit.description'))\n .addChild(keys.Employee.Delete, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.delete.description'))\n .endPermission()\n //\n .addPermission(\n keys.EmploymentType.Management,\n await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.title'),\n await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.description')\n )\n .addChild(keys.EmploymentType.View, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.view.description'))\n .addChild(keys.EmploymentType.Create, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.create.description'))\n .addChild(keys.EmploymentType.Edit, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.edit.description'))\n .addChild(keys.EmploymentType.Delete, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(\n keys.PositionAssignment.Management,\n await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.title'),\n await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.description')\n )\n .addChild(keys.PositionAssignment.View, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.view.description'))\n .addChild(keys.PositionAssignment.Create, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.create.description'))\n .addChild(keys.PositionAssignment.Edit, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.edit.description'))\n .addChild(keys.PositionAssignment.Delete, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.delete.description'))\n .endPermission()\n //\n .addPermission(\n keys.LeaveType.Management,\n await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.title'),\n await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.description')\n )\n .addChild(keys.LeaveType.View, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.view.description'))\n .addChild(keys.LeaveType.Create, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.create.description'))\n .addChild(keys.LeaveType.Edit, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.edit.description'))\n .addChild(keys.LeaveType.Delete, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(\n keys.LeaveRequest.Management,\n await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.title'),\n await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.description')\n )\n .addChild(keys.LeaveRequest.View, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.view.description'))\n .addChild(keys.LeaveRequest.Create, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.create.description'))\n .addChild(keys.LeaveRequest.Edit, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.edit.description'))\n .addChild(keys.LeaveRequest.Delete, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.delete.description'))\n .endPermission()\n //\n .addPermission(\n keys.LifecycleEventType.Management,\n await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.title'),\n await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.description')\n )\n .addChild(keys.LifecycleEventType.View, await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.view.description'))\n .addChild(keys.LifecycleEventType.Create, await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.create.description'))\n .addChild(keys.LifecycleEventType.Edit, await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.edit.description'))\n .addChild(keys.LifecycleEventType.Delete, await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-event-types.permissions.lifecycle-event-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(\n keys.LifecycleEvent.Management,\n await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.title'),\n await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.description')\n )\n .addChild(keys.LifecycleEvent.View, await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.view.description'))\n .addChild(keys.LifecycleEvent.Create, await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.create.description'))\n .addChild(keys.LifecycleEvent.Edit, await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.edit.description'))\n .addChild(keys.LifecycleEvent.Delete, await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:lifecycle-events.permissions.lifecycle-events.actions.delete.description'))\n .endPermission()\n //\n .endGroup();\n }\n}\n\n","import { AXP_RESOURCE_APPOINTMENT_PAGE_CONFIG } from '@acorex/modules/common';\nimport { AXP_IDENTIFIER_RULES } from '@acorex/modules/identifier-management';\nimport { AXM_ORG_CHART_NODE_CONTRIBUTOR } from '@acorex/modules/organization-management';\nimport {\n AXP_DATASOURCE_DEFINITION_PROVIDER,\n AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n AXP_FEATURE_DEFINITION_PROVIDER,\n} from '@acorex/platform/core';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXP_MENU_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER, AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_RESOURCE_APPOINTMENT_PROVIDER } from '@acorex/platform/layout/components';\nimport { AXPRuntimeModule, provideCommandSetups } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { inject, NgModule } from '@angular/core';\nimport { Route, ROUTES } from '@angular/router';\nimport { RootConfig } from './const';\nimport { AXPHumanCapitalManagementCommandKeys } from './commands.keys';\nimport { AXMHumanCapitalModuleEntityProvider } from './entity.provider';\nimport { AXPHumanCapitalManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMLeaveRequestResourceAppointmentProvider } from './features';\nimport { AXMLifecycleEventFeatureModule } from './features/lifecycle-event/lifecycle-event.module';\nimport { AXMLeaveRequestFeatureModule } from './features/leave-request/leave-request.module';\nimport { AXM_EMPLOYEE_CODE_IDENTIFIER_RULE } from './features/shared/identifiers/employee-code-identifier-rule.provider';\nimport { AXMEmployeeStatusProvider } from './features/shared/employee-status.provider';\nimport { AXMPositionAssignmentStatusProvider } from './features/shared/position-assignment-status.provider';\nimport { HumanCapitalManagementManifest } from './manifest';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMEmployeeDataSourceDefinition } from './features/shared/datasources';\nimport { AXMHcmOrgChartNodeContributionProvider } from './features/organization-chart/hcm-org-chart-node-contribution.provider';\nimport { AXMHumanCapitalManagementLifecycleEventExpressionEvaluatorScopeProvider } from './features/shared/lifecycle-event-expression-evaluator-scope.provider';\n\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\n\n//#region ---- Appointment Board Route ----\n\nfunction createAppointmentBoardRoute(): Route {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n return {\n path: `:app/${RootConfig.pages.appointmentBoard.path}/:provider-name`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => config.viewers.root(),\n children: [\n {\n path: '',\n loadComponent: () => import('@acorex/modules/common').then((c) => c.AXPResourceAppointmentPageComponent),\n providers: [\n {\n provide: AXP_RESOURCE_APPOINTMENT_PAGE_CONFIG,\n useValue: {\n pageTitle: RootConfig.pages.appointmentBoard.title,\n pageDescription: '@human-capital-management:leave-requests.menus.appointment-board.description',\n pageIcon: RootConfig.pages.appointmentBoard.icon,\n breadcrumbs: [{ title: RootConfig.module.title }],\n showResourceHeaders: true,\n showUnassignedAppointments: true,\n },\n },\n ],\n },\n ],\n };\n}\n\n//#endregion\n\n@NgModule({\n imports: [\n CommonModule,\n AXPRuntimeModule,\n AXMLeaveRequestFeatureModule,\n AXMLifecycleEventFeatureModule,\n ],\n providers: [\n // Appointment Board route\n {\n provide: ROUTES,\n multi: true,\n useFactory: () => [createAppointmentBoardRoute()],\n },\n {\n provide: AXP_RESOURCE_APPOINTMENT_PROVIDER,\n useClass: AXMLeaveRequestResourceAppointmentProvider,\n multi: true,\n },\n // Module-specific providers (not part of manifest system)\n {\n provide: AXP_IDENTIFIER_RULES,\n multi: true,\n useValue: AXM_EMPLOYEE_CODE_IDENTIFIER_RULE,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMEmployeeStatusProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMPositionAssignmentStatusProvider,\n multi: true,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: HumanCapitalManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMHumanCapitalModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_DATASOURCE_DEFINITION_PROVIDER,\n useClass: AXMEmployeeDataSourceDefinition,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXPHumanCapitalManagementFeatureDefinitionProvider,\n multi: true,\n },\n {\n provide: AXM_ORG_CHART_NODE_CONTRIBUTOR,\n useClass: AXMHcmOrgChartNodeContributionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMHumanCapitalManagementLifecycleEventExpressionEvaluatorScopeProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Assign,\n command: () =>\n import('./features/organization-chart/commands/assign-position-assignment.command').then(\n (c) => c.AXMAssignPositionAssignmentCommand,\n ),\n },\n {\n key: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n command: () =>\n import('./features/organization-chart/commands/revoke-position-assignment.command').then(\n (c) => c.AXMRevokePositionAssignmentByIdCommand,\n ),\n },\n ]),\n ],\n})\nexport class AXMHumanCapitalManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { AXPSystemStatuses } from '@acorex/platform/common';
|
|
|
2
2
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { inject, Injectable } from '@angular/core';
|
|
5
|
-
import { R as RootConfig } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-
|
|
5
|
+
import { R as RootConfig } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs';
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
8
|
/**
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
56
56
|
}] });
|
|
57
57
|
|
|
58
58
|
export { ApproveLeaveRequestCommand };
|
|
59
|
-
//# sourceMappingURL=acorex-modules-human-capital-management-approve-leave-request.command-
|
|
59
|
+
//# sourceMappingURL=acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-human-capital-management-approve-leave-request.command-
|
|
1
|
+
{"version":3,"file":"acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs","sources":["../../../../libs/modules/human-capital-management/src/lib/features/leave-request/commands/approve-leave-request.command.ts"],"sourcesContent":["import { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { RootConfig } from '../../../const';\n\n//#region ---- Types ----\n\nexport interface ApproveLeaveRequestInput {\n id: string;\n reason?: string;\n note?: string;\n}\n\n//#endregion\n\n/**\n * Approve Leave Request Command\n * Updates the leave request status to Approved\n */\n@Injectable({ providedIn: 'root' })\nexport class ApproveLeaveRequestCommand implements AXPCommand<ApproveLeaveRequestInput, void> {\n //#region ---- Services ----\n\n private readonly entityService = inject(AXPEntityService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: ApproveLeaveRequestInput): Promise<AXPExecuteCommandResult<void>> {\n try {\n const dataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data<string, any>();\n\n // Update the leave request status to Approved\n const updateData: any = {\n statusId: AXPSystemStatuses.Approved.name,\n };\n\n // Add reason/note if provided (these fields might not exist in entity model)\n if (input.reason) {\n updateData.reason = input.reason;\n }\n if (input.note) {\n updateData.note = input.note;\n }\n\n await dataAccessor.update(input.id, updateData);\n\n return {\n success: true,\n };\n } catch (error: any) {\n console.error('[ApproveLeaveRequestCommand] Error:', error);\n return {\n success: false,\n message: {\n text: error.message || 'Failed to approve leave request',\n },\n };\n }\n }\n\n //#endregion\n}\n"],"names":[],"mappings":";;;;;;AAeA;AAEA;;;AAGG;MAEU,0BAA0B,CAAA;AADvC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AA0C1D,IAAA;;;IApCC,MAAM,OAAO,CAAC,KAA+B,EAAA;AAC3C,QAAA,IAAI;AACF,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC;AACvB,iBAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI;AACxE,iBAAA,IAAI,EAAe;;AAGtB,YAAA,MAAM,UAAU,GAAQ;AACtB,gBAAA,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI;aAC1C;;AAGD,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,gBAAA,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;YAClC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,EAAE;AACd,gBAAA,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;YAC9B;YAEA,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC;YAE/C,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;aACd;QACH;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC;YAC3D,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,iCAAiC;AACzD,iBAAA;aACF;QACH;IACF;8GA1CW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA,CAAA;;2FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
|
|
@@ -3,7 +3,7 @@ import { AXPCommandService } from '@acorex/platform/runtime';
|
|
|
3
3
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { inject, Injectable } from '@angular/core';
|
|
6
|
-
import { R as RootConfig, A as AXM_POSITION_ASSIGNMENT_STATUS } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-
|
|
6
|
+
import { R as RootConfig, A as AXM_POSITION_ASSIGNMENT_STATUS } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs';
|
|
7
7
|
|
|
8
8
|
class AXMAssignPositionAssignmentCommand {
|
|
9
9
|
constructor() {
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
87
87
|
}] });
|
|
88
88
|
|
|
89
89
|
export { AXMAssignPositionAssignmentCommand };
|
|
90
|
-
//# sourceMappingURL=acorex-modules-human-capital-management-assign-position-assignment.command-
|
|
90
|
+
//# sourceMappingURL=acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-human-capital-management-assign-position-assignment.command-
|
|
1
|
+
{"version":3,"file":"acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs","sources":["../../../../libs/modules/human-capital-management/src/lib/features/organization-chart/commands/assign-position-assignment.command.ts"],"sourcesContent":["import { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { AXPCommand, AXPCommandService } from '@acorex/platform/runtime';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXM_POSITION_ASSIGNMENT_STATUS } from '../../shared/position-assignment-status.provider';\n\nexport interface AXMAssignPositionAssignmentInput {\n __context__?: {\n data?: Record<string, unknown>;\n };\n data?: Record<string, unknown>;\n employeeId?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXMAssignPositionAssignmentCommand implements AXPCommand<AXMAssignPositionAssignmentInput, unknown> {\n private readonly commandService = inject(AXPCommandService);\n private readonly entityRegistry = inject(AXPEntityDefinitionRegistryService);\n private readonly entitySelector = inject(AXPEntityDataSelectorService);\n private readonly translationService = inject(AXTranslationService);\n\n private readonly positionAssignmentSource = RootConfig.entities.positionAssignment.source;\n private readonly positionAssignmentEntityInfo = {\n module: RootConfig.module.name,\n name: RootConfig.entities.positionAssignment.name,\n title: RootConfig.entities.positionAssignment.title,\n };\n\n async execute(input: AXMAssignPositionAssignmentInput): Promise<AXPExecuteCommandResult<unknown>> {\n const payload = {\n ...((input?.__context__?.data ?? input?.data ?? {}) as Record<string, unknown>),\n };\n const rawEmployeeId = (input?.employeeId ?? payload['employeeId']) as string | undefined;\n const employeeId = rawEmployeeId && rawEmployeeId.trim().length > 0 ? rawEmployeeId : await this.selectEmployeeId();\n if (!employeeId) {\n return { success: false };\n }\n payload['employeeId'] = employeeId;\n payload['statusId'] = this.resolveStatusId(payload['startDate'], payload['endDate']);\n\n return (\n await this.commandService.execute('Entity:Create', {\n __context__: {\n entity: this.positionAssignmentSource,\n entityInfo: this.positionAssignmentEntityInfo,\n data: payload,\n options: {\n process: {\n redirect: false,\n },\n },\n },\n })\n ) ?? { success: false };\n }\n\n private async selectEmployeeId(): Promise<string | undefined> {\n const employeeEntity = await this.entityRegistry.resolve(RootConfig.module.name, RootConfig.entities.employee.name);\n if (!employeeEntity) {\n return undefined;\n }\n\n const title = await this.translationService.translateAsync(\n '@human-capital-management:organization-chart.node-actions.select-employee',\n );\n const result = await this.entitySelector.open({\n entity: employeeEntity,\n title,\n allowMultiple: false,\n columns: ['person.fullName', 'employeeCode'],\n });\n\n const selected = result?.items?.[0];\n const selectedId = selected?.['id'] ?? selected?.['_id'];\n return typeof selectedId === 'string' && selectedId.trim().length > 0 ? selectedId : undefined;\n }\n\n private resolveStatusId(startDate: unknown, endDate: unknown): string {\n const nowTime = Date.now();\n const startTime = this.parseTime(startDate);\n const endTime = this.parseTime(endDate);\n if (endTime !== undefined && endTime <= nowTime) {\n return AXM_POSITION_ASSIGNMENT_STATUS.expired;\n }\n if (startTime !== undefined && startTime > nowTime) {\n return AXM_POSITION_ASSIGNMENT_STATUS.scheduled;\n }\n return AXM_POSITION_ASSIGNMENT_STATUS.active;\n }\n\n private parseTime(value: unknown): number | undefined {\n if (!value) {\n return undefined;\n }\n const dateValue = value instanceof Date ? value : new Date(String(value));\n const time = dateValue.getTime();\n return Number.isFinite(time) ? time : undefined;\n }\n}\n\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { AXPSystemStatuses } from '@acorex/platform/common';
|
|
|
2
2
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { inject, Injectable } from '@angular/core';
|
|
5
|
-
import { R as RootConfig } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-
|
|
5
|
+
import { R as RootConfig } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs';
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
8
|
/**
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
56
56
|
}] });
|
|
57
57
|
|
|
58
58
|
export { CancelLeaveRequestCommand };
|
|
59
|
-
//# sourceMappingURL=acorex-modules-human-capital-management-cancel-leave-request.command-
|
|
59
|
+
//# sourceMappingURL=acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-human-capital-management-cancel-leave-request.command-
|
|
1
|
+
{"version":3,"file":"acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs","sources":["../../../../libs/modules/human-capital-management/src/lib/features/leave-request/commands/cancel-leave-request.command.ts"],"sourcesContent":["import { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { RootConfig } from '../../../const';\n\n//#region ---- Types ----\n\nexport interface CancelLeaveRequestInput {\n id: string;\n reason?: string;\n note?: string;\n}\n\n//#endregion\n\n/**\n * Cancel Leave Request Command\n * Updates the leave request status to Cancelled\n */\n@Injectable({ providedIn: 'root' })\nexport class CancelLeaveRequestCommand implements AXPCommand<CancelLeaveRequestInput, void> {\n //#region ---- Services ----\n\n private readonly entityService = inject(AXPEntityService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: CancelLeaveRequestInput): Promise<AXPExecuteCommandResult<void>> {\n try {\n const dataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data<string, any>();\n\n // Update the leave request status to Cancelled\n const updateData: any = {\n statusId: AXPSystemStatuses.Cancelled.name,\n };\n\n // Add reason/note if provided (these fields might not exist in entity model)\n if (input.reason) {\n updateData.reason = input.reason;\n }\n if (input.note) {\n updateData.note = input.note;\n }\n\n await dataAccessor.update(input.id, updateData);\n\n return {\n success: true,\n };\n } catch (error: any) {\n console.error('[CancelLeaveRequestCommand] Error:', error);\n return {\n success: false,\n message: {\n text: error.message || 'Failed to cancel leave request',\n },\n };\n }\n }\n\n //#endregion\n}\n"],"names":[],"mappings":";;;;;;AAeA;AAEA;;;AAGG;MAEU,yBAAyB,CAAA;AADtC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AA0C1D,IAAA;;;IApCC,MAAM,OAAO,CAAC,KAA8B,EAAA;AAC1C,QAAA,IAAI;AACF,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC;AACvB,iBAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI;AACxE,iBAAA,IAAI,EAAe;;AAGtB,YAAA,MAAM,UAAU,GAAQ;AACtB,gBAAA,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI;aAC3C;;AAGD,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,gBAAA,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;YAClC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,EAAE;AACd,gBAAA,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;YAC9B;YAEA,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC;YAE/C,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;aACd;QACH;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC;YAC1D,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,gCAAgC;AACxD,iBAAA;aACF;QACH;IACF;8GA1CW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cADZ,MAAM,EAAA,CAAA,CAAA;;2FACnB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
|
|
@@ -2,7 +2,7 @@ import { AXPWidgetsList, statusPlugin } from '@acorex/modules/common';
|
|
|
2
2
|
import { createAllQueryView, AXPEntityCommandScope } from '@acorex/platform/common';
|
|
3
3
|
import { entityMasterCrudActions, entityMasterRecordActions, entityDetailsCrudActions, entityDetailsSimpleCondition } from '@acorex/platform/layout/entity';
|
|
4
4
|
import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
|
|
5
|
-
import { R as RootConfig, b as AXPHumanCapitalManagementCommandKeys } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-
|
|
5
|
+
import { R as RootConfig, b as AXPHumanCapitalManagementCommandKeys } from './acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs';
|
|
6
6
|
|
|
7
7
|
async function factory() {
|
|
8
8
|
const entityDef = {
|
|
@@ -79,12 +79,12 @@ async function factory() {
|
|
|
79
79
|
layout: { type: 'page-list', position: 'after', order: 4 },
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
|
-
entity: `${RootConfig.module.name}.${RootConfig.entities.
|
|
83
|
-
title: '@human-capital-management:employees.entities.employee.related-entities.
|
|
82
|
+
entity: `${RootConfig.module.name}.${RootConfig.entities.lifecycleEvent.name}`,
|
|
83
|
+
title: '@human-capital-management:employees.entities.employee.related-entities.lifecycle-events',
|
|
84
84
|
columns: [
|
|
85
|
-
'
|
|
85
|
+
'eventTypeId',
|
|
86
86
|
'effectiveDate',
|
|
87
|
-
'
|
|
87
|
+
'assignedToUserId',
|
|
88
88
|
'statusId',
|
|
89
89
|
'attachments',
|
|
90
90
|
],
|
|
@@ -93,7 +93,7 @@ async function factory() {
|
|
|
93
93
|
excludeProperties: ['employeeId'],
|
|
94
94
|
actions: [
|
|
95
95
|
{
|
|
96
|
-
title: '@human-capital-management:employees.entities.employee.related-entities.
|
|
96
|
+
title: '@human-capital-management:employees.entities.employee.related-entities.lifecycle-event-start.title',
|
|
97
97
|
icon: 'fa-light fa-play',
|
|
98
98
|
command: {
|
|
99
99
|
name: 'Entity:Create',
|
|
@@ -108,7 +108,7 @@ async function factory() {
|
|
|
108
108
|
priority: 'primary',
|
|
109
109
|
type: 'create',
|
|
110
110
|
scope: AXPEntityCommandScope.TypeLevel,
|
|
111
|
-
items: `{{ await ${RootConfig.module.name}.
|
|
111
|
+
items: `{{ await ${RootConfig.module.name}.LifecycleEvents() }}`,
|
|
112
112
|
},
|
|
113
113
|
...entityDetailsCrudActions('employeeId', { create: false }),
|
|
114
114
|
],
|
|
@@ -407,4 +407,4 @@ async function factory() {
|
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
export { factory };
|
|
410
|
-
//# sourceMappingURL=acorex-modules-human-capital-management-employee.entity-
|
|
410
|
+
//# sourceMappingURL=acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs.map
|