@acorex/modules 21.0.0-next.44 → 21.0.0-next.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/fesm2022/{acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs → acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs} +15 -1
  2. package/fesm2022/acorex-modules-ai-management-agent.entity-Bnt9zkci.mjs.map +1 -0
  3. package/fesm2022/acorex-modules-ai-management.mjs +1 -1
  4. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-c8OrTwDw.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-BD5oxehv.mjs} +59 -75
  5. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BD5oxehv.mjs.map +1 -0
  6. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-DEsJE7x3.mjs → acorex-modules-assessment-management-assessment-case.entity-BWj2PB39.mjs} +2 -2
  7. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-DEsJE7x3.mjs.map → acorex-modules-assessment-management-assessment-case.entity-BWj2PB39.mjs.map} +1 -1
  8. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-eNFfu-Jq.mjs → acorex-modules-assessment-management-assessment-session.entity-BQnYnNOz.mjs} +2 -2
  9. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-eNFfu-Jq.mjs.map → acorex-modules-assessment-management-assessment-session.entity-BQnYnNOz.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BeSUBkI9.mjs → acorex-modules-assessment-management-fill-assessment-session.command-BiS7QO_E.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BeSUBkI9.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-BiS7QO_E.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-assessment-management-index-3GB9Xkyv.mjs → acorex-modules-assessment-management-index-BXw0Lf5c.mjs} +4 -4
  13. package/fesm2022/{acorex-modules-assessment-management-index-3GB9Xkyv.mjs.map → acorex-modules-assessment-management-index-BXw0Lf5c.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-QinKZtTz.mjs → acorex-modules-assessment-management-preview-question.command-Bm1v6ngB.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-QinKZtTz.mjs.map → acorex-modules-assessment-management-preview-question.command-Bm1v6ngB.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-CKZYSyOv.mjs → acorex-modules-assessment-management-preview-questionnaire.command-Dja4PbGz.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-CKZYSyOv.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-Dja4PbGz.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-qZXANgNr.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BbkWs23A.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-qZXANgNr.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BbkWs23A.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-Dp4eYR3O.mjs → acorex-modules-assessment-management-question-bank-item.entity-X8s42nZH.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-Dp4eYR3O.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-X8s42nZH.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-BMB9IEIv.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-d8HUAvWp.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-BMB9IEIv.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-d8HUAvWp.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DgC1xuH9.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-YUDOSypz.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DgC1xuH9.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-YUDOSypz.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-ChUNq9Bc.mjs → acorex-modules-assessment-management-questionnaire.entity-q3Z4VIiA.mjs} +3 -3
  27. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-ChUNq9Bc.mjs.map → acorex-modules-assessment-management-questionnaire.entity-q3Z4VIiA.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-sji05ut4.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-4OLYEn35.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-sji05ut4.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-4OLYEn35.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BIpotfIE.mjs → acorex-modules-assessment-management-view-session-answers.command-DWEd-ZM_.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BIpotfIE.mjs.map → acorex-modules-assessment-management-view-session-answers.command-DWEd-ZM_.mjs.map} +1 -1
  32. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  33. package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-fQ0rp8vu.mjs → acorex-modules-asset-management-acorex-modules-asset-management-B1mg2dIR.mjs} +8 -19
  34. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-B1mg2dIR.mjs.map +1 -0
  35. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-DuFgujR6.mjs → acorex-modules-asset-management-asset-system-assignment.entity-lL1FBlzA.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-DuFgujR6.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-lL1FBlzA.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-sszGMFny.mjs → acorex-modules-asset-management-asset-system-type.entity-DFHVqE7a.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-sszGMFny.mjs.map → acorex-modules-asset-management-asset-system-type.entity-DFHVqE7a.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-asset-management-asset-system.entity-tWUPNYQq.mjs → acorex-modules-asset-management-asset-system.entity-DlpOp7Xj.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-asset-management-asset-system.entity-tWUPNYQq.mjs.map → acorex-modules-asset-management-asset-system.entity-DlpOp7Xj.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-l3xXMo2l.mjs → acorex-modules-asset-management-asset-type-section-component.entity-CIkXc51V.mjs} +2 -2
  42. package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-l3xXMo2l.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-CIkXc51V.mjs.map} +1 -1
  43. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-CldvQBUW.mjs → acorex-modules-asset-management-asset-type-section.entity-Ctxh5hGa.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-CldvQBUW.mjs.map → acorex-modules-asset-management-asset-type-section.entity-Ctxh5hGa.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-asset-management-asset-type.entity-CP0dryvp.mjs → acorex-modules-asset-management-asset-type.entity-CN6K0Uw3.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-asset-management-asset-type.entity-CP0dryvp.mjs.map → acorex-modules-asset-management-asset-type.entity-CN6K0Uw3.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-asset-management-asset.entity-Du_fWe9V.mjs → acorex-modules-asset-management-asset.entity-2XZut6JS.mjs} +6 -5
  48. package/fesm2022/acorex-modules-asset-management-asset.entity-2XZut6JS.mjs.map +1 -0
  49. package/fesm2022/acorex-modules-asset-management.mjs +1 -1
  50. package/fesm2022/acorex-modules-common.mjs +399 -399
  51. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  52. package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-BJU2_R9O.mjs → acorex-modules-conversation-acorex-modules-conversation-Dm9D7la2.mjs} +478 -316
  53. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dm9D7la2.mjs.map +1 -0
  54. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DnKfkEg1.mjs +287 -0
  55. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DnKfkEg1.mjs.map +1 -0
  56. package/fesm2022/{acorex-modules-conversation-comments-page.component-Bg6m7UTG.mjs → acorex-modules-conversation-comments-page.component-JPIzhBys.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-conversation-comments-page.component-Bg6m7UTG.mjs.map → acorex-modules-conversation-comments-page.component-JPIzhBys.mjs.map} +1 -1
  58. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  59. package/fesm2022/acorex-modules-document-management.mjs +8 -5
  60. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  61. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-hImDhzkB.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs} +301 -22
  62. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs.map +1 -0
  63. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-DujyJOvo.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-DujyJOvo.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-BPB9vaCn.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-BPB9vaCn.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-BdPUdhbU.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs} +2 -2
  68. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-BdPUdhbU.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs.map} +1 -1
  69. package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs +225 -0
  70. package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs.map +1 -0
  71. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-CgmF-WPf.mjs → acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs} +38 -2
  72. package/fesm2022/acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs.map +1 -0
  73. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-Chio_E9S.mjs → acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs} +2 -2
  74. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-Chio_E9S.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs.map} +1 -1
  75. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity--9iGu0H7.mjs → acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs} +2 -2
  76. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity--9iGu0H7.mjs.map → acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-O0j4P2oU.mjs → acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs} +2 -2
  78. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-O0j4P2oU.mjs.map → acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs.map} +1 -1
  79. package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs +175 -0
  80. package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs.map +1 -0
  81. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-Bg6omEy_.mjs → acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs} +2 -2
  82. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-Bg6omEy_.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-ZNGufyB1.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs} +2 -2
  84. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-ZNGufyB1.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs.map} +1 -1
  85. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-C8pwJExa.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs} +2 -2
  86. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-C8pwJExa.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs.map} +1 -1
  87. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  88. package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-C0LLBxMR.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs} +321 -151
  89. package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs.map +1 -0
  90. package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-D8yOqKWQ.mjs → acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs} +2 -2
  91. package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-D8yOqKWQ.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs.map} +1 -1
  92. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-CHXkbEHG.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs} +2 -2
  93. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-CHXkbEHG.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs.map} +1 -1
  94. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-yR11e9TU.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs} +2 -2
  95. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-yR11e9TU.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs.map} +1 -1
  96. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-BD4Uz6G-.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs} +2 -2
  97. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-BD4Uz6G-.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CZFgl-t4.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs} +2 -2
  99. package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CZFgl-t4.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs.map} +1 -1
  100. package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DQE5nqiN.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs} +2 -2
  101. package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DQE5nqiN.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-C6mhbWzU.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs} +2 -2
  103. package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-C6mhbWzU.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs.map} +1 -1
  104. package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-DSnrVaWI.mjs → acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs} +16 -3
  105. package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs.map +1 -0
  106. package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-DZoMhgW7.mjs → acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs} +2 -2
  107. package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-DZoMhgW7.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs.map} +1 -1
  108. package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-qf2WNKB_.mjs → acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs} +191 -35
  109. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs.map +1 -0
  110. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs +154 -0
  111. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs.map +1 -0
  112. package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
  113. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-B-NoGoOJ.mjs → acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs} +4 -6
  114. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-B-NoGoOJ.mjs.map → acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs.map} +1 -1
  115. package/fesm2022/acorex-modules-report-management.mjs +36 -19
  116. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  117. package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-DDUq9FpA.mjs → acorex-modules-task-management-acorex-modules-task-management-BIEMYKVF.mjs} +63 -6
  118. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BIEMYKVF.mjs.map +1 -0
  119. package/fesm2022/{acorex-modules-task-management-task-board.page-C6j-_aSD.mjs → acorex-modules-task-management-task-board.page-CkVHYIl5.mjs} +2 -2
  120. package/fesm2022/{acorex-modules-task-management-task-board.page-C6j-_aSD.mjs.map → acorex-modules-task-management-task-board.page-CkVHYIl5.mjs.map} +1 -1
  121. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  122. package/fesm2022/acorex-modules-workflow-management.mjs +252 -57
  123. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  124. package/package.json +2 -2
  125. package/types/acorex-modules-ai-management.d.ts +2 -0
  126. package/types/acorex-modules-common.d.ts +14 -14
  127. package/types/acorex-modules-conversation.d.ts +25 -39
  128. package/types/acorex-modules-human-capital-management.d.ts +100 -2
  129. package/types/acorex-modules-maintenance-management.d.ts +6 -6
  130. package/types/acorex-modules-report-management.d.ts +8 -0
  131. package/types/acorex-modules-task-management.d.ts +26 -1
  132. package/types/acorex-modules-workflow-management.d.ts +51 -4
  133. package/fesm2022/acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs.map +0 -1
  134. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-c8OrTwDw.mjs.map +0 -1
  135. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-fQ0rp8vu.mjs.map +0 -1
  136. package/fesm2022/acorex-modules-asset-management-asset.entity-Du_fWe9V.mjs.map +0 -1
  137. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-BJU2_R9O.mjs.map +0 -1
  138. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DX2JPckF.mjs +0 -324
  139. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DX2JPckF.mjs.map +0 -1
  140. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-hImDhzkB.mjs.map +0 -1
  141. package/fesm2022/acorex-modules-human-capital-management-employee.entity-CgmF-WPf.mjs.map +0 -1
  142. package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-C0LLBxMR.mjs.map +0 -1
  143. package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-DSnrVaWI.mjs.map +0 -1
  144. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-qf2WNKB_.mjs.map +0 -1
  145. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs +0 -54
  146. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs.map +0 -1
  147. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-DDUq9FpA.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DX2JPckF.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/chat/plugins/utils/assist-delegated-agent-transcript-view.util.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.html","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-detail-popup.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXMessage } from '@acorex/components/conversation2';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\n\n//#endregion\n\n//#region ---- Tool result index ----\n\n/** Maps tool_call id → tool-role line carrying {@code tool_result} / {@code agent_result}. */\nexport function axmBuildToolResultByCallId(messages: AXPAiChatMessage[]): Map<string, AXPAiChatMessage> {\n const map = new Map<string, AXPAiChatMessage>();\n for (const line of messages) {\n if (line.role !== 'tool') {\n continue;\n }\n for (const seg of line.responses) {\n if (seg.type !== 'tool_result' && seg.type !== 'agent_result') {\n continue;\n }\n const callId = seg.callId?.trim();\n if (callId) {\n map.set(callId, line);\n }\n }\n }\n return map;\n}\n\n//#endregion\n\n//#region ---- Formatters ----\n\nexport function axmTryPrettyJson(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) {\n return '';\n }\n try {\n return JSON.stringify(JSON.parse(trimmed), null, 2);\n } catch {\n return trimmed;\n }\n}\n\nexport function axmFormatTranscriptArgs(args: unknown): string {\n if (args == null) {\n return '';\n }\n if (typeof args === 'string') {\n return axmTryPrettyJson(args);\n }\n try {\n return JSON.stringify(args, null, 2);\n } catch {\n return String(args);\n }\n}\n\nexport function axmFormatTranscriptFallbackSegment(seg: unknown): string {\n try {\n return JSON.stringify(seg, null, 2);\n } catch {\n return String(seg);\n }\n}\n\n//#endregion\n\n//#region ---- Embed parent stub ----\n\n/** Minimal parent message for synthetic embed renderers inside the detail popup. */\nexport function axmDelegatedTranscriptEmbedParentStub(): AXMessage {\n return {\n id: 'assist-delegated-transcript-embed',\n conversationId: '',\n senderId: 'assist',\n type: 'text',\n payload: { type: 'text', text: '' },\n status: 'sent',\n metadata: { assistEmbed: true },\n } as unknown as AXMessage;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXAccordionCdkModule } from '@acorex/cdk/accordion';\nimport { AXCodeEditorDefaultLanguage, AXCodeEditorModule } from '@acorex/components/code-editor';\nimport type { AXMessage, AXMessagePayload } from '@acorex/components/conversation2';\nimport { AXTextRendererComponent } from '@acorex/components/conversation2';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type {\n AXPAiChatMessage,\n AXPAiChatResponse,\n AXPAiDelegatedAgentResultSegment,\n} from '@acorex/modules/ai-management';\nimport {\n axpAiChatToolOrAgentResultBodyJson,\n axpAiDelegatedAgentPromptPreview,\n axpAiParseDelegatedAgentResultSegmentsFromUnknown,\n axpAiParseSupervisorAgentToolName,\n} from '@acorex/modules/ai-management';\nimport { AXPMarkdownTemplateDirective, AXPMarkdownViewerComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport {\n axmAssistWidgetNodeFromUnknown,\n axmParseAssistTranscriptTextEnvelope,\n axmSyntheticEmbedMessage,\n} from '../utils/assist-bot-transcript.util';\nimport {\n axmBuildToolResultByCallId,\n axmFormatTranscriptArgs,\n axmFormatTranscriptFallbackSegment,\n axmTryPrettyJson,\n} from '../utils/assist-delegated-agent-transcript-view.util';\nimport { axmAssistSegmentDirection } from '../utils/assist-segment-direction.util';\nimport { AXMAssistBotImageLineComponent } from './assist-bot-image-line.component';\nimport { AXMNodeMessageRendererComponent } from './node-message-renderer.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Read-only {@link AXPAiChatMessage} transcript (role + responses[]) for delegated specialist detail.\n */\n@Component({\n selector: 'axm-assist-delegated-agent-transcript-view',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXTextRendererComponent,\n AXMNodeMessageRendererComponent,\n AXMAssistBotImageLineComponent,\n AXAccordionCdkModule,\n AXCodeEditorModule,\n AXPMarkdownViewerComponent,\n AXPMarkdownTemplateDirective,\n FormsModule,\n AXTranslationModule,\n AsyncPipe,\n ],\n templateUrl: './assist-delegated-agent-transcript-view.component.html',\n styleUrls: [\n './assist-message-renderer.component.scss',\n './assist-delegated-agent-transcript-view.component.scss',\n ],\n})\nexport class AXMAssistDelegatedAgentTranscriptViewComponent {\n //#region ---- Inputs ----\n\n readonly messages = input<AXPAiChatMessage[]>([]);\n readonly embedParent = input.required<AXMessage>();\n readonly emptyHint = input<string | undefined>(undefined);\n readonly agentTitleById = input<Record<string, string>>({});\n\n //#endregion\n\n //#region ---- Template helpers ----\n\n protected readonly segmentDir = axmAssistSegmentDirection;\n protected readonly parseAssistLineText = axmParseAssistTranscriptTextEnvelope;\n protected readonly axmAssistWidgetNodeFromUnknown = axmAssistWidgetNodeFromUnknown;\n protected readonly isDelegatedAgentCommand = (command: string): boolean =>\n axpAiParseSupervisorAgentToolName(command) != null;\n\n //#endregion\n\n //#region ---- Computed ----\n\n readonly hasMessages = computed(() => this.messages().length > 0);\n\n readonly toolResultByCallId = computed(() => axmBuildToolResultByCallId(this.messages()));\n\n readonly displayLines = computed(() =>\n this.messages().map((line, lineIndex) => ({ line, lineIndex })),\n );\n\n //#endregion\n\n //#region ---- Accordion helpers ----\n\n /** Segment indices shown in the detail UI (tool results merge into tool/agent cards). */\n protected visibleSegmentIndices(line: AXPAiChatMessage): number[] {\n const indices: number[] = [];\n line.responses.forEach((seg, segIndex) => {\n if (line.role === 'tool' && (seg.type === 'tool_result' || seg.type === 'agent_result')) {\n return;\n }\n indices.push(segIndex);\n });\n return indices;\n }\n\n protected lineIsCollapsed(lineIndex: number): boolean {\n return lineIndex !== 0;\n }\n\n protected segmentIsCollapsed(lineIndex: number, line: AXPAiChatMessage, segIndex: number): boolean {\n const visible = this.visibleSegmentIndices(line);\n const firstVisible = visible[0];\n return !(lineIndex === 0 && segIndex === firstVisible);\n }\n\n //#endregion\n\n //#region ---- Segment renderers ----\n\n protected segmentTypeTranslationKey(seg: AXPAiChatResponse): string {\n switch (seg.type) {\n case 'text':\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.text';\n case 'think':\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.think';\n case 'file':\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.file';\n case 'node':\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.node';\n case 'agent':\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.agent';\n case 'tool':\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.tool';\n default:\n return '@conversation:chat.assist-renderer.delegated-agent.segment-types.other';\n }\n }\n\n protected segmentHeaderTitle(seg: AXPAiChatResponse): string {\n if (seg.type === 'tool' || seg.type === 'agent') {\n return this.resolveToolDisplayTitle(seg.content.command);\n }\n if (seg.type === 'file' && seg.content.name?.trim()) {\n return seg.content.name.trim();\n }\n return '';\n }\n\n protected roleTranslationKey(role: AXPAiChatMessage['role']): string {\n return `@conversation:chat.assist-renderer.delegated-agent.roles.${role}`;\n }\n\n protected resolveToolDisplayTitle(command: string): string {\n const agentId = axpAiParseSupervisorAgentToolName(command);\n if (agentId) {\n const title = this.agentTitleById()[agentId];\n if (title?.trim()) {\n return title.trim();\n }\n return agentId;\n }\n return command?.trim() || 'Tool';\n }\n\n protected toolResultForCallId(callId: string | undefined): AXPAiChatMessage | null {\n if (!callId?.trim()) {\n return null;\n }\n return this.toolResultByCallId().get(callId.trim()) ?? null;\n }\n\n protected delegatedAgentOutcomeSegmentsForCall(res: AXPAiChatMessage | null): AXPAiDelegatedAgentResultSegment[] {\n if (!res) {\n return [];\n }\n const raw = axpAiChatToolOrAgentResultBodyJson(res);\n if (!raw.trim()) {\n return [];\n }\n try {\n const o = JSON.parse(raw) as Record<string, unknown>;\n if (o['success'] === false) {\n return [];\n }\n return axpAiParseDelegatedAgentResultSegmentsFromUnknown(\n (o['data'] as Record<string, unknown> | undefined)?.['responses'],\n );\n } catch {\n return [];\n }\n }\n\n protected delegatedPromptPreview(argumentsValue: unknown): string {\n return axpAiDelegatedAgentPromptPreview(argumentsValue);\n }\n\n protected formatArgs(args: unknown): string {\n return axmFormatTranscriptArgs(args);\n }\n\n protected formatToolResultBody(line: AXPAiChatMessage): string {\n return axmTryPrettyJson(axpAiChatToolOrAgentResultBodyJson(line));\n }\n\n protected formatFallbackSegment(seg: AXPAiChatResponse): string {\n return axmFormatTranscriptFallbackSegment(seg);\n }\n\n protected syntheticTextMessage(lineIndex: number, segIndex: number, text: string): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dt-${lineIndex}-${segIndex}`, {\n type: 'text',\n payload: { type: 'text', text },\n });\n }\n\n protected syntheticNodeEmbedMessage(lineIndex: number, segIndex: number, content: unknown): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dn-${lineIndex}-${segIndex}`, {\n type: 'node',\n payload: { type: 'node', content } as unknown as AXMessagePayload,\n });\n }\n\n protected markdownCodeLanguage(segment: unknown): AXCodeEditorDefaultLanguage {\n if (this.isMarkdownCodeSegment(segment) && segment.language.trim()) {\n return segment.language as AXCodeEditorDefaultLanguage;\n }\n return 'javascript';\n }\n\n protected markdownCodeValue(segment: unknown): string {\n if (this.isMarkdownCodeSegment(segment)) {\n return segment.code;\n }\n return '';\n }\n\n private isMarkdownCodeSegment(segment: unknown): segment is { type: 'code'; language: string; code: string } {\n if (!segment || typeof segment !== 'object') {\n return false;\n }\n const candidate = segment as { type?: unknown; language?: unknown; code?: unknown };\n return candidate.type === 'code' && typeof candidate.language === 'string' && typeof candidate.code === 'string';\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"axm-delegated-transcript\">\n @if (!hasMessages() && emptyHint()) {\n <p class=\"axm-delegated-transcript__empty\">{{ emptyHint() }}</p>\n } @else {\n <div\n class=\"axm-delegated-transcript__lines axm-assist-renderer__accordion-group\"\n axAccordionGroup\n [accordion]=\"false\"\n >\n @for (item of displayLines(); track item.lineIndex) {\n @let line = item.line;\n @let lineIndex = item.lineIndex;\n @let visibleSegIndices = visibleSegmentIndices(line);\n <div\n class=\"axm-delegated-transcript__line axm-assist-renderer__collapse-shell !ax-mb-0\"\n axAccordionItem\n #lineAcc=\"axAccordionItem\"\n [isCollapsed]=\"lineIsCollapsed(lineIndex)\"\n >\n <div\n class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__line-header\"\n axAccordionItemHeader\n role=\"button\"\n [attr.aria-expanded]=\"!lineAcc.isCollapsed()\"\n >\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-chevron-down axm-assist-renderer__thinking-chevron\"\n [class.axm-assist-renderer__thinking-chevron--expanded]=\"!lineAcc.isCollapsed()\"\n aria-hidden=\"true\"\n ></i>\n <span>{{ roleTranslationKey(line.role) | translate | async }}</span>\n @if (line.delegatedReflection) {\n <span class=\"axm-delegated-transcript__reflection-badge\">{{\n '@conversation:chat.assist-renderer.delegated-agent.reflection' | translate | async\n }}</span>\n }\n @if (line.name?.trim()) {\n <span class=\"axm-delegated-transcript__name\">{{ line.name }}</span>\n }\n </span>\n <span class=\"axm-delegated-transcript__segment-count\">{{ visibleSegIndices.length }}</span>\n </div>\n <div axAccordionItemContent>\n <div class=\"axm-assist-renderer__collapse-body axm-delegated-transcript__line-body\">\n <div class=\"axm-delegated-transcript__segments axm-assist-renderer__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (segIndex of visibleSegIndices; track segIndex) {\n @let seg = line.responses[segIndex];\n <div\n class=\"axm-delegated-transcript__segment axm-assist-renderer__collapse-shell !ax-mb-0\"\n axAccordionItem\n #segAcc=\"axAccordionItem\"\n [isCollapsed]=\"segmentIsCollapsed(lineIndex, line, segIndex)\"\n >\n <div\n class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__segment-header\"\n axAccordionItemHeader\n role=\"button\"\n [attr.aria-expanded]=\"!segAcc.isCollapsed()\"\n >\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-chevron-down axm-assist-renderer__thinking-chevron\"\n [class.axm-assist-renderer__thinking-chevron--expanded]=\"!segAcc.isCollapsed()\"\n aria-hidden=\"true\"\n ></i>\n @if (seg.type === 'think') {\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n } @else if (seg.type === 'tool' || seg.type === 'agent') {\n <i class=\"fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n }\n <span>{{ segmentTypeTranslationKey(seg) | translate | async }}</span>\n @if (segmentHeaderTitle(seg); as segTitle) {\n <span class=\"axm-delegated-transcript__segment-title\">{{ segTitle }}</span>\n }\n </span>\n </div>\n <div axAccordionItemContent>\n <div class=\"axm-assist-renderer__collapse-body axm-delegated-transcript__segment-body\">\n @switch (seg.type) {\n @case ('text') {\n @if (line.role === 'user' || line.role === 'system') {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.delegated-agent.segment-types.text' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer\n [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n </details>\n } @else {\n @let parsedText = parseAssistLineText(seg.content);\n @if (parsedText.body.trim()) {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.delegated-agent.segment-types.text' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedText.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedText.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n </details>\n }\n }\n }\n @case ('think') {\n <details class=\"axm-delegated-transcript__subsection axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n {{ seg.content }}\n </div>\n </details>\n }\n @case ('file') {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.delegated-agent.segment-types.file' | translate | async }}\n </summary>\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n [mimeType]=\"seg.content.mimeType\"\n [name]=\"seg.content.name\"\n />\n </details>\n }\n @case ('node') {\n @let nodeWidget = axmAssistWidgetNodeFromUnknown(seg.content);\n @if (nodeWidget) {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.delegated-agent.segment-types.node' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n </details>\n }\n }\n @case ('tool') {\n @let toolResult = toolResultForCallId(seg.callId);\n <div class=\"axm-assist-renderer__tool-card axm-delegated-transcript__tool-block\">\n @if (isDelegatedAgentCommand(seg.content.command)) {\n @let promptPreview = delegatedPromptPreview(seg.content.arguments);\n @if (promptPreview.trim()) {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(promptPreview)\">\n {{ promptPreview }}\n </div>\n </details>\n }\n }\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </summary>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </details>\n @if (toolResult) {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </summary>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(toolResult)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @let outcomeSegs = delegatedAgentOutcomeSegmentsForCall(toolResult);\n @if (outcomeSegs.length > 0) {\n <details class=\"axm-delegated-transcript__subsection axm-delegated-transcript__subsection--nested\">\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </summary>\n <div class=\"axm-delegated-transcript__outcome-segments\">\n @for (outSeg of outcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedOut = parseAssistLineText(outSeg.content);\n @if (parsedOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedOut.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n }\n @case ('think') {\n <details class=\"axm-delegated-transcript__subsection axm-delegated-transcript__think\">\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(outSeg.content)\">\n {{ outSeg.content }}\n </div>\n </details>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n [mimeType]=\"outSeg.content.mimeType\"\n [name]=\"outSeg.content.name\"\n />\n }\n @case ('node') {\n @let outNodeWidget = axmAssistWidgetNodeFromUnknown(outSeg.content);\n @if (outNodeWidget) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\"\n />\n </div>\n }\n }\n }\n }\n </div>\n </details>\n }\n </details>\n }\n </div>\n }\n @case ('agent') {\n @let agentResult = toolResultForCallId(seg.callId);\n <div class=\"axm-assist-renderer__tool-card axm-delegated-transcript__tool-block\">\n @if (isDelegatedAgentCommand(seg.content.command)) {\n @let agentPrompt = delegatedPromptPreview(seg.content.arguments);\n @if (agentPrompt.trim()) {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(agentPrompt)\">\n {{ agentPrompt }}\n </div>\n </details>\n }\n }\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </summary>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </details>\n @if (agentResult) {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </summary>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(agentResult)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @let agentOutcomeSegs = delegatedAgentOutcomeSegmentsForCall(agentResult);\n @if (agentOutcomeSegs.length > 0) {\n <details class=\"axm-delegated-transcript__subsection axm-delegated-transcript__subsection--nested\">\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </summary>\n <div class=\"axm-delegated-transcript__outcome-segments\">\n @for (outSeg of agentOutcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedAgentOut = parseAssistLineText(outSeg.content);\n @if (parsedAgentOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedAgentOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedAgentOut.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n }\n @case ('think') {\n <details class=\"axm-delegated-transcript__subsection axm-delegated-transcript__think\">\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(outSeg.content)\">\n {{ outSeg.content }}\n </div>\n </details>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n [mimeType]=\"outSeg.content.mimeType\"\n [name]=\"outSeg.content.name\"\n />\n }\n @case ('node') {\n @let agentOutNode = axmAssistWidgetNodeFromUnknown(outSeg.content);\n @if (agentOutNode) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\"\n />\n </div>\n }\n }\n }\n }\n </div>\n </details>\n }\n </details>\n }\n </div>\n }\n @default {\n <details class=\"axm-delegated-transcript__subsection\" open>\n <summary class=\"axm-delegated-transcript__subsection-summary\">\n {{ '@conversation:chat.assist-renderer.delegated-agent.segment-types.other' | translate | async }}\n </summary>\n <div class=\"axm-assist-bot__fallback axm-assist-bot__segment\" [attr.dir]=\"segmentDir(formatFallbackSegment(seg))\">\n {{ formatFallbackSegment(seg) }}\n </div>\n </details>\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { axmDelegatedTranscriptEmbedParentStub } from '../utils/assist-delegated-agent-transcript-view.util';\nimport { AXMAssistDelegatedAgentTranscriptViewComponent } from './assist-delegated-agent-transcript-view.component';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMAssistDelegatedAgentDetailPopupData {\n messages: AXPAiChatMessage[];\n emptyHint?: string;\n agentTitleById?: Record<string, string>;\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-assist-delegated-agent-detail-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXMAssistDelegatedAgentTranscriptViewComponent, AXButtonModule, AXTranslationModule, AsyncPipe],\n template: `\n <div class=\"axm-assist-delegated-detail-popup\">\n <axm-assist-delegated-agent-transcript-view\n [messages]=\"messages\"\n [embedParent]=\"embedParent\"\n [emptyHint]=\"emptyHint\"\n [agentTitleById]=\"agentTitleById\"\n />\n <footer class=\"axm-assist-delegated-detail-popup__footer\">\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.close.title' | translate | async\"\n (onClick)=\"close()\"\n ></ax-button>\n </footer>\n </div>\n `,\n styles: [\n `\n .axm-assist-delegated-detail-popup {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n min-block-size: 0;\n }\n\n .axm-assist-delegated-detail-popup__footer {\n display: flex;\n justify-content: flex-end;\n padding-block-start: 0.5rem;\n border-block-start: 1px solid rgb(var(--ax-sys-color-neutral-200));\n }\n `,\n ],\n})\nexport class AXMAssistDelegatedAgentDetailPopupComponent extends AXBasePageComponent {\n /** Set by {@link AXPopupService} from `data`. */\n messages: AXPAiChatMessage[] = [];\n\n emptyHint?: string;\n\n agentTitleById: Record<string, string> = {};\n\n embedParent = axmDelegatedTranscriptEmbedParentStub();\n}\n\n//#endregion\n"],"names":["i2","i3","i4","i1"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-human-capital-management-acorex-modules-human-capital-management-hImDhzkB.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/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/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/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 },\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","// 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 './employment-type/employment-type.types';\nexport * from './leave-request/leave-request.types';\nexport * from './leave-type/leave-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} 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}\n\n//#endregion\n\n","export const AXPHumanCapitalManagementCommandKeys = {\n PositionAssignment: {\n Assign: 'HumanCapitalManagement.PositionAssignment:Assign',\n Revoke: 'HumanCapitalManagement.PositionAssignment:Revoke',\n },\n} as const;\n\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 }\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 ---- 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 ],\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} 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 },\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 }\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","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 .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 { AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER } 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 { 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';\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: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule],\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 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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-human-capital-management-employee.entity-CgmF-WPf.mjs","sources":["../../../../libs/modules/human-capital-management/src/lib/entities/employee/employee.entity.ts"],"sourcesContent":["import { AXPWidgetsList, statusPlugin } from '@acorex/modules/common';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView } from '@acorex/platform/common';\nimport {\n entityDetailsCrudActions,\n entityDetailsSimpleCondition,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { AXPHumanCapitalManagementCommandKeys } from '../../commands.keys';\nimport { RootConfig } from '../../const';\n\nexport async function factory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.employee.name,\n title: RootConfig.entities.employee.title,\n icon: 'fa-light fa-building',\n formats: {\n individual: RootConfig.entities.employee.title,\n plural: RootConfig.entities.employee.titlePlural,\n displayName: '@general:terms.common.profile',\n searchResult: {\n title: '{{ context.eval(\"person.firstName\") }} {{ context.eval(\"person.lastName\") }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [\n { name: 'identifier', options: { field: 'employeeCode', rule: 'employee-code' } },\n {\n ...statusPlugin,\n options: {\n definition: 'human-capital-management.status.employee',\n field: 'statusId',\n generate: { views: { enabled: true } },\n },\n },\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n {\n name: 'documents',\n options: {\n documentTypeNames: ['any', 'checklist', 'form', 'jsa', 'permit', 'plan', 'swms', 'other'],\n },\n },\n // { name: 'archive' },\n ],\n relatedEntities: [\n {\n entity: `PersonCore.Person`,\n title: 'Personal Information',\n conditions: [{ name: 'id', operator: { type: 'equal' }, value: '{{ context.eval(\"personId\") }}' }],\n layout: { type: 'merge-detail' },\n persistence: {\n dataPath: 'person',\n strategy: 'referenced',\n idField: 'personId',\n },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.leaveRequest.name}`,\n title: RootConfig.entities.leaveRequest.titlePlural,\n columns: ['leaveTypeId', 'startDate', 'endDate', 'durationDays', 'statusId', 'reason'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n persistence: { foreignKeyField: 'employeeId' },\n excludeProperties: ['employeeId'],\n actions: [\n // Use same workflow Create as leave-request list, with employeeId from context so it runs on employee->leave request and pre-fills employee\n // {\n // title: '@general:actions.create.title',\n // command: {\n // name: 'WorkflowManagement.WorkflowDefinition:Execute',\n // options: {\n // workflowId: 'createLeaveRequest',\n // input: { employeeId: '{{ context.eval(\"id\") }}' },\n // },\n // },\n // priority: 'primary',\n // type: 'create',\n // scope: AXPEntityCommandScope.TypeLevel,\n // },\n ...entityDetailsCrudActions('employeeId'),\n ],\n layout: { type: 'page-list', position: 'after', order: 4 },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.positionAssignment.name}`,\n title: '@human-capital-management:employees.entities.employee.related-entities.positions',\n columns: ['positionId', 'businessUnitId', 'startDate', 'endDate', 'statusId', 'isPrimary'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n persistence: { foreignKeyField: 'employeeId' },\n actions: [\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.assign.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Assign,\n options: {\n process: {\n data: {\n employeeId: '{{ context.eval(\"id\") }}',\n },\n },\n },\n },\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n ...entityDetailsCrudActions('employeeId', { create: false, delete: false, view: true, edit: false }),\n ],\n layout: { type: 'page-list', position: 'after', order: 3 },\n },\n ],\n groups: [\n {\n id: 'organizationalStructure',\n title: '@human-capital-management:employees.entities.employee.groups.organizational-structure',\n },\n {\n id: 'employmentProfile',\n title: '@human-capital-management:employees.entities.employee.groups.employment-profile',\n },\n {\n id: 'signature',\n title: '@human-capital-management:employees.entities.employee.groups.signature',\n icon: 'fa-light fa-signature',\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'personalInformation',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'employeeCode',\n title: '@human-capital-management:employees.entities.employee.fields.employee-code',\n groupId: 'employmentProfile',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'employmentTypeId',\n title: '@human-capital-management:employees.entities.employee.fields.employment-type-id',\n groupId: 'employmentProfile',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.employmentType.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'employmentType.id' },\n { source: 'title', target: 'employmentType.title' },\n ],\n },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'hireDate',\n title: '@human-capital-management:employees.entities.employee.fields.hire-date',\n groupId: 'employmentProfile',\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'signature',\n title: '@human-capital-management:employees.entities.employee.fields.signature',\n groupId: 'signature',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.SignatureBox,\n },\n },\n },\n {\n name: 'activePrimaryBusinessUnitId',\n title: '@human-capital-management:employees.entities.employee.fields.primary-business-unit',\n description: '@human-capital-management:employees.entities.employee.fields.primary-business-unit-description',\n groupId: 'organizationalStructure',\n schema: {\n dataType: 'string',\n nullable: true,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `OrganizationManagement.BusinessUnit`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n placeholder:\n '@human-capital-management:employees.entities.employee.fields.primary-business-unit-placeholder',\n disabled: true,\n readonly: true,\n expose: [\n { source: 'id', target: 'activePrimaryBusinessUnit.id' },\n { source: 'title', target: 'activePrimaryBusinessUnit.title' },\n ],\n },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n },\n {\n name: 'activePrimaryPositionId',\n title: '@human-capital-management:employees.entities.employee.fields.primary-position',\n description: '@human-capital-management:employees.entities.employee.fields.primary-position-description',\n groupId: 'organizationalStructure',\n schema: {\n dataType: 'string',\n nullable: true,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `OrganizationManagement.Position`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n placeholder: '@human-capital-management:employees.entities.employee.fields.primary-position-placeholder',\n disabled: true,\n readonly: true,\n expose: [\n { source: 'id', target: 'activePrimaryPosition.id' },\n { source: 'title', target: 'activePrimaryPosition.title' },\n ],\n },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n },\n {\n name: 'managerId',\n title: '@human-capital-management:employees.entities.employee.fields.manager-id',\n description: '@human-capital-management:employees.entities.employee.fields.manager-id-description',\n groupId: 'organizationalStructure',\n schema: {\n dataType: 'string',\n nullable: true,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.employee.name}`,\n textField: 'person.fullName',\n valueField: 'id',\n look: 'select',\n placeholder: '@human-capital-management:employees.entities.employee.fields.manager-id-placeholder',\n disabled: true,\n readonly: true,\n expose: [\n { source: 'id', target: 'manager.id' },\n { source: 'person.fullName', target: 'manager.person.fullName' },\n ],\n },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n },\n ],\n columns: [\n { name: 'employeeCode' },\n {\n name: 'person.fullName',\n title: '@general:terms.common.full-name',\n showAs: { type: AXPWidgetsCatalog.text },\n options: { visible: false },\n },\n { name: 'person.firstName' },\n { name: 'person.lastName' },\n { name: 'person.phones', options: { width: '250px' } },\n { name: 'person.emails', options: { width: '250px' } },\n { name: 'jobDefinitionId', options: { dataPath: 'jobDefinition.title' } },\n { name: 'employmentTypeId', options: { dataPath: 'employmentType.title' } },\n {\n name: 'activePrimaryBusinessUnitId',\n options: { dataPath: 'activePrimaryBusinessUnit.title' },\n },\n {\n name: 'activePrimaryPositionId',\n },\n {\n name: 'managerId',\n options: { dataPath: 'manager.person.fullName' },\n },\n { name: 'hireDate', options: { visible: false } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'personalInformation', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'employmentProfile', order: 3, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'signature', order: 4, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'organizationalStructure', order: 8, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'signature', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'personalInformation' },\n { id: 'organizationalStructure' },\n { id: 'employmentProfile' },\n { id: 'signature' },\n ],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'signature', layout: { label: { visible: false } } },\n {\n name: 'activePrimaryBusinessUnitId',\n layout: { positions: { lg: { colSpan: 4, colStart: 1, order: 10 } } },\n },\n {\n name: 'activePrimaryPositionId',\n layout: { positions: { lg: { colSpan: 4, colStart: 5, order: 11 } } },\n },\n {\n name: 'managerId',\n layout: { positions: { lg: { colSpan: 4, colStart: 9, order: 12 } } },\n },\n ],\n },\n single: {\n title: '{{ context.eval(\"person.firstName\") + \" \" + context.eval(\"person.lastName\") }}',\n sections: [\n { id: 'personalInformation', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'employmentProfile', order: 3, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'signature', order: 4, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'organizationalStructure', order: 8, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'signature', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n {\n name: 'activePrimaryBusinessUnitId',\n layout: { positions: { lg: { colSpan: 4, colStart: 1, order: 10 } } },\n },\n {\n name: 'activePrimaryPositionId',\n layout: { positions: { lg: { colSpan: 4, colStart: 5, order: 11 } } },\n },\n {\n name: 'managerId',\n layout: { positions: { lg: { colSpan: 4, colStart: 9, order: 12 } } },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'person.fullName', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}