@acorex/modules 21.0.0-next.56 → 21.0.0-next.59

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 (188) hide show
  1. package/fesm2022/acorex-modules-application-management.mjs +1 -1
  2. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  3. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-o8aFazwA.mjs} +72 -78
  4. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-o8aFazwA.mjs.map +1 -0
  5. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs → acorex-modules-assessment-management-assessment-case.entity-yrc_Yybq.mjs} +67 -71
  6. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-yrc_Yybq.mjs.map +1 -0
  7. package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-BUQa_TSY.mjs +47 -0
  8. package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-BUQa_TSY.mjs.map +1 -0
  9. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs → acorex-modules-assessment-management-assessment-session.entity-Cwf30iuu.mjs} +5 -41
  10. package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-Cwf30iuu.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs → acorex-modules-assessment-management-fill-assessment-session.command-CJieLR5g.mjs} +32 -7
  12. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-CJieLR5g.mjs.map +1 -0
  13. package/fesm2022/{acorex-modules-assessment-management-index-XdJCIYG3.mjs → acorex-modules-assessment-management-index-D8KjfHAH.mjs} +4 -4
  14. package/fesm2022/{acorex-modules-assessment-management-index-XdJCIYG3.mjs.map → acorex-modules-assessment-management-index-D8KjfHAH.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs → acorex-modules-assessment-management-preview-question.command-D0-FB1HH.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs.map → acorex-modules-assessment-management-preview-question.command-D0-FB1HH.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs → acorex-modules-assessment-management-preview-questionnaire.command-wqPNgv7q.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-wqPNgv7q.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DYyUhSWd.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DYyUhSWd.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs → acorex-modules-assessment-management-question-bank-item.entity-DUf2ceKY.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-DUf2ceKY.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-CYF0k42_.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-CYF0k42_.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Cy5ElBmU.mjs} +111 -28
  26. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-Cy5ElBmU.mjs.map +1 -0
  27. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs → acorex-modules-assessment-management-questionnaire.entity-RWSkzNbA.mjs} +3 -3
  28. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs.map → acorex-modules-assessment-management-questionnaire.entity-RWSkzNbA.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-koGmUbNE.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-koGmUbNE.mjs.map} +1 -1
  31. package/fesm2022/acorex-modules-assessment-management-view-case-last-session-answers.command-NTuDdoYk.mjs +157 -0
  32. package/fesm2022/acorex-modules-assessment-management-view-case-last-session-answers.command-NTuDdoYk.mjs.map +1 -0
  33. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-0btGV66_.mjs +172 -0
  34. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-0btGV66_.mjs.map +1 -0
  35. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  36. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-NPUjHz-F.mjs → acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs} +42 -33
  37. package/fesm2022/acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs.map +1 -0
  38. package/fesm2022/{acorex-modules-auth-app-chooser.component-h61xNtRT.mjs → acorex-modules-auth-app-chooser.component-BEktaBWD.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-auth-app-chooser.component-h61xNtRT.mjs.map → acorex-modules-auth-app-chooser.component-BEktaBWD.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-auth-login.module-DF5AHqYe.mjs → acorex-modules-auth-login.module-aAwHzXPj.mjs} +4 -4
  41. package/fesm2022/{acorex-modules-auth-login.module-DF5AHqYe.mjs.map → acorex-modules-auth-login.module-aAwHzXPj.mjs.map} +1 -1
  42. package/fesm2022/{acorex-modules-auth-master.layout-00ZTMhc3.mjs → acorex-modules-auth-master.layout-BapDYFZ_.mjs} +2 -2
  43. package/fesm2022/{acorex-modules-auth-master.layout-00ZTMhc3.mjs.map → acorex-modules-auth-master.layout-BapDYFZ_.mjs.map} +1 -1
  44. package/fesm2022/{acorex-modules-auth-oauth-callback.component-Ce5Fw8Qd.mjs → acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs} +2 -2
  45. package/fesm2022/{acorex-modules-auth-oauth-callback.component-Ce5Fw8Qd.mjs.map → acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs.map} +1 -1
  46. package/fesm2022/{acorex-modules-auth-password.component-DQYCm8wg.mjs → acorex-modules-auth-password.component-DB-ac0Rn.mjs} +2 -2
  47. package/fesm2022/{acorex-modules-auth-password.component-DQYCm8wg.mjs.map → acorex-modules-auth-password.component-DB-ac0Rn.mjs.map} +1 -1
  48. package/fesm2022/{acorex-modules-auth-password.component-CU0AY-Ia.mjs → acorex-modules-auth-password.component-cPmwNpuq.mjs} +2 -2
  49. package/fesm2022/{acorex-modules-auth-password.component-CU0AY-Ia.mjs.map → acorex-modules-auth-password.component-cPmwNpuq.mjs.map} +1 -1
  50. package/fesm2022/{acorex-modules-auth-routes-CM4fRaWb.mjs → acorex-modules-auth-routes-r72zIRTa.mjs} +2 -2
  51. package/fesm2022/{acorex-modules-auth-routes-CM4fRaWb.mjs.map → acorex-modules-auth-routes-r72zIRTa.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-BBztdcvq.mjs → acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-BBztdcvq.mjs.map → acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-auth-two-factor.module-C9AafF86.mjs → acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-auth-two-factor.module-C9AafF86.mjs.map → acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-auth-user-sessions.component-Qw2sgsEe.mjs → acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-auth-user-sessions.component-Qw2sgsEe.mjs.map → acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs.map} +1 -1
  58. package/fesm2022/acorex-modules-auth.mjs +1 -1
  59. package/fesm2022/{acorex-modules-common-audit-info-column.component-SiqKcBMQ.mjs → acorex-modules-common-audit-info-column.component-MSYPMPZJ.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-common-audit-info-column.component-SiqKcBMQ.mjs.map → acorex-modules-common-audit-info-column.component-MSYPMPZJ.mjs.map} +1 -1
  61. package/fesm2022/acorex-modules-common.mjs +8 -4
  62. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  63. package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-UNhA-qi5.mjs → acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs} +344 -1008
  64. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Be58gcns.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Be58gcns.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-conversation-comments-page.component-3XBLeMW8.mjs → acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs} +2 -2
  68. package/fesm2022/{acorex-modules-conversation-comments-page.component-3XBLeMW8.mjs.map → acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CSu-lJuu.mjs → acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs} +2 -2
  70. package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CSu-lJuu.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-CyoncQB1.mjs → acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs} +2 -2
  72. package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-CyoncQB1.mjs.map → acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs.map} +1 -1
  73. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  74. package/fesm2022/acorex-modules-customer-management.mjs +2 -0
  75. package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
  76. package/fesm2022/acorex-modules-data-management.mjs +6 -5
  77. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  78. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-Bfjo-ENr.mjs → acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs} +3 -2
  79. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs.map +1 -0
  80. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CsACFkPq.mjs → acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs} +2 -2
  81. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CsACFkPq.mjs.map → acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs.map} +1 -1
  82. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  83. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs} +131 -112
  84. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BWezAea1.mjs.map +1 -0
  85. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs} +2 -2
  86. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Bh_Bbq5-.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-BpDdDG9i.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-CjtKaKFw.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs → acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs} +8 -8
  92. package/fesm2022/acorex-modules-human-capital-management-employee.entity-Cx_oY2aK.mjs.map +1 -0
  93. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs → acorex-modules-human-capital-management-employment-type.entity-B20Taa5x.mjs} +2 -2
  94. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs.map → acorex-modules-human-capital-management-employment-type.entity-B20Taa5x.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs → acorex-modules-human-capital-management-leave-request.entity-BO8QXpZE.mjs} +2 -2
  96. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs.map → acorex-modules-human-capital-management-leave-request.entity-BO8QXpZE.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs → acorex-modules-human-capital-management-leave-type.entity-CQwSWqSh.mjs} +2 -2
  98. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs.map → acorex-modules-human-capital-management-leave-type.entity-CQwSWqSh.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs → acorex-modules-human-capital-management-lifecycle-event-type.entity-BPWJrvbN.mjs} +13 -13
  100. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-BPWJrvbN.mjs.map +1 -0
  101. package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs → acorex-modules-human-capital-management-lifecycle-event.entity-ZZuPu9KQ.mjs} +45 -56
  102. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-ZZuPu9KQ.mjs.map +1 -0
  103. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs → acorex-modules-human-capital-management-position-assignment.entity-BN1y0qhi.mjs} +2 -2
  104. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-BN1y0qhi.mjs.map} +1 -1
  105. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs → acorex-modules-human-capital-management-reject-leave-request.command-LczqOHP-.mjs} +2 -2
  106. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-LczqOHP-.mjs.map} +1 -1
  107. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-Dm8YacDI.mjs} +2 -2
  108. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-Dm8YacDI.mjs.map} +1 -1
  109. package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DPwuyFz2.mjs +237 -0
  110. package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DPwuyFz2.mjs.map +1 -0
  111. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  112. package/fesm2022/{acorex-modules-learning-management-enrollment.entity-B53AQq_9.mjs → acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs} +4 -22
  113. package/fesm2022/acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs.map +1 -0
  114. package/fesm2022/acorex-modules-learning-management.mjs +1 -1
  115. package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
  116. package/fesm2022/acorex-modules-locale-management.mjs +27 -22
  117. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  118. package/fesm2022/acorex-modules-location-management.mjs +1 -0
  119. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  120. package/fesm2022/acorex-modules-notification-management.mjs +1 -1
  121. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  122. package/fesm2022/acorex-modules-platform-dev-tools.mjs +2 -2
  123. package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
  124. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs → acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs} +4 -4
  125. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs.map} +1 -1
  126. package/fesm2022/{acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs → acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs} +2 -2
  127. package/fesm2022/{acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs.map → acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs.map} +1 -1
  128. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  129. package/fesm2022/acorex-modules-report-management.mjs +1 -1
  130. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  131. package/fesm2022/acorex-modules-security-management.mjs +3 -0
  132. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  133. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-Di6Sxtq3.mjs → acorex-modules-settings-management-acorex-modules-settings-management-B4Ee8USF.mjs} +6 -6
  134. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-Di6Sxtq3.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-B4Ee8USF.mjs.map} +1 -1
  135. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-Bml5VZUT.mjs → acorex-modules-settings-management-permission-definition.provider-nNhEFyc-.mjs} +2 -2
  136. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-Bml5VZUT.mjs.map → acorex-modules-settings-management-permission-definition.provider-nNhEFyc-.mjs.map} +1 -1
  137. package/fesm2022/{acorex-modules-settings-management-setting-page.component-lN-7sTpD.mjs → acorex-modules-settings-management-setting-page.component-CEvWwS_a.mjs} +2 -2
  138. package/fesm2022/{acorex-modules-settings-management-setting-page.component-lN-7sTpD.mjs.map → acorex-modules-settings-management-setting-page.component-CEvWwS_a.mjs.map} +1 -1
  139. package/fesm2022/{acorex-modules-settings-management-setting-view.component-D17G4RNQ.mjs → acorex-modules-settings-management-setting-view.component-C6ftmjuK.mjs} +2 -2
  140. package/fesm2022/{acorex-modules-settings-management-setting-view.component-D17G4RNQ.mjs.map → acorex-modules-settings-management-setting-view.component-C6ftmjuK.mjs.map} +1 -1
  141. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  142. package/fesm2022/acorex-modules-supplier-management.mjs +1 -0
  143. package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
  144. package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-LQn5gZ6p.mjs → acorex-modules-task-management-acorex-modules-task-management--mdNdYIs.mjs} +32 -2
  145. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management--mdNdYIs.mjs.map +1 -0
  146. package/fesm2022/{acorex-modules-task-management-task-board.page-BokG-G6Z.mjs → acorex-modules-task-management-task-board.page-BIZ1qH7m.mjs} +35 -5
  147. package/fesm2022/acorex-modules-task-management-task-board.page-BIZ1qH7m.mjs.map +1 -0
  148. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  149. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs} +3 -3
  150. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs.map} +1 -1
  151. package/fesm2022/{acorex-modules-workflow-management-index-BxqOP8AA.mjs → acorex-modules-workflow-management-index-BhVZ1Bcw.mjs} +104 -23
  152. package/fesm2022/acorex-modules-workflow-management-index-BhVZ1Bcw.mjs.map +1 -0
  153. package/fesm2022/{acorex-modules-workflow-management-index-Eh5DDK-V.mjs → acorex-modules-workflow-management-index-DC_9M9dk.mjs} +3 -3
  154. package/fesm2022/{acorex-modules-workflow-management-index-Eh5DDK-V.mjs.map → acorex-modules-workflow-management-index-DC_9M9dk.mjs.map} +1 -1
  155. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs → acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs} +2 -2
  156. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs.map} +1 -1
  157. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs +255 -0
  158. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs.map +1 -0
  159. package/fesm2022/acorex-modules-workflow-management.mjs +1819 -745
  160. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  161. package/package.json +2 -2
  162. package/types/acorex-modules-assessment-management.d.ts +4 -7
  163. package/types/acorex-modules-common.d.ts +1 -0
  164. package/types/acorex-modules-conversation.d.ts +35 -198
  165. package/types/acorex-modules-human-capital-management.d.ts +31 -30
  166. package/types/acorex-modules-learning-management.d.ts +0 -1
  167. package/types/acorex-modules-task-management.d.ts +41 -2
  168. package/types/acorex-modules-workflow-management.d.ts +280 -34
  169. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs.map +0 -1
  170. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs.map +0 -1
  171. package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs.map +0 -1
  172. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs.map +0 -1
  173. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs.map +0 -1
  174. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs +0 -112
  175. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs.map +0 -1
  176. package/fesm2022/acorex-modules-auth-acorex-modules-auth-NPUjHz-F.mjs.map +0 -1
  177. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-UNhA-qi5.mjs.map +0 -1
  178. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-Bfjo-ENr.mjs.map +0 -1
  179. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs.map +0 -1
  180. package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs.map +0 -1
  181. package/fesm2022/acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs.map +0 -1
  182. package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs.map +0 -1
  183. package/fesm2022/acorex-modules-learning-management-enrollment.entity-B53AQq_9.mjs.map +0 -1
  184. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-LQn5gZ6p.mjs.map +0 -1
  185. package/fesm2022/acorex-modules-task-management-task-board.page-BokG-G6Z.mjs.map +0 -1
  186. package/fesm2022/acorex-modules-workflow-management-index-BxqOP8AA.mjs.map +0 -1
  187. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs +0 -356
  188. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-learning-management.mjs","sources":["../../../../libs/modules/learning-management/src/lib/const.ts","../../../../libs/modules/learning-management/src/lib/entity.provider.ts","../../../../libs/modules/learning-management/src/lib/menu.keys.ts","../../../../libs/modules/learning-management/src/lib/menu.provider.ts","../../../../libs/modules/learning-management/src/lib/permission.keys.ts","../../../../libs/modules/learning-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/learning-management/src/lib/search-command.provider.ts","../../../../libs/modules/learning-management/src/lib/manifest.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix-widget.config.ts","../../../../libs/modules/learning-management/src/lib/widget-definition.provider.ts","../../../../libs/modules/learning-management/src/lib/learning-management.module.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix.component.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix.component.html","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix-widget-edit.component.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix-widget-view.component.ts","../../../../libs/modules/learning-management/src/lib/entities/skill/skill.types.ts","../../../../libs/modules/learning-management/src/lib/entities/skill-level/skill-level.types.ts","../../../../libs/modules/learning-management/src/lib/entities/course-type/course-type.types.ts","../../../../libs/modules/learning-management/src/lib/entities/course/course.types.ts","../../../../libs/modules/learning-management/src/lib/entities/training-type/training-type.types.ts","../../../../libs/modules/learning-management/src/lib/entities/training-definition/training-definition.types.ts","../../../../libs/modules/learning-management/src/lib/entities/training/training.types.ts","../../../../libs/modules/learning-management/src/lib/entities/enrollment/enrollment.types.ts","../../../../libs/modules/learning-management/src/lib/entities/attendance/attendance.types.ts","../../../../libs/modules/learning-management/src/lib/entities/certificate-type/certificate-type.types.ts","../../../../libs/modules/learning-management/src/lib/entities/certificate-definition/certificate-definition.types.ts","../../../../libs/modules/learning-management/src/lib/entities/certificate/certificate.types.ts","../../../../libs/modules/learning-management/src/lib/entities/learning-path/learning-path.types.ts","../../../../libs/modules/learning-management/src/lib/entities/learning-path-course/learning-path-course.types.ts","../../../../libs/modules/learning-management/src/lib/entities/mandatory-training-rule/mandatory-training-rule.types.ts","../../../../libs/modules/learning-management/src/acorex-modules-learning-management.ts"],"sourcesContent":["//#region ---- Root Configuration ----\n\nconst config = { i18n: 'learning-management' };\n\nexport const RootConfig = {\n config,\n module: {\n module: 'learning-management',\n name: 'LearningManagement',\n title: '@learning-management:module.title',\n icon: 'fa-light fa-graduation-cap',\n },\n entities: {\n skillCategory: {\n name: 'SkillCategory',\n title: '@learning-management:skills.entities.skill-category.title',\n titlePlural: '@learning-management:skills.entities.skill-category.plural',\n icon: 'fa-light fa-layer-group',\n },\n skill: {\n name: 'Skill',\n title: '@learning-management:skills.entities.skill.title',\n titlePlural: '@learning-management:skills.entities.skill.plural',\n icon: 'fa-light fa-lightbulb',\n },\n skillLevel: {\n name: 'SkillLevel',\n title: '@learning-management:skills.entities.skill-level.title',\n titlePlural: '@learning-management:skills.entities.skill-level.plural',\n icon: 'fa-light fa-stairs',\n },\n courseType: {\n name: 'CourseType',\n title: '@learning-management:courses.entities.course-type.title',\n titlePlural: '@learning-management:courses.entities.course-type.plural',\n icon: 'fa-light fa-diagram-project',\n },\n trainingDefinition: {\n name: 'TrainingDefinition',\n title: '@learning-management:trainings.entities.training-definition.title',\n titlePlural: '@learning-management:trainings.entities.training-definition.plural',\n icon: 'fa-light fa-clipboard-list-check',\n },\n course: {\n name: 'Course',\n title: '@learning-management:courses.entities.course.title',\n titlePlural: '@learning-management:courses.entities.course.plural',\n icon: 'fa-light fa-book-open',\n },\n trainingType: {\n name: 'TrainingType',\n title: '@learning-management:trainings.entities.training-type.title',\n titlePlural: '@learning-management:trainings.entities.training-type.plural',\n icon: 'fa-light fa-clipboard-list',\n },\n training: {\n name: 'Training',\n title: '@learning-management:trainings.entities.training.title',\n titlePlural: '@learning-management:trainings.entities.training.plural',\n icon: 'fa-light fa-chalkboard-teacher',\n },\n enrollment: {\n name: 'Enrollment',\n title: '@learning-management:enrollments.entities.enrollment.title',\n titlePlural: '@learning-management:enrollments.entities.enrollment.plural',\n icon: 'fa-light fa-user-plus',\n },\n attendance: {\n name: 'Attendance',\n title: '@learning-management:enrollments.entities.attendance.title',\n titlePlural: '@learning-management:enrollments.entities.attendance.plural',\n icon: 'fa-light fa-calendar-check',\n },\n certificateType: {\n name: 'CertificateType',\n title: '@learning-management:certificates.entities.certificate-type.title',\n titlePlural: '@learning-management:certificates.entities.certificate-type.plural',\n icon: 'fa-light fa-stamp',\n },\n certificateDefinition: {\n name: 'CertificateDefinition',\n title: '@learning-management:certificates.entities.certificate-definition.title',\n titlePlural: '@learning-management:certificates.entities.certificate-definition.plural',\n icon: 'fa-light fa-scroll',\n },\n certificate: {\n name: 'Certificate',\n title: '@learning-management:certificates.entities.certificate.title',\n titlePlural: '@learning-management:certificates.entities.certificate.plural',\n icon: 'fa-light fa-award',\n },\n learningPath: {\n name: 'LearningPath',\n title: '@learning-management:learning-paths.entities.learning-path.title',\n titlePlural: '@learning-management:learning-paths.entities.learning-path.plural',\n icon: 'fa-light fa-route',\n },\n learningPathCourse: {\n name: 'LearningPathCourse',\n title: '@learning-management:learning-paths.entities.learning-path-course.title',\n titlePlural: '@learning-management:learning-paths.entities.learning-path-course.plural',\n icon: 'fa-light fa-list-ol',\n },\n mandatoryTrainingRule: {\n name: 'MandatoryTrainingRule',\n title: '@learning-management:compliance.entities.mandatory-training-rule.title',\n titlePlural: '@learning-management:compliance.entities.mandatory-training-rule.plural',\n icon: 'fa-light fa-clipboard-check',\n },\n },\n};\n\n//#endregion\n\n\n","//#region ---- Imports ----\n\nimport { Injectable, Injector } from '@angular/core';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader } from '@acorex/platform/layout/entity';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Entity Provider ----\n\n@Injectable()\nexport class AXMLearningManagementEntityProvider implements AXPEntityDefinitionLoader {\n constructor(private readonly injector: 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.skill.name:\n return (await import('./entities/skill/skill.entity')).factory(this.injector);\n\n case RootConfig.entities.skillLevel.name:\n return (await import('./entities/skill-level/skill-level.entity')).factory(this.injector);\n\n case RootConfig.entities.courseType.name:\n return (await import('./entities/course-type/course-type.entity')).factory(this.injector);\n\n case RootConfig.entities.course.name:\n return (await import('./entities/course/course.entity')).factory(this.injector);\n\n case RootConfig.entities.trainingType.name:\n return (await import('./entities/training-type/training-type.entity')).factory(this.injector);\n\n case RootConfig.entities.trainingDefinition.name:\n return (await import('./entities/training-definition/training-definition.entity')).factory(this.injector);\n\n case RootConfig.entities.training.name:\n return (await import('./entities/training/training.entity')).factory(this.injector);\n\n case RootConfig.entities.enrollment.name:\n return (await import('./entities/enrollment/enrollment.entity')).factory(this.injector);\n\n case RootConfig.entities.attendance.name:\n return (await import('./entities/attendance/attendance.entity')).factory(this.injector);\n\n case RootConfig.entities.certificateType.name:\n return (await import('./entities/certificate-type/certificate-type.entity')).factory(this.injector);\n\n case RootConfig.entities.certificateDefinition.name:\n return (await import('./entities/certificate-definition/certificate-definition.entity')).factory(this.injector);\n\n case RootConfig.entities.certificate.name:\n return (await import('./entities/certificate/certificate.entity')).factory(this.injector);\n\n case RootConfig.entities.learningPath.name:\n return (await import('./entities/learning-path/learning-path.entity')).factory(this.injector);\n\n case RootConfig.entities.learningPathCourse.name:\n return (await import('./entities/learning-path-course/learning-path-course.entity')).factory(this.injector);\n\n case RootConfig.entities.mandatoryTrainingRule.name:\n return (await import('./entities/mandatory-training-rule/mandatory-training-rule.entity')).factory(this.injector);\n }\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\n//#endregion\n\n\n","export const AXMLearningManagementMenuKeys = {\n Root: 'learning-management:menu',\n ConfigurationRoot: 'learning-management:menu:configuration',\n Skills: 'learning-management:menu:skills',\n Courses: 'learning-management:menu:courses',\n Trainings: 'learning-management:menu:trainings',\n Enrollments: 'learning-management:menu:enrollments',\n Certificates: 'learning-management:menu:certificates',\n LearningPaths: 'learning-management:menu:learning-paths',\n Compliance: 'learning-management:menu:compliance',\n} as const;\n\n\n","//#region ---- Imports ----\n\nimport { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXMLearningManagementMenuKeys } from './menu.keys';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n/**\n * Learning Management Module Menu Provider.\n * - Root \"Learning\": Skills, Courses, Trainings, Enrollments, Certificates, Learning Paths (operational)\n * - Configuration/Learning: Skill Levels, Course Types, Training Definitions/Types, Certificate Definitions/Types, Mandatory Training Rules (reference)\n */\nexport class AXMLearningManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n\n // Root \"Learning\" - single level, direct links with dividers\n context.addItems([\n {\n name: AXMLearningManagementMenuKeys.Root,\n priority: 9020,\n text: '@learning-management:module.menus.root.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.Root}:skills`,\n text: RootConfig.entities.skill.titlePlural,\n icon: RootConfig.entities.skill.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skill.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:courses`,\n text: RootConfig.entities.course.titlePlural,\n icon: RootConfig.entities.course.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.course.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:trainings`,\n text: RootConfig.entities.training.titlePlural,\n icon: RootConfig.entities.training.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.training.name),\n priority: 3,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider1`, text: '', type: 'break', priority: 4 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:enrollments`,\n text: RootConfig.entities.enrollment.titlePlural,\n icon: RootConfig.entities.enrollment.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.enrollment.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:attendance`,\n text: RootConfig.entities.attendance.titlePlural,\n icon: RootConfig.entities.attendance.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.attendance.name),\n priority: 6,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider2`, text: '', type: 'break', priority: 7 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:certificates`,\n text: RootConfig.entities.certificate.titlePlural,\n icon: RootConfig.entities.certificate.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificate.name),\n priority: 8,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:learning-paths`,\n text: RootConfig.entities.learningPath.titlePlural,\n icon: RootConfig.entities.learningPath.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.learningPath.name),\n priority: 9,\n },\n ],\n },\n ]);\n\n // Configuration/Learning - reference data\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXMLearningManagementMenuKeys.ConfigurationRoot,\n priority: 8650,\n text: '@learning-management:module.menus.configuration.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:skill-levels`,\n text: RootConfig.entities.skillLevel.titlePlural,\n icon: RootConfig.entities.skillLevel.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skillLevel.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:course-types`,\n text: RootConfig.entities.courseType.titlePlural,\n icon: RootConfig.entities.courseType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.courseType.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-definitions`,\n text: RootConfig.entities.trainingDefinition.titlePlural,\n icon: RootConfig.entities.trainingDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingDefinition.name),\n priority: 3,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-types`,\n text: RootConfig.entities.trainingType.titlePlural,\n icon: RootConfig.entities.trainingType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingType.name),\n priority: 4,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-definitions`,\n text: RootConfig.entities.certificateDefinition.titlePlural,\n icon: RootConfig.entities.certificateDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateDefinition.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-types`,\n text: RootConfig.entities.certificateType.titlePlural,\n icon: RootConfig.entities.certificateType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateType.name),\n priority: 6,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:mandatory-rules`,\n text: RootConfig.entities.mandatoryTrainingRule.titlePlural,\n icon: RootConfig.entities.mandatoryTrainingRule.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.mandatoryTrainingRule.name),\n priority: 7,\n },\n ],\n },\n ]);\n }\n}\n\n//#endregion\n\n\n","export const AXMLearningManagementPermissionKeys = {\n LearningManagement: {\n Management: 'LearningManagement:Permission:Management',\n SkillCategory: {\n Management: 'LearningManagement:Permission:SkillCategory.Management',\n View: 'LearningManagement:Permission:SkillCategory.View',\n Create: 'LearningManagement:Permission:SkillCategory.Create',\n Update: 'LearningManagement:Permission:SkillCategory.Update',\n Delete: 'LearningManagement:Permission:SkillCategory.Delete',\n },\n Skill: {\n Management: 'LearningManagement:Permission:Skill.Management',\n View: 'LearningManagement:Permission:Skill.View',\n Create: 'LearningManagement:Permission:Skill.Create',\n Update: 'LearningManagement:Permission:Skill.Update',\n Delete: 'LearningManagement:Permission:Skill.Delete',\n },\n SkillLevel: {\n Management: 'LearningManagement:Permission:SkillLevel.Management',\n View: 'LearningManagement:Permission:SkillLevel.View',\n Create: 'LearningManagement:Permission:SkillLevel.Create',\n Update: 'LearningManagement:Permission:SkillLevel.Update',\n Delete: 'LearningManagement:Permission:SkillLevel.Delete',\n },\n CourseType: {\n Management: 'LearningManagement:Permission:CourseType.Management',\n View: 'LearningManagement:Permission:CourseType.View',\n Create: 'LearningManagement:Permission:CourseType.Create',\n Update: 'LearningManagement:Permission:CourseType.Update',\n Delete: 'LearningManagement:Permission:CourseType.Delete',\n },\n Course: {\n Management: 'LearningManagement:Permission:Course.Management',\n View: 'LearningManagement:Permission:Course.View',\n Create: 'LearningManagement:Permission:Course.Create',\n Update: 'LearningManagement:Permission:Course.Update',\n Delete: 'LearningManagement:Permission:Course.Delete',\n Publish: 'LearningManagement:Permission:Course.Publish',\n },\n TrainingType: {\n Management: 'LearningManagement:Permission:TrainingType.Management',\n View: 'LearningManagement:Permission:TrainingType.View',\n Create: 'LearningManagement:Permission:TrainingType.Create',\n Update: 'LearningManagement:Permission:TrainingType.Update',\n Delete: 'LearningManagement:Permission:TrainingType.Delete',\n },\n TrainingDefinition: {\n Management: 'LearningManagement:Permission:TrainingDefinition.Management',\n View: 'LearningManagement:Permission:TrainingDefinition.View',\n Create: 'LearningManagement:Permission:TrainingDefinition.Create',\n Update: 'LearningManagement:Permission:TrainingDefinition.Update',\n Delete: 'LearningManagement:Permission:TrainingDefinition.Delete',\n Publish: 'LearningManagement:Permission:TrainingDefinition.Publish',\n },\n Training: {\n Management: 'LearningManagement:Permission:Training.Management',\n View: 'LearningManagement:Permission:Training.View',\n Create: 'LearningManagement:Permission:Training.Create',\n Update: 'LearningManagement:Permission:Training.Update',\n Delete: 'LearningManagement:Permission:Training.Delete',\n Schedule: 'LearningManagement:Permission:Training.Schedule',\n Close: 'LearningManagement:Permission:Training.Close',\n },\n Enrollment: {\n Management: 'LearningManagement:Permission:Enrollment.Management',\n View: 'LearningManagement:Permission:Enrollment.View',\n Create: 'LearningManagement:Permission:Enrollment.Create',\n Update: 'LearningManagement:Permission:Enrollment.Update',\n Delete: 'LearningManagement:Permission:Enrollment.Delete',\n Process: 'LearningManagement:Permission:Enrollment.Process',\n },\n Attendance: {\n Management: 'LearningManagement:Permission:Attendance.Management',\n View: 'LearningManagement:Permission:Attendance.View',\n Create: 'LearningManagement:Permission:Attendance.Create',\n Update: 'LearningManagement:Permission:Attendance.Update',\n Delete: 'LearningManagement:Permission:Attendance.Delete',\n Record: 'LearningManagement:Permission:Attendance.Record',\n },\n CertificateType: {\n Management: 'LearningManagement:Permission:CertificateType.Management',\n View: 'LearningManagement:Permission:CertificateType.View',\n Create: 'LearningManagement:Permission:CertificateType.Create',\n Update: 'LearningManagement:Permission:CertificateType.Update',\n Delete: 'LearningManagement:Permission:CertificateType.Delete',\n },\n CertificateDefinition: {\n Management: 'LearningManagement:Permission:CertificateDefinition.Management',\n View: 'LearningManagement:Permission:CertificateDefinition.View',\n Create: 'LearningManagement:Permission:CertificateDefinition.Create',\n Update: 'LearningManagement:Permission:CertificateDefinition.Update',\n Delete: 'LearningManagement:Permission:CertificateDefinition.Delete',\n Publish: 'LearningManagement:Permission:CertificateDefinition.Publish',\n },\n Certificate: {\n Management: 'LearningManagement:Permission:Certificate.Management',\n View: 'LearningManagement:Permission:Certificate.View',\n Create: 'LearningManagement:Permission:Certificate.Create',\n Update: 'LearningManagement:Permission:Certificate.Update',\n Delete: 'LearningManagement:Permission:Certificate.Delete',\n Issue: 'LearningManagement:Permission:Certificate.Issue',\n Renew: 'LearningManagement:Permission:Certificate.Renew',\n },\n LearningPath: {\n Management: 'LearningManagement:Permission:LearningPath.Management',\n View: 'LearningManagement:Permission:LearningPath.View',\n Create: 'LearningManagement:Permission:LearningPath.Create',\n Update: 'LearningManagement:Permission:LearningPath.Update',\n Delete: 'LearningManagement:Permission:LearningPath.Delete',\n Publish: 'LearningManagement:Permission:LearningPath.Publish',\n Assign: 'LearningManagement:Permission:LearningPath.Assign',\n },\n MandatoryTrainingRule: {\n Management: 'LearningManagement:Permission:MandatoryTrainingRule.Management',\n View: 'LearningManagement:Permission:MandatoryTrainingRule.View',\n Create: 'LearningManagement:Permission:MandatoryTrainingRule.Create',\n Update: 'LearningManagement:Permission:MandatoryTrainingRule.Update',\n Delete: 'LearningManagement:Permission:MandatoryTrainingRule.Delete',\n Activate: 'LearningManagement:Permission:MandatoryTrainingRule.Activate',\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXMLearningManagementPermissionKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n@Injectable()\nexport class AXMLearningManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n private readonly translationService = this.injector.get(AXTranslationService);\n\n constructor(private readonly injector: Injector) { }\n\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXMLearningManagementPermissionKeys.LearningManagement;\n const moduleTitle = await this.translationService.translateAsync('@learning-management:module.title');\n\n const skillCategoryTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:skills.permissions.skill-category.actions.${action}.title`);\n\n const skillTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:skills.permissions.skill.actions.${action}.title`);\n\n const skillLevelTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:skills.permissions.skill-level.actions.${action}.title`);\n\n const courseTypeTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:courses.permissions.course-type.actions.${action}.title`);\n\n const courseTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:courses.permissions.course.actions.${action}.title`);\n\n const trainingTypeTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:trainings.permissions.training-type.actions.${action}.title`);\n\n const trainingDefinitionTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:trainings.permissions.training-definition.actions.${action}.title`);\n\n const trainingTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:trainings.permissions.training.actions.${action}.title`);\n\n const enrollmentTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:enrollments.permissions.enrollment.actions.${action}.title`);\n\n const attendanceTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:enrollments.permissions.attendance.actions.${action}.title`);\n\n const certificateTypeTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:certificates.permissions.certificate-type.actions.${action}.title`);\n\n const certificateDefinitionTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:certificates.permissions.certificate-definition.actions.${action}.title`);\n\n const certificateTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:certificates.permissions.certificate.actions.${action}.title`);\n\n const learningPathTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:learning-paths.permissions.learning-path.actions.${action}.title`);\n\n const mandatoryRuleTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:compliance.permissions.mandatory-training-rule.actions.${action}.title`);\n\n context\n .addGroup(RootConfig.module.name, moduleTitle)\n\n .addPermission(keys.SkillCategory.Management, await skillCategoryTrans('manage'))\n .addChild(keys.SkillCategory.View, await skillCategoryTrans('view'))\n .addChild(keys.SkillCategory.Create, await skillCategoryTrans('create'))\n .addChild(keys.SkillCategory.Update, await skillCategoryTrans('update'))\n .addChild(keys.SkillCategory.Delete, await skillCategoryTrans('delete'))\n .endPermission()\n\n .addPermission(keys.Skill.Management, await skillTrans('manage'))\n .addChild(keys.Skill.View, await skillTrans('view'))\n .addChild(keys.Skill.Create, await skillTrans('create'))\n .addChild(keys.Skill.Update, await skillTrans('update'))\n .addChild(keys.Skill.Delete, await skillTrans('delete'))\n .endPermission()\n\n .addPermission(keys.SkillLevel.Management, await skillLevelTrans('manage'))\n .addChild(keys.SkillLevel.View, await skillLevelTrans('view'))\n .addChild(keys.SkillLevel.Create, await skillLevelTrans('create'))\n .addChild(keys.SkillLevel.Update, await skillLevelTrans('update'))\n .addChild(keys.SkillLevel.Delete, await skillLevelTrans('delete'))\n .endPermission()\n\n .addPermission(keys.CourseType.Management, await courseTypeTrans('manage'))\n .addChild(keys.CourseType.View, await courseTypeTrans('view'))\n .addChild(keys.CourseType.Create, await courseTypeTrans('create'))\n .addChild(keys.CourseType.Update, await courseTypeTrans('update'))\n .addChild(keys.CourseType.Delete, await courseTypeTrans('delete'))\n .endPermission()\n\n .addPermission(keys.Course.Management, await courseTrans('manage'))\n .addChild(keys.Course.View, await courseTrans('view'))\n .addChild(keys.Course.Create, await courseTrans('create'))\n .addChild(keys.Course.Update, await courseTrans('update'))\n .addChild(keys.Course.Delete, await courseTrans('delete'))\n .addChild(keys.Course.Publish, await courseTrans('publish'))\n .endPermission()\n\n .addPermission(keys.TrainingType.Management, await trainingTypeTrans('manage'))\n .addChild(keys.TrainingType.View, await trainingTypeTrans('view'))\n .addChild(keys.TrainingType.Create, await trainingTypeTrans('create'))\n .addChild(keys.TrainingType.Update, await trainingTypeTrans('update'))\n .addChild(keys.TrainingType.Delete, await trainingTypeTrans('delete'))\n .endPermission()\n\n .addPermission(keys.TrainingDefinition.Management, await trainingDefinitionTrans('manage'))\n .addChild(keys.TrainingDefinition.View, await trainingDefinitionTrans('view'))\n .addChild(keys.TrainingDefinition.Create, await trainingDefinitionTrans('create'))\n .addChild(keys.TrainingDefinition.Update, await trainingDefinitionTrans('update'))\n .addChild(keys.TrainingDefinition.Delete, await trainingDefinitionTrans('delete'))\n .addChild(keys.TrainingDefinition.Publish, await trainingDefinitionTrans('publish'))\n .endPermission()\n\n .addPermission(keys.Training.Management, await trainingTrans('manage'))\n .addChild(keys.Training.View, await trainingTrans('view'))\n .addChild(keys.Training.Create, await trainingTrans('create'))\n .addChild(keys.Training.Update, await trainingTrans('update'))\n .addChild(keys.Training.Delete, await trainingTrans('delete'))\n .addChild(keys.Training.Schedule, await trainingTrans('schedule'))\n .addChild(keys.Training.Close, await trainingTrans('close'))\n .endPermission()\n\n .addPermission(keys.Enrollment.Management, await enrollmentTrans('manage'))\n .addChild(keys.Enrollment.View, await enrollmentTrans('view'))\n .addChild(keys.Enrollment.Create, await enrollmentTrans('create'))\n .addChild(keys.Enrollment.Update, await enrollmentTrans('update'))\n .addChild(keys.Enrollment.Delete, await enrollmentTrans('delete'))\n .addChild(keys.Enrollment.Process, await enrollmentTrans('process'))\n .endPermission()\n\n .addPermission(keys.Attendance.Management, await attendanceTrans('manage'))\n .addChild(keys.Attendance.View, await attendanceTrans('view'))\n .addChild(keys.Attendance.Create, await attendanceTrans('create'))\n .addChild(keys.Attendance.Update, await attendanceTrans('update'))\n .addChild(keys.Attendance.Delete, await attendanceTrans('delete'))\n .addChild(keys.Attendance.Record, await attendanceTrans('record'))\n .endPermission()\n\n .addPermission(keys.CertificateType.Management, await certificateTypeTrans('manage'))\n .addChild(keys.CertificateType.View, await certificateTypeTrans('view'))\n .addChild(keys.CertificateType.Create, await certificateTypeTrans('create'))\n .addChild(keys.CertificateType.Update, await certificateTypeTrans('update'))\n .addChild(keys.CertificateType.Delete, await certificateTypeTrans('delete'))\n .endPermission()\n\n .addPermission(keys.CertificateDefinition.Management, await certificateDefinitionTrans('manage'))\n .addChild(keys.CertificateDefinition.View, await certificateDefinitionTrans('view'))\n .addChild(keys.CertificateDefinition.Create, await certificateDefinitionTrans('create'))\n .addChild(keys.CertificateDefinition.Update, await certificateDefinitionTrans('update'))\n .addChild(keys.CertificateDefinition.Delete, await certificateDefinitionTrans('delete'))\n .addChild(keys.CertificateDefinition.Publish, await certificateDefinitionTrans('publish'))\n .endPermission()\n\n .addPermission(keys.Certificate.Management, await certificateTrans('manage'))\n .addChild(keys.Certificate.View, await certificateTrans('view'))\n .addChild(keys.Certificate.Create, await certificateTrans('create'))\n .addChild(keys.Certificate.Update, await certificateTrans('update'))\n .addChild(keys.Certificate.Delete, await certificateTrans('delete'))\n .addChild(keys.Certificate.Issue, await certificateTrans('issue'))\n .addChild(keys.Certificate.Renew, await certificateTrans('renew'))\n .endPermission()\n\n .addPermission(keys.LearningPath.Management, await learningPathTrans('manage'))\n .addChild(keys.LearningPath.View, await learningPathTrans('view'))\n .addChild(keys.LearningPath.Create, await learningPathTrans('create'))\n .addChild(keys.LearningPath.Update, await learningPathTrans('update'))\n .addChild(keys.LearningPath.Delete, await learningPathTrans('delete'))\n .addChild(keys.LearningPath.Publish, await learningPathTrans('publish'))\n .addChild(keys.LearningPath.Assign, await learningPathTrans('assign'))\n .endPermission()\n\n .addPermission(keys.MandatoryTrainingRule.Management, await mandatoryRuleTrans('manage'))\n .addChild(keys.MandatoryTrainingRule.View, await mandatoryRuleTrans('view'))\n .addChild(keys.MandatoryTrainingRule.Create, await mandatoryRuleTrans('create'))\n .addChild(keys.MandatoryTrainingRule.Update, await mandatoryRuleTrans('update'))\n .addChild(keys.MandatoryTrainingRule.Delete, await mandatoryRuleTrans('delete'))\n .addChild(keys.MandatoryTrainingRule.Activate, await mandatoryRuleTrans('activate'))\n .endPermission()\n\n .endGroup();\n }\n}\n\n//#endregion\n\n\n","//#region ---- Imports ----\n\nimport { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex/platform/common';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Search Command Provider ----\n\nfunction cmd(id: string, entityKey: string, e: { name: string; title: string; icon: string }, title: string, desc: string) {\n return {\n id,\n group: 'command' as const,\n title,\n icon: e.icon,\n description: desc,\n command: {\n name: 'Entity:Create' as const,\n options: createEntityCommandOptions(entityKey, { name: e.name, module: RootConfig.module.name, title: e.title }),\n },\n };\n}\n\nexport class AXMLearningManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n cmd('create-skill', `${RootConfig.module.name}.${RootConfig.entities.skill.name}`, RootConfig.entities.skill, '@learning-management:skills.search.create-skill.title', '@learning-management:skills.search.create-skill.description'),\n cmd('create-course', `${RootConfig.module.name}.${RootConfig.entities.course.name}`, RootConfig.entities.course, '@learning-management:courses.search.create-course.title', '@learning-management:courses.search.create-course.description'),\n cmd('create-training', `${RootConfig.module.name}.${RootConfig.entities.training.name}`, RootConfig.entities.training, '@learning-management:trainings.search.schedule-training.title', '@learning-management:trainings.search.schedule-training.description'),\n cmd('create-training-definition', `${RootConfig.module.name}.${RootConfig.entities.trainingDefinition.name}`, RootConfig.entities.trainingDefinition, '@learning-management:trainings.search.create-training-definition.title', '@learning-management:trainings.search.create-training-definition.description'),\n cmd('create-enrollment', `${RootConfig.module.name}.${RootConfig.entities.enrollment.name}`, RootConfig.entities.enrollment, '@learning-management:enrollments.search.create-enrollment.title', '@learning-management:enrollments.search.create-enrollment.description'),\n cmd('create-learning-path', `${RootConfig.module.name}.${RootConfig.entities.learningPath.name}`, RootConfig.entities.learningPath, '@learning-management:learning-paths.search.create-learning-path.title', '@learning-management:learning-paths.search.create-learning-path.description'),\n cmd('create-certificate', `${RootConfig.module.name}.${RootConfig.entities.certificate.name}`, RootConfig.entities.certificate, '@learning-management:certificates.search.issue-certificate.title', '@learning-management:certificates.search.issue-certificate.description'),\n cmd('create-certificate-definition', `${RootConfig.module.name}.${RootConfig.entities.certificateDefinition.name}`, RootConfig.entities.certificateDefinition, '@learning-management:certificates.search.create-certificate-definition.title', '@learning-management:certificates.search.create-certificate-definition.description'),\n cmd('create-attendance', `${RootConfig.module.name}.${RootConfig.entities.attendance.name}`, RootConfig.entities.attendance, '@learning-management:enrollments.search.create-attendance.title', '@learning-management:enrollments.search.create-attendance.description'),\n cmd('create-skill-level', `${RootConfig.module.name}.${RootConfig.entities.skillLevel.name}`, RootConfig.entities.skillLevel, '@learning-management:skills.search.create-skill-level.title', '@learning-management:skills.search.create-skill-level.description'),\n cmd('create-course-type', `${RootConfig.module.name}.${RootConfig.entities.courseType.name}`, RootConfig.entities.courseType, '@learning-management:courses.search.create-course-type.title', '@learning-management:courses.search.create-course-type.description'),\n cmd('create-training-type', `${RootConfig.module.name}.${RootConfig.entities.trainingType.name}`, RootConfig.entities.trainingType, '@learning-management:trainings.search.create-training-type.title', '@learning-management:trainings.search.create-training-type.description'),\n cmd('create-certificate-type', `${RootConfig.module.name}.${RootConfig.entities.certificateType.name}`, RootConfig.entities.certificateType, '@learning-management:certificates.search.create-certificate-type.title', '@learning-management:certificates.search.create-certificate-type.description'),\n cmd('create-mandatory-training-rule', `${RootConfig.module.name}.${RootConfig.entities.mandatoryTrainingRule.name}`, RootConfig.entities.mandatoryTrainingRule, '@learning-management:compliance.search.create-mandatory-training-rule.title', '@learning-management:compliance.search.create-mandatory-training-rule.description'),\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 * Learning Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const LearningManagementManifest: 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 (optional)\n};\n\n//#endregion\n\n","import { AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXLSkillMatrixWidget: AXPWidgetConfig<AXLSkillMatrixWidgetConfigType> = {\n name: 'skill-matrix-editor',\n title: 'Skill Matrix',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n description: 'Matrix widget for managing skill levels across different skills',\n icon: 'fa-light fa-table',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./skill-matrix-widget-view.component').then((c) => c.AXLSkillMatrixWidgetViewComponent),\n },\n edit: {\n component: () => import('./skill-matrix-widget-edit.component').then((c) => c.AXLSkillMatrixWidgetEditComponent),\n },\n },\n};\n\nexport type AXLSkillMatrixWidgetConfigType = {\n type: 'editor';\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXLSkillMatrixWidget } from './features/skill-matrix/skill-matrix-widget.config';\n\n//#endregion\n\n//#region ---- Learning Management Widgets Provider ----\n\n@Injectable()\nexport class AXMLearningManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXLSkillMatrixWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { NgModule } from '@angular/core';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { LearningManagementManifest } from './manifest';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXMLearningManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMLearningManagementMenuProvider } from './menu.provider';\nimport { AXMLearningManagementEntityProvider } from './entity.provider';\nimport { AXMLearningManagementSearchCommandProvider } from './search-command.provider';\n\nimport { AXMLearningManagementWidgetsProvider } from './widget-definition.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n ],\n providers: [\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: LearningManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMLearningManagementMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMLearningManagementEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMLearningManagementSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementWidgetsProvider,\n multi: true,\n },\n ],\n})\nexport class AXMLearningManagementModule { }\n\n//#endregion\n\n\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n AXPSpreadsheetComponent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetRowChangeEvent,\n AXPSpreadsheetItem,\n AXPSpreadsheetData,\n} from '@acorex/platform/layout/components';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPWidgetNode } from '@acorex/platform/layout/widget-core';\nimport { AXMLearningManagementSkillLevelEntityModel } from '../../entities/skill-level/skill-level.types';\nimport { AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { RootConfig } from '../../const';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXMLearningManagementSkillEntityModel } from '../../entities/skill/skill.types';\nimport { AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';\nimport { AXPCategoryEntity } from '@acorex/platform/core';\n\n//#endregion\n\n\n@Component({\n selector: 'axm-skill-matrix',\n standalone: true,\n imports: [\n CommonModule,\n AXPSpreadsheetComponent,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n ],\n templateUrl: './skill-matrix.component.html',\n styleUrl: './skill-matrix.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-skill-matrix',\n },\n})\nexport class AXMLearningManagementSkillMatrixComponent {\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly skillLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillLevel.name)\n .data<string, AXMLearningManagementSkillLevelEntityModel>();\n private readonly skillDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skill.name)\n .data<string, AXMLearningManagementSkillEntityModel>();\n private readonly skillCategoryDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillCategory.name)\n .data<string, any>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly translationService = inject(AXTranslationService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly activeLocale = signal(this.translationService.getActiveLang());\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job titles/positions to display as columns (e.g., Senior, Manager, Director)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [skillId]: { [title.id]: skillLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial skill IDs (for syncing with parent entity)\n */\n skillIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected skills change (skill IDs array)\n */\n skillIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Skill levels loaded from the service\n */\n private skillLevels = signal<AXMLearningManagementSkillLevelEntityModel[]>([]);\n\n /**\n * Selected skills (internal state)\n */\n protected selectedSkills = signal<AXMLearningManagementSkillEntityModel[]>([]);\n\n /**\n * Skill entity definition\n */\n private skillEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for skill entity\n */\n protected isLoadingSkillEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (skills) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const skills = this.selectedSkills();\n const result = (skills ?? []).map((skill) => ({\n id: skill.id,\n title: resolveMultiLanguageString(skill.title, locale),\n description:\n skill.description != null ? resolveMultiLanguageString(skill.description, locale) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job titles/positions) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: title.title,\n description: title.description || undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (skill levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const levels = this.skillLevels();\n return (levels ?? []).map((level) => ({\n id: level.id,\n title: resolveMultiLanguageString(level.title, locale),\n description:\n level.description != null ? resolveMultiLanguageString(level.description, locale) : undefined,\n }));\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job titles/positions)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for skill levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map(option => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((skill) => {\n const row: Record<string, any> = {\n name: skill.id, // Required for fixed mode row identification\n _skillTitle: skill.title, // For row header display\n _skillDescription: skill.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[skill.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n this.translationService.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((lang) => this.activeLocale.set(lang));\n\n // Load skill levels and skill entity definition when component initializes\n this.loadSkillLevels();\n this.loadSkillEntityDef();\n\n // Watch for skillIds input changes and sync selected skills\n effect(() => {\n const ids = this.skillIds();\n if (ids && ids.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract skill IDs from matrix data keys\n const matrixData = this.value();\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n if (skillIdsFromMatrix.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(skillIdsFromMatrix);\n } else {\n this.selectedSkills.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract skill IDs\n effect(() => {\n const matrixData = this.value();\n const currentSkillIds = this.selectedSkills().map((s) => s.id);\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has skills that aren't in selectedSkills, load them\n const missingIds = skillIdsFromMatrix.filter((id) => !currentSkillIds.includes(id));\n if (missingIds.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load skill levels from the service\n */\n private async loadSkillLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'levelNumber', dir: 'asc' as const }],\n };\n const result = await this.skillLevelDataAccessor.query(query);\n this.skillLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading skill levels:', error);\n this.skillLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load skill entity definition\n */\n private async loadSkillEntityDef(): Promise<void> {\n try {\n this.isLoadingSkillEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.skill.name\n );\n this.skillEntityDef.set(entityDef as AXPEntity);\n } catch (error) {\n console.error('Error loading skill entity definition:', error);\n this.skillEntityDef.set(null as unknown as AXPEntity);\n } finally {\n this.isLoadingSkillEntity.set(false);\n }\n }\n\n /**\n * Load skills by IDs\n */\n private async loadSkillsByIds(ids: string[]): Promise<void> {\n try {\n const skills: AXMLearningManagementSkillEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const skill = await this.skillDataAccessor.byKey(id);\n if (skill) {\n skills.push(skill);\n }\n } catch (error) {\n console.error(`Error loading skill ${id}:`, error);\n }\n }\n\n this.selectedSkills.set(skills);\n } catch (error) {\n console.error('Error loading skills by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const skillId = row['name']; // Row identifier (skill ID)\n if (!skillId) {\n return;\n }\n\n matrixData[skillId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[skillId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract skill IDs from row names and emit\n const skillIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open skill selector dialog with category filter\n */\n protected async handleSelectSkills(): Promise<void> {\n const entityDef = this.skillEntityDef();\n if (!entityDef) {\n console.error('Skill entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected skill IDs\n const selectedItemIds = this.selectedSkills()\n .map((skill) => skill.id)\n .filter((id) => id != null);\n\n // Create category tree data source\n const categoryTreeDataSource: AXPCategoryTreeDataSource = {\n loadRootNodes: async () => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'isEmpty' },\n value: true,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n loadChildNodes: async (parentId: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'equal' },\n value: parentId,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n searchNodes: async (searchValue: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n filters: [\n {\n field: 'title',\n operator: { type: 'contains' },\n value: searchValue,\n },\n {\n field: 'name',\n operator: { type: 'contains' },\n value: searchValue,\n },\n ],\n logic: 'or',\n },\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n };\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Skills',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n columns: ['title', 'description'],\n showCategoryFilter: false,\n categoryFilter: {\n title: 'Categories',\n dataSource: categoryTreeDataSource,\n filterField: 'categoryIds',\n filterOperator: 'contains',\n width: '350px',\n },\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected skills\n this.selectedSkills.set(result.items);\n // Emit skill IDs change\n const skillIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n } catch (error) {\n console.error('Error opening skill selector:', error);\n }\n }\n\n /**\n * Remove a skill from selection\n */\n protected handleRemoveSkill(skillId: string): void {\n const currentSkills = this.selectedSkills();\n const updatedSkills = currentSkills.filter((skill) => skill.id !== skillId);\n this.selectedSkills.set(updatedSkills);\n\n // Remove skill data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[skillId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit skill IDs change\n const skillIds = updatedSkills.map((skill) => skill.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove skill from selection\n this.handleRemoveSkill(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@learning-management:skills.components.skill-matrix.actions.choose-skills.title' | translate | async\"\n (onClick)=\"handleSelectSkills()\" [disabled]=\"isLoadingSkillEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@learning-management:skills.components.skill-matrix.messages.loading-skill-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Skill / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_skillTitle'\"\n [rowDescriptionPath]=\"'_skillDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex/platform/layout/components';\nimport { get } from 'lodash-es';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-edit',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [skillIds]=\"skillIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (skillIdsChange)=\"handleSkillIdsChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'ax-block ax-w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when requiredLevels changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const requiredLevelsFromContext = get(contextData, 'jobLevels') as any[] | undefined;\n\n if (Array.isArray(requiredLevelsFromContext) && requiredLevelsFromContext.length > 0) {\n // Ensure each item has the required structure\n return requiredLevelsFromContext.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n // If titles is not set, return empty array\n if (!rawTitles) {\n return [];\n }\n\n // If it's already an array, return it (evaluated expression result)\n if (Array.isArray(rawTitles)) {\n // Ensure each item has the required structure\n return rawTitles.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // If it's still a string (unevaluated expression), return empty array\n // The expression will be evaluated by the widget renderer and options will update\n if (typeof rawTitles === 'string') {\n return [];\n }\n\n return [];\n });\n\n /**\n * Readonly mode from options - properly tracks options signal changes\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n const result = options?.['readonly'] ?? false;\n return result;\n });\n\n /**\n * Current matrix value - tracks getValue signal changes\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n const result = (this.getValue() as AXPSpreadsheetData) || {};\n const keysCount = Object.keys(result).length;\n return result;\n });\n\n /**\n * Skill IDs extracted from matrix data keys or from options\n */\n protected skillIds = computed<string[]>(() => {\n const options = this.options();\n const skillIdsFromOptions = options?.['skillIds'] ?? [];\n\n // If skillIds from options is an array, use it\n if (Array.isArray(skillIdsFromOptions) && skillIdsFromOptions.length > 0) {\n return skillIdsFromOptions;\n }\n\n // Otherwise, extract from matrix data keys\n const matrixData = this.matrixValue();\n return Object.keys(matrixData || {});\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n const dataKeysCount = Object.keys(data || {}).length;\n const currentKeysCount = Object.keys(this.getValue() || {}).length;\n if (data) {\n this.setValue(data);\n const afterKeysCount = Object.keys(this.getValue() || {}).length;\n } else {\n }\n }\n\n /**\n * Handle skill IDs change from skill-matrix component\n * Skill IDs are stored as keys in the matrix data, so this is mainly for tracking\n */\n protected handleSkillIdsChange(skillIds: string[]): void {\n // Skill IDs are already reflected in the matrix data keys\n // This handler is here for potential future use or side effects\n console.log('Skill IDs changed:', skillIds);\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPSpreadsheetData } from '@acorex/platform/layout/components';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-view',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'ax-block ax-w-full ',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Skill IDs from options\n */\n protected skills = computed<{ id: string; title: string; description?: string }[]>(() => {\n return this.options()['skills'] || [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ---- Skill Model ----\n\nimport type { AXPCategoryListItem, AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementSkillEntityModel extends AXPEntityModel<string> {\n /** Unique programmatic key for expressions and integrations (identifier-style). */\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n code?: string | null;\n categoryIds: string[];\n categories?: AXPCategoryListItem[];\n relatedCourseIds?: string[];\n}\n\n//#endregion\n","//#region ---- Skill Level Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementSkillLevelEntityModel extends AXPEntityModel<string> {\n title: AXPMultiLanguageString;\n levelNumber: number;\n description?: AXPMultiLanguageString | null;\n}\n\n//#endregion\n","//#region ---- Course Type Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCourseTypeEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n deliveryMode?: string | null;\n}\n\n//#endregion\n","//#region ---- Course Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCourseEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n courseTypeId: string;\n durationHours?: number | null;\n relatedSkillIds: string[];\n certificateDefinitionIds?: string[];\n courseType?: { id: string; title: AXPMultiLanguageString };\n skills?: Array<{ id: string; title: AXPMultiLanguageString }>;\n certificateDefinitions?: Array<{ id: string; title: AXPMultiLanguageString }>;\n}\n\n//#endregion\n","//#region ---- Training Type Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementTrainingTypeEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n}\n\n//#endregion\n","//#region ---- Training Definition Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementTrainingDefinitionEntityModel extends AXPEntityModel<string> {\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n courseId: string;\n course?: { id: string; title: AXPMultiLanguageString };\n trainingTypeId: string;\n trainingType?: { id: string; title: AXPMultiLanguageString };\n defaultDurationHours?: number | null;\n defaultCapacity?: number | null;\n defaultLocationId?: string | null;\n defaultLocation?: { id: string; title: string };\n isActive: boolean;\n}\n\n//#endregion\n","//#region ---- Training Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport type TrainingStatus = 'Draft' | 'Open' | 'Closed' | 'Cancelled';\n\nexport interface AXMLearningManagementTrainingEntityModel extends AXPEntityModel<string> {\n trainingDefinitionId: string;\n courseId: string;\n trainingTypeId: string;\n startDate: string;\n endDate: string;\n locationId?: string | null;\n instructorId?: string | null;\n capacity?: number | null;\n status: TrainingStatus;\n notes?: string | null;\n trainingDefinition?: { id: string; title: AXPMultiLanguageString };\n course?: { id: string; title: AXPMultiLanguageString };\n trainingType?: { id: string; title: AXPMultiLanguageString };\n location?: { id: string; title: string };\n instructor?: { id: string; displayName: string };\n}\n\n//#endregion\n","//#region ---- Enrollment Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport type EnrollmentStatus = 'Requested' | 'Approved' | 'Enrolled' | 'Completed' | 'Failed' | 'Cancelled';\n\nexport interface AXMLearningManagementEnrollmentEntityModel extends AXPEntityModel<string> {\n employeeId: string;\n trainingId: string;\n status: EnrollmentStatus;\n workflowInstanceId?: string | null;\n notes?: string | null;\n employee?: { id: string; displayName: string };\n training?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","//#region ---- Attendance Model ----\n\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport type AttendanceStatus = 'Present' | 'Absent' | 'Late';\n\nexport interface AXMLearningManagementAttendanceEntityModel extends AXPEntityModel<string> {\n enrollmentId: string;\n sessionDate: string;\n status: AttendanceStatus;\n enrollment?: { id: string; employeeId: string; trainingId: string };\n notes?: string | null;\n}\n\n//#endregion\n","//#region ---- Certificate Type Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCertificateTypeEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n validityDays?: number | null;\n templateId?: string | null;\n}\n\n//#endregion\n","//#region ---- Certificate Definition Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCertificateDefinitionEntityModel extends AXPEntityModel<string> {\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n certificateTypeId: string;\n certificateType?: { id: string; title: AXPMultiLanguageString };\n courseId?: string | null;\n course?: { id: string; title: AXPMultiLanguageString };\n validityDays?: number | null;\n templateId?: string | null;\n isActive: boolean;\n}\n\n//#endregion\n","//#region ---- Certificate Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCertificateEntityModel extends AXPEntityModel<string> {\n certificateDefinitionId: string;\n certificateTypeId: string;\n employeeId: string;\n courseId?: string | null;\n issueDate: string;\n expiryDate?: string | null;\n fileId?: string | null;\n notes?: string | null;\n certificateDefinition?: { id: string; title: AXPMultiLanguageString };\n certificateType?: { id: string; title: AXPMultiLanguageString };\n employee?: { id: string; displayName: string };\n course?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","//#region ---- Learning Path Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementLearningPathEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n isActive: boolean;\n}\n\n//#endregion\n","//#region ---- Learning Path Course Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementLearningPathCourseEntityModel extends AXPEntityModel<string> {\n learningPathId: string;\n courseId: string;\n orderIndex: number;\n course?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","//#region ---- Mandatory Training Rule Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementMandatoryTrainingRuleEntityModel extends AXPEntityModel<string> {\n positionId: string;\n courseId: string;\n frequencyMonths?: number | null;\n position?: { id: string; title: AXPMultiLanguageString };\n course?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-learning-management.mjs","sources":["../../../../libs/modules/learning-management/src/lib/const.ts","../../../../libs/modules/learning-management/src/lib/entity.provider.ts","../../../../libs/modules/learning-management/src/lib/menu.keys.ts","../../../../libs/modules/learning-management/src/lib/menu.provider.ts","../../../../libs/modules/learning-management/src/lib/permission.keys.ts","../../../../libs/modules/learning-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/learning-management/src/lib/search-command.provider.ts","../../../../libs/modules/learning-management/src/lib/manifest.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix-widget.config.ts","../../../../libs/modules/learning-management/src/lib/widget-definition.provider.ts","../../../../libs/modules/learning-management/src/lib/learning-management.module.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix.component.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix.component.html","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix-widget-edit.component.ts","../../../../libs/modules/learning-management/src/lib/features/skill-matrix/skill-matrix-widget-view.component.ts","../../../../libs/modules/learning-management/src/lib/entities/skill/skill.types.ts","../../../../libs/modules/learning-management/src/lib/entities/skill-level/skill-level.types.ts","../../../../libs/modules/learning-management/src/lib/entities/course-type/course-type.types.ts","../../../../libs/modules/learning-management/src/lib/entities/course/course.types.ts","../../../../libs/modules/learning-management/src/lib/entities/training-type/training-type.types.ts","../../../../libs/modules/learning-management/src/lib/entities/training-definition/training-definition.types.ts","../../../../libs/modules/learning-management/src/lib/entities/training/training.types.ts","../../../../libs/modules/learning-management/src/lib/entities/enrollment/enrollment.types.ts","../../../../libs/modules/learning-management/src/lib/entities/attendance/attendance.types.ts","../../../../libs/modules/learning-management/src/lib/entities/certificate-type/certificate-type.types.ts","../../../../libs/modules/learning-management/src/lib/entities/certificate-definition/certificate-definition.types.ts","../../../../libs/modules/learning-management/src/lib/entities/certificate/certificate.types.ts","../../../../libs/modules/learning-management/src/lib/entities/learning-path/learning-path.types.ts","../../../../libs/modules/learning-management/src/lib/entities/learning-path-course/learning-path-course.types.ts","../../../../libs/modules/learning-management/src/lib/entities/mandatory-training-rule/mandatory-training-rule.types.ts","../../../../libs/modules/learning-management/src/acorex-modules-learning-management.ts"],"sourcesContent":["//#region ---- Root Configuration ----\n\nconst config = { i18n: 'learning-management' };\n\nexport const RootConfig = {\n config,\n module: {\n module: 'learning-management',\n name: 'LearningManagement',\n title: '@learning-management:module.title',\n icon: 'fa-light fa-graduation-cap',\n },\n entities: {\n skillCategory: {\n name: 'SkillCategory',\n title: '@learning-management:skills.entities.skill-category.title',\n titlePlural: '@learning-management:skills.entities.skill-category.plural',\n icon: 'fa-light fa-layer-group',\n },\n skill: {\n name: 'Skill',\n title: '@learning-management:skills.entities.skill.title',\n titlePlural: '@learning-management:skills.entities.skill.plural',\n icon: 'fa-light fa-lightbulb',\n },\n skillLevel: {\n name: 'SkillLevel',\n title: '@learning-management:skills.entities.skill-level.title',\n titlePlural: '@learning-management:skills.entities.skill-level.plural',\n icon: 'fa-light fa-stairs',\n },\n courseType: {\n name: 'CourseType',\n title: '@learning-management:courses.entities.course-type.title',\n titlePlural: '@learning-management:courses.entities.course-type.plural',\n icon: 'fa-light fa-diagram-project',\n },\n trainingDefinition: {\n name: 'TrainingDefinition',\n title: '@learning-management:trainings.entities.training-definition.title',\n titlePlural: '@learning-management:trainings.entities.training-definition.plural',\n icon: 'fa-light fa-clipboard-list-check',\n },\n course: {\n name: 'Course',\n title: '@learning-management:courses.entities.course.title',\n titlePlural: '@learning-management:courses.entities.course.plural',\n icon: 'fa-light fa-book-open',\n },\n trainingType: {\n name: 'TrainingType',\n title: '@learning-management:trainings.entities.training-type.title',\n titlePlural: '@learning-management:trainings.entities.training-type.plural',\n icon: 'fa-light fa-clipboard-list',\n },\n training: {\n name: 'Training',\n title: '@learning-management:trainings.entities.training.title',\n titlePlural: '@learning-management:trainings.entities.training.plural',\n icon: 'fa-light fa-chalkboard-teacher',\n },\n enrollment: {\n name: 'Enrollment',\n title: '@learning-management:enrollments.entities.enrollment.title',\n titlePlural: '@learning-management:enrollments.entities.enrollment.plural',\n icon: 'fa-light fa-user-plus',\n },\n attendance: {\n name: 'Attendance',\n title: '@learning-management:enrollments.entities.attendance.title',\n titlePlural: '@learning-management:enrollments.entities.attendance.plural',\n icon: 'fa-light fa-calendar-check',\n },\n certificateType: {\n name: 'CertificateType',\n title: '@learning-management:certificates.entities.certificate-type.title',\n titlePlural: '@learning-management:certificates.entities.certificate-type.plural',\n icon: 'fa-light fa-stamp',\n },\n certificateDefinition: {\n name: 'CertificateDefinition',\n title: '@learning-management:certificates.entities.certificate-definition.title',\n titlePlural: '@learning-management:certificates.entities.certificate-definition.plural',\n icon: 'fa-light fa-scroll',\n },\n certificate: {\n name: 'Certificate',\n title: '@learning-management:certificates.entities.certificate.title',\n titlePlural: '@learning-management:certificates.entities.certificate.plural',\n icon: 'fa-light fa-award',\n },\n learningPath: {\n name: 'LearningPath',\n title: '@learning-management:learning-paths.entities.learning-path.title',\n titlePlural: '@learning-management:learning-paths.entities.learning-path.plural',\n icon: 'fa-light fa-route',\n },\n learningPathCourse: {\n name: 'LearningPathCourse',\n title: '@learning-management:learning-paths.entities.learning-path-course.title',\n titlePlural: '@learning-management:learning-paths.entities.learning-path-course.plural',\n icon: 'fa-light fa-list-ol',\n },\n mandatoryTrainingRule: {\n name: 'MandatoryTrainingRule',\n title: '@learning-management:compliance.entities.mandatory-training-rule.title',\n titlePlural: '@learning-management:compliance.entities.mandatory-training-rule.plural',\n icon: 'fa-light fa-clipboard-check',\n },\n },\n};\n\n//#endregion\n\n\n","//#region ---- Imports ----\n\nimport { Injectable, Injector } from '@angular/core';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader } from '@acorex/platform/layout/entity';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Entity Provider ----\n\n@Injectable()\nexport class AXMLearningManagementEntityProvider implements AXPEntityDefinitionLoader {\n constructor(private readonly injector: 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.skill.name:\n return (await import('./entities/skill/skill.entity')).factory(this.injector);\n\n case RootConfig.entities.skillLevel.name:\n return (await import('./entities/skill-level/skill-level.entity')).factory(this.injector);\n\n case RootConfig.entities.courseType.name:\n return (await import('./entities/course-type/course-type.entity')).factory(this.injector);\n\n case RootConfig.entities.course.name:\n return (await import('./entities/course/course.entity')).factory(this.injector);\n\n case RootConfig.entities.trainingType.name:\n return (await import('./entities/training-type/training-type.entity')).factory(this.injector);\n\n case RootConfig.entities.trainingDefinition.name:\n return (await import('./entities/training-definition/training-definition.entity')).factory(this.injector);\n\n case RootConfig.entities.training.name:\n return (await import('./entities/training/training.entity')).factory(this.injector);\n\n case RootConfig.entities.enrollment.name:\n return (await import('./entities/enrollment/enrollment.entity')).factory(this.injector);\n\n case RootConfig.entities.attendance.name:\n return (await import('./entities/attendance/attendance.entity')).factory(this.injector);\n\n case RootConfig.entities.certificateType.name:\n return (await import('./entities/certificate-type/certificate-type.entity')).factory(this.injector);\n\n case RootConfig.entities.certificateDefinition.name:\n return (await import('./entities/certificate-definition/certificate-definition.entity')).factory(this.injector);\n\n case RootConfig.entities.certificate.name:\n return (await import('./entities/certificate/certificate.entity')).factory(this.injector);\n\n case RootConfig.entities.learningPath.name:\n return (await import('./entities/learning-path/learning-path.entity')).factory(this.injector);\n\n case RootConfig.entities.learningPathCourse.name:\n return (await import('./entities/learning-path-course/learning-path-course.entity')).factory(this.injector);\n\n case RootConfig.entities.mandatoryTrainingRule.name:\n return (await import('./entities/mandatory-training-rule/mandatory-training-rule.entity')).factory(this.injector);\n }\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\n//#endregion\n\n\n","export const AXMLearningManagementMenuKeys = {\n Root: 'learning-management:menu',\n ConfigurationRoot: 'learning-management:menu:configuration',\n Skills: 'learning-management:menu:skills',\n Courses: 'learning-management:menu:courses',\n Trainings: 'learning-management:menu:trainings',\n Enrollments: 'learning-management:menu:enrollments',\n Certificates: 'learning-management:menu:certificates',\n LearningPaths: 'learning-management:menu:learning-paths',\n Compliance: 'learning-management:menu:compliance',\n} as const;\n\n\n","//#region ---- Imports ----\n\nimport { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXMLearningManagementMenuKeys } from './menu.keys';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n/**\n * Learning Management Module Menu Provider.\n * - Root \"Learning\": Skills, Courses, Trainings, Enrollments, Certificates, Learning Paths (operational)\n * - Configuration/Learning: Skill Levels, Course Types, Training Definitions/Types, Certificate Definitions/Types, Mandatory Training Rules (reference)\n */\nexport class AXMLearningManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n\n // Root \"Learning\" - single level, direct links with dividers\n context.addItems([\n {\n name: AXMLearningManagementMenuKeys.Root,\n priority: 9020,\n text: '@learning-management:module.menus.root.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.Root}:skills`,\n text: RootConfig.entities.skill.titlePlural,\n icon: RootConfig.entities.skill.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skill.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:courses`,\n text: RootConfig.entities.course.titlePlural,\n icon: RootConfig.entities.course.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.course.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:trainings`,\n text: RootConfig.entities.training.titlePlural,\n icon: RootConfig.entities.training.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.training.name),\n priority: 3,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider1`, text: '', type: 'break', priority: 4 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:enrollments`,\n text: RootConfig.entities.enrollment.titlePlural,\n icon: RootConfig.entities.enrollment.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.enrollment.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:attendance`,\n text: RootConfig.entities.attendance.titlePlural,\n icon: RootConfig.entities.attendance.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.attendance.name),\n priority: 6,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider2`, text: '', type: 'break', priority: 7 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:certificates`,\n text: RootConfig.entities.certificate.titlePlural,\n icon: RootConfig.entities.certificate.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificate.name),\n priority: 8,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:learning-paths`,\n text: RootConfig.entities.learningPath.titlePlural,\n icon: RootConfig.entities.learningPath.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.learningPath.name),\n priority: 9,\n },\n ],\n },\n ]);\n\n // Configuration/Learning - reference data\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXMLearningManagementMenuKeys.ConfigurationRoot,\n priority: 8650,\n text: '@learning-management:module.menus.configuration.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:skill-levels`,\n text: RootConfig.entities.skillLevel.titlePlural,\n icon: RootConfig.entities.skillLevel.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skillLevel.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:course-types`,\n text: RootConfig.entities.courseType.titlePlural,\n icon: RootConfig.entities.courseType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.courseType.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-definitions`,\n text: RootConfig.entities.trainingDefinition.titlePlural,\n icon: RootConfig.entities.trainingDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingDefinition.name),\n priority: 3,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-types`,\n text: RootConfig.entities.trainingType.titlePlural,\n icon: RootConfig.entities.trainingType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingType.name),\n priority: 4,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-definitions`,\n text: RootConfig.entities.certificateDefinition.titlePlural,\n icon: RootConfig.entities.certificateDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateDefinition.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-types`,\n text: RootConfig.entities.certificateType.titlePlural,\n icon: RootConfig.entities.certificateType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateType.name),\n priority: 6,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:mandatory-rules`,\n text: RootConfig.entities.mandatoryTrainingRule.titlePlural,\n icon: RootConfig.entities.mandatoryTrainingRule.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.mandatoryTrainingRule.name),\n priority: 7,\n },\n ],\n },\n ]);\n }\n}\n\n//#endregion\n\n\n","export const AXMLearningManagementPermissionKeys = {\n LearningManagement: {\n Management: 'LearningManagement:Permission:Management',\n SkillCategory: {\n Management: 'LearningManagement:Permission:SkillCategory.Management',\n View: 'LearningManagement:Permission:SkillCategory.View',\n Create: 'LearningManagement:Permission:SkillCategory.Create',\n Update: 'LearningManagement:Permission:SkillCategory.Update',\n Delete: 'LearningManagement:Permission:SkillCategory.Delete',\n },\n Skill: {\n Management: 'LearningManagement:Permission:Skill.Management',\n View: 'LearningManagement:Permission:Skill.View',\n Create: 'LearningManagement:Permission:Skill.Create',\n Update: 'LearningManagement:Permission:Skill.Update',\n Delete: 'LearningManagement:Permission:Skill.Delete',\n },\n SkillLevel: {\n Management: 'LearningManagement:Permission:SkillLevel.Management',\n View: 'LearningManagement:Permission:SkillLevel.View',\n Create: 'LearningManagement:Permission:SkillLevel.Create',\n Update: 'LearningManagement:Permission:SkillLevel.Update',\n Delete: 'LearningManagement:Permission:SkillLevel.Delete',\n },\n CourseType: {\n Management: 'LearningManagement:Permission:CourseType.Management',\n View: 'LearningManagement:Permission:CourseType.View',\n Create: 'LearningManagement:Permission:CourseType.Create',\n Update: 'LearningManagement:Permission:CourseType.Update',\n Delete: 'LearningManagement:Permission:CourseType.Delete',\n },\n Course: {\n Management: 'LearningManagement:Permission:Course.Management',\n View: 'LearningManagement:Permission:Course.View',\n Create: 'LearningManagement:Permission:Course.Create',\n Update: 'LearningManagement:Permission:Course.Update',\n Delete: 'LearningManagement:Permission:Course.Delete',\n Publish: 'LearningManagement:Permission:Course.Publish',\n },\n TrainingType: {\n Management: 'LearningManagement:Permission:TrainingType.Management',\n View: 'LearningManagement:Permission:TrainingType.View',\n Create: 'LearningManagement:Permission:TrainingType.Create',\n Update: 'LearningManagement:Permission:TrainingType.Update',\n Delete: 'LearningManagement:Permission:TrainingType.Delete',\n },\n TrainingDefinition: {\n Management: 'LearningManagement:Permission:TrainingDefinition.Management',\n View: 'LearningManagement:Permission:TrainingDefinition.View',\n Create: 'LearningManagement:Permission:TrainingDefinition.Create',\n Update: 'LearningManagement:Permission:TrainingDefinition.Update',\n Delete: 'LearningManagement:Permission:TrainingDefinition.Delete',\n Publish: 'LearningManagement:Permission:TrainingDefinition.Publish',\n },\n Training: {\n Management: 'LearningManagement:Permission:Training.Management',\n View: 'LearningManagement:Permission:Training.View',\n Create: 'LearningManagement:Permission:Training.Create',\n Update: 'LearningManagement:Permission:Training.Update',\n Delete: 'LearningManagement:Permission:Training.Delete',\n Schedule: 'LearningManagement:Permission:Training.Schedule',\n Close: 'LearningManagement:Permission:Training.Close',\n },\n Enrollment: {\n Management: 'LearningManagement:Permission:Enrollment.Management',\n View: 'LearningManagement:Permission:Enrollment.View',\n Create: 'LearningManagement:Permission:Enrollment.Create',\n Update: 'LearningManagement:Permission:Enrollment.Update',\n Delete: 'LearningManagement:Permission:Enrollment.Delete',\n Process: 'LearningManagement:Permission:Enrollment.Process',\n },\n Attendance: {\n Management: 'LearningManagement:Permission:Attendance.Management',\n View: 'LearningManagement:Permission:Attendance.View',\n Create: 'LearningManagement:Permission:Attendance.Create',\n Update: 'LearningManagement:Permission:Attendance.Update',\n Delete: 'LearningManagement:Permission:Attendance.Delete',\n Record: 'LearningManagement:Permission:Attendance.Record',\n },\n CertificateType: {\n Management: 'LearningManagement:Permission:CertificateType.Management',\n View: 'LearningManagement:Permission:CertificateType.View',\n Create: 'LearningManagement:Permission:CertificateType.Create',\n Update: 'LearningManagement:Permission:CertificateType.Update',\n Delete: 'LearningManagement:Permission:CertificateType.Delete',\n },\n CertificateDefinition: {\n Management: 'LearningManagement:Permission:CertificateDefinition.Management',\n View: 'LearningManagement:Permission:CertificateDefinition.View',\n Create: 'LearningManagement:Permission:CertificateDefinition.Create',\n Update: 'LearningManagement:Permission:CertificateDefinition.Update',\n Delete: 'LearningManagement:Permission:CertificateDefinition.Delete',\n Publish: 'LearningManagement:Permission:CertificateDefinition.Publish',\n },\n Certificate: {\n Management: 'LearningManagement:Permission:Certificate.Management',\n View: 'LearningManagement:Permission:Certificate.View',\n Create: 'LearningManagement:Permission:Certificate.Create',\n Update: 'LearningManagement:Permission:Certificate.Update',\n Delete: 'LearningManagement:Permission:Certificate.Delete',\n Issue: 'LearningManagement:Permission:Certificate.Issue',\n Renew: 'LearningManagement:Permission:Certificate.Renew',\n },\n LearningPath: {\n Management: 'LearningManagement:Permission:LearningPath.Management',\n View: 'LearningManagement:Permission:LearningPath.View',\n Create: 'LearningManagement:Permission:LearningPath.Create',\n Update: 'LearningManagement:Permission:LearningPath.Update',\n Delete: 'LearningManagement:Permission:LearningPath.Delete',\n Publish: 'LearningManagement:Permission:LearningPath.Publish',\n Assign: 'LearningManagement:Permission:LearningPath.Assign',\n },\n MandatoryTrainingRule: {\n Management: 'LearningManagement:Permission:MandatoryTrainingRule.Management',\n View: 'LearningManagement:Permission:MandatoryTrainingRule.View',\n Create: 'LearningManagement:Permission:MandatoryTrainingRule.Create',\n Update: 'LearningManagement:Permission:MandatoryTrainingRule.Update',\n Delete: 'LearningManagement:Permission:MandatoryTrainingRule.Delete',\n Activate: 'LearningManagement:Permission:MandatoryTrainingRule.Activate',\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXMLearningManagementPermissionKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n@Injectable()\nexport class AXMLearningManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n private readonly translationService = this.injector.get(AXTranslationService);\n\n constructor(private readonly injector: Injector) { }\n\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXMLearningManagementPermissionKeys.LearningManagement;\n const moduleTitle = await this.translationService.translateAsync('@learning-management:module.title');\n\n const skillCategoryTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:skills.permissions.skill-category.actions.${action}.title`);\n\n const skillTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:skills.permissions.skill.actions.${action}.title`);\n\n const skillLevelTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:skills.permissions.skill-level.actions.${action}.title`);\n\n const courseTypeTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:courses.permissions.course-type.actions.${action}.title`);\n\n const courseTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:courses.permissions.course.actions.${action}.title`);\n\n const trainingTypeTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:trainings.permissions.training-type.actions.${action}.title`);\n\n const trainingDefinitionTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:trainings.permissions.training-definition.actions.${action}.title`);\n\n const trainingTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:trainings.permissions.training.actions.${action}.title`);\n\n const enrollmentTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:enrollments.permissions.enrollment.actions.${action}.title`);\n\n const attendanceTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:enrollments.permissions.attendance.actions.${action}.title`);\n\n const certificateTypeTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:certificates.permissions.certificate-type.actions.${action}.title`);\n\n const certificateDefinitionTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:certificates.permissions.certificate-definition.actions.${action}.title`);\n\n const certificateTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:certificates.permissions.certificate.actions.${action}.title`);\n\n const learningPathTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:learning-paths.permissions.learning-path.actions.${action}.title`);\n\n const mandatoryRuleTrans = async (action: string) =>\n await this.translationService.translateAsync(`@learning-management:compliance.permissions.mandatory-training-rule.actions.${action}.title`);\n\n context\n .addGroup(RootConfig.module.name, moduleTitle)\n\n .addPermission(keys.SkillCategory.Management, await skillCategoryTrans('manage'))\n .addChild(keys.SkillCategory.View, await skillCategoryTrans('view'))\n .addChild(keys.SkillCategory.Create, await skillCategoryTrans('create'))\n .addChild(keys.SkillCategory.Update, await skillCategoryTrans('update'))\n .addChild(keys.SkillCategory.Delete, await skillCategoryTrans('delete'))\n .endPermission()\n\n .addPermission(keys.Skill.Management, await skillTrans('manage'))\n .addChild(keys.Skill.View, await skillTrans('view'))\n .addChild(keys.Skill.Create, await skillTrans('create'))\n .addChild(keys.Skill.Update, await skillTrans('update'))\n .addChild(keys.Skill.Delete, await skillTrans('delete'))\n .endPermission()\n\n .addPermission(keys.SkillLevel.Management, await skillLevelTrans('manage'))\n .addChild(keys.SkillLevel.View, await skillLevelTrans('view'))\n .addChild(keys.SkillLevel.Create, await skillLevelTrans('create'))\n .addChild(keys.SkillLevel.Update, await skillLevelTrans('update'))\n .addChild(keys.SkillLevel.Delete, await skillLevelTrans('delete'))\n .endPermission()\n\n .addPermission(keys.CourseType.Management, await courseTypeTrans('manage'))\n .addChild(keys.CourseType.View, await courseTypeTrans('view'))\n .addChild(keys.CourseType.Create, await courseTypeTrans('create'))\n .addChild(keys.CourseType.Update, await courseTypeTrans('update'))\n .addChild(keys.CourseType.Delete, await courseTypeTrans('delete'))\n .endPermission()\n\n .addPermission(keys.Course.Management, await courseTrans('manage'))\n .addChild(keys.Course.View, await courseTrans('view'))\n .addChild(keys.Course.Create, await courseTrans('create'))\n .addChild(keys.Course.Update, await courseTrans('update'))\n .addChild(keys.Course.Delete, await courseTrans('delete'))\n .addChild(keys.Course.Publish, await courseTrans('publish'))\n .endPermission()\n\n .addPermission(keys.TrainingType.Management, await trainingTypeTrans('manage'))\n .addChild(keys.TrainingType.View, await trainingTypeTrans('view'))\n .addChild(keys.TrainingType.Create, await trainingTypeTrans('create'))\n .addChild(keys.TrainingType.Update, await trainingTypeTrans('update'))\n .addChild(keys.TrainingType.Delete, await trainingTypeTrans('delete'))\n .endPermission()\n\n .addPermission(keys.TrainingDefinition.Management, await trainingDefinitionTrans('manage'))\n .addChild(keys.TrainingDefinition.View, await trainingDefinitionTrans('view'))\n .addChild(keys.TrainingDefinition.Create, await trainingDefinitionTrans('create'))\n .addChild(keys.TrainingDefinition.Update, await trainingDefinitionTrans('update'))\n .addChild(keys.TrainingDefinition.Delete, await trainingDefinitionTrans('delete'))\n .addChild(keys.TrainingDefinition.Publish, await trainingDefinitionTrans('publish'))\n .endPermission()\n\n .addPermission(keys.Training.Management, await trainingTrans('manage'))\n .addChild(keys.Training.View, await trainingTrans('view'))\n .addChild(keys.Training.Create, await trainingTrans('create'))\n .addChild(keys.Training.Update, await trainingTrans('update'))\n .addChild(keys.Training.Delete, await trainingTrans('delete'))\n .addChild(keys.Training.Schedule, await trainingTrans('schedule'))\n .addChild(keys.Training.Close, await trainingTrans('close'))\n .endPermission()\n\n .addPermission(keys.Enrollment.Management, await enrollmentTrans('manage'))\n .addChild(keys.Enrollment.View, await enrollmentTrans('view'))\n .addChild(keys.Enrollment.Create, await enrollmentTrans('create'))\n .addChild(keys.Enrollment.Update, await enrollmentTrans('update'))\n .addChild(keys.Enrollment.Delete, await enrollmentTrans('delete'))\n .addChild(keys.Enrollment.Process, await enrollmentTrans('process'))\n .endPermission()\n\n .addPermission(keys.Attendance.Management, await attendanceTrans('manage'))\n .addChild(keys.Attendance.View, await attendanceTrans('view'))\n .addChild(keys.Attendance.Create, await attendanceTrans('create'))\n .addChild(keys.Attendance.Update, await attendanceTrans('update'))\n .addChild(keys.Attendance.Delete, await attendanceTrans('delete'))\n .addChild(keys.Attendance.Record, await attendanceTrans('record'))\n .endPermission()\n\n .addPermission(keys.CertificateType.Management, await certificateTypeTrans('manage'))\n .addChild(keys.CertificateType.View, await certificateTypeTrans('view'))\n .addChild(keys.CertificateType.Create, await certificateTypeTrans('create'))\n .addChild(keys.CertificateType.Update, await certificateTypeTrans('update'))\n .addChild(keys.CertificateType.Delete, await certificateTypeTrans('delete'))\n .endPermission()\n\n .addPermission(keys.CertificateDefinition.Management, await certificateDefinitionTrans('manage'))\n .addChild(keys.CertificateDefinition.View, await certificateDefinitionTrans('view'))\n .addChild(keys.CertificateDefinition.Create, await certificateDefinitionTrans('create'))\n .addChild(keys.CertificateDefinition.Update, await certificateDefinitionTrans('update'))\n .addChild(keys.CertificateDefinition.Delete, await certificateDefinitionTrans('delete'))\n .addChild(keys.CertificateDefinition.Publish, await certificateDefinitionTrans('publish'))\n .endPermission()\n\n .addPermission(keys.Certificate.Management, await certificateTrans('manage'))\n .addChild(keys.Certificate.View, await certificateTrans('view'))\n .addChild(keys.Certificate.Create, await certificateTrans('create'))\n .addChild(keys.Certificate.Update, await certificateTrans('update'))\n .addChild(keys.Certificate.Delete, await certificateTrans('delete'))\n .addChild(keys.Certificate.Issue, await certificateTrans('issue'))\n .addChild(keys.Certificate.Renew, await certificateTrans('renew'))\n .endPermission()\n\n .addPermission(keys.LearningPath.Management, await learningPathTrans('manage'))\n .addChild(keys.LearningPath.View, await learningPathTrans('view'))\n .addChild(keys.LearningPath.Create, await learningPathTrans('create'))\n .addChild(keys.LearningPath.Update, await learningPathTrans('update'))\n .addChild(keys.LearningPath.Delete, await learningPathTrans('delete'))\n .addChild(keys.LearningPath.Publish, await learningPathTrans('publish'))\n .addChild(keys.LearningPath.Assign, await learningPathTrans('assign'))\n .endPermission()\n\n .addPermission(keys.MandatoryTrainingRule.Management, await mandatoryRuleTrans('manage'))\n .addChild(keys.MandatoryTrainingRule.View, await mandatoryRuleTrans('view'))\n .addChild(keys.MandatoryTrainingRule.Create, await mandatoryRuleTrans('create'))\n .addChild(keys.MandatoryTrainingRule.Update, await mandatoryRuleTrans('update'))\n .addChild(keys.MandatoryTrainingRule.Delete, await mandatoryRuleTrans('delete'))\n .addChild(keys.MandatoryTrainingRule.Activate, await mandatoryRuleTrans('activate'))\n .endPermission()\n\n .endGroup();\n }\n}\n\n//#endregion\n\n\n","//#region ---- Imports ----\n\nimport { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex/platform/common';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Search Command Provider ----\n\nfunction cmd(id: string, entityKey: string, e: { name: string; title: string; icon: string }, title: string, desc: string) {\n return {\n id,\n group: 'command' as const,\n title,\n icon: e.icon,\n description: desc,\n command: {\n name: 'Entity:Create' as const,\n options: createEntityCommandOptions(entityKey, { name: e.name, module: RootConfig.module.name, title: e.title }),\n },\n };\n}\n\nexport class AXMLearningManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n cmd('create-skill', `${RootConfig.module.name}.${RootConfig.entities.skill.name}`, RootConfig.entities.skill, '@learning-management:skills.search.create-skill.title', '@learning-management:skills.search.create-skill.description'),\n cmd('create-course', `${RootConfig.module.name}.${RootConfig.entities.course.name}`, RootConfig.entities.course, '@learning-management:courses.search.create-course.title', '@learning-management:courses.search.create-course.description'),\n cmd('create-training', `${RootConfig.module.name}.${RootConfig.entities.training.name}`, RootConfig.entities.training, '@learning-management:trainings.search.schedule-training.title', '@learning-management:trainings.search.schedule-training.description'),\n cmd('create-training-definition', `${RootConfig.module.name}.${RootConfig.entities.trainingDefinition.name}`, RootConfig.entities.trainingDefinition, '@learning-management:trainings.search.create-training-definition.title', '@learning-management:trainings.search.create-training-definition.description'),\n cmd('create-enrollment', `${RootConfig.module.name}.${RootConfig.entities.enrollment.name}`, RootConfig.entities.enrollment, '@learning-management:enrollments.search.create-enrollment.title', '@learning-management:enrollments.search.create-enrollment.description'),\n cmd('create-learning-path', `${RootConfig.module.name}.${RootConfig.entities.learningPath.name}`, RootConfig.entities.learningPath, '@learning-management:learning-paths.search.create-learning-path.title', '@learning-management:learning-paths.search.create-learning-path.description'),\n cmd('create-certificate', `${RootConfig.module.name}.${RootConfig.entities.certificate.name}`, RootConfig.entities.certificate, '@learning-management:certificates.search.issue-certificate.title', '@learning-management:certificates.search.issue-certificate.description'),\n cmd('create-certificate-definition', `${RootConfig.module.name}.${RootConfig.entities.certificateDefinition.name}`, RootConfig.entities.certificateDefinition, '@learning-management:certificates.search.create-certificate-definition.title', '@learning-management:certificates.search.create-certificate-definition.description'),\n cmd('create-attendance', `${RootConfig.module.name}.${RootConfig.entities.attendance.name}`, RootConfig.entities.attendance, '@learning-management:enrollments.search.create-attendance.title', '@learning-management:enrollments.search.create-attendance.description'),\n cmd('create-skill-level', `${RootConfig.module.name}.${RootConfig.entities.skillLevel.name}`, RootConfig.entities.skillLevel, '@learning-management:skills.search.create-skill-level.title', '@learning-management:skills.search.create-skill-level.description'),\n cmd('create-course-type', `${RootConfig.module.name}.${RootConfig.entities.courseType.name}`, RootConfig.entities.courseType, '@learning-management:courses.search.create-course-type.title', '@learning-management:courses.search.create-course-type.description'),\n cmd('create-training-type', `${RootConfig.module.name}.${RootConfig.entities.trainingType.name}`, RootConfig.entities.trainingType, '@learning-management:trainings.search.create-training-type.title', '@learning-management:trainings.search.create-training-type.description'),\n cmd('create-certificate-type', `${RootConfig.module.name}.${RootConfig.entities.certificateType.name}`, RootConfig.entities.certificateType, '@learning-management:certificates.search.create-certificate-type.title', '@learning-management:certificates.search.create-certificate-type.description'),\n cmd('create-mandatory-training-rule', `${RootConfig.module.name}.${RootConfig.entities.mandatoryTrainingRule.name}`, RootConfig.entities.mandatoryTrainingRule, '@learning-management:compliance.search.create-mandatory-training-rule.title', '@learning-management:compliance.search.create-mandatory-training-rule.description'),\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 * Learning Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const LearningManagementManifest: 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 (optional)\n};\n\n//#endregion\n\n","import { AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXLSkillMatrixWidget: AXPWidgetConfig<AXLSkillMatrixWidgetConfigType> = {\n name: 'skill-matrix-editor',\n title: 'Skill Matrix',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n description: 'Matrix widget for managing skill levels across different skills',\n icon: 'fa-light fa-table',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./skill-matrix-widget-view.component').then((c) => c.AXLSkillMatrixWidgetViewComponent),\n },\n edit: {\n component: () => import('./skill-matrix-widget-edit.component').then((c) => c.AXLSkillMatrixWidgetEditComponent),\n },\n },\n};\n\nexport type AXLSkillMatrixWidgetConfigType = {\n type: 'editor';\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXLSkillMatrixWidget } from './features/skill-matrix/skill-matrix-widget.config';\n\n//#endregion\n\n//#region ---- Learning Management Widgets Provider ----\n\n@Injectable()\nexport class AXMLearningManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXLSkillMatrixWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { NgModule } from '@angular/core';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { LearningManagementManifest } from './manifest';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXMLearningManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMLearningManagementMenuProvider } from './menu.provider';\nimport { AXMLearningManagementEntityProvider } from './entity.provider';\nimport { AXMLearningManagementSearchCommandProvider } from './search-command.provider';\n\nimport { AXMLearningManagementWidgetsProvider } from './widget-definition.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n ],\n providers: [\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: LearningManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMLearningManagementMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMLearningManagementEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMLearningManagementSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementWidgetsProvider,\n multi: true,\n },\n ],\n})\nexport class AXMLearningManagementModule { }\n\n//#endregion\n\n\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n AXPSpreadsheetComponent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetRowChangeEvent,\n AXPSpreadsheetItem,\n AXPSpreadsheetData,\n} from '@acorex/platform/layout/components';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPWidgetNode } from '@acorex/platform/layout/widget-core';\nimport { AXMLearningManagementSkillLevelEntityModel } from '../../entities/skill-level/skill-level.types';\nimport { AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { RootConfig } from '../../const';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXMLearningManagementSkillEntityModel } from '../../entities/skill/skill.types';\nimport { AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';\nimport { AXPCategoryEntity } from '@acorex/platform/core';\n\n//#endregion\n\n\n@Component({\n selector: 'axm-skill-matrix',\n standalone: true,\n imports: [\n CommonModule,\n AXPSpreadsheetComponent,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n ],\n templateUrl: './skill-matrix.component.html',\n styleUrl: './skill-matrix.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-skill-matrix',\n },\n})\nexport class AXMLearningManagementSkillMatrixComponent {\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly skillLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillLevel.name)\n .data<string, AXMLearningManagementSkillLevelEntityModel>();\n private readonly skillDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skill.name)\n .data<string, AXMLearningManagementSkillEntityModel>();\n private readonly skillCategoryDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillCategory.name)\n .data<string, any>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly translationService = inject(AXTranslationService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly activeLocale = signal(this.translationService.getActiveLang());\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job titles/positions to display as columns (e.g., Senior, Manager, Director)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [skillId]: { [title.id]: skillLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial skill IDs (for syncing with parent entity)\n */\n skillIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected skills change (skill IDs array)\n */\n skillIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Skill levels loaded from the service\n */\n private skillLevels = signal<AXMLearningManagementSkillLevelEntityModel[]>([]);\n\n /**\n * Selected skills (internal state)\n */\n protected selectedSkills = signal<AXMLearningManagementSkillEntityModel[]>([]);\n\n /**\n * Skill entity definition\n */\n private skillEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for skill entity\n */\n protected isLoadingSkillEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (skills) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const skills = this.selectedSkills();\n const result = (skills ?? []).map((skill) => ({\n id: skill.id,\n title: resolveMultiLanguageString(skill.title, locale),\n description:\n skill.description != null ? resolveMultiLanguageString(skill.description, locale) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job titles/positions) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: title.title,\n description: title.description || undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (skill levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const levels = this.skillLevels();\n return (levels ?? []).map((level) => ({\n id: level.id,\n title: resolveMultiLanguageString(level.title, locale),\n description:\n level.description != null ? resolveMultiLanguageString(level.description, locale) : undefined,\n }));\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job titles/positions)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for skill levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map(option => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((skill) => {\n const row: Record<string, any> = {\n name: skill.id, // Required for fixed mode row identification\n _skillTitle: skill.title, // For row header display\n _skillDescription: skill.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[skill.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n this.translationService.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((lang) => this.activeLocale.set(lang));\n\n // Load skill levels and skill entity definition when component initializes\n this.loadSkillLevels();\n this.loadSkillEntityDef();\n\n // Watch for skillIds input changes and sync selected skills\n effect(() => {\n const ids = this.skillIds();\n if (ids && ids.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract skill IDs from matrix data keys\n const matrixData = this.value();\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n if (skillIdsFromMatrix.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(skillIdsFromMatrix);\n } else {\n this.selectedSkills.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract skill IDs\n effect(() => {\n const matrixData = this.value();\n const currentSkillIds = this.selectedSkills().map((s) => s.id);\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has skills that aren't in selectedSkills, load them\n const missingIds = skillIdsFromMatrix.filter((id) => !currentSkillIds.includes(id));\n if (missingIds.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load skill levels from the service\n */\n private async loadSkillLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'levelNumber', dir: 'asc' as const }],\n };\n const result = await this.skillLevelDataAccessor.query(query);\n this.skillLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading skill levels:', error);\n this.skillLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load skill entity definition\n */\n private async loadSkillEntityDef(): Promise<void> {\n try {\n this.isLoadingSkillEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.skill.name\n );\n this.skillEntityDef.set(entityDef as AXPEntity);\n } catch (error) {\n console.error('Error loading skill entity definition:', error);\n this.skillEntityDef.set(null as unknown as AXPEntity);\n } finally {\n this.isLoadingSkillEntity.set(false);\n }\n }\n\n /**\n * Load skills by IDs\n */\n private async loadSkillsByIds(ids: string[]): Promise<void> {\n try {\n const skills: AXMLearningManagementSkillEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const skill = await this.skillDataAccessor.byKey(id);\n if (skill) {\n skills.push(skill);\n }\n } catch (error) {\n console.error(`Error loading skill ${id}:`, error);\n }\n }\n\n this.selectedSkills.set(skills);\n } catch (error) {\n console.error('Error loading skills by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const skillId = row['name']; // Row identifier (skill ID)\n if (!skillId) {\n return;\n }\n\n matrixData[skillId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[skillId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract skill IDs from row names and emit\n const skillIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open skill selector dialog with category filter\n */\n protected async handleSelectSkills(): Promise<void> {\n const entityDef = this.skillEntityDef();\n if (!entityDef) {\n console.error('Skill entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected skill IDs\n const selectedItemIds = this.selectedSkills()\n .map((skill) => skill.id)\n .filter((id) => id != null);\n\n // Create category tree data source\n const categoryTreeDataSource: AXPCategoryTreeDataSource = {\n loadRootNodes: async () => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'isEmpty' },\n value: true,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n loadChildNodes: async (parentId: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'equal' },\n value: parentId,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n searchNodes: async (searchValue: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n filters: [\n {\n field: 'title',\n operator: { type: 'contains' },\n value: searchValue,\n },\n {\n field: 'name',\n operator: { type: 'contains' },\n value: searchValue,\n },\n ],\n logic: 'or',\n },\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n };\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Skills',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n columns: ['title', 'description'],\n showCategoryFilter: false,\n categoryFilter: {\n title: 'Categories',\n dataSource: categoryTreeDataSource,\n filterField: 'categoryIds',\n filterOperator: 'contains',\n width: '350px',\n },\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected skills\n this.selectedSkills.set(result.items);\n // Emit skill IDs change\n const skillIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n } catch (error) {\n console.error('Error opening skill selector:', error);\n }\n }\n\n /**\n * Remove a skill from selection\n */\n protected handleRemoveSkill(skillId: string): void {\n const currentSkills = this.selectedSkills();\n const updatedSkills = currentSkills.filter((skill) => skill.id !== skillId);\n this.selectedSkills.set(updatedSkills);\n\n // Remove skill data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[skillId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit skill IDs change\n const skillIds = updatedSkills.map((skill) => skill.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove skill from selection\n this.handleRemoveSkill(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@learning-management:skills.components.skill-matrix.actions.choose-skills.title' | translate | async\"\n (onClick)=\"handleSelectSkills()\" [disabled]=\"isLoadingSkillEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@learning-management:skills.components.skill-matrix.messages.loading-skill-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Skill / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_skillTitle'\"\n [rowDescriptionPath]=\"'_skillDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex/platform/layout/components';\nimport { get } from 'lodash-es';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-edit',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [skillIds]=\"skillIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (skillIdsChange)=\"handleSkillIdsChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'ax-block ax-w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when requiredLevels changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const requiredLevelsFromContext = get(contextData, 'jobLevels') as any[] | undefined;\n\n if (Array.isArray(requiredLevelsFromContext) && requiredLevelsFromContext.length > 0) {\n // Ensure each item has the required structure\n return requiredLevelsFromContext.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n // If titles is not set, return empty array\n if (!rawTitles) {\n return [];\n }\n\n // If it's already an array, return it (evaluated expression result)\n if (Array.isArray(rawTitles)) {\n // Ensure each item has the required structure\n return rawTitles.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // If it's still a string (unevaluated expression), return empty array\n // The expression will be evaluated by the widget renderer and options will update\n if (typeof rawTitles === 'string') {\n return [];\n }\n\n return [];\n });\n\n /**\n * Readonly mode from options - properly tracks options signal changes\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n const result = options?.['readonly'] ?? false;\n return result;\n });\n\n /**\n * Current matrix value - tracks getValue signal changes\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n const result = (this.getValue() as AXPSpreadsheetData) || {};\n const keysCount = Object.keys(result).length;\n return result;\n });\n\n /**\n * Skill IDs extracted from matrix data keys or from options\n */\n protected skillIds = computed<string[]>(() => {\n const options = this.options();\n const skillIdsFromOptions = options?.['skillIds'] ?? [];\n\n // If skillIds from options is an array, use it\n if (Array.isArray(skillIdsFromOptions) && skillIdsFromOptions.length > 0) {\n return skillIdsFromOptions;\n }\n\n // Otherwise, extract from matrix data keys\n const matrixData = this.matrixValue();\n return Object.keys(matrixData || {});\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n const dataKeysCount = Object.keys(data || {}).length;\n const currentKeysCount = Object.keys(this.getValue() || {}).length;\n if (data) {\n this.setValue(data);\n const afterKeysCount = Object.keys(this.getValue() || {}).length;\n } else {\n }\n }\n\n /**\n * Handle skill IDs change from skill-matrix component\n * Skill IDs are stored as keys in the matrix data, so this is mainly for tracking\n */\n protected handleSkillIdsChange(skillIds: string[]): void {\n // Skill IDs are already reflected in the matrix data keys\n // This handler is here for potential future use or side effects\n console.log('Skill IDs changed:', skillIds);\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPSpreadsheetData } from '@acorex/platform/layout/components';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-view',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'ax-block ax-w-full ',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Skill IDs from options\n */\n protected skills = computed<{ id: string; title: string; description?: string }[]>(() => {\n return this.options()['skills'] || [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ---- Skill Model ----\n\nimport type { AXPCategoryListItem, AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementSkillEntityModel extends AXPEntityModel<string> {\n /** Unique programmatic key for expressions and integrations (identifier-style). */\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n code?: string | null;\n categoryIds: string[];\n categories?: AXPCategoryListItem[];\n relatedCourseIds?: string[];\n}\n\n//#endregion\n","//#region ---- Skill Level Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementSkillLevelEntityModel extends AXPEntityModel<string> {\n title: AXPMultiLanguageString;\n levelNumber: number;\n description?: AXPMultiLanguageString | null;\n}\n\n//#endregion\n","//#region ---- Course Type Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCourseTypeEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n deliveryMode?: string | null;\n}\n\n//#endregion\n","//#region ---- Course Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCourseEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n courseTypeId: string;\n durationHours?: number | null;\n relatedSkillIds: string[];\n certificateDefinitionIds?: string[];\n courseType?: { id: string; title: AXPMultiLanguageString };\n skills?: Array<{ id: string; title: AXPMultiLanguageString }>;\n certificateDefinitions?: Array<{ id: string; title: AXPMultiLanguageString }>;\n}\n\n//#endregion\n","//#region ---- Training Type Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementTrainingTypeEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n}\n\n//#endregion\n","//#region ---- Training Definition Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementTrainingDefinitionEntityModel extends AXPEntityModel<string> {\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n courseId: string;\n course?: { id: string; title: AXPMultiLanguageString };\n trainingTypeId: string;\n trainingType?: { id: string; title: AXPMultiLanguageString };\n defaultDurationHours?: number | null;\n defaultCapacity?: number | null;\n defaultLocationId?: string | null;\n defaultLocation?: { id: string; title: string };\n isActive: boolean;\n}\n\n//#endregion\n","//#region ---- Training Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport type TrainingStatus = 'Draft' | 'Open' | 'Closed' | 'Cancelled';\n\nexport interface AXMLearningManagementTrainingEntityModel extends AXPEntityModel<string> {\n trainingDefinitionId: string;\n courseId: string;\n trainingTypeId: string;\n startDate: string;\n endDate: string;\n locationId?: string | null;\n instructorId?: string | null;\n capacity?: number | null;\n status: TrainingStatus;\n notes?: string | null;\n trainingDefinition?: { id: string; title: AXPMultiLanguageString };\n course?: { id: string; title: AXPMultiLanguageString };\n trainingType?: { id: string; title: AXPMultiLanguageString };\n location?: { id: string; title: string };\n instructor?: { id: string; displayName: string };\n}\n\n//#endregion\n","//#region ---- Enrollment Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport type EnrollmentStatus = 'Requested' | 'Approved' | 'Enrolled' | 'Completed' | 'Failed' | 'Cancelled';\n\nexport interface AXMLearningManagementEnrollmentEntityModel extends AXPEntityModel<string> {\n employeeId: string;\n trainingId: string;\n status: EnrollmentStatus;\n notes?: string | null;\n employee?: { id: string; displayName: string };\n training?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","//#region ---- Attendance Model ----\n\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport type AttendanceStatus = 'Present' | 'Absent' | 'Late';\n\nexport interface AXMLearningManagementAttendanceEntityModel extends AXPEntityModel<string> {\n enrollmentId: string;\n sessionDate: string;\n status: AttendanceStatus;\n enrollment?: { id: string; employeeId: string; trainingId: string };\n notes?: string | null;\n}\n\n//#endregion\n","//#region ---- Certificate Type Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCertificateTypeEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n validityDays?: number | null;\n templateId?: string | null;\n}\n\n//#endregion\n","//#region ---- Certificate Definition Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCertificateDefinitionEntityModel extends AXPEntityModel<string> {\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n certificateTypeId: string;\n certificateType?: { id: string; title: AXPMultiLanguageString };\n courseId?: string | null;\n course?: { id: string; title: AXPMultiLanguageString };\n validityDays?: number | null;\n templateId?: string | null;\n isActive: boolean;\n}\n\n//#endregion\n","//#region ---- Certificate Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementCertificateEntityModel extends AXPEntityModel<string> {\n certificateDefinitionId: string;\n certificateTypeId: string;\n employeeId: string;\n courseId?: string | null;\n issueDate: string;\n expiryDate?: string | null;\n fileId?: string | null;\n notes?: string | null;\n certificateDefinition?: { id: string; title: AXPMultiLanguageString };\n certificateType?: { id: string; title: AXPMultiLanguageString };\n employee?: { id: string; displayName: string };\n course?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","//#region ---- Learning Path Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementLearningPathEntityModel extends AXPEntityModel<string> {\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString | null;\n isActive: boolean;\n}\n\n//#endregion\n","//#region ---- Learning Path Course Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementLearningPathCourseEntityModel extends AXPEntityModel<string> {\n learningPathId: string;\n courseId: string;\n orderIndex: number;\n course?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","//#region ---- Mandatory Training Rule Model ----\n\nimport type { AXPMultiLanguageString } from '@acorex/platform/core';\nimport type { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMLearningManagementMandatoryTrainingRuleEntityModel extends AXPEntityModel<string> {\n positionId: string;\n courseId: string;\n frequencyMonths?: number | null;\n position?: { id: string; title: AXPMultiLanguageString };\n course?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}