@acorex/modules 21.0.0-next.74 → 21.0.0-next.76

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 (725) hide show
  1. package/fesm2022/{acorex-modules-ai-management-model.entity-DiDaXVa3.mjs → acorex-modules-ai-management-index-1AKm3Wpv.mjs} +4 -7
  2. package/fesm2022/acorex-modules-ai-management-index-1AKm3Wpv.mjs.map +1 -0
  3. package/fesm2022/{acorex-modules-ai-management-rule.entity-CQNx4QEB.mjs → acorex-modules-ai-management-index-D-oYCWiP.mjs} +2 -5
  4. package/fesm2022/acorex-modules-ai-management-index-D-oYCWiP.mjs.map +1 -0
  5. package/fesm2022/{acorex-modules-ai-management-assist.entity-CeALRRoV.mjs → acorex-modules-ai-management-index-IOX4YfSO.mjs} +2 -5
  6. package/fesm2022/acorex-modules-ai-management-index-IOX4YfSO.mjs.map +1 -0
  7. package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs → acorex-modules-ai-management-index-KMGY_nWq.mjs} +2 -5
  8. package/fesm2022/acorex-modules-ai-management-index-KMGY_nWq.mjs.map +1 -0
  9. package/fesm2022/{acorex-modules-ai-management-agent.entity-3ZBa5t2D.mjs → acorex-modules-ai-management-index-r6kkpdsP.mjs} +2 -5
  10. package/fesm2022/acorex-modules-ai-management-index-r6kkpdsP.mjs.map +1 -0
  11. package/fesm2022/acorex-modules-ai-management.mjs +92 -92
  12. package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
  13. package/fesm2022/{acorex-modules-application-management-application-status.provider-CGRoY79H.mjs → acorex-modules-application-management-application-status.provider-BmTGAssq.mjs} +2 -2
  14. package/fesm2022/acorex-modules-application-management-application-status.provider-BmTGAssq.mjs.map +1 -0
  15. package/fesm2022/acorex-modules-application-management-permission-definition.provider-DEO50hd3.mjs.map +1 -1
  16. package/fesm2022/acorex-modules-application-management.mjs +1143 -1146
  17. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  18. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-CLXKpUoU.mjs} +85 -86
  19. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-CLXKpUoU.mjs.map +1 -0
  20. package/fesm2022/{acorex-modules-assessment-management-assessment-case-status.provider-B9sQAPwy.mjs → acorex-modules-assessment-management-assessment-case-status.provider-rAq2m3xt.mjs} +2 -2
  21. package/fesm2022/acorex-modules-assessment-management-assessment-case-status.provider-rAq2m3xt.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs → acorex-modules-assessment-management-assessment-session-answers-view.util-DECCIZSO.mjs} +2 -2
  23. package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-DECCIZSO.mjs.map +1 -0
  24. package/fesm2022/{acorex-modules-assessment-management-assessment-session-status.provider-Lee6Cwg8.mjs → acorex-modules-assessment-management-assessment-session-status.provider-B-0MdMq1.mjs} +2 -2
  25. package/fesm2022/acorex-modules-assessment-management-assessment-session-status.provider-B-0MdMq1.mjs.map +1 -0
  26. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs → acorex-modules-assessment-management-fill-assessment-session.command-pLGZAFqT.mjs} +2 -2
  27. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-pLGZAFqT.mjs.map +1 -0
  28. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs → acorex-modules-assessment-management-index-Cj5KtvVT.mjs} +6 -8
  29. package/fesm2022/acorex-modules-assessment-management-index-Cj5KtvVT.mjs.map +1 -0
  30. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs → acorex-modules-assessment-management-index-ClRMor3R.mjs} +8 -10
  31. package/fesm2022/acorex-modules-assessment-management-index-ClRMor3R.mjs.map +1 -0
  32. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs → acorex-modules-assessment-management-index-DDhc6vR7.mjs} +7 -9
  33. package/fesm2022/acorex-modules-assessment-management-index-DDhc6vR7.mjs.map +1 -0
  34. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs → acorex-modules-assessment-management-index-VYBOM8GR.mjs} +6 -9
  35. package/fesm2022/acorex-modules-assessment-management-index-VYBOM8GR.mjs.map +1 -0
  36. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs → acorex-modules-assessment-management-preview-question.command-Bgqajt80.mjs} +2 -2
  37. package/fesm2022/acorex-modules-assessment-management-preview-question.command-Bgqajt80.mjs.map +1 -0
  38. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs → acorex-modules-assessment-management-preview-questionnaire.command-B84qnNRw.mjs} +2 -2
  39. package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-B84qnNRw.mjs.map +1 -0
  40. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CyZGi_Zx.mjs} +2 -2
  41. package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CyZGi_Zx.mjs.map +1 -0
  42. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-CRQjv1Vz.mjs} +2 -2
  43. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CRQjv1Vz.mjs.map +1 -0
  44. package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs → acorex-modules-assessment-management-review-assessment-session.command-Dgaf88SW.mjs} +3 -3
  45. package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dgaf88SW.mjs.map +1 -0
  46. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs → acorex-modules-assessment-management-view-session-answers.command-CocxFTxZ.mjs} +3 -3
  47. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-CocxFTxZ.mjs.map +1 -0
  48. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  49. package/fesm2022/{acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs → acorex-modules-asset-management-asset-rental-history-status.provider-_iNFw6nf.mjs} +4 -13
  50. package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-_iNFw6nf.mjs.map +1 -0
  51. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-ufjDJ-0D.mjs → acorex-modules-asset-management-index-BE9Pt9Yl.mjs} +4 -7
  52. package/fesm2022/acorex-modules-asset-management-index-BE9Pt9Yl.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-C6tA_OBh.mjs → acorex-modules-asset-management-index-BGnVFHyV.mjs} +4 -7
  54. package/fesm2022/acorex-modules-asset-management-index-BGnVFHyV.mjs.map +1 -0
  55. package/fesm2022/{acorex-modules-asset-management-asset.entity-D1HwzXL_.mjs → acorex-modules-asset-management-index-BNW-nI4M.mjs} +7 -12
  56. package/fesm2022/acorex-modules-asset-management-index-BNW-nI4M.mjs.map +1 -0
  57. package/fesm2022/{acorex-modules-asset-management-asset-system.entity-0Fy7wSBh.mjs → acorex-modules-asset-management-index-BQRNWXnd.mjs} +4 -7
  58. package/fesm2022/acorex-modules-asset-management-index-BQRNWXnd.mjs.map +1 -0
  59. package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-OsuWeo2l.mjs → acorex-modules-asset-management-index-BmydXxB7.mjs} +4 -7
  60. package/fesm2022/acorex-modules-asset-management-index-BmydXxB7.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-asset-management-asset-rental-history.entity-D7g3TSrr.mjs → acorex-modules-asset-management-index-Bza8Y2Qq.mjs} +6 -10
  62. package/fesm2022/acorex-modules-asset-management-index-Bza8Y2Qq.mjs.map +1 -0
  63. package/fesm2022/{acorex-modules-asset-management-asset-type.entity-Cjy7Xetu.mjs → acorex-modules-asset-management-index-CBoHnVCB.mjs} +5 -9
  64. package/fesm2022/acorex-modules-asset-management-index-CBoHnVCB.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DbeerQdD.mjs → acorex-modules-asset-management-index-DDyvfemO.mjs} +4 -7
  66. package/fesm2022/acorex-modules-asset-management-index-DDyvfemO.mjs.map +1 -0
  67. package/fesm2022/acorex-modules-asset-management.mjs +134 -119
  68. package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
  69. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CUpNfm_0.mjs → acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs} +130 -129
  70. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs.map +1 -0
  71. package/fesm2022/{acorex-modules-auth-app-chooser.component-DLtnhyB9.mjs → acorex-modules-auth-app-chooser.component-DN75LxY3.mjs} +2 -2
  72. package/fesm2022/{acorex-modules-auth-app-chooser.component-DLtnhyB9.mjs.map → acorex-modules-auth-app-chooser.component-DN75LxY3.mjs.map} +1 -1
  73. package/fesm2022/{acorex-modules-auth-change-password.command-DcGeenns.mjs → acorex-modules-auth-change-password.command-DDH7PMLT.mjs} +2 -2
  74. package/fesm2022/{acorex-modules-auth-change-password.command-DcGeenns.mjs.map → acorex-modules-auth-change-password.command-DDH7PMLT.mjs.map} +1 -1
  75. package/fesm2022/{acorex-modules-auth-edit-account-info.command-BnPtwAxA.mjs → acorex-modules-auth-edit-account-info.command-BtzrBEGu.mjs} +2 -2
  76. package/fesm2022/{acorex-modules-auth-edit-account-info.command-BnPtwAxA.mjs.map → acorex-modules-auth-edit-account-info.command-BtzrBEGu.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-auth-lock-screen.command-Dh0Sgo3_.mjs → acorex-modules-auth-lock-screen.command-BIiErYnc.mjs} +2 -2
  78. package/fesm2022/{acorex-modules-auth-lock-screen.command-Dh0Sgo3_.mjs.map → acorex-modules-auth-lock-screen.command-BIiErYnc.mjs.map} +1 -1
  79. package/fesm2022/{acorex-modules-auth-login.module-C8psUPfq.mjs → acorex-modules-auth-login.module-CM6a_pvB.mjs} +4 -4
  80. package/fesm2022/{acorex-modules-auth-login.module-C8psUPfq.mjs.map → acorex-modules-auth-login.module-CM6a_pvB.mjs.map} +1 -1
  81. package/fesm2022/{acorex-modules-auth-master.layout-KMxMqtt8.mjs → acorex-modules-auth-master.layout-D9al7lUX.mjs} +2 -2
  82. package/fesm2022/{acorex-modules-auth-master.layout-KMxMqtt8.mjs.map → acorex-modules-auth-master.layout-D9al7lUX.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-auth-oauth-callback.component-BF_3fuuz.mjs → acorex-modules-auth-oauth-callback.component-CndekwOM.mjs} +2 -2
  84. package/fesm2022/{acorex-modules-auth-oauth-callback.component-BF_3fuuz.mjs.map → acorex-modules-auth-oauth-callback.component-CndekwOM.mjs.map} +1 -1
  85. package/fesm2022/{acorex-modules-auth-open-sessions.command-vxmxqvOa.mjs → acorex-modules-auth-open-sessions.command-Bgk9TcH-.mjs} +2 -2
  86. package/fesm2022/{acorex-modules-auth-open-sessions.command-vxmxqvOa.mjs.map → acorex-modules-auth-open-sessions.command-Bgk9TcH-.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-auth-password.component-BOoUt4Gn.mjs → acorex-modules-auth-password.component-BWEq8tpz.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-auth-password.component-BOoUt4Gn.mjs.map → acorex-modules-auth-password.component-BWEq8tpz.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-auth-password.component-Cpjc_S82.mjs → acorex-modules-auth-password.component-Z980dxkh.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-auth-password.component-Cpjc_S82.mjs.map → acorex-modules-auth-password.component-Z980dxkh.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-DfWYy7TN.mjs → acorex-modules-auth-profile-activity-chart.component-8uSUOk9s.mjs} +2 -2
  92. package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-DfWYy7TN.mjs.map → acorex-modules-auth-profile-activity-chart.component-8uSUOk9s.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-DJcIyOxg.mjs → acorex-modules-auth-profile-delete-account-danger-zone.component-C-zoKWsQ.mjs} +2 -2
  94. package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-DJcIyOxg.mjs.map → acorex-modules-auth-profile-delete-account-danger-zone.component-C-zoKWsQ.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-auth-profile-page-component.provider-DR2-c0_6.mjs → acorex-modules-auth-profile-page-component.provider-BoGC3tKI.mjs} +4 -4
  96. package/fesm2022/{acorex-modules-auth-profile-page-component.provider-DR2-c0_6.mjs.map → acorex-modules-auth-profile-page-component.provider-BoGC3tKI.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-auth-profile-page.component-ChsI9B3Y.mjs → acorex-modules-auth-profile-page.component-B-qdKgOT.mjs} +11 -6
  98. package/fesm2022/acorex-modules-auth-profile-page.component-B-qdKgOT.mjs.map +1 -0
  99. package/fesm2022/{acorex-modules-auth-remove-pin-code.command-LFwvvyZ9.mjs → acorex-modules-auth-remove-pin-code.command-DnYc0CYG.mjs} +2 -2
  100. package/fesm2022/{acorex-modules-auth-remove-pin-code.command-LFwvvyZ9.mjs.map → acorex-modules-auth-remove-pin-code.command-DnYc0CYG.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-auth-routes-CuY_v2GN.mjs → acorex-modules-auth-routes-Cg0xipUZ.mjs} +2 -2
  102. package/fesm2022/{acorex-modules-auth-routes-CuY_v2GN.mjs.map → acorex-modules-auth-routes-Cg0xipUZ.mjs.map} +1 -1
  103. package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-CwNAumIp.mjs → acorex-modules-auth-session-lock-overlay.component-BkpYhoVc.mjs} +2 -2
  104. package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-CwNAumIp.mjs.map → acorex-modules-auth-session-lock-overlay.component-BkpYhoVc.mjs.map} +1 -1
  105. package/fesm2022/{acorex-modules-auth-set-pin-code.command-CfIHBTiI.mjs → acorex-modules-auth-set-pin-code.command-9DY-hUvp.mjs} +2 -2
  106. package/fesm2022/{acorex-modules-auth-set-pin-code.command-CfIHBTiI.mjs.map → acorex-modules-auth-set-pin-code.command-9DY-hUvp.mjs.map} +1 -1
  107. package/fesm2022/{acorex-modules-auth-set-pin-code.component-CNZE8NXL.mjs → acorex-modules-auth-set-pin-code.component-QhO37PUy.mjs} +2 -2
  108. package/fesm2022/{acorex-modules-auth-set-pin-code.component-CNZE8NXL.mjs.map → acorex-modules-auth-set-pin-code.component-QhO37PUy.mjs.map} +1 -1
  109. package/fesm2022/{acorex-modules-auth-settings.provider-BMc1yFRY.mjs → acorex-modules-auth-settings.provider-DhaMQd28.mjs} +2 -2
  110. package/fesm2022/{acorex-modules-auth-settings.provider-BMc1yFRY.mjs.map → acorex-modules-auth-settings.provider-DhaMQd28.mjs.map} +1 -1
  111. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-OsTNt9lp.mjs → acorex-modules-auth-tenant-chooser.component-Hy_FsSVy.mjs} +2 -2
  112. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-OsTNt9lp.mjs.map → acorex-modules-auth-tenant-chooser.component-Hy_FsSVy.mjs.map} +1 -1
  113. package/fesm2022/{acorex-modules-auth-two-factor.module-CcKZ6dpb.mjs → acorex-modules-auth-two-factor.module-l0zICZtk.mjs} +2 -2
  114. package/fesm2022/{acorex-modules-auth-two-factor.module-CcKZ6dpb.mjs.map → acorex-modules-auth-two-factor.module-l0zICZtk.mjs.map} +1 -1
  115. package/fesm2022/{acorex-modules-auth-view-login-history.command-Crx7Dw2t.mjs → acorex-modules-auth-view-login-history.command-o2IzCKbr.mjs} +2 -2
  116. package/fesm2022/{acorex-modules-auth-view-login-history.command-Crx7Dw2t.mjs.map → acorex-modules-auth-view-login-history.command-o2IzCKbr.mjs.map} +1 -1
  117. package/fesm2022/acorex-modules-auth.mjs +1 -1
  118. package/fesm2022/acorex-modules-business-core.mjs +993 -313
  119. package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
  120. package/fesm2022/acorex-modules-calendar-management-index-DIxSknUT.mjs +6 -0
  121. package/fesm2022/acorex-modules-calendar-management-index-DIxSknUT.mjs.map +1 -0
  122. package/fesm2022/acorex-modules-calendar-management-index-pvTUhYWL.mjs +6 -0
  123. package/fesm2022/acorex-modules-calendar-management-index-pvTUhYWL.mjs.map +1 -0
  124. package/fesm2022/acorex-modules-calendar-management-index-xkdBRrFw.mjs +6 -0
  125. package/fesm2022/acorex-modules-calendar-management-index-xkdBRrFw.mjs.map +1 -0
  126. package/fesm2022/acorex-modules-calendar-management.mjs +57 -73
  127. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  128. package/fesm2022/acorex-modules-common.mjs +136 -240
  129. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  130. package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-D9-WvwGJ.mjs +425 -0
  131. package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-D9-WvwGJ.mjs.map +1 -0
  132. package/fesm2022/acorex-modules-contact-core-entity.provider-Cl4zx8WX.mjs +35 -0
  133. package/fesm2022/acorex-modules-contact-core-entity.provider-Cl4zx8WX.mjs.map +1 -0
  134. package/fesm2022/acorex-modules-contact-core-menu.provider-DfUbrqFh.mjs +57 -0
  135. package/fesm2022/acorex-modules-contact-core-menu.provider-DfUbrqFh.mjs.map +1 -0
  136. package/fesm2022/acorex-modules-contact-core-permission-definition.provider-Dni6YOWm.mjs +24 -0
  137. package/fesm2022/acorex-modules-contact-core-permission-definition.provider-Dni6YOWm.mjs.map +1 -0
  138. package/fesm2022/acorex-modules-contact-core.mjs +2 -0
  139. package/fesm2022/acorex-modules-contact-core.mjs.map +1 -0
  140. package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs → acorex-modules-content-management-acorex-modules-content-management-DSdJ2hZ-.mjs} +58 -138
  141. package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-DSdJ2hZ-.mjs.map +1 -0
  142. package/fesm2022/{acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs → acorex-modules-content-management-permission-definition.provider-DRVW7Xxa.mjs} +2 -2
  143. package/fesm2022/acorex-modules-content-management-permission-definition.provider-DRVW7Xxa.mjs.map +1 -0
  144. package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs → acorex-modules-content-management-template-content-editor-widget-edit.component-DwUqz7ZX.mjs} +2 -2
  145. package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs.map → acorex-modules-content-management-template-content-editor-widget-edit.component-DwUqz7ZX.mjs.map} +1 -1
  146. package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs → acorex-modules-content-management-template-content-editor-widget-view.component-CnUc_fhC.mjs} +2 -2
  147. package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs.map → acorex-modules-content-management-template-content-editor-widget-view.component-CnUc_fhC.mjs.map} +1 -1
  148. package/fesm2022/acorex-modules-content-management.mjs +1 -1
  149. package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs → acorex-modules-conversation-acorex-modules-conversation-DtFH9LbP.mjs} +192 -191
  150. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DtFH9LbP.mjs.map +1 -0
  151. package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Cpc1seYt.mjs} +2 -2
  152. package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Cpc1seYt.mjs.map} +1 -1
  153. package/fesm2022/{acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs → acorex-modules-conversation-comments-page.component-B1CmPB0U.mjs} +2 -2
  154. package/fesm2022/{acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs.map → acorex-modules-conversation-comments-page.component-B1CmPB0U.mjs.map} +1 -1
  155. package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs → acorex-modules-conversation-send-assist-chat-message.command-BFFF5GTX.mjs} +2 -2
  156. package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-BFFF5GTX.mjs.map} +1 -1
  157. package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs → acorex-modules-conversation-start-assist-chat.command-C-KVIK-L.mjs} +2 -2
  158. package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs.map → acorex-modules-conversation-start-assist-chat.command-C-KVIK-L.mjs.map} +1 -1
  159. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  160. package/fesm2022/{acorex-modules-customer-management-lead.entity-CH7iga2T.mjs → acorex-modules-customer-management-index-7teVSkdT.mjs} +2 -5
  161. package/fesm2022/acorex-modules-customer-management-index-7teVSkdT.mjs.map +1 -0
  162. package/fesm2022/{acorex-modules-customer-management-opportunity-stage.entity-gXGyRjOR.mjs → acorex-modules-customer-management-index-B0wUbd2e.mjs} +2 -4
  163. package/fesm2022/acorex-modules-customer-management-index-B0wUbd2e.mjs.map +1 -0
  164. package/fesm2022/{acorex-modules-customer-management-customer.entity-Doc1f5gH.mjs → acorex-modules-customer-management-index-CQLsaDJ-.mjs} +3 -7
  165. package/fesm2022/acorex-modules-customer-management-index-CQLsaDJ-.mjs.map +1 -0
  166. package/fesm2022/{acorex-modules-customer-management-deal-contact-role.entity-BmDALoWz.mjs → acorex-modules-customer-management-index-CQWjFZ-D.mjs} +4 -7
  167. package/fesm2022/acorex-modules-customer-management-index-CQWjFZ-D.mjs.map +1 -0
  168. package/fesm2022/{acorex-modules-customer-management-sales-pipeline.entity-TN7eqaA1.mjs → acorex-modules-customer-management-index-DHaf2JAF.mjs} +2 -4
  169. package/fesm2022/acorex-modules-customer-management-index-DHaf2JAF.mjs.map +1 -0
  170. package/fesm2022/{acorex-modules-customer-management-activity.entity-BENCtWk0.mjs → acorex-modules-customer-management-index-Df-6hCzG.mjs} +2 -4
  171. package/fesm2022/acorex-modules-customer-management-index-Df-6hCzG.mjs.map +1 -0
  172. package/fesm2022/{acorex-modules-customer-management-opportunity.entity-BX1vocD3.mjs → acorex-modules-customer-management-index-DwPwxZI6.mjs} +3 -7
  173. package/fesm2022/acorex-modules-customer-management-index-DwPwxZI6.mjs.map +1 -0
  174. package/fesm2022/acorex-modules-customer-management.mjs +42 -28
  175. package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
  176. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-d_3MEOVx.mjs} +49 -45
  177. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-d_3MEOVx.mjs.map +1 -0
  178. package/fesm2022/{acorex-modules-dashboard-management-index-DAQNEq43.mjs → acorex-modules-dashboard-management-index-0npgb7TY.mjs} +2 -2
  179. package/fesm2022/acorex-modules-dashboard-management-index-0npgb7TY.mjs.map +1 -0
  180. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  181. package/fesm2022/acorex-modules-data-management-contracts.mjs +351 -0
  182. package/fesm2022/acorex-modules-data-management-contracts.mjs.map +1 -0
  183. package/fesm2022/acorex-modules-data-management.mjs +903 -902
  184. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  185. package/fesm2022/acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs.map +1 -1
  186. package/fesm2022/acorex-modules-document-management.mjs +109 -75
  187. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  188. package/fesm2022/acorex-modules-financial-core-data-source.provider-Do4rvgy4.mjs.map +1 -1
  189. package/fesm2022/acorex-modules-financial-core.mjs +608 -625
  190. package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
  191. package/fesm2022/acorex-modules-form-template-management-template-picker.component-CtTkFhXf.mjs.map +1 -1
  192. package/fesm2022/acorex-modules-form-template-management.mjs +442 -30
  193. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  194. package/fesm2022/acorex-modules-health-core-start-health-record-flow.command-BzGYbiw_.mjs +257 -0
  195. package/fesm2022/acorex-modules-health-core-start-health-record-flow.command-BzGYbiw_.mjs.map +1 -0
  196. package/fesm2022/acorex-modules-health-core.mjs +2408 -93
  197. package/fesm2022/acorex-modules-health-core.mjs.map +1 -1
  198. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs → acorex-modules-help-desk-acorex-modules-help-desk-AWSV_TiH.mjs} +208 -204
  199. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-AWSV_TiH.mjs.map +1 -0
  200. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-O3qJdpnt.mjs → acorex-modules-help-desk-capture-screen.component-DjUG9lk7.mjs} +2 -2
  201. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-O3qJdpnt.mjs.map → acorex-modules-help-desk-capture-screen.component-DjUG9lk7.mjs.map} +1 -1
  202. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  203. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-CqROha3-.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ7fkZVA.mjs} +1694 -196
  204. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ7fkZVA.mjs.map +1 -0
  205. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B0pyS4rY.mjs → acorex-modules-human-capital-management-approve-leave-request.command-8MwfTrgO.mjs} +3 -3
  206. package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-8MwfTrgO.mjs.map +1 -0
  207. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-Dc0eoIAI.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-DJft6ua8.mjs} +2 -2
  208. package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-DJft6ua8.mjs.map +1 -0
  209. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-TjMXVKCB.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-r5zEA5Oa.mjs} +3 -3
  210. package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-r5zEA5Oa.mjs.map +1 -0
  211. package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-uCNZW1KF.mjs → acorex-modules-human-capital-management-edit-personal-info.command-CTQywAzz.mjs} +2 -2
  212. package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-uCNZW1KF.mjs.map → acorex-modules-human-capital-management-edit-personal-info.command-CTQywAzz.mjs.map} +1 -1
  213. package/fesm2022/{acorex-modules-human-capital-management-edit-signature.command-9psDoX-o.mjs → acorex-modules-human-capital-management-edit-signature.command-9XI2V0Yt.mjs} +2 -2
  214. package/fesm2022/acorex-modules-human-capital-management-edit-signature.command-9XI2V0Yt.mjs.map +1 -0
  215. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-DHqsjUdQ.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Ba2f-i0A.mjs} +3 -3
  216. package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-Ba2f-i0A.mjs.map +1 -0
  217. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-DQqsqBRM.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-g9p7YKJ1.mjs} +2 -2
  218. package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-g9p7YKJ1.mjs.map +1 -0
  219. package/fesm2022/{acorex-modules-human-capital-management-start-leave-request-flow.command-nF6sDrFL.mjs → acorex-modules-human-capital-management-start-leave-request-flow.command-BPFrBjWG.mjs} +3 -3
  220. package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-BPFrBjWG.mjs.map +1 -0
  221. package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bya_9T7H.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-C62jEjUD.mjs} +19 -7
  222. package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-C62jEjUD.mjs.map +1 -0
  223. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  224. package/fesm2022/acorex-modules-identifier-management.mjs +11 -1
  225. package/fesm2022/acorex-modules-identifier-management.mjs.map +1 -1
  226. package/fesm2022/acorex-modules-jira-management-index-BGnRJkkx.mjs +179 -0
  227. package/fesm2022/acorex-modules-jira-management-index-BGnRJkkx.mjs.map +1 -0
  228. package/fesm2022/acorex-modules-jira-management-index-BXgxorT1.mjs +155 -0
  229. package/fesm2022/acorex-modules-jira-management-index-BXgxorT1.mjs.map +1 -0
  230. package/fesm2022/acorex-modules-jira-management-index-Bw8ivjR_.mjs +177 -0
  231. package/fesm2022/acorex-modules-jira-management-index-Bw8ivjR_.mjs.map +1 -0
  232. package/fesm2022/acorex-modules-jira-management-index-CJNrjlaV.mjs +143 -0
  233. package/fesm2022/acorex-modules-jira-management-index-CJNrjlaV.mjs.map +1 -0
  234. package/fesm2022/acorex-modules-jira-management-index-CjgROlD2.mjs +399 -0
  235. package/fesm2022/acorex-modules-jira-management-index-CjgROlD2.mjs.map +1 -0
  236. package/fesm2022/acorex-modules-jira-management-index-D0vXHcrg.mjs +372 -0
  237. package/fesm2022/acorex-modules-jira-management-index-D0vXHcrg.mjs.map +1 -0
  238. package/fesm2022/acorex-modules-jira-management-index-D2wdvXoF.mjs +123 -0
  239. package/fesm2022/acorex-modules-jira-management-index-D2wdvXoF.mjs.map +1 -0
  240. package/fesm2022/acorex-modules-jira-management-index-DPRA7BCN.mjs +281 -0
  241. package/fesm2022/acorex-modules-jira-management-index-DPRA7BCN.mjs.map +1 -0
  242. package/fesm2022/acorex-modules-jira-management-index-DpCX35Ob.mjs +222 -0
  243. package/fesm2022/acorex-modules-jira-management-index-DpCX35Ob.mjs.map +1 -0
  244. package/fesm2022/acorex-modules-jira-management.mjs +479 -0
  245. package/fesm2022/acorex-modules-jira-management.mjs.map +1 -0
  246. package/fesm2022/{acorex-modules-learning-management-training-definition.entity-DPY0OQdW.mjs → acorex-modules-learning-management-index-9Sessbgl.mjs} +4 -7
  247. package/fesm2022/acorex-modules-learning-management-index-9Sessbgl.mjs.map +1 -0
  248. package/fesm2022/{acorex-modules-learning-management-training-type.entity-Bt37GacX.mjs → acorex-modules-learning-management-index-B2ZI7U9N.mjs} +4 -7
  249. package/fesm2022/acorex-modules-learning-management-index-B2ZI7U9N.mjs.map +1 -0
  250. package/fesm2022/{acorex-modules-learning-management-certificate-definition.entity-DzRELZ1L.mjs → acorex-modules-learning-management-index-Cb6YmwUo.mjs} +4 -7
  251. package/fesm2022/acorex-modules-learning-management-index-Cb6YmwUo.mjs.map +1 -0
  252. package/fesm2022/{acorex-modules-learning-management-attendance.entity-40THDVHu.mjs → acorex-modules-learning-management-index-CnBTaY0y.mjs} +4 -7
  253. package/fesm2022/acorex-modules-learning-management-index-CnBTaY0y.mjs.map +1 -0
  254. package/fesm2022/{acorex-modules-learning-management-learning-path.entity-C-FcZefB.mjs → acorex-modules-learning-management-index-CnXPymvw.mjs} +4 -7
  255. package/fesm2022/acorex-modules-learning-management-index-CnXPymvw.mjs.map +1 -0
  256. package/fesm2022/{acorex-modules-learning-management-mandatory-training-rule.entity-CxsoSJh-.mjs → acorex-modules-learning-management-index-CtfhNokr.mjs} +4 -7
  257. package/fesm2022/acorex-modules-learning-management-index-CtfhNokr.mjs.map +1 -0
  258. package/fesm2022/{acorex-modules-learning-management-training.entity-BkxK-rqz.mjs → acorex-modules-learning-management-index-D3O6qDpQ.mjs} +5 -8
  259. package/fesm2022/acorex-modules-learning-management-index-D3O6qDpQ.mjs.map +1 -0
  260. package/fesm2022/{acorex-modules-learning-management-skill-level.entity-CnAgJyuR.mjs → acorex-modules-learning-management-index-D4Yh8EmO.mjs} +4 -7
  261. package/fesm2022/acorex-modules-learning-management-index-D4Yh8EmO.mjs.map +1 -0
  262. package/fesm2022/{acorex-modules-learning-management-skill.entity-DmIjc2gw.mjs → acorex-modules-learning-management-index-DJ4H2IOW.mjs} +4 -7
  263. package/fesm2022/acorex-modules-learning-management-index-DJ4H2IOW.mjs.map +1 -0
  264. package/fesm2022/{acorex-modules-learning-management-enrollment.entity-D4j7oSWb.mjs → acorex-modules-learning-management-index-DPb7aOIM.mjs} +5 -8
  265. package/fesm2022/acorex-modules-learning-management-index-DPb7aOIM.mjs.map +1 -0
  266. package/fesm2022/{acorex-modules-learning-management-course.entity-HoC-FUPB.mjs → acorex-modules-learning-management-index-Da29yyOM.mjs} +4 -7
  267. package/fesm2022/acorex-modules-learning-management-index-Da29yyOM.mjs.map +1 -0
  268. package/fesm2022/{acorex-modules-learning-management-certificate.entity-DA882F-J.mjs → acorex-modules-learning-management-index-DdgLO2B8.mjs} +4 -7
  269. package/fesm2022/acorex-modules-learning-management-index-DdgLO2B8.mjs.map +1 -0
  270. package/fesm2022/{acorex-modules-learning-management-course-type.entity-DAc4cRbW.mjs → acorex-modules-learning-management-index-DnUv_C6e.mjs} +4 -7
  271. package/fesm2022/acorex-modules-learning-management-index-DnUv_C6e.mjs.map +1 -0
  272. package/fesm2022/{acorex-modules-learning-management-learning-path-course.entity-B0DurZqy.mjs → acorex-modules-learning-management-index-Dxutf3MN.mjs} +4 -7
  273. package/fesm2022/acorex-modules-learning-management-index-Dxutf3MN.mjs.map +1 -0
  274. package/fesm2022/{acorex-modules-learning-management-certificate-type.entity-Br35cJ-M.mjs → acorex-modules-learning-management-index-pWAVoZBF.mjs} +4 -7
  275. package/fesm2022/acorex-modules-learning-management-index-pWAVoZBF.mjs.map +1 -0
  276. package/fesm2022/acorex-modules-learning-management.mjs +153 -168
  277. package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
  278. package/fesm2022/acorex-modules-locale-management-contracts.mjs +77 -0
  279. package/fesm2022/acorex-modules-locale-management-contracts.mjs.map +1 -0
  280. package/fesm2022/acorex-modules-locale-management.mjs +62 -71
  281. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  282. package/fesm2022/acorex-modules-location-management.mjs +1207 -1208
  283. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  284. package/fesm2022/{acorex-modules-maintenance-management-failure-register-status.provider-B8-Snxbx.mjs → acorex-modules-maintenance-management-failure-register-status.provider-DM5m-VsU.mjs} +2 -2
  285. package/fesm2022/acorex-modules-maintenance-management-failure-register-status.provider-DM5m-VsU.mjs.map +1 -0
  286. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-BMsD_d6k.mjs.map +1 -1
  287. package/fesm2022/acorex-modules-maintenance-management-work-order-status.provider-BvnpsgY3.mjs +181 -0
  288. package/fesm2022/acorex-modules-maintenance-management-work-order-status.provider-BvnpsgY3.mjs.map +1 -0
  289. package/fesm2022/acorex-modules-maintenance-management.mjs +899 -629
  290. package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
  291. package/fesm2022/acorex-modules-measurement-core.mjs +898 -914
  292. package/fesm2022/acorex-modules-measurement-core.mjs.map +1 -1
  293. package/fesm2022/acorex-modules-meeting-management.mjs +278 -170
  294. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
  295. package/fesm2022/{acorex-modules-notification-management-acorex-modules-notification-management-ZgxwReDF.mjs → acorex-modules-notification-management-acorex-modules-notification-management-W0YINm5V.mjs} +583 -573
  296. package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-W0YINm5V.mjs.map +1 -0
  297. package/fesm2022/{acorex-modules-notification-management-notification-page.component-DlFbwB9o.mjs → acorex-modules-notification-management-notification-page.component-BAQGDRTj.mjs} +2 -2
  298. package/fesm2022/{acorex-modules-notification-management-notification-page.component-DlFbwB9o.mjs.map → acorex-modules-notification-management-notification-page.component-BAQGDRTj.mjs.map} +1 -1
  299. package/fesm2022/acorex-modules-notification-management.mjs +1 -1
  300. package/fesm2022/{acorex-modules-order-management-bulk-buy-order-status.provider-CECieSZF.mjs → acorex-modules-order-management-bulk-buy-order-status.provider-C6HBZfQ_.mjs} +2 -2
  301. package/fesm2022/acorex-modules-order-management-bulk-buy-order-status.provider-C6HBZfQ_.mjs.map +1 -0
  302. package/fesm2022/{acorex-modules-order-management-entity.provider-ZaDnKtBk.mjs → acorex-modules-order-management-entity.provider-BVlBsDWW.mjs} +5 -5
  303. package/fesm2022/acorex-modules-order-management-entity.provider-BVlBsDWW.mjs.map +1 -0
  304. package/fesm2022/{acorex-modules-order-management-member-order.entity-BItj1CLq.mjs → acorex-modules-order-management-index-BeIiBPSs.mjs} +3 -8
  305. package/fesm2022/acorex-modules-order-management-index-BeIiBPSs.mjs.map +1 -0
  306. package/fesm2022/{acorex-modules-order-management-bulk-buy-order.entity-B9f4Tppc.mjs → acorex-modules-order-management-index-DUMuaQGE.mjs} +3 -8
  307. package/fesm2022/acorex-modules-order-management-index-DUMuaQGE.mjs.map +1 -0
  308. package/fesm2022/{acorex-modules-order-management-bulk-buy-order-item.entity-DsXE-kqT.mjs → acorex-modules-order-management-index-Du2PsO2f.mjs} +5 -11
  309. package/fesm2022/acorex-modules-order-management-index-Du2PsO2f.mjs.map +1 -0
  310. package/fesm2022/{acorex-modules-order-management-member-order-line.entity-BX3rQTJ1.mjs → acorex-modules-order-management-index-QHrmfhTE.mjs} +2 -6
  311. package/fesm2022/acorex-modules-order-management-index-QHrmfhTE.mjs.map +1 -0
  312. package/fesm2022/{acorex-modules-order-management-member-order-status.provider-Bkrzylqm.mjs → acorex-modules-order-management-member-order-status.provider-CKIrQc_7.mjs} +2 -2
  313. package/fesm2022/acorex-modules-order-management-member-order-status.provider-CKIrQc_7.mjs.map +1 -0
  314. package/fesm2022/acorex-modules-order-management-menu.provider-DeMKkRZa.mjs.map +1 -1
  315. package/fesm2022/acorex-modules-order-management-permission-definition.provider-B8ext6Sn.mjs.map +1 -1
  316. package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs.map +1 -1
  317. package/fesm2022/acorex-modules-order-management.mjs +54 -54
  318. package/fesm2022/acorex-modules-order-management.mjs.map +1 -1
  319. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BALTqTo-.mjs +4119 -0
  320. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BALTqTo-.mjs.map +1 -0
  321. package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BUOpdwIy.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-23eGqIxP.mjs} +2 -2
  322. package/fesm2022/acorex-modules-organization-management-add-business-unit-to-business-unit.command-23eGqIxP.mjs.map +1 -0
  323. package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-CcoGv5J7.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-B4C1jxs3.mjs} +2 -2
  324. package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-B4C1jxs3.mjs.map +1 -0
  325. package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-n9FYDyKE.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-B5vh3rwS.mjs} +2 -2
  326. package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-B5vh3rwS.mjs.map +1 -0
  327. package/fesm2022/{acorex-modules-organization-management-entity.provider-Dqn382Z2.mjs → acorex-modules-organization-management-entity.provider-3IL0cFTC.mjs} +15 -15
  328. package/fesm2022/acorex-modules-organization-management-entity.provider-3IL0cFTC.mjs.map +1 -0
  329. package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-C7VhASKJ.mjs → acorex-modules-organization-management-feature-definition.provider-DsSdRjcX.mjs} +2 -2
  330. package/fesm2022/acorex-modules-organization-management-feature-definition.provider-DsSdRjcX.mjs.map +1 -0
  331. package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-Bacrw4_J.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-BRovo6NC.mjs} +4 -4
  332. package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-BRovo6NC.mjs.map +1 -0
  333. package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-BJkc7c-G.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-CNtaaDfp.mjs} +3 -3
  334. package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-CNtaaDfp.mjs.map +1 -0
  335. package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-GuFiBC0r.mjs → acorex-modules-organization-management-job-definition-skills-page.component-D1ymUBeQ.mjs} +2 -2
  336. package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-D1ymUBeQ.mjs.map +1 -0
  337. package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CCvVPEVM.mjs → acorex-modules-organization-management-job-level.datasource-_6F_fvTn.mjs} +2 -2
  338. package/fesm2022/acorex-modules-organization-management-job-level.datasource-_6F_fvTn.mjs.map +1 -0
  339. package/fesm2022/{acorex-modules-organization-management-menu.provider-BeCkTwia.mjs → acorex-modules-organization-management-menu.provider-Dt7bfM-4.mjs} +2 -2
  340. package/fesm2022/acorex-modules-organization-management-menu.provider-Dt7bfM-4.mjs.map +1 -0
  341. package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-DDY2Cgu6.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-Cf789vAr.mjs} +2 -2
  342. package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-Cf789vAr.mjs.map +1 -0
  343. package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DbSxtEz6.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CL32hDBZ.mjs} +2 -2
  344. package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CL32hDBZ.mjs.map +1 -0
  345. package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-ByqjxY2S.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-CpNTM-Ts.mjs} +2 -2
  346. package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-CpNTM-Ts.mjs.map +1 -0
  347. package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DdyF5QS0.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-D-qPXdfm.mjs} +2 -2
  348. package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-D-qPXdfm.mjs.map +1 -0
  349. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DD1lvTXR.mjs → acorex-modules-organization-management-org-chart.page-BglvBI8J.mjs} +2 -2
  350. package/fesm2022/acorex-modules-organization-management-org-chart.page-BglvBI8J.mjs.map +1 -0
  351. package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-CbXQwY_b.mjs → acorex-modules-organization-management-permission-definition.provider-BOz0kQKZ.mjs} +2 -2
  352. package/fesm2022/acorex-modules-organization-management-permission-definition.provider-BOz0kQKZ.mjs.map +1 -0
  353. package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-B1mrTFbI.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-CcfOkd7Z.mjs} +2 -2
  354. package/fesm2022/acorex-modules-organization-management-remove-position-from-business-unit.command-CcfOkd7Z.mjs.map +1 -0
  355. package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-B3OVj92j.mjs → acorex-modules-organization-management-replace-position-assignee.command-nNGkuyKE.mjs} +2 -2
  356. package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-B3OVj92j.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-nNGkuyKE.mjs.map} +1 -1
  357. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-COCty9r1.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CymCi80F.mjs} +2 -2
  358. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-COCty9r1.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CymCi80F.mjs.map} +1 -1
  359. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BAC2jImJ.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-E46T_VO-.mjs} +2 -2
  360. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BAC2jImJ.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-E46T_VO-.mjs.map} +1 -1
  361. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-CQ1RKj2l.mjs → acorex-modules-organization-management-responsibilities-matrix.component-Bw22pUUE.mjs} +2 -2
  362. package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-Bw22pUUE.mjs.map +1 -0
  363. package/fesm2022/{acorex-modules-organization-management-settings.provider-B4ijPkN_.mjs → acorex-modules-organization-management-settings.provider-BOMwSEpo.mjs} +2 -2
  364. package/fesm2022/{acorex-modules-organization-management-settings.provider-B4ijPkN_.mjs.map → acorex-modules-organization-management-settings.provider-BOMwSEpo.mjs.map} +1 -1
  365. package/fesm2022/acorex-modules-organization-management.mjs +1 -1
  366. package/fesm2022/acorex-modules-person-core.mjs +1076 -223
  367. package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
  368. package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BYy7NCvH.mjs.map +1 -1
  369. package/fesm2022/acorex-modules-platform-dev-tools.mjs +27 -27
  370. package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
  371. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CdMzH5Qu.mjs} +47 -46
  372. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CdMzH5Qu.mjs.map +1 -0
  373. package/fesm2022/{acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs → acorex-modules-platform-management-menu-list.component-B8ZKMl1A.mjs} +2 -2
  374. package/fesm2022/{acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs.map → acorex-modules-platform-management-menu-list.component-B8ZKMl1A.mjs.map} +1 -1
  375. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  376. package/fesm2022/acorex-modules-procurement-management.mjs +15 -16
  377. package/fesm2022/acorex-modules-procurement-management.mjs.map +1 -1
  378. package/fesm2022/acorex-modules-product-catalog.mjs +1545 -33
  379. package/fesm2022/acorex-modules-product-catalog.mjs.map +1 -1
  380. package/fesm2022/acorex-modules-project-management.mjs +234 -230
  381. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  382. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs → acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs} +2 -3
  383. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs.map +1 -0
  384. package/fesm2022/acorex-modules-report-management-settings.provider-CA7o3xKu.mjs.map +1 -1
  385. package/fesm2022/acorex-modules-report-management.mjs +4 -3
  386. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  387. package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-DiEkzSO2.mjs → acorex-modules-reservation-management-index-DNLOtNNW.mjs} +2 -6
  388. package/fesm2022/acorex-modules-reservation-management-index-DNLOtNNW.mjs.map +1 -0
  389. package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-CSj9-uAb.mjs → acorex-modules-reservation-management-index-DSDnPzHh.mjs} +2 -5
  390. package/fesm2022/acorex-modules-reservation-management-index-DSDnPzHh.mjs.map +1 -0
  391. package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-CsOec92Y.mjs → acorex-modules-reservation-management-index-DySHYsCz.mjs} +2 -6
  392. package/fesm2022/acorex-modules-reservation-management-index-DySHYsCz.mjs.map +1 -0
  393. package/fesm2022/acorex-modules-reservation-management.mjs +47 -52
  394. package/fesm2022/acorex-modules-reservation-management.mjs.map +1 -1
  395. package/fesm2022/acorex-modules-risk-management.mjs +122 -115
  396. package/fesm2022/acorex-modules-risk-management.mjs.map +1 -1
  397. package/fesm2022/acorex-modules-security-management-terminate-session.command-CRWFd-YW.mjs.map +1 -1
  398. package/fesm2022/acorex-modules-security-management.mjs +468 -335
  399. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  400. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-D5DqCfiz.mjs → acorex-modules-settings-management-permission-definition.provider-CfCLhvZi.mjs} +2 -2
  401. package/fesm2022/acorex-modules-settings-management-permission-definition.provider-CfCLhvZi.mjs.map +1 -0
  402. package/fesm2022/{acorex-modules-settings-management-setting-page.component-TxoOyBRc.mjs → acorex-modules-settings-management-setting-page.component-B7wP0i5k.mjs} +9 -6
  403. package/fesm2022/acorex-modules-settings-management-setting-page.component-B7wP0i5k.mjs.map +1 -0
  404. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CuDjGo2x.mjs → acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs} +2 -2
  405. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CuDjGo2x.mjs.map → acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs.map} +1 -1
  406. package/fesm2022/acorex-modules-settings-management.mjs +813 -1
  407. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  408. package/fesm2022/acorex-modules-subscription-management.mjs +47 -52
  409. package/fesm2022/acorex-modules-subscription-management.mjs.map +1 -1
  410. package/fesm2022/acorex-modules-supplier-management.mjs +34 -36
  411. package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
  412. package/fesm2022/acorex-modules-system-insight.mjs +74 -61
  413. package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
  414. package/fesm2022/{acorex-modules-task-management-task-board.page-CfgeDnBx.mjs → acorex-modules-task-management-task-board.page-DhPzh72z.mjs} +5 -5
  415. package/fesm2022/acorex-modules-task-management-task-board.page-DhPzh72z.mjs.map +1 -0
  416. package/fesm2022/acorex-modules-task-management.mjs +7571 -1
  417. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  418. package/fesm2022/acorex-modules-tenant-management.mjs +42 -48
  419. package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
  420. package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-AgY9tA7s.mjs} +1453 -143
  421. package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-AgY9tA7s.mjs.map +1 -0
  422. package/fesm2022/acorex-modules-workflow-management-execute-workflow-with-input.command-DUYGWSu8.mjs +127 -0
  423. package/fesm2022/acorex-modules-workflow-management-execute-workflow-with-input.command-DUYGWSu8.mjs.map +1 -0
  424. package/fesm2022/acorex-modules-workflow-management-execute-workflow.command-DSgQNTtL.mjs +142 -0
  425. package/fesm2022/acorex-modules-workflow-management-execute-workflow.command-DSgQNTtL.mjs.map +1 -0
  426. package/fesm2022/{acorex-modules-workflow-management-index-DXIQw3Ao.mjs → acorex-modules-workflow-management-index-78oCkrbR.mjs} +3 -5
  427. package/fesm2022/acorex-modules-workflow-management-index-78oCkrbR.mjs.map +1 -0
  428. package/fesm2022/{acorex-modules-workflow-management-index-8gv17yqF.mjs → acorex-modules-workflow-management-index-CvPrfCTv.mjs} +3 -3
  429. package/fesm2022/{acorex-modules-workflow-management-index-8gv17yqF.mjs.map → acorex-modules-workflow-management-index-CvPrfCTv.mjs.map} +1 -1
  430. package/fesm2022/{acorex-modules-workflow-management-index--D61tV-f.mjs → acorex-modules-workflow-management-index-DmnrXTPk.mjs} +3 -4
  431. package/fesm2022/acorex-modules-workflow-management-index-DmnrXTPk.mjs.map +1 -0
  432. package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-aLlfQxaT.mjs} +3 -3
  433. package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-aLlfQxaT.mjs.map +1 -0
  434. package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-B0f5IsoE.mjs → acorex-modules-workflow-management-workflow-configurator-widget-column.component-Ph_BjL_5.mjs} +2 -2
  435. package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-column.component-Ph_BjL_5.mjs.map +1 -0
  436. package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-edit.component-DQ703kRI.mjs → acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CfKTRKNQ.mjs} +5 -3
  437. package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CfKTRKNQ.mjs.map +1 -0
  438. package/fesm2022/{acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs → acorex-modules-workflow-management-workflow-run-history-popup.component-D1A_EHNk.mjs} +6 -7
  439. package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-D1A_EHNk.mjs.map +1 -0
  440. package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-Cvbzknxk.mjs → acorex-modules-workflow-management-workflow-task-popover.component-CHvHPHt9.mjs} +4 -4
  441. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CHvHPHt9.mjs.map +1 -0
  442. package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
  443. package/fesm2022/{acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs → acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-CsJpSfdA.mjs} +2 -2
  444. package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-CsJpSfdA.mjs.map +1 -0
  445. package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-status.provider-CdzRLBqN.mjs +42 -0
  446. package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-status.provider-CdzRLBqN.mjs.map +1 -0
  447. package/fesm2022/{acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs → acorex-modules-workplacesafety-management-hazard-status.provider-CmtTvpk0.mjs} +2 -2
  448. package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-CmtTvpk0.mjs.map +1 -0
  449. package/fesm2022/{acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs → acorex-modules-workplacesafety-management-ppe-item-status.provider-Bx2yqUVH.mjs} +2 -2
  450. package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-Bx2yqUVH.mjs.map +1 -0
  451. package/fesm2022/acorex-modules-workplacesafety-management.mjs +1221 -555
  452. package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -1
  453. package/package.json +18 -2
  454. package/types/acorex-modules-ai-management.d.ts +35 -34
  455. package/types/acorex-modules-application-management.d.ts +23 -47
  456. package/types/acorex-modules-assessment-management.d.ts +517 -511
  457. package/types/acorex-modules-asset-management.d.ts +96 -79
  458. package/types/acorex-modules-auth.d.ts +2 -9
  459. package/types/acorex-modules-business-core.d.ts +72 -64
  460. package/types/acorex-modules-calendar-management.d.ts +4 -4
  461. package/types/acorex-modules-common.d.ts +11 -117
  462. package/types/acorex-modules-contact-core.d.ts +70 -0
  463. package/types/acorex-modules-content-management.d.ts +24 -31
  464. package/types/acorex-modules-conversation.d.ts +74 -73
  465. package/types/acorex-modules-customer-management.d.ts +69 -55
  466. package/types/acorex-modules-dashboard-management.d.ts +64 -66
  467. package/types/acorex-modules-data-management-contracts.d.ts +256 -0
  468. package/types/acorex-modules-data-management.d.ts +100 -22
  469. package/types/acorex-modules-document-management.d.ts +47 -40
  470. package/types/acorex-modules-financial-core.d.ts +69 -69
  471. package/types/acorex-modules-form-template-management.d.ts +4 -2
  472. package/types/acorex-modules-health-core.d.ts +241 -29
  473. package/types/acorex-modules-help-desk.d.ts +44 -38
  474. package/types/acorex-modules-human-capital-management.d.ts +67 -54
  475. package/types/acorex-modules-jira-management.d.ts +354 -0
  476. package/types/acorex-modules-learning-management.d.ts +2 -2
  477. package/types/acorex-modules-locale-management-contracts.d.ts +66 -0
  478. package/types/acorex-modules-locale-management.d.ts +4 -4
  479. package/types/acorex-modules-location-management.d.ts +67 -67
  480. package/types/acorex-modules-maintenance-management.d.ts +45 -43
  481. package/types/acorex-modules-measurement-core.d.ts +106 -106
  482. package/types/acorex-modules-meeting-management.d.ts +31 -23
  483. package/types/acorex-modules-notification-management.d.ts +19 -20
  484. package/types/acorex-modules-order-management.d.ts +39 -39
  485. package/types/acorex-modules-organization-management.d.ts +137 -109
  486. package/types/acorex-modules-person-core.d.ts +73 -52
  487. package/types/acorex-modules-platform-management.d.ts +1 -3
  488. package/types/acorex-modules-procurement-management.d.ts +1 -3
  489. package/types/acorex-modules-product-catalog.d.ts +13 -6
  490. package/types/acorex-modules-project-management.d.ts +16 -15
  491. package/types/acorex-modules-report-management.d.ts +3 -4
  492. package/types/acorex-modules-reservation-management.d.ts +3 -3
  493. package/types/acorex-modules-risk-management.d.ts +57 -54
  494. package/types/acorex-modules-security-management.d.ts +65 -63
  495. package/types/acorex-modules-settings-management.d.ts +15 -1
  496. package/types/acorex-modules-subscription-management.d.ts +4 -3
  497. package/types/acorex-modules-supplier-management.d.ts +4 -4
  498. package/types/acorex-modules-system-insight.d.ts +4 -3
  499. package/types/acorex-modules-task-management.d.ts +95 -70
  500. package/types/acorex-modules-tenant-management.d.ts +5 -4
  501. package/types/acorex-modules-workflow-management.d.ts +23 -4
  502. package/types/acorex-modules-workplacesafety-management.d.ts +153 -16
  503. package/fesm2022/acorex-modules-ai-management-agent.entity-3ZBa5t2D.mjs.map +0 -1
  504. package/fesm2022/acorex-modules-ai-management-assist.entity-CeALRRoV.mjs.map +0 -1
  505. package/fesm2022/acorex-modules-ai-management-model.entity-DiDaXVa3.mjs.map +0 -1
  506. package/fesm2022/acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs.map +0 -1
  507. package/fesm2022/acorex-modules-ai-management-rule.entity-CQNx4QEB.mjs.map +0 -1
  508. package/fesm2022/acorex-modules-application-management-application-status.provider-CGRoY79H.mjs.map +0 -1
  509. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs.map +0 -1
  510. package/fesm2022/acorex-modules-assessment-management-assessment-case-status.provider-B9sQAPwy.mjs.map +0 -1
  511. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs.map +0 -1
  512. package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs.map +0 -1
  513. package/fesm2022/acorex-modules-assessment-management-assessment-session-status.provider-Lee6Cwg8.mjs.map +0 -1
  514. package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs.map +0 -1
  515. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs.map +0 -1
  516. package/fesm2022/acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs.map +0 -1
  517. package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs.map +0 -1
  518. package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs.map +0 -1
  519. package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs.map +0 -1
  520. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs.map +0 -1
  521. package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs.map +0 -1
  522. package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs.map +0 -1
  523. package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs.map +0 -1
  524. package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs.map +0 -1
  525. package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-D7g3TSrr.mjs.map +0 -1
  526. package/fesm2022/acorex-modules-asset-management-asset-system-assignment.entity-ufjDJ-0D.mjs.map +0 -1
  527. package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-DbeerQdD.mjs.map +0 -1
  528. package/fesm2022/acorex-modules-asset-management-asset-system.entity-0Fy7wSBh.mjs.map +0 -1
  529. package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-OsuWeo2l.mjs.map +0 -1
  530. package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-C6tA_OBh.mjs.map +0 -1
  531. package/fesm2022/acorex-modules-asset-management-asset-type.entity-Cjy7Xetu.mjs.map +0 -1
  532. package/fesm2022/acorex-modules-asset-management-asset.entity-D1HwzXL_.mjs.map +0 -1
  533. package/fesm2022/acorex-modules-auth-acorex-modules-auth-CUpNfm_0.mjs.map +0 -1
  534. package/fesm2022/acorex-modules-auth-profile-page.component-ChsI9B3Y.mjs.map +0 -1
  535. package/fesm2022/acorex-modules-business-core-business-status.entity-BcfEL0kf.mjs +0 -139
  536. package/fesm2022/acorex-modules-business-core-business-status.entity-BcfEL0kf.mjs.map +0 -1
  537. package/fesm2022/acorex-modules-business-core-business-type.entity-BP5XZthY.mjs +0 -139
  538. package/fesm2022/acorex-modules-business-core-business-type.entity-BP5XZthY.mjs.map +0 -1
  539. package/fesm2022/acorex-modules-business-core-industry.entity-Byz8pFA7.mjs +0 -139
  540. package/fesm2022/acorex-modules-business-core-industry.entity-Byz8pFA7.mjs.map +0 -1
  541. package/fesm2022/acorex-modules-business-core-manufacturer.entity-CKzGz3Ix.mjs +0 -286
  542. package/fesm2022/acorex-modules-business-core-manufacturer.entity-CKzGz3Ix.mjs.map +0 -1
  543. package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs.map +0 -1
  544. package/fesm2022/acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs.map +0 -1
  545. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs.map +0 -1
  546. package/fesm2022/acorex-modules-customer-management-activity.entity-BENCtWk0.mjs.map +0 -1
  547. package/fesm2022/acorex-modules-customer-management-customer.entity-Doc1f5gH.mjs.map +0 -1
  548. package/fesm2022/acorex-modules-customer-management-deal-contact-role.entity-BmDALoWz.mjs.map +0 -1
  549. package/fesm2022/acorex-modules-customer-management-lead.entity-CH7iga2T.mjs.map +0 -1
  550. package/fesm2022/acorex-modules-customer-management-opportunity-stage.entity-gXGyRjOR.mjs.map +0 -1
  551. package/fesm2022/acorex-modules-customer-management-opportunity.entity-BX1vocD3.mjs.map +0 -1
  552. package/fesm2022/acorex-modules-customer-management-sales-pipeline.entity-TN7eqaA1.mjs.map +0 -1
  553. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs.map +0 -1
  554. package/fesm2022/acorex-modules-dashboard-management-index-DAQNEq43.mjs.map +0 -1
  555. package/fesm2022/acorex-modules-document-management-document-shortcut.entity-D3BI4azq.mjs +0 -30
  556. package/fesm2022/acorex-modules-document-management-document-shortcut.entity-D3BI4azq.mjs.map +0 -1
  557. package/fesm2022/acorex-modules-form-template-management-template.entity-CNWAvD6Z.mjs +0 -412
  558. package/fesm2022/acorex-modules-form-template-management-template.entity-CNWAvD6Z.mjs.map +0 -1
  559. package/fesm2022/acorex-modules-health-core-allergy-type.entity-Ba06KigW.mjs +0 -68
  560. package/fesm2022/acorex-modules-health-core-allergy-type.entity-Ba06KigW.mjs.map +0 -1
  561. package/fesm2022/acorex-modules-health-core-blood-type.entity-165JDo8r.mjs +0 -121
  562. package/fesm2022/acorex-modules-health-core-blood-type.entity-165JDo8r.mjs.map +0 -1
  563. package/fesm2022/acorex-modules-health-core-body-part.entity-CGk798g1.mjs +0 -68
  564. package/fesm2022/acorex-modules-health-core-body-part.entity-CGk798g1.mjs.map +0 -1
  565. package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CHeAJ1Mm.mjs +0 -68
  566. package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CHeAJ1Mm.mjs.map +0 -1
  567. package/fesm2022/acorex-modules-health-core-disability-status.entity-DN5reubi.mjs +0 -121
  568. package/fesm2022/acorex-modules-health-core-disability-status.entity-DN5reubi.mjs.map +0 -1
  569. package/fesm2022/acorex-modules-health-core-injury-type.entity-x9bs6Zly.mjs +0 -68
  570. package/fesm2022/acorex-modules-health-core-injury-type.entity-x9bs6Zly.mjs.map +0 -1
  571. package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DlQ4MQVm.mjs +0 -68
  572. package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DlQ4MQVm.mjs.map +0 -1
  573. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs.map +0 -1
  574. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-CqROha3-.mjs.map +0 -1
  575. package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-B0pyS4rY.mjs.map +0 -1
  576. package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-Dc0eoIAI.mjs.map +0 -1
  577. package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-TjMXVKCB.mjs.map +0 -1
  578. package/fesm2022/acorex-modules-human-capital-management-edit-signature.command-9psDoX-o.mjs.map +0 -1
  579. package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRkS6cY0.mjs +0 -416
  580. package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRkS6cY0.mjs.map +0 -1
  581. package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BZ1vVzeJ.mjs +0 -99
  582. package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BZ1vVzeJ.mjs.map +0 -1
  583. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-C_hKrBJ1.mjs +0 -292
  584. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-C_hKrBJ1.mjs.map +0 -1
  585. package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-1FFKAk-t.mjs +0 -95
  586. package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-1FFKAk-t.mjs.map +0 -1
  587. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-3zBc21d1.mjs +0 -121
  588. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-3zBc21d1.mjs.map +0 -1
  589. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-CeE-5Dko.mjs +0 -226
  590. package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-CeE-5Dko.mjs.map +0 -1
  591. package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BABjM2Mr.mjs +0 -267
  592. package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BABjM2Mr.mjs.map +0 -1
  593. package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-DHqsjUdQ.mjs.map +0 -1
  594. package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-DQqsqBRM.mjs.map +0 -1
  595. package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-nF6sDrFL.mjs.map +0 -1
  596. package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bya_9T7H.mjs.map +0 -1
  597. package/fesm2022/acorex-modules-learning-management-attendance.entity-40THDVHu.mjs.map +0 -1
  598. package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-DzRELZ1L.mjs.map +0 -1
  599. package/fesm2022/acorex-modules-learning-management-certificate-type.entity-Br35cJ-M.mjs.map +0 -1
  600. package/fesm2022/acorex-modules-learning-management-certificate.entity-DA882F-J.mjs.map +0 -1
  601. package/fesm2022/acorex-modules-learning-management-course-type.entity-DAc4cRbW.mjs.map +0 -1
  602. package/fesm2022/acorex-modules-learning-management-course.entity-HoC-FUPB.mjs.map +0 -1
  603. package/fesm2022/acorex-modules-learning-management-enrollment.entity-D4j7oSWb.mjs.map +0 -1
  604. package/fesm2022/acorex-modules-learning-management-learning-path-course.entity-B0DurZqy.mjs.map +0 -1
  605. package/fesm2022/acorex-modules-learning-management-learning-path.entity-C-FcZefB.mjs.map +0 -1
  606. package/fesm2022/acorex-modules-learning-management-mandatory-training-rule.entity-CxsoSJh-.mjs.map +0 -1
  607. package/fesm2022/acorex-modules-learning-management-skill-level.entity-CnAgJyuR.mjs.map +0 -1
  608. package/fesm2022/acorex-modules-learning-management-skill.entity-DmIjc2gw.mjs.map +0 -1
  609. package/fesm2022/acorex-modules-learning-management-training-definition.entity-DPY0OQdW.mjs.map +0 -1
  610. package/fesm2022/acorex-modules-learning-management-training-type.entity-Bt37GacX.mjs.map +0 -1
  611. package/fesm2022/acorex-modules-learning-management-training.entity-BkxK-rqz.mjs.map +0 -1
  612. package/fesm2022/acorex-modules-maintenance-management-failure-register-status.provider-B8-Snxbx.mjs.map +0 -1
  613. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-B9Jp4r3m.mjs +0 -487
  614. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-B9Jp4r3m.mjs.map +0 -1
  615. package/fesm2022/acorex-modules-meeting-management-meeting-schedule.entity-BJGUKFuu.mjs +0 -107
  616. package/fesm2022/acorex-modules-meeting-management-meeting-schedule.entity-BJGUKFuu.mjs.map +0 -1
  617. package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-ZgxwReDF.mjs.map +0 -1
  618. package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-DsXE-kqT.mjs.map +0 -1
  619. package/fesm2022/acorex-modules-order-management-bulk-buy-order-status.provider-CECieSZF.mjs.map +0 -1
  620. package/fesm2022/acorex-modules-order-management-bulk-buy-order.entity-B9f4Tppc.mjs.map +0 -1
  621. package/fesm2022/acorex-modules-order-management-entity.provider-ZaDnKtBk.mjs.map +0 -1
  622. package/fesm2022/acorex-modules-order-management-member-order-line.entity-BX3rQTJ1.mjs.map +0 -1
  623. package/fesm2022/acorex-modules-order-management-member-order-status.provider-Bkrzylqm.mjs.map +0 -1
  624. package/fesm2022/acorex-modules-order-management-member-order.entity-BItj1CLq.mjs.map +0 -1
  625. package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs +0 -8
  626. package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs.map +0 -1
  627. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Cl-ecmKK.mjs +0 -917
  628. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Cl-ecmKK.mjs.map +0 -1
  629. package/fesm2022/acorex-modules-organization-management-add-business-unit-to-business-unit.command-BUOpdwIy.mjs.map +0 -1
  630. package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-CcoGv5J7.mjs.map +0 -1
  631. package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-n9FYDyKE.mjs.map +0 -1
  632. package/fesm2022/acorex-modules-organization-management-business-unit.entity-LYKMuTLO.mjs +0 -404
  633. package/fesm2022/acorex-modules-organization-management-business-unit.entity-LYKMuTLO.mjs.map +0 -1
  634. package/fesm2022/acorex-modules-organization-management-chart.entity-BxAJonRP.mjs +0 -200
  635. package/fesm2022/acorex-modules-organization-management-chart.entity-BxAJonRP.mjs.map +0 -1
  636. package/fesm2022/acorex-modules-organization-management-company.entity-Cexgxajh.mjs +0 -136
  637. package/fesm2022/acorex-modules-organization-management-company.entity-Cexgxajh.mjs.map +0 -1
  638. package/fesm2022/acorex-modules-organization-management-entity.provider-Dqn382Z2.mjs.map +0 -1
  639. package/fesm2022/acorex-modules-organization-management-feature-definition.provider-C7VhASKJ.mjs.map +0 -1
  640. package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-Bacrw4_J.mjs.map +0 -1
  641. package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-BJkc7c-G.mjs.map +0 -1
  642. package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-GuFiBC0r.mjs.map +0 -1
  643. package/fesm2022/acorex-modules-organization-management-job-definition.entity-DsdjfMCs.mjs +0 -321
  644. package/fesm2022/acorex-modules-organization-management-job-definition.entity-DsdjfMCs.mjs.map +0 -1
  645. package/fesm2022/acorex-modules-organization-management-job-level.datasource-CCvVPEVM.mjs.map +0 -1
  646. package/fesm2022/acorex-modules-organization-management-job-level.entity-BrBHqHqn.mjs +0 -271
  647. package/fesm2022/acorex-modules-organization-management-job-level.entity-BrBHqHqn.mjs.map +0 -1
  648. package/fesm2022/acorex-modules-organization-management-menu.provider-BeCkTwia.mjs.map +0 -1
  649. package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-DDY2Cgu6.mjs.map +0 -1
  650. package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DbSxtEz6.mjs.map +0 -1
  651. package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-ByqjxY2S.mjs.map +0 -1
  652. package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DdyF5QS0.mjs.map +0 -1
  653. package/fesm2022/acorex-modules-organization-management-org-chart.page-DD1lvTXR.mjs.map +0 -1
  654. package/fesm2022/acorex-modules-organization-management-permission-definition.provider-CbXQwY_b.mjs.map +0 -1
  655. package/fesm2022/acorex-modules-organization-management-position.entity-qwL31RSs.mjs +0 -543
  656. package/fesm2022/acorex-modules-organization-management-position.entity-qwL31RSs.mjs.map +0 -1
  657. package/fesm2022/acorex-modules-organization-management-remove-position-from-business-unit.command-B1mrTFbI.mjs.map +0 -1
  658. package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-CQ1RKj2l.mjs.map +0 -1
  659. package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-DwpUOhLh.mjs +0 -135
  660. package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-DwpUOhLh.mjs.map +0 -1
  661. package/fesm2022/acorex-modules-organization-management-responsibility.entity-3d2Im-NE.mjs +0 -203
  662. package/fesm2022/acorex-modules-organization-management-responsibility.entity-3d2Im-NE.mjs.map +0 -1
  663. package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DdIc2pIC.mjs +0 -300
  664. package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DdIc2pIC.mjs.map +0 -1
  665. package/fesm2022/acorex-modules-organization-management-team-member-role.entity-UqmN5-zL.mjs +0 -150
  666. package/fesm2022/acorex-modules-organization-management-team-member-role.entity-UqmN5-zL.mjs.map +0 -1
  667. package/fesm2022/acorex-modules-organization-management-team-member.entity-BlsBC7oU.mjs +0 -251
  668. package/fesm2022/acorex-modules-organization-management-team-member.entity-BlsBC7oU.mjs.map +0 -1
  669. package/fesm2022/acorex-modules-organization-management-team.entity-rRp5rEKa.mjs +0 -307
  670. package/fesm2022/acorex-modules-organization-management-team.entity-rRp5rEKa.mjs.map +0 -1
  671. package/fesm2022/acorex-modules-person-core-education-level.entity-BudWedmZ.mjs +0 -121
  672. package/fesm2022/acorex-modules-person-core-education-level.entity-BudWedmZ.mjs.map +0 -1
  673. package/fesm2022/acorex-modules-person-core-gender.entity-BrnPFMd_.mjs +0 -121
  674. package/fesm2022/acorex-modules-person-core-gender.entity-BrnPFMd_.mjs.map +0 -1
  675. package/fesm2022/acorex-modules-person-core-marital-status.entity-JSXaOaKH.mjs +0 -121
  676. package/fesm2022/acorex-modules-person-core-marital-status.entity-JSXaOaKH.mjs.map +0 -1
  677. package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BwQ0fj61.mjs +0 -191
  678. package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BwQ0fj61.mjs.map +0 -1
  679. package/fesm2022/acorex-modules-person-core-person-title.entity-DPEl0HTw.mjs +0 -121
  680. package/fesm2022/acorex-modules-person-core-person-title.entity-DPEl0HTw.mjs.map +0 -1
  681. package/fesm2022/acorex-modules-person-core-religion.entity-DD1UG9on.mjs +0 -121
  682. package/fesm2022/acorex-modules-person-core-religion.entity-DD1UG9on.mjs.map +0 -1
  683. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs.map +0 -1
  684. package/fesm2022/acorex-modules-product-catalog-brand.entity-DLK1M-a5.mjs +0 -261
  685. package/fesm2022/acorex-modules-product-catalog-brand.entity-DLK1M-a5.mjs.map +0 -1
  686. package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Dd43Ph0b.mjs +0 -596
  687. package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Dd43Ph0b.mjs.map +0 -1
  688. package/fesm2022/acorex-modules-product-catalog-product.entity-CcLvq1uX.mjs +0 -668
  689. package/fesm2022/acorex-modules-product-catalog-product.entity-CcLvq1uX.mjs.map +0 -1
  690. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs.map +0 -1
  691. package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-CsOec92Y.mjs.map +0 -1
  692. package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-DiEkzSO2.mjs.map +0 -1
  693. package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-CSj9-uAb.mjs.map +0 -1
  694. package/fesm2022/acorex-modules-security-management-profile.entity-BSDeLsJ1.mjs +0 -168
  695. package/fesm2022/acorex-modules-security-management-profile.entity-BSDeLsJ1.mjs.map +0 -1
  696. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-e5asXiK4.mjs +0 -798
  697. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-e5asXiK4.mjs.map +0 -1
  698. package/fesm2022/acorex-modules-settings-management-permission-definition.provider-D5DqCfiz.mjs.map +0 -1
  699. package/fesm2022/acorex-modules-settings-management-setting-page.component-TxoOyBRc.mjs.map +0 -1
  700. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-Bv7Ye6d1.mjs +0 -7564
  701. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-Bv7Ye6d1.mjs.map +0 -1
  702. package/fesm2022/acorex-modules-task-management-task-board.page-CfgeDnBx.mjs.map +0 -1
  703. package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs +0 -5
  704. package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs.map +0 -1
  705. package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs.map +0 -1
  706. package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bhx1tC1u.mjs +0 -255
  707. package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bhx1tC1u.mjs.map +0 -1
  708. package/fesm2022/acorex-modules-workflow-management-automation.entity-C_WRtcFX.mjs +0 -279
  709. package/fesm2022/acorex-modules-workflow-management-automation.entity-C_WRtcFX.mjs.map +0 -1
  710. package/fesm2022/acorex-modules-workflow-management-index--D61tV-f.mjs.map +0 -1
  711. package/fesm2022/acorex-modules-workflow-management-index-DXIQw3Ao.mjs.map +0 -1
  712. package/fesm2022/acorex-modules-workflow-management-index-OK7e-UOe.mjs +0 -264
  713. package/fesm2022/acorex-modules-workflow-management-index-OK7e-UOe.mjs.map +0 -1
  714. package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs.map +0 -1
  715. package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-column.component-B0f5IsoE.mjs.map +0 -1
  716. package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-DQ703kRI.mjs.map +0 -1
  717. package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DFN7awRu.mjs +0 -313
  718. package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DFN7awRu.mjs.map +0 -1
  719. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-DcqLomn4.mjs +0 -256
  720. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-DcqLomn4.mjs.map +0 -1
  721. package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs.map +0 -1
  722. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-Cvbzknxk.mjs.map +0 -1
  723. package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs.map +0 -1
  724. package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs.map +0 -1
  725. package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-task-management-task-board.page-CfgeDnBx.mjs","sources":["../../../../libs/modules/task-management/src/lib/features/task-board/task-board-content-skeleton/task-board-content-skeleton.component.ts","../../../../libs/modules/task-management/src/lib/features/task-board/task-board-content-skeleton/task-board-content-skeleton.component.html","../../../../libs/modules/task-management/src/lib/features/task-board/task-board-view-category.utils.ts","../../../../libs/modules/task-management/src/lib/features/task-board/task-board-filter.utils.ts","../../../../libs/modules/task-management/src/lib/features/task-board/task-board.viewmodel.ts","../../../../libs/modules/task-management/src/lib/features/task-board/task-board-detail-panel/task-board-detail-panel.component.ts","../../../../libs/modules/task-management/src/lib/features/task-board/task-board-detail-panel/task-board-detail-panel.component.html","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-calendar-view/task-board-scheduler-layout.utils.ts","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-calendar-view/task-board-calendar-view.component.ts","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-calendar-view/task-board-calendar-view.component.html","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-grid-view/task-board-grid-view.component.ts","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-grid-view/task-board-grid-view.component.html","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-kanban-view/task-board-kanban-view.component.ts","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-kanban-view/task-board-kanban-view.component.html","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-status-grouped-grid-view/task-board-status-grouped-grid-view.component.ts","../../../../libs/modules/task-management/src/lib/features/task-board/views/task-board-status-grouped-grid-view/task-board-status-grouped-grid-view.component.html","../../../../libs/modules/task-management/src/lib/features/task-board/task-board.page.ts","../../../../libs/modules/task-management/src/lib/features/task-board/task-board.page.html"],"sourcesContent":["import { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axm-task-board-content-skeleton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXSkeletonModule],\n templateUrl: './task-board-content-skeleton.component.html',\n styleUrl: './task-board-content-skeleton.component.scss',\n host: {\n class: 'axm-task-board-content-skeleton',\n 'aria-busy': 'true',\n 'aria-live': 'polite',\n },\n})\nexport class AXMTaskBoardContentSkeletonComponent {\n //#region ---- Constants ----\n\n private static readonly DAY_HEADER_COUNT = 7;\n\n private static readonly GRID_ROW_COUNT = 6;\n\n //#endregion\n\n //#region ---- Computed ----\n\n /** Weekday header placeholders (Sun–Sat). */\n protected readonly dayHeaderPlaceholders = computed(() =>\n Array.from({ length: AXMTaskBoardContentSkeletonComponent.DAY_HEADER_COUNT }, (_, index) => index),\n );\n\n /** Calendar-style grid row placeholders. */\n protected readonly gridRowPlaceholders = computed(() =>\n Array.from({ length: AXMTaskBoardContentSkeletonComponent.GRID_ROW_COUNT }, (_, index) => index),\n );\n\n /** Column placeholders per grid row. */\n protected readonly gridColumnPlaceholders = computed(() =>\n Array.from({ length: AXMTaskBoardContentSkeletonComponent.DAY_HEADER_COUNT }, (_, index) => index),\n );\n\n //#endregion\n}\n","<!-- Weekday header row -->\n<div class=\"axm-task-board-content-skeleton__header\">\n @for (index of dayHeaderPlaceholders(); track index) {\n <ax-skeleton [animated]=\"true\" class=\"axm-task-board-content-skeleton__day-header\"></ax-skeleton>\n }\n</div>\n\n<!-- Generic board grid (calendar / kanban / table placeholder) -->\n<div class=\"axm-task-board-content-skeleton__grid\">\n @for (row of gridRowPlaceholders(); track row) {\n <div class=\"axm-task-board-content-skeleton__row\">\n @for (col of gridColumnPlaceholders(); track col) {\n <div class=\"axm-task-board-content-skeleton__cell\">\n <ax-skeleton [animated]=\"true\" class=\"axm-task-board-content-skeleton__cell-date\"></ax-skeleton>\n </div>\n }\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport type { AXCalendarService } from '@acorex/core/date-time';\nimport type { AXPDateTimeFilterValue } from '@acorex/platform/common';\nimport { applyDateFilterPreset } from '@acorex/platform/common';\nimport type { AXPTaskBoardViewCategory } from './task-board-menu.definition';\nimport type { AXPTaskBoardViewMode } from './task-board.viewmodel';\n\n//#endregion\n\n//#region ---- Layout Types ----\n\nexport type AXPTaskBoardCalendarLayout = 'daily' | 'weekly' | 'monthly' | 'agenda';\nexport type AXPTaskBoardTimelineLayout = 'daily' | 'weekly' | 'monthly' | 'yearly';\nexport type AXPTaskBoardTableLayout = 'simple' | 'grouped';\nexport type AXPTaskBoardViewLayout = AXPTaskBoardCalendarLayout | AXPTaskBoardTimelineLayout | AXPTaskBoardTableLayout;\n\nexport const AXM_TASK_BOARD_VIEW_CATEGORIES: readonly AXPTaskBoardViewCategory[] = [\n 'calendar',\n 'timeline',\n 'table',\n 'kanban',\n];\n\nexport const AXM_TASK_BOARD_DEFAULT_LAYOUT_BY_CATEGORY: Record<AXPTaskBoardViewCategory, AXPTaskBoardViewLayout | null> = {\n calendar: 'monthly',\n timeline: 'daily',\n table: 'simple',\n kanban: null,\n};\n\n//#endregion\n\n//#region ---- Category ↔ Leaf Mode ----\n\nconst CALENDAR_LAYOUT_TO_MODE: Record<AXPTaskBoardCalendarLayout, AXPTaskBoardViewMode> = {\n daily: 'day',\n weekly: 'week',\n monthly: 'month',\n agenda: 'agenda',\n};\n\nconst TIMELINE_LAYOUT_TO_MODE: Record<AXPTaskBoardTimelineLayout, AXPTaskBoardViewMode> = {\n daily: 'timeline-day',\n weekly: 'timeline-weekly',\n monthly: 'timeline-month',\n yearly: 'timeline-year',\n};\n\nconst TABLE_LAYOUT_TO_MODE: Record<AXPTaskBoardTableLayout, AXPTaskBoardViewMode> = {\n simple: 'grid',\n grouped: 'status-grouped-grid',\n};\n\nexport function resolveTaskBoardViewCategory(viewMode: AXPTaskBoardViewMode): AXPTaskBoardViewCategory {\n if (viewMode === 'kanban') {\n return 'kanban';\n }\n if (viewMode === 'grid' || viewMode === 'status-grouped-grid') {\n return 'table';\n }\n if (viewMode.startsWith('timeline-')) {\n return 'timeline';\n }\n return 'calendar';\n}\n\nexport function resolveTaskBoardViewLayout(viewMode: AXPTaskBoardViewMode): AXPTaskBoardViewLayout | null {\n if (viewMode === 'kanban') {\n return null;\n }\n const calendarEntry = Object.entries(CALENDAR_LAYOUT_TO_MODE).find(([, mode]) => mode === viewMode);\n if (calendarEntry) {\n return calendarEntry[0] as AXPTaskBoardCalendarLayout;\n }\n const timelineEntry = Object.entries(TIMELINE_LAYOUT_TO_MODE).find(([, mode]) => mode === viewMode);\n if (timelineEntry) {\n return timelineEntry[0] as AXPTaskBoardTimelineLayout;\n }\n const tableEntry = Object.entries(TABLE_LAYOUT_TO_MODE).find(([, mode]) => mode === viewMode);\n if (tableEntry) {\n return tableEntry[0] as AXPTaskBoardTableLayout;\n }\n return AXM_TASK_BOARD_DEFAULT_LAYOUT_BY_CATEGORY.calendar;\n}\n\nexport function resolveTaskBoardLeafViewMode(\n category: AXPTaskBoardViewCategory,\n layout: AXPTaskBoardViewLayout | null | undefined,\n): AXPTaskBoardViewMode {\n switch (category) {\n case 'calendar':\n return CALENDAR_LAYOUT_TO_MODE[(layout as AXPTaskBoardCalendarLayout) ?? 'monthly'] ?? 'month';\n case 'timeline':\n return TIMELINE_LAYOUT_TO_MODE[(layout as AXPTaskBoardTimelineLayout) ?? 'daily'] ?? 'timeline-day';\n case 'table':\n return TABLE_LAYOUT_TO_MODE[(layout as AXPTaskBoardTableLayout) ?? 'simple'] ?? 'grid';\n case 'kanban':\n return 'kanban';\n default:\n return 'month';\n }\n}\n\nexport function isTaskBoardRangeFilterCategory(category: AXPTaskBoardViewCategory): boolean {\n return category === 'table' || category === 'kanban';\n}\n\nexport function usesTaskBoardToolbarNavigator(_viewMode: AXPTaskBoardViewMode): boolean {\n return true;\n}\n\nexport function getTaskBoardLayoutOptions(\n category: AXPTaskBoardViewCategory,\n): { key: AXPTaskBoardViewLayout; text: string; icon: string }[] {\n switch (category) {\n case 'calendar':\n return [\n { key: 'daily', text: 'daily', icon: 'fa-light fa-calendar-day' },\n { key: 'weekly', text: 'weekly', icon: 'fa-light fa-calendar-week' },\n { key: 'monthly', text: 'monthly', icon: 'fa-light fa-calendar-alt' },\n { key: 'agenda', text: 'agenda', icon: 'fa-light fa-calendar-range' },\n ];\n case 'timeline':\n return [\n { key: 'daily', text: 'daily', icon: 'fa-light fa-calendar-day' },\n { key: 'weekly', text: 'weekly', icon: 'fa-light fa-calendar-week' },\n { key: 'monthly', text: 'monthly', icon: 'fa-light fa-calendar-alt' },\n { key: 'yearly', text: 'yearly', icon: 'fa-light fa-calendar-range' },\n ];\n case 'table':\n return [\n { key: 'simple', text: 'grid', icon: 'fa-light fa-table' },\n { key: 'grouped', text: 'status-grouped-grid', icon: 'fa-light fa-table' },\n ];\n default:\n return [];\n }\n}\n\n//#endregion\n\n//#region ---- Date Range ----\n\nexport interface AXMTaskBoardDateRange {\n from: Date;\n end: Date;\n}\n\nexport function deriveTaskBoardDateRangeFromNavigator(\n calendarService: AXCalendarService,\n viewMode: AXPTaskBoardViewMode,\n currentDate: Date,\n daysCount: number,\n): AXMTaskBoardDateRange {\n const cal = calendarService.create(currentDate);\n\n switch (viewMode) {\n case 'month':\n case 'timeline-month':\n return {\n from: cal.startOf('month').date,\n end: cal.endOf('month').date,\n };\n case 'week':\n return {\n from: cal.startOf('week').date,\n end: cal.add('day', 6).date,\n };\n case 'timeline-weekly':\n return {\n from: cal.date,\n end: cal.add('day', Math.max(1, daysCount) - 1).date,\n };\n case 'timeline-year':\n return {\n from: cal.startOf('year').date,\n end: cal.endOf('year').date,\n };\n case 'agenda':\n case 'grid':\n case 'status-grouped-grid':\n case 'kanban':\n return {\n from: cal.date,\n end: cal.add('day', Math.max(1, daysCount) - 1).date,\n };\n case 'day':\n case 'timeline-day':\n default:\n return {\n from: cal.startOf('day').date,\n end: cal.endOf('day').date,\n };\n }\n}\n\nexport function createTodayTaskBoardDateFilterValue(calendarService: AXCalendarService): AXPDateTimeFilterValue {\n return applyDateFilterPreset('today', calendarService) ?? {\n operation: { type: 'between' },\n value: {\n from: calendarService.create(new Date()).startOf('day').date.toISOString(),\n to: calendarService.create(new Date()).endOf('day').date.toISOString(),\n },\n };\n}\n\nexport function parseTaskBoardDateFilterValue(value: unknown): AXMTaskBoardDateRange | null {\n if (value == null) {\n return null;\n }\n const raw = value as AXPDateTimeFilterValue;\n const payload = raw.value;\n if (payload == null) {\n return null;\n }\n if (typeof payload === 'string') {\n const date = new Date(payload);\n return Number.isNaN(date.getTime()) ? null : { from: date, end: date };\n }\n const from = payload.from ? new Date(payload.from) : null;\n const end = payload.to ? new Date(payload.to) : from;\n if (!from || !end || Number.isNaN(from.getTime()) || Number.isNaN(end.getTime())) {\n return null;\n }\n return { from, end };\n}\n\nexport function toTaskBoardDateFilterValue(range: AXMTaskBoardDateRange): AXPDateTimeFilterValue {\n return {\n operation: { type: 'between' },\n value: {\n from: range.from.toISOString(),\n to: range.end.toISOString(),\n },\n };\n}\n\nexport async function formatTaskBoardDateRangeDisplayText(\n range: AXMTaskBoardDateRange,\n calendarService: AXCalendarService,\n format: string,\n): Promise<string> {\n const from = calendarService.create(range.from).format(format);\n const end = calendarService.create(range.end).format(format);\n if (from === end) {\n return from;\n }\n return `${from} – ${end}`;\n}\n\nexport function applyTaskBoardDateRangeToViewModel(\n range: AXMTaskBoardDateRange,\n setCurrentDate: (date: Date) => void,\n setDaysCount: (days: number) => void,\n): void {\n setCurrentDate(range.from);\n const start = new Date(range.from.getFullYear(), range.from.getMonth(), range.from.getDate());\n const end = new Date(range.end.getFullYear(), range.end.getMonth(), range.end.getDate());\n const days = Math.round((end.getTime() - start.getTime()) / (1000 * 3600 * 24)) + 1;\n setDaysCount(Math.max(1, days));\n}\n\n//#endregion\n\n//#region ---- Settings Visibility ----\n\nexport function normalizeVisibleTaskBoardCategories(flags: {\n calendar?: boolean;\n timeline?: boolean;\n table?: boolean;\n kanban?: boolean;\n}): AXPTaskBoardViewCategory[] {\n const categories: AXPTaskBoardViewCategory[] = [];\n if (flags.calendar !== false) {\n categories.push('calendar');\n }\n if (flags.timeline !== false) {\n categories.push('timeline');\n }\n if (flags.table !== false) {\n categories.push('table');\n }\n if (flags.kanban !== false) {\n categories.push('kanban');\n }\n return categories.length > 0 ? categories : [...AXM_TASK_BOARD_VIEW_CATEGORIES];\n}\n\nexport function resolveTaskBoardCategoryLayoutFromQuery(\n category: AXPTaskBoardViewCategory,\n layout: string | null,\n): AXPTaskBoardViewLayout | null {\n if (category === 'kanban') {\n return null;\n }\n const options = getTaskBoardLayoutOptions(category);\n const match = options.find((option) => option.key === layout);\n return (match?.key ?? AXM_TASK_BOARD_DEFAULT_LAYOUT_BY_CATEGORY[category]) as AXPTaskBoardViewLayout;\n}\n\n//#endregion\n","import { AXPDueStatusFilterKey } from './due-status';\nimport { normalizePriorityFilterKeys, type AXPPriorityFilterKey } from './task-board-priority.utils';\n\nexport interface AXPTaskBoardTaskTypeOption {\n name: string;\n title: string;\n}\n\n/**\n * Keeps task-type filter values on stable provider {@link AXPTaskBoardTaskTypeOption.name} keys.\n * Display titles are locale-dependent and must never be used for filtering.\n */\nexport function normalizeTaskTypeFilterNames(\n values: string[] | undefined,\n taskTypes: AXPTaskBoardTaskTypeOption[],\n): string[] {\n if (!values?.length) {\n return [];\n }\n\n if (taskTypes.length === 0) {\n return [...new Set(values.map((value) => value.trim()).filter(Boolean))];\n }\n\n const names = new Set(taskTypes.map((type) => type.name));\n\n const normalized = values.flatMap((value) => {\n const trimmed = value.trim();\n if (!trimmed) {\n return [];\n }\n\n if (names.has(trimmed)) {\n return [trimmed];\n }\n\n const matchedByTitle = taskTypes.find((type) => type.title.trim() === trimmed);\n if (matchedByTitle) {\n return [matchedByTitle.name];\n }\n\n return [];\n });\n\n return [...new Set(normalized)];\n}\n\nconst DUE_STATUS_FILTER_NAMES = new Set<AXPDueStatusFilterKey>([\n 'completed',\n 'no-due-date',\n 'overdue',\n 'due-today',\n 'due-tomorrow',\n 'due-this-week',\n 'upcoming',\n]);\n\n/** Maps due-status filter chips back to stable keys (never localized labels). */\nexport function normalizeDueStatusFilterKeys(values: unknown[] | undefined): AXPDueStatusFilterKey[] {\n if (!values?.length) {\n return [];\n }\n\n const titleToName: Record<string, AXPDueStatusFilterKey> = {\n completed: 'completed',\n 'no due date': 'no-due-date',\n overdue: 'overdue',\n 'due today': 'due-today',\n 'due tomorrow': 'due-tomorrow',\n 'due this week': 'due-this-week',\n upcoming: 'upcoming',\n };\n\n const normalized = values.flatMap((value) => {\n const trimmed = String(value ?? '').trim();\n if (!trimmed) {\n return [];\n }\n\n if (DUE_STATUS_FILTER_NAMES.has(trimmed as AXPDueStatusFilterKey)) {\n return [trimmed as AXPDueStatusFilterKey];\n }\n\n const fromTitle = titleToName[trimmed.toLowerCase()];\n return fromTitle ? [fromTitle] : [];\n });\n\n return [...new Set(normalized)];\n}\n\n/** Re-exports priority normalization for filter panels that may receive display labels. */\nexport function normalizeTaskBoardPriorityFilterKeys(values: unknown[] | undefined): AXPPriorityFilterKey[] {\n return normalizePriorityFilterKeys(values);\n}\n\nexport { normalizeRegionalCalendarEventIds } from '@acorex/modules/calendar-management';\n","import { AXSchedulerView } from '@acorex/components/scheduler';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPRegionalSetting, AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { AXMTaskBoardSettings } from './settings.keys';\nimport { canViewAllTaskAssignees, hasTaskBoardSavedAssigneePreference, normalizeTaskBoardAssigneeIds, resolveTaskBoardSavedAssigneeIds } from './task-board-assignee-access';\nimport type { AXPTaskBoardViewCategory } from './task-board-menu.definition';\nimport {\n AXM_TASK_BOARD_DEFAULT_LAYOUT_BY_CATEGORY,\n normalizeVisibleTaskBoardCategories,\n resolveTaskBoardLeafViewMode,\n resolveTaskBoardViewCategory,\n resolveTaskBoardViewLayout,\n type AXPTaskBoardCalendarLayout,\n type AXPTaskBoardTableLayout,\n type AXPTaskBoardTimelineLayout,\n type AXPTaskBoardViewLayout,\n} from './task-board-view-category.utils';\nimport { AXPTaskBoardService } from './task-board.service';\nimport { AXPTask, AXPTaskBoardColorBy, AXPWorkflowTaskProvider } from './task-board.types';\nimport { AXPPriorityFilterKey } from './task-board-priority.utils';\nimport { AXPDueStatusFilterKey } from './due-status';\nimport {\n normalizeDueStatusFilterKeys,\n normalizeRegionalCalendarEventIds,\n normalizeTaskBoardPriorityFilterKeys,\n normalizeTaskTypeFilterNames,\n} from './task-board-filter.utils';\n\ntype AXPTaskPriority = NonNullable<AXPTask['priority']>;\nexport type { AXPPriorityFilterKey };\nexport type AXPTaskBoardViewMode = AXSchedulerView | 'kanban' | 'grid' | 'status-grouped-grid';\n\ntype AXPTaskBoardState = {\n daysCount: number;\n currentDate: Date;\n isLoading: boolean;\n detailPanel: boolean;\n rangeStartDate: Date | null;\n selectedTask: AXPTask | null;\n selectedTaskTypeNames: string[];\n taskTypes: AXPWorkflowTaskProvider[];\n currentViewMode: AXPTaskBoardViewMode;\n /** View families the user may select (from settings). */\n visibleViewCategories: AXPTaskBoardViewCategory[];\n calendarLayout: AXPTaskBoardCalendarLayout;\n timelineLayout: AXPTaskBoardTimelineLayout;\n tableLayout: AXPTaskBoardTableLayout;\n selectedPriorities: AXPPriorityFilterKey[];\n selectedDueStatusKeys: AXPDueStatusFilterKey[];\n colorBy: AXPTaskBoardColorBy;\n selectedAssigneeIds: (string | number)[];\n /** False until the user (or persisted settings) sets assignee ids explicitly. */\n assigneeFilterHasSavedPreference: boolean;\n selectedReporterIds: (string | number)[];\n selectedCalendarEventTypeIds: string[];\n};\n\nexport const AXMTaskBoardViewModel = signalStore(\n { providedIn: 'root' },\n withState<AXPTaskBoardState>(() => ({\n daysCount: 7,\n taskTypes: [],\n isLoading: true,\n detailPanel: false,\n selectedTask: null,\n rangeStartDate: null,\n currentDate: new Date(),\n currentViewMode: 'month',\n visibleViewCategories: ['calendar', 'timeline', 'table', 'kanban'],\n calendarLayout: 'monthly',\n timelineLayout: 'daily',\n tableLayout: 'simple',\n selectedTaskTypeNames: [],\n selectedAssigneeIds: [],\n assigneeFilterHasSavedPreference: false,\n selectedPriorities: [],\n selectedDueStatusKeys: [],\n colorBy: 'dueDate',\n selectedReporterIds: [],\n selectedCalendarEventTypeIds: [],\n })),\n\n withComputed((store) => ({\n currentViewCategory: computed(() => resolveTaskBoardViewCategory(store.currentViewMode())),\n selectedTaskTypes: computed(() => {\n const names = store.selectedTaskTypeNames();\n if (!names || names.length === 0) {\n return [];\n }\n return store.taskTypes().filter((tt) => names.includes(tt.name));\n }),\n isTaskSelected: computed(() => store.selectedTask() !== null),\n isDetailPanelOpen: computed(() => store.detailPanel()),\n effectiveColorBy: computed((): AXPTaskBoardColorBy => store.colorBy()),\n endDate: computed(() => {\n const currentDate = store.currentDate();\n const daysCount = store.daysCount();\n // Calculate end of the last day in the range (23:59:59.999)\n const endDate = new Date(currentDate);\n endDate.setDate(endDate.getDate() + daysCount - 1);\n endDate.setHours(23, 59, 59, 999);\n return endDate;\n }),\n activeFilterCount: computed(() => {\n let count = 0;\n if (\n store.currentViewMode() !== 'kanban' &&\n store.currentViewMode() !== 'status-grouped-grid' &&\n store.selectedTaskTypeNames().length > 0\n ) {\n count++;\n }\n if (store.selectedAssigneeIds().length > 0) {\n count++;\n }\n if (store.selectedReporterIds().length > 0) {\n count++;\n }\n if (store.selectedPriorities().length > 0) {\n count++;\n }\n if (store.selectedDueStatusKeys().length > 0) {\n count++;\n }\n return count;\n }),\n })),\n\n withMethods(\n (\n store,\n settingsService = inject(AXPSettingsService),\n taskBoardService = inject(AXPTaskBoardService),\n sessionService = inject(AXPSessionService),\n ) => {\n const userScopedSettings = () => settingsService.scope(AXPPlatformScope.User);\n let settingsSyncInitialized = false;\n\n const syncSettingsFromChangeEvent = (keys: string[], values: Record<string, unknown>) => {\n const patch: Partial<AXPTaskBoardState> = {};\n\n if (keys.includes(AXMTaskBoardSettings.ColorBy)) {\n patch.colorBy = (values[AXMTaskBoardSettings.ColorBy] as AXPTaskBoardColorBy | undefined) ?? 'dueDate';\n }\n\n if (keys.includes(AXPRegionalSetting.CalendarEvents)) {\n patch.selectedCalendarEventTypeIds = normalizeRegionalCalendarEventIds(\n values[AXPRegionalSetting.CalendarEvents],\n );\n }\n\n if (Object.keys(patch).length > 0) {\n patchState(store, patch);\n }\n };\n\n return {\n async reloadTaskTypes() {\n const taskTypes = await taskBoardService.getTaskTypes();\n patchState(store, { taskTypes });\n },\n\n async initialize() {\n patchState(store, { isLoading: true });\n try {\n const taskTypes = await taskBoardService.getTaskTypes();\n patchState(store, { taskTypes });\n\n const [\n savedDaysCount,\n savedDateString,\n savedDetailPanel,\n savedViewMode,\n savedVisibleCalendar,\n savedVisibleTimeline,\n savedVisibleTable,\n savedVisibleKanban,\n savedCalendarLayout,\n savedTimelineLayout,\n savedTableLayout,\n savedTaskTypeNames,\n savedAssigneeIds,\n savedReporterIds,\n savedPriorities,\n savedDueStatusKeys,\n savedColorBy,\n savedCalendarEventIds,\n ] = await Promise.all([\n userScopedSettings().get<number | undefined>(AXMTaskBoardSettings.DaysCount),\n userScopedSettings().get<string | undefined>(AXMTaskBoardSettings.CurrentDate),\n userScopedSettings().get<boolean | undefined>(AXMTaskBoardSettings.DetailPanel),\n userScopedSettings().get<AXPTaskBoardViewMode | undefined>(AXMTaskBoardSettings.ViewMode),\n userScopedSettings().get<boolean | undefined>(AXMTaskBoardSettings.VisibleCalendar),\n userScopedSettings().get<boolean | undefined>(AXMTaskBoardSettings.VisibleTimeline),\n userScopedSettings().get<boolean | undefined>(AXMTaskBoardSettings.VisibleTable),\n userScopedSettings().get<boolean | undefined>(AXMTaskBoardSettings.VisibleKanban),\n userScopedSettings().get<AXPTaskBoardCalendarLayout | undefined>(AXMTaskBoardSettings.CalendarLayout),\n userScopedSettings().get<AXPTaskBoardTimelineLayout | undefined>(AXMTaskBoardSettings.TimelineLayout),\n userScopedSettings().get<AXPTaskBoardTableLayout | undefined>(AXMTaskBoardSettings.TableLayout),\n userScopedSettings().get<string[] | undefined>(AXMTaskBoardSettings.SelectedTaskTypeNames),\n userScopedSettings().get<(string | number)[] | undefined>(AXMTaskBoardSettings.SelectedAssigneeIds),\n userScopedSettings().get<(string | number)[] | undefined>(AXMTaskBoardSettings.SelectedReporterIds),\n userScopedSettings().get<AXPPriorityFilterKey[] | undefined>(AXMTaskBoardSettings.SelectedPriorities),\n userScopedSettings().get<AXPDueStatusFilterKey[] | undefined>(AXMTaskBoardSettings.SelectedDueStatusKeys),\n userScopedSettings().get<AXPTaskBoardColorBy | undefined>(AXMTaskBoardSettings.ColorBy),\n settingsService.get<string[] | undefined>(AXPRegionalSetting.CalendarEvents),\n ]);\n\n const visibleViewCategories = normalizeVisibleTaskBoardCategories({\n calendar: savedVisibleCalendar,\n timeline: savedVisibleTimeline,\n table: savedVisibleTable,\n kanban: savedVisibleKanban,\n });\n\n // Ensure currentDate is always a valid Date\n let currentDate: Date;\n if (savedDateString) {\n const parsedDate = new Date(savedDateString);\n currentDate = isNaN(parsedDate.getTime()) ? new Date() : parsedDate;\n } else {\n currentDate = new Date();\n }\n\n const canViewAll = canViewAllTaskAssignees(sessionService);\n const assigneeFilterHasSavedPreference = hasTaskBoardSavedAssigneePreference(savedAssigneeIds);\n const resolvedSavedAssigneeIds = resolveTaskBoardSavedAssigneeIds(sessionService, savedAssigneeIds);\n const defaultAssigneeIds = canViewAll\n ? resolvedSavedAssigneeIds\n : normalizeTaskBoardAssigneeIds(sessionService, resolvedSavedAssigneeIds);\n\n const calendarLayout = savedCalendarLayout ?? 'monthly';\n const timelineLayout = savedTimelineLayout ?? 'daily';\n const tableLayout = savedTableLayout ?? 'simple';\n\n let effectiveViewMode: AXPTaskBoardViewMode = savedViewMode || 'month';\n const effectiveCategory = resolveTaskBoardViewCategory(effectiveViewMode);\n if (!visibleViewCategories.includes(effectiveCategory)) {\n const fallbackCategory = visibleViewCategories[0] ?? 'calendar';\n effectiveViewMode = resolveTaskBoardLeafViewMode(\n fallbackCategory,\n AXM_TASK_BOARD_DEFAULT_LAYOUT_BY_CATEGORY[fallbackCategory],\n );\n }\n\n if (savedViewMode != null && effectiveViewMode !== savedViewMode) {\n userScopedSettings()\n .set(AXMTaskBoardSettings.ViewMode, effectiveViewMode)\n .catch((error) => console.error('Error aligning task board view mode with visible views:', error));\n }\n\n let selectedTaskTypeNames = normalizeTaskTypeFilterNames(savedTaskTypeNames ?? [], taskTypes);\n if (\n selectedTaskTypeNames.length === 0 &&\n taskTypes.length > 0 &&\n (effectiveViewMode === 'kanban' || effectiveViewMode === 'status-grouped-grid')\n ) {\n selectedTaskTypeNames = [taskTypes[0].name];\n }\n\n patchState(store, {\n daysCount: savedDaysCount || 7,\n detailPanel: savedDetailPanel || false,\n currentViewMode: effectiveViewMode,\n visibleViewCategories,\n calendarLayout,\n timelineLayout,\n tableLayout,\n currentDate,\n selectedTaskTypeNames,\n selectedAssigneeIds: defaultAssigneeIds,\n assigneeFilterHasSavedPreference,\n selectedReporterIds: savedReporterIds || [],\n selectedPriorities: normalizeTaskBoardPriorityFilterKeys(savedPriorities),\n selectedDueStatusKeys: normalizeDueStatusFilterKeys(savedDueStatusKeys),\n colorBy: savedColorBy || 'dueDate',\n selectedCalendarEventTypeIds: normalizeRegionalCalendarEventIds(savedCalendarEventIds),\n isLoading: false,\n });\n\n if (!settingsSyncInitialized) {\n settingsSyncInitialized = true;\n settingsService.onChanged.subscribe((event) => {\n if (event.scope !== AXPPlatformScope.User) {\n return;\n }\n syncSettingsFromChangeEvent(event.keys, event.values);\n });\n }\n } catch (error) {\n console.error('Error initializing TaskBoard ViewModel:', error);\n patchState(store, {\n detailPanel: false,\n currentViewMode: 'month',\n visibleViewCategories: ['calendar', 'timeline', 'table', 'kanban'],\n calendarLayout: 'monthly',\n timelineLayout: 'daily',\n tableLayout: 'simple',\n currentDate: new Date(),\n selectedTaskTypeNames: [],\n selectedAssigneeIds: [],\n assigneeFilterHasSavedPreference: false,\n selectedPriorities: [],\n selectedDueStatusKeys: [],\n colorBy: 'dueDate',\n selectedReporterIds: [],\n selectedCalendarEventTypeIds: [],\n taskTypes: store.taskTypes(),\n isLoading: false,\n });\n }\n },\n\n setViewMode(mode: AXPTaskBoardViewMode) {\n let category = resolveTaskBoardViewCategory(mode);\n const allowed = store.visibleViewCategories();\n if (!allowed.includes(category)) {\n const fallbackCategory = allowed[0] ?? category;\n mode = resolveTaskBoardLeafViewMode(\n fallbackCategory,\n this.getLayoutForCategory(fallbackCategory),\n );\n category = fallbackCategory;\n }\n\n const layout = resolveTaskBoardViewLayout(mode);\n if (layout) {\n this.patchLayoutForCategory(category, layout);\n }\n\n this.applyLeafViewMode(mode);\n },\n\n setViewCategory(category: AXPTaskBoardViewCategory) {\n const allowed = store.visibleViewCategories();\n const effectiveCategory = allowed.includes(category) ? category : (allowed[0] ?? category);\n const layout = this.getLayoutForCategory(effectiveCategory);\n this.applyLeafViewMode(resolveTaskBoardLeafViewMode(effectiveCategory, layout));\n },\n\n setViewLayout(category: AXPTaskBoardViewCategory, layout: AXPTaskBoardViewLayout) {\n this.patchLayoutForCategory(category, layout);\n if (resolveTaskBoardViewCategory(store.currentViewMode()) === category) {\n this.applyLeafViewMode(resolveTaskBoardLeafViewMode(category, layout));\n } else {\n this.persistLayout(category, layout);\n }\n },\n\n getLayoutForCategory(category: AXPTaskBoardViewCategory): AXPTaskBoardViewLayout | null {\n switch (category) {\n case 'calendar':\n return store.calendarLayout();\n case 'timeline':\n return store.timelineLayout();\n case 'table':\n return store.tableLayout();\n default:\n return null;\n }\n },\n\n patchLayoutForCategory(category: AXPTaskBoardViewCategory, layout: AXPTaskBoardViewLayout) {\n switch (category) {\n case 'calendar':\n patchState(store, { calendarLayout: layout as AXPTaskBoardCalendarLayout });\n break;\n case 'timeline':\n patchState(store, { timelineLayout: layout as AXPTaskBoardTimelineLayout });\n break;\n case 'table':\n patchState(store, { tableLayout: layout as AXPTaskBoardTableLayout });\n break;\n }\n this.persistLayout(category, layout);\n },\n\n persistLayout(category: AXPTaskBoardViewCategory, layout: AXPTaskBoardViewLayout) {\n const key =\n category === 'calendar'\n ? AXMTaskBoardSettings.CalendarLayout\n : category === 'timeline'\n ? AXMTaskBoardSettings.TimelineLayout\n : AXMTaskBoardSettings.TableLayout;\n userScopedSettings()\n .set(key, layout)\n .catch((error) => console.error('Error saving task board view layout:', error));\n },\n\n applyLeafViewMode(mode: AXPTaskBoardViewMode) {\n if (\n (mode === 'kanban' || mode === 'status-grouped-grid') &&\n store.selectedTaskTypeNames().length === 0\n ) {\n const firstTaskType = store.taskTypes()[0];\n if (firstTaskType) {\n this.setSelectedTaskTypeNames([firstTaskType.name]);\n }\n }\n if (\n (mode === 'kanban' || mode === 'status-grouped-grid') &&\n store.selectedTaskTypeNames().length > 1\n ) {\n this.setSelectedTaskTypeNames([store.selectedTaskTypeNames()[0]]);\n }\n patchState(store, { currentViewMode: mode });\n userScopedSettings()\n .set(AXMTaskBoardSettings.ViewMode, mode)\n .catch((error) => console.error('Error saving task board view mode:', error));\n },\n\n setCurrentDate(date: Date) {\n patchState(store, { currentDate: new Date(date) });\n userScopedSettings()\n .set(AXMTaskBoardSettings.CurrentDate, date.toISOString())\n .catch((error) => console.error('Error saving current date:', error));\n },\n\n setSelectedTaskTypeNames(taskTypeNames: string[], isQueryParam: boolean = false) {\n patchState(store, { selectedTaskTypeNames: taskTypeNames });\n if (isQueryParam) return;\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedTaskTypeNames, taskTypeNames)\n .catch((error) => console.error('Error saving selected task type filter:', error));\n },\n\n setSelectedAssigneeIds(\n assigneeIds: (string | number)[],\n isQueryParam: boolean = false,\n persistPreference: boolean = !isQueryParam,\n ) {\n const normalizedAssigneeIds = normalizeTaskBoardAssigneeIds(sessionService, assigneeIds);\n patchState(store, {\n selectedAssigneeIds: normalizedAssigneeIds,\n ...(persistPreference ? { assigneeFilterHasSavedPreference: true } : {}),\n });\n if (isQueryParam || !persistPreference) return;\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedAssigneeIds, normalizedAssigneeIds)\n .catch((error) => console.error('Error saving selected assignee filter:', error));\n },\n\n setSelectedReporterIds(reporterIds: (string | number)[], isQueryParam: boolean = false) {\n patchState(store, { selectedReporterIds: reporterIds });\n if (isQueryParam) return;\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedReporterIds, reporterIds)\n .catch((error) => console.error('Error saving selected reporter filter:', error));\n },\n\n setSelectedPriorities(priorities: AXPPriorityFilterKey[], isQueryParam: boolean = false) {\n patchState(store, { selectedPriorities: priorities });\n if (isQueryParam) return;\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedPriorities, priorities)\n .catch((error) => console.error('Error saving selected priority filter:', error));\n },\n\n setSelectedDueStatusKeys(dueStatusKeys: AXPDueStatusFilterKey[], isQueryParam: boolean = false) {\n patchState(store, { selectedDueStatusKeys: dueStatusKeys });\n if (isQueryParam) return;\n userScopedSettings()\n .set(AXMTaskBoardSettings.SelectedDueStatusKeys, dueStatusKeys)\n .catch((error) => console.error('Error saving selected due status filter:', error));\n },\n\n setColorBy(colorBy: AXPTaskBoardColorBy) {\n patchState(store, { colorBy });\n userScopedSettings()\n .set(AXMTaskBoardSettings.ColorBy, colorBy)\n .catch((error) => console.error('Error saving task board color by:', error));\n },\n\n setSelectedCalendarEventTypeIds(eventTypeIds: string[]) {\n patchState(store, { selectedCalendarEventTypeIds: eventTypeIds });\n userScopedSettings()\n .set(AXPRegionalSetting.CalendarEvents, eventTypeIds)\n .catch((error) => console.error('Error saving selected calendar events:', error));\n },\n\n /**\n * Sets the currently selected task. Pass `null` to clear the selection.\n * @param task The task to select, or null.\n */\n selectTask(task: AXPTask | null) {\n patchState(store, { selectedTask: task });\n },\n\n /**\n * A convenience method to clear the currently selected task.\n */\n clearSelectedTask() {\n patchState(store, { selectedTask: null });\n },\n\n openDetailPanel() {\n patchState(store, { detailPanel: true });\n userScopedSettings()\n .set(AXMTaskBoardSettings.DetailPanel, true)\n .catch((error) => console.error('Error saving detail panel:', error));\n },\n\n closeDetailPanel() {\n patchState(store, { detailPanel: false });\n userScopedSettings()\n .set(AXMTaskBoardSettings.DetailPanel, false)\n .catch((error) => console.error('Error saving detail panel:', error));\n },\n\n toggleDetailPanel() {\n const detailPanel = !store.detailPanel();\n patchState(store, { detailPanel: detailPanel });\n userScopedSettings()\n .set(AXMTaskBoardSettings.DetailPanel, detailPanel)\n .catch((error) => console.error('Error saving detail panel:', error));\n },\n\n async getStatusName(key: any, provider: string): Promise<string | null> {\n return taskBoardService.getStatusName(key, provider);\n },\n\n /**\n * Sets the start date for a new range selection.\n * Pass `null` to clear the selection.\n * @param date The start date of the range.\n */\n setRangeStartDate(date: Date | null) {\n patchState(store, { rangeStartDate: date });\n },\n\n setDaysCount(days: number) {\n const count = Math.max(1, days);\n patchState(store, { daysCount: count });\n userScopedSettings()\n .set(AXMTaskBoardSettings.DaysCount, count)\n .catch((error) => console.error('Error saving days count:', error));\n },\n };\n },\n ),\n);\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXFormatPipe } from '@acorex/core/format';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXPStateMessageComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXPTaskBoardService } from '../task-board.service';\nimport { AXPExtraField } from '../task-board.types';\nimport { AXMTaskBoardViewModel } from '../task-board.viewmodel';\n\n@Component({\n selector: 'axm-task-board-detail-panel',\n templateUrl: './task-board-detail-panel.component.html',\n styleUrls: ['./task-board-detail-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AsyncPipe,\n AXFormatPipe,\n AXTranslatorPipe,\n AXButtonComponent,\n AXPStateMessageComponent,\n AXPWidgetCoreModule,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXMTaskBoardDetailPanel {\n protected readonly rootConfig = RootConfig;\n protected readonly vm = inject(AXMTaskBoardViewModel);\n protected readonly localeService = inject(AXLocaleService);\n protected readonly taskBoardService = inject(AXPTaskBoardService);\n\n protected statusName = signal<string>('');\n protected extraFields = signal<AXPExtraField[]>([]);\n\n #selectedTaskChanged = effect(async () => {\n const selectedTask = this.vm.selectedTask();\n const key = selectedTask?.status.id;\n const provider = selectedTask?.provider;\n if (!provider) return;\n const name = await this.vm.getStatusName(key, provider);\n if (name) this.statusName.set(name);\n });\n\n #selectedTaskTypeChanged = effect(async () => {\n const selectedTask = this.vm.selectedTask();\n const selectedTaskType = this.taskBoardService.getProvider(selectedTask?.provider);\n const extraFields = await selectedTaskType?.getExtraFields();\n if (!extraFields) {\n this.extraFields.set([]);\n return;\n }\n this.extraFields.set(extraFields);\n });\n\n protected capitalizeFirstLetter(text: string) {\n return String(text).charAt(0).toUpperCase() + String(text).slice(1);\n }\n}\n","@if (vm.isTaskSelected()) {\n @let nodeInfo = vm.selectedTask();\n <div class=\"__header\">\n <div class=\"__title\">\n <span>{{ nodeInfo?.title }}</span>\n </div>\n <ax-button [look]=\"'blank'\" class=\"ax-sm ax-rounded-full\" (onClick)=\"vm.closeDetailPanel()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"__content\">\n <div class=\"__section\">\n <div class=\"__title\">\n <span>{{ '@task-management:task-board.detail-panel.title' | translate | async }}</span>\n </div>\n <div class=\"__content\">\n @if (nodeInfo?.description) {\n <div class=\"__row\">\n <div class=\"__title\">\n <span>\n {{ '@task-management:task-board.detail-panel.description' | translate | async }}\n </span>\n </div>\n <div class=\"__content\">{{ nodeInfo?.description }}</div>\n </div>\n }\n <div class=\"__row\">\n <div class=\"__title\">\n <span>\n {{ '@task-management:task-board.detail-panel.start-date' | translate | async }}\n </span>\n </div>\n <div class=\"__content\">\n {{\n nodeInfo?.startDate\n | format: 'datetime' : { format: 'short', calendar: localeService.activeProfile().calendar.system }\n | async\n }}\n </div>\n </div>\n <div class=\"__row\">\n <div class=\"__title\">\n <span>{{ '@task-management:task-board.detail-panel.end-date' | translate | async }}</span>\n </div>\n <div class=\"__content\">\n {{\n nodeInfo?.endDate\n | format: 'datetime' : { format: 'short', calendar: localeService.activeProfile().calendar.system }\n | async\n }}\n </div>\n </div>\n <div class=\"__row\">\n <div class=\"__title\">\n <span>{{ '@task-management:task-board.detail-panel.reporter' | translate | async }}</span>\n </div>\n <div class=\"__content\">\n {{ nodeInfo?.reporter?.fullName }}\n </div>\n </div>\n @if (nodeInfo?.assignee) {\n <div class=\"__row\">\n <div class=\"__title\">\n <span>{{ '@task-management:task-board.detail-panel.assignee' | translate | async }}</span>\n </div>\n <div class=\"__content\">{{ nodeInfo?.assignee?.fullName }}</div>\n </div>\n }\n @if (statusName()) {\n <div class=\"__row\">\n <div class=\"__title\">\n <span>{{ '@task-management:task-board.detail-panel.status' | translate | async }}</span>\n </div>\n <div class=\"__content\">{{ statusName() }}</div>\n </div>\n }\n @if (nodeInfo?.priority) {\n <div class=\"__row\">\n <div class=\"__title\">\n <span>\n {{ '@task-management:task-board.detail-panel.priority' | translate | async }}\n </span>\n </div>\n <div class=\"__content\">{{ capitalizeFirstLetter(nodeInfo?.priority ?? '') }}</div>\n </div>\n }\n @if (extraFields() && extraFields().length) {\n <div class=\"__row\">\n <axp-widgets-container [context]=\"nodeInfo\">\n @for (extraField of extraFields(); track extraField) {\n <div class=\"__title\">\n <span>\n {{ extraField.title | translate | async }}\n </span>\n </div>\n <div class=\"__content\">\n <ng-container axp-widget-renderer [node]=\"extraField.widget\" [mode]=\"'view'\"> </ng-container>\n </div>\n }\n </axp-widgets-container>\n </div>\n }\n </div>\n </div>\n </div>\n} @else {\n <div class=\"__header\">\n <div class=\"__title\">\n <span>\n {{ '@task-management:task-board.detail-panel.title' | translate | async }}\n </span>\n </div>\n <ax-button [look]=\"'blank'\" class=\"ax-sm ax-rounded-full\" (onClick)=\"vm.closeDetailPanel()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n\n <div class=\"__content ax-flex ax-items-center ax-justify-center\">\n <axp-state-message\n icon=\"fa-light fa-clipboard-list-check\"\n [title]=\"'@task-management:task-board.detail-panel.no-task-selected.title'\"\n [description]=\"'@task-management:task-board.detail-panel.no-task-selected.description'\"\n >\n </axp-state-message>\n </div>\n}\n","import { AXPRegionalSetting } from '@acorex/platform/common';\n\nexport const TASK_BOARD_REGIONAL_LAYOUT_SETTING_KEYS = [\n AXPRegionalSetting.LocaleProfile,\n AXPRegionalSetting.Calendar,\n AXPRegionalSetting.FirstDayOfWeek,\n AXPRegionalSetting.WeekendDays,\n] as const;\n\nexport function buildTaskBoardRegionalProfileKey(parts: {\n profileCode: string;\n calendarSystem: string;\n weekStartsOn: number;\n weekendDays: readonly number[];\n}): string {\n return [parts.profileCode, parts.calendarSystem, parts.weekStartsOn, parts.weekendDays.join('-')].join('|');\n}\n","import {\n AXSchedulerAppointment,\n AXSchedulerAppointmentDataSource,\n AXSchedulerAppointmentMouseEvent,\n AXSchedulerComponent,\n AXSchedulerDateRange,\n AXSchedulerService,\n AXSchedulerSlotDropEvent,\n AXSchedulerSlotMouseEvent,\n AXSchedulerView,\n} from '@acorex/components/scheduler';\nimport { AXCalendarService, AXHolidayDate } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport {\n afterNextRender,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { RootConfig } from '../../../../const';\nimport { AXMTaskBoardTaskPopoverOverlayService } from '../../task-board-task-popover-overlay.service';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport { AXPResource, AXPTask, AXPTaskAction } from '../../task-board.types';\nimport { AXMTaskBoardViewModel, AXPTaskBoardViewMode } from '../../task-board.viewmodel';\nimport {\n buildTaskBoardRegionalProfileKey,\n TASK_BOARD_REGIONAL_LAYOUT_SETTING_KEYS,\n} from './task-board-scheduler-layout.utils';\n\n@Component({\n selector: 'axm-task-board-calendar-view',\n templateUrl: './task-board-calendar-view.component.html',\n styleUrls: ['./task-board-calendar-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXSchedulerComponent],\n})\nexport class AXMTaskBoardCalendarViewComponent implements AfterViewInit {\n protected readonly vm = inject(AXMTaskBoardViewModel);\n protected readonly taskBoardService = inject(AXPTaskBoardService);\n protected readonly settingService = inject(AXPSettingsService);\n protected readonly commandService = inject(AXPCommandService);\n protected readonly schedulerService = inject(AXSchedulerService);\n private readonly calendarService = inject(AXCalendarService);\n private readonly localeService = inject(AXLocaleService);\n private readonly taskPopoverOverlay = inject(AXMTaskBoardTaskPopoverOverlayService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly injector = inject(Injector);\n\n schedulerComponent = viewChild(AXSchedulerComponent);\n\n resources = input<AXPResource[]>([]);\n refreshNonce = input<number>(0);\n startingDate = input<Date>(new Date());\n selectedView = input<AXPTaskBoardViewMode>('month');\n dataSource = input.required<AXSchedulerAppointmentDataSource>();\n\n private readonly activeCalendar = toSignal(this.calendarService.calendarChanges$, {\n initialValue: this.calendarService.getActiveCalendar(),\n });\n\n /** Gates ax-scheduler in the template so we can destroy and recreate it cleanly on regional changes. */\n protected readonly schedulerMounted = signal(true);\n\n private readonly regionalSettingsRevision = signal(0);\n private previousRegionalProfileKey: string | null = null;\n\n /** Active calendar system (e.g. solar-hijri for fa-IR). Required for correct week/today rendering. */\n protected schedulerCalendar = computed(\n () => this.activeCalendar()?.name() ?? this.localeService.activeProfile().calendar.system,\n );\n\n /** Detects locale profile and week-layout changes that require a fresh ax-scheduler instance. */\n private readonly regionalProfileKey = computed(() => {\n this.regionalSettingsRevision();\n this.activeCalendar()?.weekdays;\n\n const profile = this.localeService.activeProfile();\n return buildTaskBoardRegionalProfileKey({\n profileCode: profile.localeInfo?.code ?? '',\n calendarSystem: this.schedulerCalendar(),\n weekStartsOn: profile.calendar.week?.startsOn ?? 0,\n weekendDays: profile.calendar.week?.weekends ?? [],\n });\n });\n\n /** Align week/month views to regional week boundaries before passing to ax-scheduler. */\n protected schedulerStartingDate = computed(() => {\n const date = this.startingDate();\n const calendar = this.schedulerCalendar();\n const axDate = this.calendarService.create(date, calendar);\n\n switch (this.currentSchedulerView()) {\n case 'week':\n return axDate.startOf('week').date;\n case 'month':\n case 'timeline-month':\n return axDate.startOf('month').date;\n default:\n return axDate.startOf('day').date;\n }\n });\n\n protected currentSchedulerView = computed<AXSchedulerView>(() =>\n this.selectedView() === 'kanban' || this.selectedView() === 'grid'\n ? 'month'\n : (this.selectedView() as AXSchedulerView),\n );\n\n onTaskClick = output<AXPTask>();\n onTaskChanged = output<AXPTask>();\n onMonthSlotDblClicked = output<Date>();\n onActionClick = output<AXPTaskAction>();\n component = output<AXSchedulerComponent>();\n onTaskRightClick = output<AXPTaskAction>();\n onRangeChanged = output<AXSchedulerDateRange>();\n\n constructor() {\n this.settingService.onChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (event.keys.some((key) => (TASK_BOARD_REGIONAL_LAYOUT_SETTING_KEYS as readonly string[]).includes(key))) {\n this.regionalSettingsRevision.update((value) => value + 1);\n }\n });\n }\n\n private readonly regionalRemountEffect = effect(() => {\n const profileKey = this.regionalProfileKey();\n\n untracked(() => {\n if (this.previousRegionalProfileKey === null) {\n this.previousRegionalProfileKey = profileKey;\n return;\n }\n\n if (profileKey === this.previousRegionalProfileKey) {\n return;\n }\n\n this.previousRegionalProfileKey = profileKey;\n this.remountScheduler();\n });\n });\n\n /** Re-binds parent scheduler ref whenever ax-scheduler remounts after a regional layout change. */\n private readonly schedulerInstanceEffect = effect(() => {\n if (!this.schedulerMounted()) {\n return;\n }\n\n const scheduler = this.schedulerComponent();\n if (!scheduler) {\n return;\n }\n\n afterNextRender(\n () => {\n const currentScheduler = this.schedulerComponent();\n if (!currentScheduler || !this.schedulerMounted()) {\n return;\n }\n\n this.component.emit(currentScheduler);\n this.syncSchedulerCurrentDateFromToolbar({ force: true });\n void currentScheduler.refresh();\n },\n { injector: this.injector },\n );\n });\n\n private readonly refreshNonceEffect = effect(() => {\n this.refreshNonce();\n if (!this.schedulerMounted()) {\n return;\n }\n void this.schedulerComponent()?.refresh();\n });\n\n private readonly schedulerStateSyncEffect = effect(() => {\n if (!this.schedulerMounted()) {\n return;\n }\n\n this.startingDate();\n this.schedulerStartingDate();\n this.schedulerCalendar();\n this.localeService.activeProfile().localeInfo?.code;\n this.currentSchedulerView();\n this.vm.daysCount();\n this.vm.selectedTaskTypeNames();\n this.vm.selectedAssigneeIds();\n this.vm.selectedReporterIds();\n this.vm.selectedPriorities();\n this.vm.selectedDueStatusKeys();\n this.refreshNonce();\n\n queueMicrotask(() => {\n this.syncSchedulerCurrentDateFromToolbar();\n void this.schedulerComponent()?.refresh();\n });\n });\n\n protected holidays = (range: AXSchedulerDateRange): Promise<AXHolidayDate[]> => {\n const selectedEventTypeIds = this.vm.selectedCalendarEventTypeIds();\n return this.taskBoardService.getEvents(range, selectedEventTypeIds);\n };\n\n /**\n * ax-scheduler only consumes `[startingDate]` on first mount; afterward its internal\n * `currentDate` must be updated explicitly when the external toolbar navigator changes.\n */\n private syncSchedulerCurrentDateFromToolbar(options?: { force?: boolean }): void {\n const scheduler = this.schedulerComponent();\n if (!scheduler) {\n return;\n }\n\n const view = this.currentSchedulerView();\n let targetDate = this.calendarService.create(this.schedulerStartingDate(), this.schedulerCalendar());\n\n if (view === 'week' || view === 'timeline-weekly') {\n targetDate = this.schedulerService.alignToWeekStart(targetDate, {});\n }\n\n if (!options?.force && targetDate.equal(scheduler.currentDate())) {\n return;\n }\n\n scheduler.currentDate.set(targetDate);\n }\n\n private remountScheduler(): void {\n this.schedulerMounted.set(false);\n\n afterNextRender(\n () => {\n this.schedulerMounted.set(true);\n },\n { injector: this.injector },\n );\n }\n\n async ngAfterViewInit(): Promise<void> {\n this.taskBoardService.refresh$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(async (data) => {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n if (data.provider && data.provider !== active.provider) {\n return;\n }\n await this.refreshPopoverData();\n });\n\n this.taskBoardService.close$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((data) => {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n if (data.provider && data.provider !== active.provider) {\n return;\n }\n this.taskPopoverOverlay.close();\n });\n }\n\n protected onTaskDrop(event: AXSchedulerSlotDropEvent): void {\n if (event.slot.view === 'agenda' && event.isSameSlotDrop) {\n return;\n }\n\n const dropResult = this.schedulerService.calculateAppointmentDropResult(event);\n if (dropResult.isSameSlotDrop) {\n return;\n }\n\n const originalTask = event.appointment as AXPTask;\n this.schedulerService.applyDropResult(\n originalTask as unknown as AXSchedulerAppointment,\n dropResult,\n );\n\n this.taskBoardService\n .updateTaskDateRange(originalTask, {\n from: dropResult.startDate,\n end: dropResult.endDate,\n })\n .then((persistedTask) => {\n this.onTaskChanged.emit(persistedTask);\n void this.schedulerComponent()?.refresh();\n })\n .catch((error) => {\n console.error('[TaskBoardCalendar] Failed to update task date range:', error);\n void this.schedulerComponent()?.refresh();\n });\n }\n\n protected onTaskRightClickHandler(event: AXSchedulerAppointmentMouseEvent): void {\n this.onTaskRightClick.emit({ nativeEvent: event.nativeEvent, task: event.appointment as AXPTask });\n }\n\n protected onSlotDblClicked(event: AXSchedulerSlotMouseEvent): void {\n if (event.sender.selectedView() === 'month') {\n this.onMonthSlotDblClicked.emit(event.slot.startDate.date);\n }\n }\n\n protected async handleRangeChanged(event: AXSchedulerDateRange): Promise<void> {\n this.onRangeChanged.emit(event);\n }\n\n protected handleActionClick(event: AXSchedulerAppointmentMouseEvent): void {\n this.onActionClick.emit({ nativeEvent: event.nativeEvent, task: event.appointment as AXPTask });\n }\n\n protected async onTaskClickHandler(event: AXSchedulerAppointmentMouseEvent): Promise<void> {\n const task = event.appointment as AXPTask;\n const anchor = this.resolveAppointmentAnchor(event);\n\n if (anchor) {\n await this.taskPopoverOverlay.open({\n task,\n anchor,\n offsetX: 12,\n offsetY: 12,\n adaptivityEnabled: true,\n });\n }\n\n this.onTaskClick.emit(task);\n }\n\n private async refreshPopoverData(): Promise<void> {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n\n const provider = this.taskBoardService.getProvider(active.provider);\n if (!provider) {\n return;\n }\n\n try {\n const result = await provider.getTasks();\n const updatedTask = result.items.find((t) => t.id === active.id);\n if (updatedTask) {\n await this.taskPopoverOverlay.refreshTask({ ...updatedTask, provider: active.provider });\n }\n void this.schedulerComponent()?.refresh();\n } catch (error) {\n console.error('[TaskPopover] Failed to refresh popover data:', error);\n }\n }\n\n protected async openTaskDetails(): Promise<void> {\n const task = this.taskPopoverOverlay.getActiveTask();\n if (!task) {\n return;\n }\n\n try {\n await this.commandService.execute('Entity:OpenDetails', {\n entity: `${RootConfig.module.name}.${RootConfig.entities.task.name}`,\n data: { id: task.id },\n });\n this.taskPopoverOverlay.close();\n } catch (error) {\n console.error('Failed to open task details:', error);\n }\n }\n\n private resolveAppointmentAnchor(event: AXSchedulerAppointmentMouseEvent): HTMLElement | undefined {\n let targetElement = (event.nativeEvent.currentTarget as HTMLElement) || (event.nativeEvent.target as HTMLElement);\n let element = targetElement;\n const maxDepth = 10;\n let depth = 0;\n\n while (element && element !== document.body && depth < maxDepth) {\n depth++;\n\n const isAppointment =\n element.classList?.contains('dx-scheduler-appointment') ||\n element.classList?.contains('ax-scheduler-appointment') ||\n element.hasAttribute('data-appointment-id');\n\n if (isAppointment) {\n targetElement = element;\n break;\n }\n\n const parent = element.parentElement;\n if (parent) {\n const isParentAppointment =\n parent.classList?.contains('dx-scheduler-appointment') ||\n parent.classList?.contains('ax-scheduler-appointment');\n\n if (isParentAppointment) {\n targetElement = parent;\n break;\n }\n }\n\n element = element.parentElement as HTMLElement;\n }\n\n return targetElement;\n }\n}\n","@if (schedulerMounted()) {\n <ax-scheduler\n [hasHeader]=\"false\"\n [holidays]=\"holidays\"\n [resources]=\"resources()\"\n [dataSource]=\"dataSource()\"\n [calendar]=\"schedulerCalendar()\"\n [startingDate]=\"schedulerStartingDate()\"\n [selectedView]=\"currentSchedulerView()\"\n [multiDayViewDaysCount]=\"vm.daysCount()\"\n [showCurrentTimeIndicator]=\"true\"\n (onAppointmentDrop)=\"onTaskDrop($event)\"\n (onActionClick)=\"handleActionClick($event)\"\n (onRangeChanged)=\"handleRangeChanged($event)\"\n (onSlotDblClicked)=\"onSlotDblClicked($event)\"\n (onAppointmentClicked)=\"onTaskClickHandler($event)\"\n ></ax-scheduler>\n}\n","import { AXDataSource } from '@acorex/cdk/common';\nimport {\n AXDataTableComponent,\n AXDataTableModule,\n AXDataTableRowClick,\n AXRowCommandItemClickEvent,\n} from '@acorex/components/data-table';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH,\n TASK_BOARD_GRID_ROW_ACTION_ITEMS,\n} from '../../task-board-grid-row-actions';\nimport { AXMTaskBoardTaskPopoverOverlayService } from '../../task-board-task-popover-overlay.service';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport { AXPExtraField, AXPTask, AXPTaskFilter } from '../../task-board.types';\nimport { AXMTaskBoardViewModel } from '../../task-board.viewmodel';\n\n@Component({\n selector: 'axm-task-board-grid-view',\n templateUrl: './task-board-grid-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXDataTableModule, AXTranslatorPipe, AsyncPipe, AXPWidgetCoreModule],\n})\nexport class AXMTaskBoardGridViewComponent {\n protected readonly vm = inject(AXMTaskBoardViewModel);\n protected readonly localeService = inject(AXLocaleService);\n protected readonly calendarService = inject(AXCalendarService);\n protected readonly taskBoardService = inject(AXPTaskBoardService);\n private readonly taskPopoverOverlay = inject(AXMTaskBoardTaskPopoverOverlayService);\n private readonly destroyRef = inject(DestroyRef);\n\n dataSource = input.required<(filter?: AXPTaskFilter) => Promise<{ items: AXPTask[]; total: number }>>();\n refreshNonce = input<number>(0);\n\n onTaskClick = output<AXPTask>();\n\n private fetchedTasks = signal<AXPTask[]>([]);\n protected columns = signal<AXPExtraField[]>([]);\n protected grid = viewChild<AXDataTableComponent>('grid');\n\n protected readonly taskRowCommandWidth = TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH;\n protected readonly taskRowCommandItems = TASK_BOARD_GRID_ROW_ACTION_ITEMS;\n\n protected gridRemountKeys = computed(() => [this.refreshNonce()]);\n\n protected tasksDataSource = computed(() => {\n const parentDataSource = this.dataSource();\n void this.refreshNonce();\n\n return new AXDataSource<any>({\n load: async (e) => {\n const result = await parentDataSource({ skip: e.skip, take: e.take });\n this.fetchedTasks.set(result.items);\n const mappedItems = result.items.map((task) => ({\n id: task.id,\n data: task.data,\n title: task.title,\n priority: task.priority,\n description: task.description,\n statusTitle: task.status.title,\n reporter: task.reporter.fullName ?? '-',\n assignee: task.assignee?.fullName ?? 'unassigned',\n type: this.taskBoardService.getProvider(task.provider)?.title,\n endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n _originalTask: task,\n }));\n return { items: mappedItems, total: result.total };\n },\n pageSize: 10,\n key: 'id',\n byKey: async (key: unknown) => {\n return this.fetchedTasks().find((task) => task.id === key);\n },\n });\n });\n\n constructor() {\n this.taskBoardService.close$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data) => {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n if (data.provider && data.provider !== active.provider) {\n return;\n }\n this.taskPopoverOverlay.close();\n });\n }\n\n #gridManualFetchEffect = effect(() => {\n this.vm.selectedTaskTypeNames();\n this.vm.selectedAssigneeIds();\n this.vm.selectedReporterIds();\n this.vm.selectedPriorities();\n this.vm.currentDate();\n this.vm.daysCount();\n this.vm.currentViewMode();\n this.refreshNonce();\n\n const grid = this.grid();\n if (!grid) {\n return;\n }\n\n queueMicrotask(() => {\n untracked(() => {\n grid.refresh({ reset: true });\n });\n });\n });\n\n #providerChanged = effect(async () => {\n const taskType = this.vm.selectedTaskTypes()[0];\n if (!taskType) {\n this.columns.set([]);\n return;\n }\n\n taskType.getExtraFields().then((extraFields) => {\n if (extraFields) {\n this.columns.set(extraFields);\n }\n });\n });\n\n protected handleRowClick(event: AXDataTableRowClick): void {\n if (event.data) {\n const mappedItem = event.data as { _originalTask?: AXPTask; id?: string | number };\n const originalTask = mappedItem._originalTask || this.fetchedTasks().find((task) => task.id === mappedItem.id);\n if (originalTask) {\n this.onTaskClick.emit(originalTask);\n }\n }\n }\n\n protected handleTaskCommandClick(event: AXRowCommandItemClickEvent): void {\n if (event.name !== 'view') {\n return;\n }\n\n event.nativeEvent?.stopPropagation();\n\n const mappedItem = event.data as { _originalTask?: AXPTask; id?: string | number };\n const task = mappedItem._originalTask ?? this.fetchedTasks().find((t) => t.id === mappedItem.id);\n if (!task) {\n return;\n }\n\n const anchor = this.taskPopoverOverlay.resolveAnchorFromCommandClick(event);\n if (!anchor) {\n return;\n }\n\n setTimeout(() => {\n void this.taskPopoverOverlay.open({\n task,\n anchor,\n placement: 'bottom-start',\n adaptivityEnabled: false,\n autoFlip: true,\n });\n }, 0);\n }\n}\n","@for (remountKey of gridRemountKeys(); track remountKey) {\n <ax-data-table\n #grid\n [fetchDataMode]=\"'manual'\"\n [dataSource]=\"tasksDataSource()\"\n (onRowClick)=\"handleRowClick($event)\"\n [loading]=\"{ enabled: true, animation: true }\"\n >\n <ax-text-column\n dataField=\"title\"\n [caption]=\"('@task-management:task-board.grid-headers.title' | translate | async)!\"\n [width]=\"'350px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"description\"\n [caption]=\"('@task-management:task-board.grid-headers.description' | translate | async)!\"\n [width]=\"'500px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"assignee\"\n [caption]=\"('@task-management:task-board.grid-headers.assignee' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"startDate\"\n [caption]=\"('@task-management:task-board.grid-headers.start-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"endDate\"\n [caption]=\"('@task-management:task-board.grid-headers.due-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"priority\"\n [caption]=\"('@task-management:task-board.grid-headers.priority' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n [allowResizing]=\"true\"\n dataField=\"reporter\"\n [caption]=\"('@task-management:task-board.grid-headers.reporter' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"statusTitle\"\n [caption]=\"('@task-management:task-board.grid-headers.status' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"type\"\n [caption]=\"('@task-management:task-board.grid-headers.type' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n\n @if (columns().length) {\n <ng-container>\n @for (column of columns(); track column) {\n <axp-widget-column-renderer\n [node]=\"column.widget\"\n [caption]=\"(column.title | translate | async)!\"\n ></axp-widget-column-renderer>\n }\n </ng-container>\n }\n\n <ax-command-column\n fixed=\"end\"\n [width]=\"taskRowCommandWidth\"\n [items]=\"taskRowCommandItems\"\n (onItemClick)=\"handleTaskCommandClick($event)\"\n ></ax-command-column>\n </ax-data-table>\n}\n","import {\n AXKanbanBeforeDropEvent,\n AXKanbanComponent,\n AXKanbanItem,\n AXKanbanMouseEvent,\n AXKanbanSortEvent,\n AXKanbanStatus,\n} from '@acorex/components/kanban';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n model,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport { AXMTaskBoardTaskPopoverOverlayService } from '../../task-board-task-popover-overlay.service';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport { AXPTask, AXPTaskAction, AXPTaskActionMenuItem } from '../../task-board.types';\nimport { AXMTaskBoardViewModel } from '../../task-board.viewmodel';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'axm-task-board-kanban-view',\n templateUrl: './task-board-kanban-view.component.html',\n styleUrls: ['./task-board-kanban-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXKanbanComponent],\n})\nexport class AXMTaskBoardKanbanViewComponent implements AfterViewInit {\n protected readonly vm = inject(AXMTaskBoardViewModel);\n protected readonly taskBoardService = inject(AXPTaskBoardService);\n protected readonly settingService = inject(AXPSettingsService);\n protected readonly commandService = inject(AXPCommandService);\n private readonly taskPopoverOverlay = inject(AXMTaskBoardTaskPopoverOverlayService);\n private readonly destroyRef = inject(DestroyRef);\n\n kanbanComponent = viewChild(AXKanbanComponent);\n\n tasks = model.required<AXPTask[]>();\n\n onTaskClick = output<AXPTask>();\n onTaskChanged = output<AXPTask>();\n component = output<AXKanbanComponent>();\n onActionClick = output<AXPTaskAction>();\n\n statuses = signal<AXKanbanStatus[]>([]);\n\n stableTasks = computed(() => this.tasks(), { equal: isEqual });\n protected kanbanTasks = computed<AXKanbanItem[]>(() => {\n return this.stableTasks().map((task) => ({\n id: task.id,\n title: task.title,\n index: task.index,\n cssClass: task.cssClass,\n statusKey: task.status.id,\n description: task.description,\n }));\n });\n\n ngAfterViewInit(): void {\n this.taskBoardService.refresh$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(async (data) => {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n if (data.provider && data.provider !== active.provider) {\n return;\n }\n await this.refreshPopoverData();\n });\n\n this.taskBoardService.close$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((data) => {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n if (data.provider && data.provider !== active.provider) {\n return;\n }\n this.taskPopoverOverlay.close();\n });\n\n if (this.kanbanComponent()) {\n this.component.emit(this.kanbanComponent()!);\n }\n }\n\n #providerChanged = effect(async () => {\n const taskType = this.vm.selectedTaskTypes()[0];\n if (!taskType) {\n this.statuses.set([]);\n return;\n }\n taskType.getStatuses().then((statuses) => {\n if (statuses) {\n this.statuses.set(statuses);\n }\n });\n });\n\n //#region ---- Drag & Drop Handling ----\n\n /**\n * Handles the onBeforeDrop event from the kanban component.\n * Uses event.wait() to register async operations that the kanban will await.\n * If action is cancelled/failed, we set event.canceled = true to prevent the drop.\n */\n protected onBeforeDrop(event: AXKanbanBeforeDropEvent): void {\n // If no status change, allow the drop (just reordering)\n if (event.previousStatusKey === event.currentStatusKey) {\n return;\n }\n\n // Find the task being moved\n const task = this.stableTasks().find((t) => t.id === event.item?.id);\n if (!task || !task.provider) {\n // Allow drop if task not found or no provider\n return;\n }\n\n // Get the provider\n const provider = this.taskBoardService.getProvider(task.provider);\n if (!provider) {\n return;\n }\n\n // Register the async operation using event.wait()\n // The kanban component will await this promise before proceeding\n event.wait(this.executeDropAction(event, task, provider));\n }\n\n /**\n * Executes the action for a drop operation.\n * Sets event.canceled = true if action fails or is cancelled.\n * IMPORTANT: Do NOT update the task status in dataSource here - let the kanban handle the move.\n * The kanban will update the status in onSortChanged, and we'll sync with backend there.\n */\n private async executeDropAction(\n event: AXKanbanBeforeDropEvent,\n task: AXPTask,\n provider: ReturnType<typeof this.taskBoardService.getProvider>,\n ): Promise<void> {\n if (!provider) {\n return;\n }\n\n try {\n // Get available actions for the task\n const actions = await provider.getActions(task);\n if (!actions || actions.length === 0) {\n // No actions available, allow the drop\n return;\n }\n\n // Find action that matches the new status\n const matchingAction = this.findActionForStatus(actions, event.currentStatusKey);\n if (!matchingAction || !matchingAction.command) {\n // No matching action found, allow the drop\n return;\n }\n\n // Execute the action and check result\n const result = await this.taskBoardService.executeCommand(matchingAction.command, task.provider!);\n\n // Check if action was successful (not cancelled or failed)\n if (result?.success === false || result === null) {\n // Action was cancelled or failed - prevent the drop\n event.canceled = true;\n return;\n }\n\n // Action succeeded - allow the drop to proceed\n // The kanban will handle the visual move, and onSortChanged will sync with backend\n } catch (error) {\n console.error('[KanbanDrop] Failed to execute action during drop:', error);\n // On error, prevent the drop to be safe\n event.canceled = true;\n }\n }\n\n /**\n * Finds an action that corresponds to the target status.\n * Matches actions by name patterns (e.g., \"approve\" action for \"approved\" status).\n */\n private findActionForStatus(\n actions: AXPTaskActionMenuItem[],\n targetStatus: string | number,\n ): AXPTaskActionMenuItem | null {\n const targetStatusStr = String(targetStatus).toLowerCase();\n\n // Common status-to-action mappings\n const statusActionMap: Record<string, string[]> = {\n approved: ['approve'],\n rejected: ['reject'],\n cancelled: ['cancel'],\n completed: ['complete', 'finish'],\n done: ['complete', 'finish'],\n inprogress: ['start', 'begin'],\n 'in-progress': ['start', 'begin'],\n blocked: ['block'],\n unblocked: ['unblock'],\n };\n\n // Check direct mappings first\n const possibleActionNames = statusActionMap[targetStatusStr] || [];\n for (const actionName of possibleActionNames) {\n const action = actions.find((a) => a.name?.toLowerCase().includes(actionName));\n if (action) {\n return action;\n }\n }\n\n // Try to find action by name containing status keywords\n const statusKeywords = targetStatusStr.split(/[-_\\s]+/);\n for (const keyword of statusKeywords) {\n if (keyword.length < 3) continue; // Skip very short keywords\n\n const action = actions.find((a) => {\n const actionName = a.name?.toLowerCase() || '';\n return actionName.includes(keyword) || keyword.includes(actionName);\n });\n\n if (action) {\n return action;\n }\n }\n\n // Try exact match with action name\n const exactMatch = actions.find((a) => a.name?.toLowerCase() === targetStatusStr);\n if (exactMatch) {\n return exactMatch;\n }\n\n // Try partial match (status contains action name or vice versa)\n for (const action of actions) {\n const actionName = action.name?.toLowerCase() || '';\n if (targetStatusStr.includes(actionName) || actionName.includes(targetStatusStr)) {\n return action;\n }\n }\n\n return null;\n }\n\n //#endregion\n\n protected onSortChanged(event: AXKanbanSortEvent) {\n const tasks = this.tasks().map((item) => {\n const task: AXKanbanItem | undefined = event.allItems.find((t) => t.id === item.id);\n if (!task) {\n return item;\n }\n\n const status = this.statuses().find((s) => String(s.key) === String(task.statusKey));\n if (!status) {\n return { ...item, index: task.index ?? item.index };\n }\n\n return {\n ...item,\n index: task.index ?? item.index,\n status: { id: status.key, title: status.title },\n };\n });\n\n this.taskBoardService\n .updateTasks(tasks)\n .then((updatedTasks) => {\n this.tasks.set(updatedTasks);\n })\n .catch((error) => {\n console.error('[KanbanSort] Failed to update tasks:', error);\n const provider = tasks[0]?.provider;\n if (provider) {\n this.taskBoardService.requestRefresh(provider);\n }\n });\n }\n\n protected async handleItemClick(event: AXKanbanMouseEvent): Promise<void> {\n const task = this.stableTasks().find((task) => task.id === event.item.id);\n if (!task) return;\n\n // Find the kanban item container element\n let targetElement = (event.nativeEvent.currentTarget as HTMLElement) || (event.nativeEvent.target as HTMLElement);\n\n // Traverse up to find the kanban item container\n let element = targetElement;\n const maxDepth = 10;\n let depth = 0;\n\n while (element && element !== document.body && depth < maxDepth) {\n depth++;\n\n const isKanbanItem =\n element.classList?.contains('dx-kanban-item') ||\n element.classList?.contains('ax-kanban-item') ||\n element.hasAttribute('data-item-id');\n\n if (isKanbanItem) {\n targetElement = element;\n break;\n }\n\n element = element.parentElement as HTMLElement;\n }\n\n if (targetElement) {\n await this.taskPopoverOverlay.open({\n task,\n anchor: targetElement,\n offsetX: 12,\n offsetY: 12,\n adaptivityEnabled: true,\n });\n }\n\n this.onTaskClick.emit(task);\n }\n\n protected handleActionClick(event: AXKanbanMouseEvent) {\n const task = this.stableTasks().find((task) => task.id === event.item.id);\n if (task) {\n this.onActionClick.emit({ nativeEvent: event.nativeEvent, task: task });\n }\n }\n\n private async refreshPopoverData(): Promise<void> {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n\n const provider = this.taskBoardService.getProvider(active.provider);\n if (!provider) {\n return;\n }\n\n try {\n const result = await provider.getTasks();\n const updatedTasks = result.items.map((t) => ({ ...t, provider: active.provider }));\n const updatedMap = new Map(updatedTasks.map((t) => [t.id, t]));\n\n const currentTasks = this.tasks();\n const mergedTasks = currentTasks.map((t) => updatedMap.get(t.id) ?? t);\n const existingIds = new Set(currentTasks.map((t) => t.id));\n const newTasks = updatedTasks.filter((t) => !existingIds.has(t.id));\n this.tasks.set([...mergedTasks, ...newTasks]);\n\n const updatedSelectedTask = updatedMap.get(active.id);\n if (updatedSelectedTask) {\n await this.taskPopoverOverlay.refreshTask({ ...updatedSelectedTask, provider: active.provider });\n }\n } catch (error) {\n console.error('[TaskPopover] Failed to refresh popover data:', error);\n }\n }\n}\n","<ax-kanban\n [statuses]=\"statuses()\"\n [dataSource]=\"kanbanTasks()\"\n (onItemClick)=\"handleItemClick($event)\"\n (onBeforeDrop)=\"onBeforeDrop($event)\"\n (onSortChanged)=\"onSortChanged($event)\"\n></ax-kanban>\n","import { AXDataSource } from '@acorex/cdk/common';\nimport {\n AXDataTableComponent,\n AXDataTableModule,\n AXDataTableRowClick,\n AXRowCommandItemClickEvent,\n} from '@acorex/components/data-table';\nimport { AXKanbanStatus } from '@acorex/components/kanban';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AsyncPipe } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH,\n TASK_BOARD_GRID_ROW_ACTION_ITEMS,\n} from '../../task-board-grid-row-actions';\nimport { AXMTaskBoardTaskPopoverOverlayService } from '../../task-board-task-popover-overlay.service';\nimport { AXPTaskBoardService } from '../../task-board.service';\nimport { AXPExtraField, AXPTask, AXPTaskFilter, AXPWorkflowTaskProvider } from '../../task-board.types';\nimport { AXMTaskBoardViewModel } from '../../task-board.viewmodel';\n\ninterface StatusTaskGroup {\n statusInfo: AXKanbanStatus;\n tasks: AXDataSource<any>;\n}\n\nfunction statusGroupTrackKey(nonce: number, group: StatusTaskGroup): string {\n return `${nonce}:${String(group.statusInfo.key)}`;\n}\n\nfunction taskMatchesStatus(task: AXPTask, status: AXKanbanStatus): boolean {\n return String(task.status.id) === String(status.key);\n}\n\n@Component({\n selector: 'axm-task-board-status-grouped-grid-view',\n templateUrl: './task-board-status-grouped-grid-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXDataTableModule, AXTranslatorPipe, AsyncPipe, AXPWidgetCoreModule],\n})\nexport class AXMTaskBoardStatusGroupedGridViewComponent {\n protected readonly vm = inject(AXMTaskBoardViewModel);\n protected readonly localeService = inject(AXLocaleService);\n protected readonly calendarService = inject(AXCalendarService);\n protected readonly taskBoardService = inject(AXPTaskBoardService);\n private readonly taskPopoverOverlay = inject(AXMTaskBoardTaskPopoverOverlayService);\n private readonly destroyRef = inject(DestroyRef);\n\n provider = input<AXPWorkflowTaskProvider>();\n dataSource = input.required<(filter?: AXPTaskFilter) => Promise<{ items: AXPTask[]; total: number }>>();\n refreshNonce = input<number>(0);\n\n onTaskClick = output<AXPTask>();\n\n groupedTasks = signal<StatusTaskGroup[]>([]);\n private allFetchedTasks = signal<AXPTask[]>([]);\n protected columns = signal<AXPExtraField[]>([]);\n protected statuses = signal<AXKanbanStatus[]>([]);\n protected grids = viewChildren<AXDataTableComponent>('grid');\n\n protected readonly taskRowCommandWidth = TASK_BOARD_GRID_ROW_ACTION_COLUMN_WIDTH;\n protected readonly taskRowCommandItems = TASK_BOARD_GRID_ROW_ACTION_ITEMS;\n\n protected trackStatusGroup = (_index: number, group: StatusTaskGroup) =>\n statusGroupTrackKey(this.refreshNonce(), group);\n\n protected groupedViewRemountKeys = computed(() => [this.refreshNonce()]);\n\n constructor() {\n afterNextRender(() => {\n untracked(() => {\n setTimeout(() => {\n this.groupedTasks()?.forEach((group) => {\n group.tasks.refresh();\n });\n this.grids().forEach((grid) => {\n grid.refresh({ reset: true });\n });\n }, 200);\n });\n });\n\n this.taskBoardService.close$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data) => {\n const active = this.taskPopoverOverlay.getActiveTask();\n if (!active?.provider) {\n return;\n }\n if (data.provider && data.provider !== active.provider) {\n return;\n }\n this.taskPopoverOverlay.close();\n });\n }\n\n #dataChanged = effect(() => {\n this.vm.selectedTaskTypeNames();\n this.vm.selectedAssigneeIds();\n this.vm.selectedReporterIds();\n this.vm.selectedPriorities();\n this.vm.currentDate();\n this.vm.daysCount();\n this.vm.currentViewMode();\n this.refreshNonce();\n const allStatuses = this.statuses();\n\n const parentDataSource = this.dataSource();\n if (!parentDataSource || allStatuses.length === 0) {\n this.groupedTasks.set([]);\n this.allFetchedTasks.set([]);\n return;\n }\n\n void parentDataSource().then((result) => {\n this.allFetchedTasks.set(result.items);\n const allTasks = result.items;\n\n const statusGroups = allStatuses.map((status) => {\n const tasksForStatus = allTasks.filter((task) => taskMatchesStatus(task, status));\n return {\n statusInfo: status,\n tasks: this.createTaskDataSourceForGroup(tasksForStatus),\n };\n });\n\n this.groupedTasks.set(statusGroups);\n untracked(() => {\n setTimeout(() => {\n this.groupedTasks()?.forEach((group) => {\n group.tasks.refresh();\n });\n this.grids().forEach((grid) => {\n grid.refresh({ reset: true });\n });\n }, 0);\n });\n });\n });\n\n #providerChanged = effect(async () => {\n const provider = this.vm.selectedTaskTypes()[0];\n provider?.getExtraFields().then((extraFields) => {\n if (extraFields) {\n this.columns.set(extraFields);\n }\n });\n provider?.getStatuses().then((statuses) => {\n if (statuses) {\n this.statuses.set(statuses);\n }\n });\n });\n\n #gridsChanged = effect(() => {\n const groups = this.groupedTasks();\n untracked(() => {\n setTimeout(() => {\n this.grids().forEach((grid) => {\n grid.refresh({ reset: true });\n });\n }, 100);\n });\n });\n\n private createTaskDataSourceForGroup(tasks: AXPTask[]): AXDataSource<any> {\n return new AXDataSource<any>({\n load: async (e) => {\n const items = tasks.map((task) => ({\n id: task.id,\n data: task.data,\n title: task.title,\n priority: task.priority,\n description: task.description,\n reporter: task.reporter.fullName ?? '-',\n assignee: task.assignee?.fullName ?? 'unassigned',\n endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {\n locale: this.localeService.activeProfile().calendar.system,\n }),\n _originalTask: task,\n }));\n return {\n items: items.slice(e.skip, e.skip + e.take),\n total: items.length,\n };\n },\n pageSize: 5,\n key: 'id',\n byKey: async (key: unknown) => {\n return tasks.find((task) => task.id === key);\n },\n });\n }\n\n protected handleRowClick(event: AXDataTableRowClick): void {\n if (!event.data) {\n return;\n }\n const mappedItem = event.data as { id?: string | number; _originalTask?: AXPTask };\n const originalTask = mappedItem._originalTask ?? this.allFetchedTasks().find((task) => task.id === mappedItem.id);\n if (originalTask) {\n this.onTaskClick.emit(originalTask);\n }\n }\n\n protected handleTaskCommandClick(event: AXRowCommandItemClickEvent): void {\n if (event.name !== 'view') {\n return;\n }\n\n event.nativeEvent?.stopPropagation();\n\n const mappedItem = event.data as { _originalTask?: AXPTask; id?: string | number };\n const task = mappedItem._originalTask ?? this.allFetchedTasks().find((t) => t.id === mappedItem.id);\n if (!task) {\n return;\n }\n\n const anchor = this.taskPopoverOverlay.resolveAnchorFromCommandClick(event);\n if (!anchor) {\n return;\n }\n\n setTimeout(() => {\n void this.taskPopoverOverlay.open({\n task,\n anchor,\n placement: 'bottom-start',\n adaptivityEnabled: false,\n autoFlip: true,\n });\n }, 0);\n }\n}\n","@for (remountKey of groupedViewRemountKeys(); track remountKey) {\n @for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"ax-text-xl ax-font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"ax-h-[300px]\"\n [fetchDataMode]=\"'manual'\"\n [dataSource]=\"group.tasks\"\n [loading]=\"{ enabled: true, animation: true }\"\n (onRowClick)=\"handleRowClick($event)\"\n >\n <ax-text-column\n dataField=\"title\"\n [caption]=\"('@task-management:task-board.grid-headers.title' | translate | async)!\"\n [width]=\"'350px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"description\"\n [caption]=\"('@task-management:task-board.grid-headers.description' | translate | async)!\"\n [width]=\"'500px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"startDate\"\n [caption]=\"('@task-management:task-board.grid-headers.start-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"endDate\"\n [caption]=\"('@task-management:task-board.grid-headers.due-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"priority\"\n [caption]=\"('@task-management:task-board.grid-headers.priority' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"reporter\"\n [caption]=\"('@task-management:task-board.grid-headers.reporter' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"assignee\"\n [caption]=\"('@task-management:task-board.grid-headers.assignee' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n\n <ax-command-column\n fixed=\"end\"\n [width]=\"taskRowCommandWidth\"\n [items]=\"taskRowCommandItems\"\n (onItemClick)=\"handleTaskCommandClick($event)\"\n ></ax-command-column>\n </ax-data-table>\n }\n}\n","import { AXStyleColorType, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarComponent, AXCalendarSlotClick } from '@acorex/components/calendar';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXSchedulerAppointment, AXSchedulerAppointmentDataSource, AXSchedulerComponent } from '@acorex/components/scheduler';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AXPActionMenuItem,\n AXPBreadcrumbItem,\n AXPDataSourceDefinitionProviderService,\n AXPDeviceService,\n AXPExecuteCommand,\n AXPFilterDefinition,\n AXPFilterQuery,\n AXPKeyboardShortcutPriority,\n AXPKeyboardShortcutRegistry,\n getActionButton,\n} from '@acorex/platform/core';\nimport {\n AXPSettingsService,\n type AXPDateTimeFilterValue,\n} from '@acorex/platform/common';\nimport {\n AXPQueryFiltersComponent,\n AXPLayoutSideDetailPanelComponent,\n AXPLayoutSideDetailPanelSectionDirective,\n AXPThemeLayoutBlockComponent,\n type AXPLayoutSideDetailPanelHeader,\n type AXPLayoutSideDetailPanelSection,\n} from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n HostListener,\n inject,\n OnInit,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Params, Router, RouterModule } from '@angular/router';\nimport { isEqual, sortBy } from 'lodash-es';\nimport { filter } from 'rxjs';\nimport { AXMSecurityManagementDataSourceKeys } from '@acorex/modules/security-management';\nimport { AXMTaskManagementDataSourceKeys } from '../../contracts/datasource.keys';\nimport { RootConfig } from '../../const';\nimport {\n canViewAllTaskAssignees,\n normalizeTaskBoardAssigneeIds,\n resolveTaskBoardSavedAssigneeIds,\n} from './task-board-assignee-access';\nimport { AXMTaskBoardContentSkeletonComponent } from './task-board-content-skeleton/task-board-content-skeleton.component';\nimport { AXMTaskBoardDetailPanel } from './task-board-detail-panel/task-board-detail-panel.component';\nimport { filterTasksOverlappingRange } from './task-board-range.utils';\nimport { AXPTaskBoardService } from './task-board.service';\nimport { enrichTaskBoardTasks, resolveTaskBoardSchedulerLabels } from './task-board-task-enrichment.utils';\nimport {\n normalizeDueStatusFilterKeys,\n normalizeTaskBoardPriorityFilterKeys,\n normalizeTaskTypeFilterNames,\n} from './task-board-filter.utils';\nimport { AXPDueStatusFilterKey, AXPDueStatusProviderService } from './due-status';\nimport { AXPResource, AXPTask, AXPTaskAction, AXPTaskBoardColorBy, AXPTaskFilter } from './task-board.types';\nimport type { AXPTaskBoardViewCategory } from './task-board-menu.definition';\nimport {\n applyTaskBoardDateRangeToViewModel,\n deriveTaskBoardDateRangeFromNavigator,\n getTaskBoardLayoutOptions,\n isTaskBoardRangeFilterCategory,\n resolveTaskBoardCategoryLayoutFromQuery,\n usesTaskBoardToolbarNavigator,\n type AXPTaskBoardViewLayout,\n} from './task-board-view-category.utils';\nimport { AXMTaskBoardViewModel, AXPPriorityFilterKey, AXPTaskBoardViewMode } from './task-board.viewmodel';\nimport { AXMTaskBoardCalendarViewComponent } from './views/task-board-calendar-view/task-board-calendar-view.component';\nimport { AXMTaskBoardGridViewComponent } from './views/task-board-grid-view/task-board-grid-view.component';\nimport { AXMTaskBoardKanbanViewComponent } from './views/task-board-kanban-view/task-board-kanban-view.component';\nimport { AXMTaskBoardStatusGroupedGridViewComponent } from './views/task-board-status-grouped-grid-view/task-board-status-grouped-grid-view.component';\n\nexport type { AXPTaskBoardViewCategory } from './task-board-menu.definition';\n\n@Component({\n templateUrl: './task-board.page.html',\n styleUrls: ['./task-board.page.scss'],\n imports: [\n FormsModule,\n CommonModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n AXPQueryFiltersComponent,\n AXMTaskBoardContentSkeletonComponent,\n AXMTaskBoardCalendarViewComponent,\n AXMTaskBoardKanbanViewComponent,\n AXMTaskBoardGridViewComponent,\n AXMTaskBoardStatusGroupedGridViewComponent,\n AXMTaskBoardDetailPanel,\n AXPopoverModule,\n AXCalendarComponent,\n AXSelectionListModule,\n AXPLayoutSideDetailPanelComponent,\n AXPLayoutSideDetailPanelSectionDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMTaskBoardPage,\n },\n ],\n})\nexport class AXMTaskBoardPage extends AXPPageLayoutBaseComponent implements OnInit {\n private readonly router = inject(Router);\n protected readonly rootConfig = RootConfig;\n protected readonly deviceService = inject(AXPDeviceService);\n protected readonly vm = inject(AXMTaskBoardViewModel);\n private readonly unsubscribe = inject(AXUnsubscriber);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly localeService = inject(AXLocaleService);\n private readonly calendarService = inject(AXCalendarService);\n private readonly taskBoardService = inject(AXPTaskBoardService);\n private readonly shortcutRegistry = inject(AXPKeyboardShortcutRegistry);\n private readonly destroyRef = inject(DestroyRef);\n private readonly dueStatusProviderService = inject(AXPDueStatusProviderService);\n private readonly dataSourceDefinitionService = inject(AXPDataSourceDefinitionProviderService);\n private readonly translationService = inject(AXTranslationService);\n\n private readonly sessionUser = toSignal(this.sessionService.user$, { initialValue: null });\n private readonly sessionPermissions = toSignal(this.sessionService.permissions$, { initialValue: [] as string[] });\n\n private readonly activeCalendar = toSignal(this.calendarService.calendarChanges$, {\n initialValue: this.calendarService.getActiveCalendar(),\n });\n\n private readonly profileChanged = toSignal(this.localeService.profileChanged$, {\n initialValue: this.localeService.activeProfile(),\n });\n\n private navigatorTimeTextVersion = 0;\n\n private static readonly PRIORITY_OPTIONS: { title: string; name: AXPPriorityFilterKey }[] = [\n { title: 'Urgent', name: 'urgent' },\n { title: 'High', name: 'high' },\n { title: 'Normal', name: 'normal' },\n { title: 'Low', name: 'low' },\n { title: 'No Priority', name: 'no_priority' },\n ];\n\n private static readonly DUE_STATUS_OPTIONS: { title: string; name: AXPDueStatusFilterKey }[] = [\n { title: 'Completed', name: 'completed' },\n { title: 'No due date', name: 'no-due-date' },\n { title: 'Overdue', name: 'overdue' },\n { title: 'Due today', name: 'due-today' },\n { title: 'Due tomorrow', name: 'due-tomorrow' },\n { title: 'Due this week', name: 'due-this-week' },\n { title: 'Upcoming', name: 'upcoming' },\n ];\n\n protected readonly colorByItems: { key: AXPTaskBoardColorBy; titleKey: string }[] = [\n { key: 'dueDate', titleKey: '@task-management:task-board.color-by.due-date' },\n { key: 'priority', titleKey: '@task-management:task-board.color-by.priority' },\n { key: 'status', titleKey: '@task-management:task-board.color-by.status' },\n ];\n\n protected popover = viewChild<AXPopoverComponent>('popover');\n protected calendar = viewChild<AXCalendarComponent>('calendar');\n\n protected isReady = signal(false);\n protected isSettingsPanelOpen = signal(false);\n protected readonly settingsPanelCopy = signal({\n title: '',\n colorBy: '',\n calendars: '',\n });\n protected filtersReady = signal(false);\n protected calendarEventTypes = signal<Array<{ id: string; title: string; color?: string; icon?: string }>>([]);\n protected resources = signal<AXPResource[]>([]);\n protected isQueryParam = signal<boolean>(false);\n protected refreshNonce = signal(0);\n protected navigatorTimeText = signal('');\n protected panelInitialFilters = signal<AXPFilterQuery[]>([]);\n private currentTask = signal<AXPTask | null>(null);\n protected schedulerComponent = signal<AXSchedulerComponent | null>(null);\n private kanbanLoadVersion = 0;\n private filtersPanelInitialized = false;\n private lastLocaleProfileCode: string | null = null;\n\n /** Ctrl enables range selection in kanban/table navigator popover calendars. */\n protected readonly navigatorRangeSelectActive = signal(false);\n\n /** True after a plain (non-Ctrl) single-day click in the navigator calendar. */\n private navigatorPlainSingleDaySelected = false;\n\n private readonly modifierRangeBasedViews: AXPTaskBoardViewMode[] = ['grid', 'kanban', 'status-grouped-grid'];\n\n private readonly alwaysRangeBasedViews: AXPTaskBoardViewMode[] = ['agenda', 'timeline-weekly'];\n\n private dayDataCache = signal<Map<string, number>>(new Map());\n\n protected readonly showToolbarNavigator = computed(() =>\n usesTaskBoardToolbarNavigator(this.vm.currentViewMode()),\n );\n\n protected readonly showViewLayoutSwitcher = computed(\n () => getTaskBoardLayoutOptions(this.vm.currentViewCategory()).length > 0,\n );\n\n protected readonly viewLayoutItems = computed(() => getTaskBoardLayoutOptions(this.vm.currentViewCategory()));\n\n protected readonly selectedViewLayout = computed(() => this.vm.getLayoutForCategory(this.vm.currentViewCategory()));\n\n protected readonly selectedViewLayoutTitleKey = computed(() => {\n const selectedLayout = this.selectedViewLayout();\n const item = this.viewLayoutItems().find((option) => option.key === selectedLayout);\n return item ? this.viewLayoutTranslationKey(item.text) : '';\n });\n\n protected readonly selectedViewLayoutIcon = computed(() => {\n const selectedLayout = this.selectedViewLayout();\n const item = this.viewLayoutItems().find((option) => option.key === selectedLayout);\n return item?.icon ?? 'fa-light fa-sliders';\n });\n\n protected readonly effectiveColorBy = computed(() => this.vm.effectiveColorBy());\n\n protected readonly settingsPanelHeader = computed(\n (): AXPLayoutSideDetailPanelHeader => ({\n primaryTitle: this.settingsPanelCopy().title,\n icon: {\n iconClass: 'fa-fw fa-lg fa-light fa-gear',\n },\n }),\n );\n\n protected readonly settingsPanelSections = computed((): AXPLayoutSideDetailPanelSection[] => {\n const copy = this.settingsPanelCopy();\n const sections: AXPLayoutSideDetailPanelSection[] = [\n { title: copy.colorBy, projectionKey: 'colorBy' },\n ];\n\n if (this.showCalendarEventButton()) {\n sections.push({ title: copy.calendars, projectionKey: 'calendars' });\n }\n\n return sections;\n });\n\n private readonly settingsPanelI18nEffect = effect(() => {\n this.localeService.activeProfile().localeInfo?.code;\n void this.loadSettingsPanelCopy();\n });\n\n /** Resolves navigator date label asynchronously so month names react to locale/profile changes. */\n private readonly navigatorTimeTextEffect = effect(() => {\n this.profileChanged();\n this.vm.currentDate();\n this.vm.currentViewMode();\n this.vm.daysCount();\n this.localeService.activeProfile().localeInfo?.code;\n this.calendarType();\n this.refreshNonce();\n\n const version = ++this.navigatorTimeTextVersion;\n\n untracked(() => {\n void this.resolveNavigatorTimeText().then((text) => {\n if (version === this.navigatorTimeTextVersion) {\n this.navigatorTimeText.set(text);\n }\n });\n });\n });\n\n /** Re-render navigator calendar when regional week layout changes. */\n private readonly navigatorCalendarLayoutEffect = effect(() => {\n this.localeService.activeProfile().localeInfo?.code;\n this.calendarService.getActiveCalendar()?.weekdays;\n this.calendarType();\n\n untracked(() => {\n queueMicrotask(() => {\n this.calendar()?.render();\n });\n });\n });\n\n private readonly canFilterByAllAssignees = computed(() => {\n this.sessionUser();\n this.sessionPermissions();\n return canViewAllTaskAssignees(this.sessionService);\n });\n\n protected readonly calendarEventTypeItems = computed(() =>\n this.calendarEventTypes().map((eventType) => ({\n id: eventType.id,\n text: eventType.title,\n icon: eventType.icon,\n })),\n );\n\n protected readonly showCalendarEventButton = computed(\n () => !this.isNonCalendarView() && this.calendarEventTypeItems().length > 0,\n );\n\n protected readonly selectedCalendarEventTypeCount = computed(\n () => this.vm.selectedCalendarEventTypeIds().length,\n );\n\n protected readonly filterDefinitions = computed<AXPFilterDefinition[]>(() => {\n const canFilterByAll = this.canFilterByAllAssignees();\n const assigneeScopeKey = `${this.sessionUser()?.id ?? ''}:${canFilterByAll}`;\n const isMultiTaskType = this.isMultiSelectTaskTypeEnabled();\n\n return [\n {\n field: 'type',\n operator: { type: 'equal' },\n title: '@task-management:task-board.filter.task-type',\n icon: 'fa-light fa-list',\n widget: {\n type: 'select-filter',\n options: {\n dataSource: AXMTaskManagementDataSourceKeys.TaskTypes,\n valueField: 'name',\n textField: 'title',\n multiple: isMultiTaskType,\n allowClear: isMultiTaskType,\n },\n },\n filterType: { advance: true, inline: false },\n },\n {\n field: 'assignee',\n operator: { type: 'equal' },\n title: '@task-management:task-board.filter.assignee',\n icon: 'fa-light fa-user',\n widget: {\n type: 'select-filter',\n options: {\n multiple: true,\n valueField: 'id',\n textField: 'displayName',\n allowSearch: canFilterByAll,\n allowClear: canFilterByAll,\n readonly: !canFilterByAll,\n dataSource: AXMTaskManagementDataSourceKeys.TaskBoardAssignees,\n assigneeScopeKey,\n },\n },\n filterType: { advance: true, inline: false },\n },\n {\n field: 'reporter',\n operator: { type: 'equal' },\n title: '@task-management:task-board.filter.reporter',\n icon: 'fa-light fa-user-pen',\n widget: {\n type: 'select-filter',\n options: {\n multiple: true,\n valueField: 'id',\n textField: 'displayName',\n allowSearch: true,\n dataSource: AXMSecurityManagementDataSourceKeys.Users,\n },\n },\n filterType: { advance: true, inline: false },\n },\n {\n field: 'priority',\n operator: { type: 'equal' },\n title: '@task-management:task-board.filter.priority',\n icon: 'fa-light fa-flag',\n widget: {\n type: 'select-filter',\n options: {\n multiple: true,\n valueField: 'name',\n textField: 'title',\n dataSource: AXMTaskBoardPage.PRIORITY_OPTIONS,\n },\n },\n filterType: { advance: true, inline: false },\n },\n {\n field: 'dueStatus',\n operator: { type: 'equal' },\n title: '@task-management:task-board.filter.due-status',\n icon: 'fa-light fa-calendar-clock',\n widget: {\n type: 'select-filter',\n options: {\n multiple: true,\n valueField: 'name',\n textField: 'title',\n dataSource: AXMTaskBoardPage.DUE_STATUS_OPTIONS,\n },\n },\n filterType: { advance: true, inline: false },\n },\n ];\n });\n\n /** Re-scope assignee filter when user or permissions change. */\n private readonly assigneeScopeEffect = effect(() => {\n this.sessionUser();\n this.sessionPermissions();\n\n if (this.vm.isLoading()) {\n return;\n }\n\n const resolvedAssigneeIds = this.vm.assigneeFilterHasSavedPreference()\n ? this.vm.selectedAssigneeIds()\n : resolveTaskBoardSavedAssigneeIds(this.sessionService, null);\n const scopedIds = normalizeTaskBoardAssigneeIds(this.sessionService, resolvedAssigneeIds);\n const assigneeIdsChanged = !isEqual(sortBy(this.vm.selectedAssigneeIds()), sortBy(scopedIds));\n if (assigneeIdsChanged) {\n this.vm.setSelectedAssigneeIds(scopedIds, this.isQueryParam(), false);\n }\n\n if (this.filtersPanelInitialized && assigneeIdsChanged) {\n untracked(() => void this.syncPanelInitialFilters());\n }\n });\n\n protected calendarType = computed(\n () => this.activeCalendar()?.name() ?? this.localeService.activeProfile().calendar.system,\n );\n\n protected todayButtonTextKey = computed(() => {\n switch (this.vm.currentViewMode()) {\n case 'week':\n return '@task-management:task-board.navigator.current-week';\n case 'month':\n case 'timeline-month':\n return '@task-management:task-board.navigator.current-month';\n case 'timeline-year':\n return '@task-management:task-board.navigator.current-year';\n default:\n return '@task-management:task-board.navigator.today';\n }\n });\n protected calendarDepth = computed(() => {\n if (\n this.vm.currentViewMode() === 'grid' ||\n this.vm.currentViewMode() === 'kanban' ||\n this.vm.currentViewMode() === 'status-grouped-grid'\n ) {\n return 'day';\n }\n return this.schedulerComponent()?.calendarDepth() || 'day';\n });\n\n protected currentDateForCalendar = computed(() => {\n const pendingRangeStart = this.vm.rangeStartDate();\n if (pendingRangeStart && this.isModifierRangeNavigatorView()) {\n return pendingRangeStart;\n }\n const date = this.vm.currentDate();\n return date || new Date();\n });\n protected filter = computed<AXPTaskFilter>(() => {\n const taskTypeNames = this.vm.selectedTaskTypeNames();\n const assigneeIds = this.vm.selectedAssigneeIds();\n const reporterIds = this.vm.selectedReporterIds();\n const priorities = this.vm.selectedPriorities();\n const dueStatusKeys = this.vm.selectedDueStatusKeys();\n\n const currentDate = this.vm.currentDate() || new Date();\n let from: AXDateTime = this.calendarService.create(currentDate, this.localeService.activeProfile().calendar.system);\n let end: AXDateTime;\n\n const currentView = this.vm.currentViewMode();\n\n if (\n currentView === 'grid' ||\n currentView === 'kanban' ||\n currentView === 'agenda' ||\n currentView === 'timeline-weekly' ||\n currentView === 'status-grouped-grid'\n ) {\n end = from.add('day', this.vm.daysCount() - 1);\n } else if (currentView === 'month' || currentView === 'timeline-month') {\n from = from.startOf('month');\n end = from.endOf('month');\n } else {\n end = from.endOf('day');\n }\n\n return {\n // Empty filter means \"all items\" for task type/provider.\n ...(taskTypeNames.length > 0 && { types: taskTypeNames }),\n ...(assigneeIds.length > 0 && { assigneeIds }),\n ...(reporterIds.length > 0 && { reporterIds }),\n ...(priorities.length > 0 && { priorities }),\n ...(dueStatusKeys.length > 0 && { dueStatusKeys }),\n range: { from: from.date, end: end.date },\n };\n });\n\n private enrichTasks(tasks: AXPTask[]): AXPTask[] {\n return enrichTaskBoardTasks(tasks, this.vm.effectiveColorBy(), this.dueStatusProviderService);\n }\n\n private async enrichTasksForViews(tasks: AXPTask[]): Promise<AXPTask[]> {\n const labeled = await resolveTaskBoardSchedulerLabels(\n tasks,\n this.translateService,\n this.formatService,\n this.settingsService,\n );\n return this.enrichTasks(labeled);\n }\n\n private contextMenu = viewChild<AXContextMenuComponent>('rootContextMenu');\n\n override async ngOnInit() {\n await super.ngOnInit();\n\n this.taskBoardService.refresh$.subscribe(async () => {\n await this.reloadTaskBoardData();\n });\n\n this.taskBoardService.clearProviderCache();\n await this.vm.initialize();\n\n const calendars = await this.loadCalendarFilterOptions();\n\n await this.loadFromRoute();\n\n if (this.activatedRoute.snapshot.queryParamMap.has('calendarEvent')) {\n void this.router.navigate([], {\n queryParams: { calendarEvent: null },\n queryParamsHandling: 'merge',\n replaceUrl: true,\n });\n }\n\n if (this.vm.selectedCalendarEventTypeIds().length === 0 && calendars.length > 0) {\n this.vm.setSelectedCalendarEventTypeIds(calendars.map((calendar) => calendar.id));\n }\n\n this.filtersReady.set(true);\n this.isReady.set(true);\n this.registerKeyboardShortcuts();\n await this.reloadTaskBoardData();\n await this.updateDayDataCache();\n\n this.router.events\n .pipe(\n this.unsubscribe.takeUntilDestroy,\n filter((event) => event instanceof NavigationEnd),\n )\n .subscribe(() => {\n void this.loadFromRoute();\n });\n\n this.taskBoardService.openTask$.subscribe(async ({ task, provider, instanceId, activityId }) => {\n await this.taskResolveHandler();\n let match = task;\n if (!match && instanceId && activityId) {\n match = this.resolvedTasks().find((t) => {\n const data = t.data as { instanceId?: string; activityId?: string } | undefined;\n return data?.instanceId === instanceId && data?.activityId === activityId;\n });\n }\n if (!match) {\n return;\n }\n this.vm.selectTask({\n ...match,\n provider: match.provider ?? provider,\n });\n });\n }\n override async getPageTitle(): Promise<string> {\n const category = this.vm.currentViewCategory();\n const layout = this.vm.getLayoutForCategory(category);\n return await this.translateService.translateAsync(this.viewPageTitleTranslationKey(category, layout));\n }\n\n protected override getTitleActions(): AXPActionMenuItem[] {\n const currentCategory = this.vm.currentViewCategory();\n return this.vm.visibleViewCategories().map((category) => ({\n title: this.viewCategoryTranslationKey(category),\n icon: currentCategory === category ? 'fa-check' : '',\n command: {\n name: 'task-board-category',\n metadata: { category, isSelected: currentCategory === category, hideSelectionCheckSuffix: true },\n },\n }));\n }\n\n override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n return [\n {\n title: await this.translateService.translateAsync('@task-management:task-board.page-title'),\n },\n ];\n }\n\n override async getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n // {\n // ...getActionButton('refresh'),\n // command: { name: 'refresh' },\n // },\n ];\n }\n\n override async execute(command: AXPExecuteCommand): Promise<void> {\n if (command.name === 'task-board-category') {\n const category = command.metadata?.['category'] as AXPTaskBoardViewCategory | undefined;\n if (category) {\n this.applyViewCategory(category);\n }\n return;\n }\n // if (command.name === 'refresh') {\n // this.taskBoardService.requestRefresh();\n // }\n }\n\n protected schedulerDataSource: AXSchedulerAppointmentDataSource = (schedulerFilter) => {\n const pageFilter = this.filter();\n const visibleRange = schedulerFilter?.range ?? pageFilter.range;\n const finalFilter: AXPTaskFilter = {\n ...pageFilter,\n ...schedulerFilter,\n range: visibleRange,\n };\n\n return this.taskBoardService.getTasks(finalFilter).then(async (result) => {\n const items = await this.enrichTasksForViews(filterTasksOverlappingRange(result.items, visibleRange));\n this.validateSelectedTask(items);\n return items as AXSchedulerAppointment[];\n });\n };\n\n protected gridDataSource = (filter?: AXPTaskFilter): Promise<{ items: AXPTask[]; total: number }> => {\n const finalFilter: AXPTaskFilter = { ...this.filter(), ...filter };\n\n return this.taskBoardService.getTasks(finalFilter).then(async (result) => {\n const items = await this.enrichTasksForViews(result.items);\n this.validateSelectedTask(items);\n return { items, total: result.total };\n });\n };\n\n resolvedTasks = signal<AXPTask[]>([]);\n\n /** Loads kanban tasks when filters or date range change; ignores stale async results. */\n private readonly kanbanDataEffect = effect(() => {\n if (this.vm.currentViewMode() !== 'kanban') {\n return;\n }\n\n this.vm.selectedTaskTypeNames();\n this.vm.selectedAssigneeIds();\n this.vm.selectedReporterIds();\n this.vm.selectedPriorities();\n this.vm.selectedDueStatusKeys();\n this.vm.effectiveColorBy();\n this.vm.currentDate();\n this.vm.daysCount();\n this.localeService.activeProfile().localeInfo?.code;\n this.refreshNonce();\n\n const filter = this.filter();\n const version = ++this.kanbanLoadVersion;\n\n void this.taskBoardService.getTasks(filter).then(async (result) => {\n if (version !== this.kanbanLoadVersion) {\n return;\n }\n this.validateSelectedTask(result.items);\n this.resolvedTasks.set(await this.enrichTasksForViews(result.items));\n });\n });\n\n /** Keeps scheduler in sync when toolbar date/view changes outside the scheduler UI. */\n private readonly schedulerNavigationEffect = effect(() => {\n const viewMode = this.vm.currentViewMode();\n const calendarViews: AXPTaskBoardViewMode[] = [\n 'day',\n 'week',\n 'month',\n 'agenda',\n 'timeline-day',\n 'timeline-weekly',\n 'timeline-month',\n 'timeline-year',\n ];\n if (!calendarViews.includes(viewMode)) {\n return;\n }\n\n this.vm.currentDate();\n this.vm.currentViewMode();\n this.vm.daysCount();\n this.refreshNonce();\n\n queueMicrotask(() => {\n this.schedulerComponent()?.refresh();\n });\n });\n\n private async taskResolveHandler(filter: AXPTaskFilter = this.filter()) {\n const result = await this.taskBoardService.getTasks(filter);\n const items = await this.enrichTasksForViews(result.items);\n this.validateSelectedTask(items);\n this.resolvedTasks.set(items);\n }\n\n private async reloadTaskBoardData(): Promise<void> {\n this.taskBoardService.clearProviderCache();\n await this.vm.reloadTaskTypes();\n if (this.filtersPanelInitialized) {\n await this.syncPanelInitialFilters();\n }\n await this.taskResolveHandler();\n await this.getResources();\n this.refreshNonce.update((value) => value + 1);\n this.schedulerComponent()?.refresh();\n }\n\n schedulerComponentChanged(component: AXSchedulerComponent) {\n this.schedulerComponent.set(component);\n queueMicrotask(() => {\n component.refresh();\n });\n }\n\n protected async handleContextMenuOnOpening(event: AXContextMenuOpeningEvent) {\n const currentTask = this.currentTask();\n if (!currentTask) return;\n const providerName = currentTask.provider;\n if (!providerName) return;\n const provider = this.taskBoardService.getProvider(providerName);\n if (!provider) return;\n const actions = await provider.getActions(currentTask);\n for (const item of actions) {\n const t = item.title;\n const text =\n typeof t === 'string'\n ? t.startsWith('@')\n ? await this.translateService.translateAsync(t)\n : t\n : this.translateService.resolve(t);\n event.items.push({\n text,\n icon: item.icon,\n color: item.color as AXStyleColorType,\n break: item.break,\n data: {\n command: item.command,\n },\n });\n }\n }\n\n protected handleContextMenu(event: AXPTaskAction) {\n this.currentTask.set(event.task);\n const x = event.nativeEvent.clientX;\n const y = event.nativeEvent.clientY;\n const element = event.nativeEvent.target as HTMLElement;\n this.contextMenu()?.showAt({ x, y }, element);\n }\n\n protected handleMonthSlotDblClicked(date: Date) {\n this.vm.setCurrentDate(date);\n this.vm.setViewLayout('calendar', 'daily');\n }\n\n private viewCategoryTranslationKey(category: AXPTaskBoardViewCategory): string {\n return `@task-management:task-board.${category}`;\n }\n\n private viewPageTitleTranslationKey(\n category: AXPTaskBoardViewCategory,\n layout: ReturnType<typeof this.vm.getLayoutForCategory>,\n ): string {\n if (category === 'kanban') {\n return '@task-management:task-board.view-page-title.kanban';\n }\n if (layout) {\n return `@task-management:task-board.view-page-title.${category}.${layout}`;\n }\n return this.viewCategoryTranslationKey(category);\n }\n\n protected viewLayoutTranslationKey(layoutText: string): string {\n return `@task-management:task-board.view.${layoutText}`;\n }\n\n protected isViewLayoutSelected(layout: AXPTaskBoardViewLayout): boolean {\n return this.selectedViewLayout() === layout;\n }\n\n protected handleViewLayoutChange(layout: AXPTaskBoardViewLayout): void {\n this.vm.setViewLayout(this.vm.currentViewCategory(), layout);\n void this.navigateViewState();\n this.recompute();\n }\n\n private applyViewCategory(category: AXPTaskBoardViewCategory): void {\n const previousCategory = this.vm.currentViewCategory();\n const previousMode = this.vm.currentViewMode();\n\n if (isTaskBoardRangeFilterCategory(category) && !isTaskBoardRangeFilterCategory(previousCategory)) {\n this.applySmartDateRangeFromNavigator(previousMode);\n }\n\n this.vm.setViewCategory(category);\n void this.navigateViewState();\n this.popover()?.close();\n this.recompute();\n }\n\n private applySmartDateRangeFromNavigator(sourceViewMode: AXPTaskBoardViewMode): void {\n const range = deriveTaskBoardDateRangeFromNavigator(\n this.calendarService,\n sourceViewMode,\n this.vm.currentDate(),\n this.vm.daysCount(),\n );\n applyTaskBoardDateRangeToViewModel(\n range,\n (date) => this.vm.setCurrentDate(date),\n (days) => this.vm.setDaysCount(days),\n );\n }\n\n private navigateViewState(): void {\n void this.router.navigate([], {\n queryParams: this.buildFilterQueryParams(),\n queryParamsHandling: 'merge',\n });\n }\n\n protected toggleSettingsPanel(): void {\n this.isSettingsPanelOpen.update((open) => !open);\n }\n\n protected closeSettingsPanel(): void {\n this.isSettingsPanelOpen.set(false);\n }\n\n private async loadSettingsPanelCopy(): Promise<void> {\n const [title, colorBy, calendars] = await Promise.all([\n this.translationService.translateAsync('@task-management:task-board.settings.title'),\n this.translationService.translateAsync('@task-management:task-board.settings.color-by'),\n this.translationService.translateAsync('@task-management:task-board.filter.calendars'),\n ]);\n\n this.settingsPanelCopy.set({\n title: title ?? '',\n colorBy: colorBy ?? '',\n calendars: calendars ?? '',\n });\n }\n\n protected handleCalendarEventTypesSelectionChange(event: AXValueChangedEvent): void {\n if (!event.isUserInteraction) {\n return;\n }\n\n const next = Array.isArray(event.value)\n ? event.value.map(String)\n : event.value != null\n ? [String(event.value)]\n : [];\n\n this.vm.setSelectedCalendarEventTypeIds(next);\n this.schedulerComponent()?.refresh();\n }\n\n protected handleFiltersChanged(filters: AXPFilterQuery[]): void {\n if (!this.filtersPanelInitialized) {\n return;\n }\n\n // User-driven filter changes should persist and override URL-seeded state.\n this.isQueryParam.set(false);\n\n const typeFilter = filters.find((f) => f.field === 'type');\n const assigneeFilter = filters.find((f) => f.field === 'assignee');\n const reporterFilter = filters.find((f) => f.field === 'reporter');\n const priorityFilter = filters.find((f) => f.field === 'priority');\n const dueStatusFilter = filters.find((f) => f.field === 'dueStatus');\n\n this.syncTaskTypesToViewModel(typeFilter?.value);\n this.syncAssigneesToViewModel(assigneeFilter?.value);\n this.syncReportersToViewModel(reporterFilter?.value);\n this.syncPrioritiesToViewModel(priorityFilter?.value);\n this.syncDueStatusesToViewModel(dueStatusFilter?.value);\n\n void this.navigateViewState();\n }\n\n private async syncPanelInitialFilters(): Promise<void> {\n this.panelInitialFilters.set(await this.buildInitialFiltersFromViewModel());\n }\n\n private async buildInitialFiltersFromViewModel(): Promise<AXPFilterQuery[]> {\n const filters: AXPFilterQuery[] = [];\n const types = this.vm.selectedTaskTypeNames();\n const assignees = this.vm.selectedAssigneeIds();\n const reporters = this.vm.selectedReporterIds();\n const priorities = this.vm.selectedPriorities();\n const dueStatusKeys = this.vm.selectedDueStatusKeys();\n\n if (types.length > 0) {\n const typeValue = this.isMultiSelectTaskTypeEnabled() ? types : types[0];\n filters.push({\n field: 'type',\n operator: { type: 'equal' },\n value: typeValue,\n displayText: await this.resolveSelectFilterDisplayText('task-types', 'name', 'title', typeValue),\n });\n }\n if (assignees.length > 0) {\n filters.push({\n field: 'assignee',\n operator: { type: 'equal' },\n value: assignees,\n displayText: await this.resolveSelectFilterDisplayText(\n 'task-board-assignees',\n 'id',\n 'displayName',\n assignees,\n ),\n });\n }\n if (reporters.length > 0) {\n filters.push({\n field: 'reporter',\n operator: { type: 'equal' },\n value: reporters,\n displayText: await this.resolveSelectFilterDisplayText('users', 'id', 'displayName', reporters),\n });\n }\n if (priorities.length > 0) {\n filters.push({\n field: 'priority',\n operator: { type: 'equal' },\n value: priorities,\n displayText: this.resolvePriorityDisplayText(priorities),\n });\n }\n if (dueStatusKeys.length > 0) {\n filters.push({\n field: 'dueStatus',\n operator: { type: 'equal' },\n value: dueStatusKeys,\n displayText: this.resolveDueStatusDisplayText(dueStatusKeys),\n });\n }\n\n return filters;\n }\n\n private resolveDueStatusDisplayText(values: AXPDueStatusFilterKey[]): string {\n return values\n .map((name) => AXMTaskBoardPage.DUE_STATUS_OPTIONS.find((option) => option.name === name)?.title ?? name)\n .join(', ');\n }\n\n private resolvePriorityDisplayText(values: AXPPriorityFilterKey[]): string {\n return values\n .map((name) => AXMTaskBoardPage.PRIORITY_OPTIONS.find((option) => option.name === name)?.title ?? name)\n .join(', ');\n }\n\n private async resolveSelectFilterDisplayText(\n dataSourceName: string,\n valueField: string,\n textField: string,\n values: unknown,\n ): Promise<string> {\n const ids = Array.isArray(values) ? values : values != null && values !== '' ? [values] : [];\n if (ids.length === 0) {\n return '';\n }\n\n const definition = await this.dataSourceDefinitionService.get(dataSourceName);\n const dsResult = definition?.source();\n const dataSource = dsResult instanceof Promise ? await dsResult : dsResult;\n\n if (!dataSource?.config?.byKey) {\n return ids.map((id) => String(this.unwrapFilterValue(id))).join(', ');\n }\n\n const labels = await Promise.all(\n ids.map(async (id) => {\n const rawId = this.unwrapFilterValue(id);\n const item = await dataSource.config.byKey!(rawId);\n if (item && typeof item === 'object') {\n const label = (item as Record<string, unknown>)[textField];\n if (label != null && label !== '') {\n return String(label);\n }\n }\n return String(rawId);\n }),\n );\n\n return labels.join(', ');\n }\n\n private buildFilterQueryParams(): Params {\n const types = this.vm.selectedTaskTypeNames();\n const assignees = this.vm.selectedAssigneeIds();\n const reporters = this.vm.selectedReporterIds();\n const priorities = this.vm.selectedPriorities();\n const dueStatusKeys = this.vm.selectedDueStatusKeys();\n const category = this.vm.currentViewCategory();\n const layout = this.vm.getLayoutForCategory(category);\n\n return {\n view: category,\n layout: layout ?? null,\n type: types.length > 0 ? types : null,\n assignee: assignees.length > 0 ? assignees.map(String) : null,\n reporter: reporters.length > 0 ? reporters.map(String) : null,\n priority: priorities.length > 0 ? priorities : null,\n dueStatus: dueStatusKeys.length > 0 ? dueStatusKeys : null,\n calendarEvent: null,\n };\n }\n\n private unwrapFilterValue(value: unknown): unknown {\n let v = value;\n while (v != null && typeof v === 'object' && !Array.isArray(v) && 'value' in v) {\n v = (v as Record<string, unknown>)['value'];\n }\n return v;\n }\n\n private normalizeStringArrayFilterValue(value: unknown): string[] {\n const v = this.unwrapFilterValue(value);\n if (v == null || v === '') {\n return [];\n }\n if (Array.isArray(v)) {\n return v\n .filter((item) => item != null)\n .map((item) => {\n if (typeof item === 'string') {\n return item;\n }\n if (typeof item === 'object' && item != null && 'name' in item) {\n return String((item as { name: string }).name);\n }\n return String(item);\n });\n }\n if (typeof v === 'object' && v != null && 'name' in v) {\n return [String((v as { name: string }).name)];\n }\n return [String(v)];\n }\n\n private normalizeIdArrayFilterValue(value: unknown): (string | number)[] {\n const v = this.unwrapFilterValue(value);\n if (v == null || v === '') {\n return [];\n }\n if (Array.isArray(v)) {\n return v\n .filter((item) => item != null)\n .map((item) => {\n if (typeof item === 'string' || typeof item === 'number') {\n return item;\n }\n if (typeof item === 'object' && item != null && 'id' in item) {\n return (item as { id: string | number }).id;\n }\n return String(item);\n });\n }\n if (typeof v === 'object' && v != null && 'id' in v) {\n return [(v as { id: string | number }).id];\n }\n if (typeof v === 'string' || typeof v === 'number') {\n return [v];\n }\n return [String(v)];\n }\n\n private syncTaskTypesToViewModel(value: unknown): void {\n const raw = this.normalizeStringArrayFilterValue(value);\n const newNames = normalizeTaskTypeFilterNames(raw, this.vm.taskTypes());\n const currentNames = this.vm.selectedTaskTypeNames();\n if (!isEqual(sortBy(currentNames), sortBy(newNames))) {\n this.vm.setSelectedTaskTypeNames(newNames, this.isQueryParam());\n }\n }\n\n private syncAssigneesToViewModel(value: unknown): void {\n const newIds = this.normalizeIdArrayFilterValue(value);\n const currentIds = this.vm.selectedAssigneeIds();\n if (!isEqual(sortBy(currentIds.map(String)), sortBy(newIds.map(String)))) {\n // Always persist an explicit UI change (including clearing to \"all assignees\").\n this.vm.setSelectedAssigneeIds(newIds, false, true);\n }\n }\n\n private syncReportersToViewModel(value: unknown): void {\n const newIds = this.normalizeIdArrayFilterValue(value);\n const currentIds = this.vm.selectedReporterIds();\n if (!isEqual(sortBy(currentIds.map(String)), sortBy(newIds.map(String)))) {\n this.vm.setSelectedReporterIds(newIds, this.isQueryParam());\n }\n }\n\n private syncPrioritiesToViewModel(value: unknown): void {\n const raw = this.normalizeStringArrayFilterValue(value);\n const newNames = normalizeTaskBoardPriorityFilterKeys(raw);\n const currentNames = this.vm.selectedPriorities();\n if (!isEqual(sortBy(currentNames), sortBy(newNames))) {\n this.vm.setSelectedPriorities(newNames, this.isQueryParam());\n }\n }\n\n private syncDueStatusesToViewModel(value: unknown): void {\n const raw = this.normalizeStringArrayFilterValue(value);\n const newKeys = normalizeDueStatusFilterKeys(raw);\n const currentKeys = this.vm.selectedDueStatusKeys();\n if (!isEqual(sortBy(currentKeys), sortBy(newKeys))) {\n this.vm.setSelectedDueStatusKeys(newKeys, this.isQueryParam());\n }\n }\n\n protected handleColorBySelectionChange(event: AXValueChangedEvent): void {\n if (!event.isUserInteraction) {\n return;\n }\n\n this.handleColorByChange(event.value as AXPTaskBoardColorBy);\n }\n\n protected handleColorByChange(key: AXPTaskBoardColorBy): void {\n this.vm.setColorBy(key);\n void this.taskResolveHandler();\n this.schedulerComponent()?.refresh();\n this.refreshNonce.update((value) => value + 1);\n }\n\n private isMultiSelectTaskTypeEnabled(): boolean {\n const viewMode = this.vm.currentViewMode();\n return viewMode !== 'kanban' && viewMode !== 'status-grouped-grid';\n }\n\n /** Re-normalizes filter keys when locale/profile changes (titles must not drive filtering). */\n private readonly localeFilterRefreshEffect = effect(() => {\n const profileCode = this.localeService.activeProfile().localeInfo?.code ?? '';\n if (!profileCode || this.vm.isLoading() || !this.filtersPanelInitialized) {\n return;\n }\n\n const previousCode = this.lastLocaleProfileCode;\n this.lastLocaleProfileCode = profileCode;\n if (previousCode == null || previousCode === profileCode) {\n return;\n }\n\n untracked(() => {\n const taskTypes = this.vm.taskTypes();\n const normalizedTypes = normalizeTaskTypeFilterNames(this.vm.selectedTaskTypeNames(), taskTypes);\n if (!isEqual(sortBy(normalizedTypes), sortBy(this.vm.selectedTaskTypeNames()))) {\n this.vm.setSelectedTaskTypeNames(normalizedTypes);\n }\n\n void this.vm.reloadTaskTypes().then(() => {\n this.taskBoardService.clearProviderCache();\n void this.syncPanelInitialFilters();\n this.refreshNonce.update((value) => value + 1);\n this.schedulerComponent()?.refresh();\n });\n });\n });\n\n private readonly refreshEffect = effect(() => {\n this.vm.selectedTaskTypeNames();\n this.vm.selectedAssigneeIds();\n this.vm.selectedReporterIds();\n this.vm.selectedPriorities();\n this.vm.selectedDueStatusKeys();\n this.vm.effectiveColorBy();\n this.vm.currentDate();\n this.vm.daysCount();\n this.localeService.activeProfile().localeInfo?.code;\n this.refreshNonce();\n\n void this.getResources();\n this.schedulerComponent()?.refresh();\n });\n\n private readonly calendarEventTypeRefreshEffect = effect(() => {\n this.vm.selectedCalendarEventTypeIds();\n this.localeService.activeProfile().localeInfo?.code;\n this.schedulerComponent()?.refresh();\n });\n\n private readonly calendarLocalizationEffect = effect(() => {\n this.localeService.activeProfile().localeInfo?.code;\n void this.loadCalendarFilterOptions();\n });\n\n private readonly dayDataCacheEffect = effect(async () => {\n this.vm.currentDate();\n this.vm.currentViewMode();\n this.vm.selectedTaskTypeNames();\n this.localeService.activeProfile().localeInfo?.code;\n await this.updateDayDataCache();\n });\n\n private async loadCalendarFilterOptions(): Promise<Array<{ id: string; title: string }>> {\n const calendars = await this.taskBoardService.getCalendarEventTypes();\n this.calendarEventTypes.set(\n calendars.map((calendar) => ({\n id: calendar.id,\n title: calendar.title,\n })),\n );\n return calendars;\n }\n\n private async updateDayDataCache(): Promise<void> {\n const currentDate = this.vm.currentDate();\n const depth = this.calendarDepth();\n\n // Determine the date range based on the popover calendar depth\n let rangeStart: Date;\n let rangeEnd: Date;\n if (depth === 'month') {\n // When depth is 'month', the sidebar shows a full year of months -- fetch data for the entire year\n rangeStart = this.calendarService.create(currentDate).startOf('year').date;\n rangeEnd = this.calendarService.create(currentDate).endOf('year').date;\n } else {\n // When depth is 'day', the sidebar shows a single month -- fetch data for that month\n rangeStart = this.calendarService.create(currentDate).startOf('month').date;\n rangeEnd = this.calendarService.create(currentDate).endOf('month').date;\n }\n\n const tasks = await this.taskBoardService.getTasks({\n ...this.filter(),\n range: { from: rangeStart, end: rangeEnd },\n });\n\n const dayCountMap = new Map<string, number>();\n\n tasks.items.forEach((task) => {\n const taskStart = new Date(task.startDate);\n const taskEnd = new Date(task.endDate);\n const startDay = this.calendarService.create(taskStart).startOf('day');\n const endDay = this.calendarService.create(taskEnd).startOf('day');\n\n let currentDay = startDay;\n while (currentDay.compare(endDay, 'day') <= 0) {\n const dayKey = currentDay.format('YYYY-MM-DD');\n dayCountMap.set(dayKey, (dayCountMap.get(dayKey) || 0) + 1);\n currentDay = currentDay.add('day', 1);\n }\n });\n\n this.dayDataCache.set(dayCountMap);\n this.calendar()?.render();\n }\n\n private async resolveNavigatorTimeText(): Promise<string> {\n const formatted = this.formatNavigatorDateText();\n return this.resolveFormattedDateTimeLabels(formatted);\n }\n\n /** Resolves leftover `dateTime.*` tokens via translateAsync (translateSync may run before acorex scope loads). */\n private async resolveFormattedDateTimeLabels(formatted: string): Promise<string> {\n const keyPattern = /(?:@acorex:)?dateTime\\.[A-Za-z0-9._-]+/g;\n const matches = [...new Set(formatted.match(keyPattern) ?? [])];\n\n if (matches.length === 0) {\n return formatted;\n }\n\n let result = formatted;\n for (const match of matches) {\n const key = match.startsWith('@') ? match : `@acorex:${match}`;\n const translated = await this.translateService.translateAsync(key);\n result = result.replaceAll(match, translated);\n }\n\n return result;\n }\n\n /**\n * Builds toolbar navigator date text with calendar-aware AXDateTime tokens.\n * Month/weekday tokens may remain as i18n keys until {@link resolveFormattedDateTimeLabels} runs.\n */\n private formatNavigatorDateText(): string {\n const currentDate = this.vm.currentDate();\n if (!currentDate) {\n return '';\n }\n\n const calendarSystem = this.calendarType();\n const formatOptions = { locale: calendarSystem };\n const axDate = this.calendarService.create(currentDate, calendarSystem);\n const viewMode = this.vm.currentViewMode();\n\n if (\n viewMode === 'grid' ||\n viewMode === 'kanban' ||\n viewMode === 'status-grouped-grid'\n ) {\n const startText = axDate.format('DD MMMM yyyy', formatOptions);\n if (this.vm.daysCount() <= 1) {\n return startText;\n }\n const endText = axDate.add('day', this.vm.daysCount() - 1).format('DD MMMM yyyy', formatOptions);\n return `${startText} - ${endText}`;\n }\n\n switch (viewMode) {\n case 'day':\n case 'timeline-day':\n return axDate.format('DD MMMM yyyy', formatOptions);\n case 'week': {\n const startText = axDate.format('DD MMMM yyyy', formatOptions);\n const endText = axDate.add('week', 1).add('day', -1).format('DD MMMM yyyy', formatOptions);\n return `${startText} - ${endText}`;\n }\n case 'agenda':\n case 'timeline-weekly': {\n const startText = axDate.format('DD MMMM yyyy', formatOptions);\n const endText = axDate.add('day', this.vm.daysCount() - 1).format('DD MMMM yyyy', formatOptions);\n return `${startText} - ${endText}`;\n }\n case 'month':\n case 'timeline-month':\n return axDate.format('MMMM yyyy', formatOptions);\n case 'timeline-year':\n return axDate.format('yyyy', formatOptions);\n default:\n return '';\n }\n }\n\n /** Normalizes ax-calendar slot labels (e.g. `dateTime.months.*`) for the translate pipe. */\n protected toAcorexTranslationKey(text: string | number | null | undefined): string {\n if (text == null || text === '') {\n return '';\n }\n\n const value = String(text);\n if (value.startsWith('@')) {\n return value;\n }\n if (value.startsWith('dateTime.')) {\n return `@acorex:${value}`;\n }\n\n return value;\n }\n\n protected isDateTimeTranslationKey(text: string | number | null | undefined): boolean {\n if (text == null) {\n return false;\n }\n\n const value = String(text);\n return value.startsWith('@') || value.startsWith('dateTime.');\n }\n\n protected getDayDataCount(date: AXDateTime | undefined): number {\n if (!date) {\n return 0;\n }\n try {\n // Get the native Date object from AXDateTime\n const dateObj = (date as any).date || (date as any)._date;\n if (!dateObj) {\n return 0;\n }\n // Create a new AXDateTime from the date object for consistent formatting\n const nativeDate = dateObj instanceof Date ? dateObj : new Date(dateObj);\n const axDate = this.calendarService.create(nativeDate);\n const dayKey = axDate.format('YYYY-MM-DD');\n return this.dayDataCache().get(dayKey) || 0;\n } catch (error) {\n console.warn('Error getting day data count:', error);\n return 0;\n }\n }\n\n /**\n * Aggregates the day-level data counts for an entire month.\n * Used by the monthCellTemplate to show badges when the sidebar calendar depth is 'month'.\n */\n protected getMonthDataCount(date: AXDateTime | undefined): number {\n if (!date) {\n return 0;\n }\n try {\n const dateObj = (date as any).date || (date as any)._date;\n if (!dateObj) {\n return 0;\n }\n const nativeDate = dateObj instanceof Date ? dateObj : new Date(dateObj);\n const axDate = this.calendarService.create(nativeDate);\n const monthStart = axDate.startOf('month');\n const monthEnd = axDate.endOf('month');\n\n let total = 0;\n let current = monthStart;\n while (current.compare(monthEnd, 'day') <= 0) {\n const dayKey = current.format('YYYY-MM-DD');\n total += this.dayDataCache().get(dayKey) || 0;\n current = current.add('day', 1);\n }\n return total;\n } catch (error) {\n console.warn('Error getting month data count:', error);\n return 0;\n }\n }\n\n protected async handleContextMenuItemClick(event: AXContextMenuItemsClickEvent) {\n const command = event.item.data?.command;\n const provider = this.currentTask()?.provider ?? '';\n try {\n if (command) {\n await this.taskBoardService.executeCommand(command, provider);\n }\n } catch (error) {\n console.error('[TaskBoard] Context menu command failed:', error);\n } finally {\n if (command) {\n this.taskBoardService.requestRefresh(provider || undefined);\n }\n }\n }\n\n @HostListener('document:keydown.control')\n protected handleNavigatorRangeModifierDown(): void {\n this.navigatorRangeSelectActive.set(true);\n }\n\n @HostListener('document:keyup.control')\n protected handleNavigatorRangeModifierUp(): void {\n this.navigatorRangeSelectActive.set(false);\n }\n\n /**\n * Registers page keyboard shortcuts with the platform shortcut registry.\n */\n private registerKeyboardShortcuts(): void {\n this.registerTaskBoardNavigatorShortcuts();\n this.registerTaskBoardPanelShortcuts();\n this.registerTaskBoardViewCategoryShortcuts();\n this.registerTaskBoardViewLayoutShortcuts();\n }\n\n private registerTaskBoardNavigatorShortcuts(): void {\n this.shortcutRegistry.register({\n owner: this.destroyRef,\n id: 'task-board-navigator',\n priority: AXPKeyboardShortcutPriority.Page,\n scope: '@task-management:task-board.page-title',\n group: '@general:keyboard-shortcuts.groups.navigation',\n when: () => this.isReady() && this.showToolbarNavigator(),\n shortcuts: [\n {\n keys: ['arrowleft'],\n title: '@task-management:task-board.navigator.previous-period',\n allowInEditableFields: true,\n handler: () => this.changeDate(false),\n },\n {\n keys: ['arrowright'],\n title: '@task-management:task-board.navigator.next-period',\n allowInEditableFields: true,\n handler: () => this.changeDate(true),\n },\n {\n keys: ['alt+t'],\n title: '@task-management:task-board.shortcuts.go-to-today',\n allowInEditableFields: true,\n handler: () => this.handleTodayClick(),\n },\n ],\n });\n }\n\n private registerTaskBoardPanelShortcuts(): void {\n this.shortcutRegistry.register({\n owner: this.destroyRef,\n id: 'task-board-panels-settings',\n priority: AXPKeyboardShortcutPriority.Page,\n scope: '@task-management:task-board.page-title',\n group: '@task-management:task-board.shortcuts.groups.panels',\n when: () => this.isReady(),\n shortcuts: [\n {\n keys: ['ctrl+,'],\n title: '@task-management:task-board.shortcuts.toggle-settings',\n allowInEditableFields: true,\n handler: () => this.toggleSettingsPanel(),\n },\n ],\n });\n\n this.shortcutRegistry.register({\n owner: this.destroyRef,\n id: 'task-board-panels-dismiss',\n priority: AXPKeyboardShortcutPriority.Page,\n scope: '@task-management:task-board.page-title',\n group: '@task-management:task-board.shortcuts.groups.panels',\n when: () => this.isReady() && this.hasKeyboardDismissTarget(),\n shortcuts: [\n {\n keys: ['escape'],\n title: '@task-management:task-board.shortcuts.dismiss-overlays',\n handler: () => this.handleKeyboardDismiss(),\n },\n ],\n });\n }\n\n private registerTaskBoardViewCategoryShortcuts(): void {\n const categories: AXPTaskBoardViewCategory[] = ['calendar', 'timeline', 'table', 'kanban'];\n const titleKeys: Record<AXPTaskBoardViewCategory, string> = {\n calendar: '@task-management:task-board.shortcuts.switch-to-calendar',\n timeline: '@task-management:task-board.shortcuts.switch-to-timeline',\n table: '@task-management:task-board.shortcuts.switch-to-table',\n kanban: '@task-management:task-board.shortcuts.switch-to-kanban',\n };\n\n for (let index = 0; index < categories.length; index++) {\n for (const category of categories) {\n this.shortcutRegistry.register({\n owner: this.destroyRef,\n id: `task-board-view-category-${category}-slot-${index + 1}`,\n priority: AXPKeyboardShortcutPriority.Page,\n scope: '@task-management:task-board.page-title',\n group: '@task-management:task-board.shortcuts.groups.views',\n when: () => this.isReady() && this.getVisibleViewCategoryByShortcutIndex(index) === category,\n shortcuts: [\n {\n keys: [`alt+${index + 1}`],\n title: titleKeys[category],\n handler: () => this.switchToViewCategory(category),\n },\n ],\n });\n }\n }\n }\n\n private registerTaskBoardViewLayoutShortcuts(): void {\n this.shortcutRegistry.register({\n owner: this.destroyRef,\n id: 'task-board-view-layout',\n priority: AXPKeyboardShortcutPriority.Page,\n scope: '@task-management:task-board.page-title',\n group: '@task-management:task-board.shortcuts.groups.views',\n when: () => this.isReady() && this.canCycleViewLayout(),\n shortcuts: [\n {\n keys: ['['],\n title: '@task-management:task-board.shortcuts.previous-layout',\n handler: () => this.cycleViewLayout(false),\n },\n {\n keys: [']'],\n title: '@task-management:task-board.shortcuts.next-layout',\n handler: () => this.cycleViewLayout(true),\n },\n ],\n });\n }\n\n private getVisibleViewCategoryByShortcutIndex(index: number): AXPTaskBoardViewCategory | null {\n return this.vm.visibleViewCategories()[index] ?? null;\n }\n\n private switchToViewCategory(category: AXPTaskBoardViewCategory): void {\n if (!this.vm.visibleViewCategories().includes(category)) {\n return;\n }\n\n if (this.vm.currentViewCategory() !== category) {\n this.applyViewCategory(category);\n }\n }\n\n private canCycleViewLayout(): boolean {\n return this.showViewLayoutSwitcher() && this.viewLayoutItems().length > 1;\n }\n\n private cycleViewLayout(forward: boolean): void {\n const items = this.viewLayoutItems();\n if (items.length <= 1) {\n return;\n }\n\n const currentLayout = this.selectedViewLayout();\n const currentIndex = items.findIndex((item) => item.key === currentLayout);\n const safeIndex = currentIndex >= 0 ? currentIndex : 0;\n const offset = forward ? 1 : -1;\n const nextIndex = (safeIndex + offset + items.length) % items.length;\n\n this.handleViewLayoutChange(items[nextIndex].key);\n }\n\n private hasKeyboardDismissTarget(): boolean {\n return (\n this.isSettingsPanelOpen() ||\n this.popover()?.isOpen === true ||\n this.vm.isDetailPanelOpen() ||\n this.vm.isTaskSelected()\n );\n }\n\n private handleKeyboardDismiss(): void {\n if (this.isSettingsPanelOpen()) {\n this.closeSettingsPanel();\n return;\n }\n\n if (this.popover()?.isOpen) {\n this.popover()?.close();\n return;\n }\n\n if (this.vm.isDetailPanelOpen()) {\n this.vm.closeDetailPanel();\n return;\n }\n\n if (this.vm.isTaskSelected()) {\n this.vm.clearSelectedTask();\n }\n }\n\n private isModifierRangeNavigatorView(): boolean {\n return this.modifierRangeBasedViews.includes(this.vm.currentViewMode());\n }\n\n private usesNavigatorRangeSelection(view: AXPTaskBoardViewMode): boolean {\n if (this.alwaysRangeBasedViews.includes(view)) {\n return true;\n }\n if (this.modifierRangeBasedViews.includes(view)) {\n return this.vm.rangeStartDate() != null || this.vm.daysCount() > 1;\n }\n return false;\n }\n\n private isNavigatorRangeModifierActive(event?: AXCalendarSlotClick): boolean {\n const nativeEvent = event?.nativeEvent;\n if (nativeEvent instanceof MouseEvent) {\n return nativeEvent.ctrlKey || nativeEvent.metaKey;\n }\n return this.navigatorRangeSelectActive();\n }\n\n private normalizeNavigatorDay(date: Date): Date {\n const calendarSystem = this.localeService.activeProfile().calendar.system;\n return this.calendarService.create(date, calendarSystem).startOf('day').date;\n }\n\n private applyNavigatorDateRange(start: Date, end: Date): void {\n const startTime = start.getTime();\n const endTime = end.getTime();\n const newStartDate = new Date(Math.min(startTime, endTime));\n const newEndDate = new Date(Math.max(startTime, endTime));\n const differenceInDays = this.calculateDifferenceInDays(newStartDate, newEndDate);\n\n this.vm.setRangeStartDate(null);\n this.navigatorPlainSingleDaySelected = false;\n this.vm.setCurrentDate(newStartDate);\n this.vm.setDaysCount(differenceInDays);\n this.calendar()?.render();\n this.schedulerComponent()?.refresh();\n }\n\n private handleNavigatorRangeSlotClick(clickedDate: Date): void {\n const clickedDay = this.normalizeNavigatorDay(clickedDate);\n const selectionStartDate = this.vm.rangeStartDate();\n\n if (selectionStartDate) {\n this.applyNavigatorDateRange(selectionStartDate, clickedDay);\n return;\n }\n\n if (this.navigatorPlainSingleDaySelected && this.vm.daysCount() === 1) {\n const selectedDay = this.normalizeNavigatorDay(this.vm.currentDate());\n this.applyNavigatorDateRange(selectedDay, clickedDay);\n return;\n }\n\n this.vm.setRangeStartDate(clickedDay);\n this.navigatorPlainSingleDaySelected = false;\n this.calendar()?.render();\n }\n\n private handleNavigatorSingleDaySlotClick(clickedDate: Date): void {\n const dateToSet = this.normalizeNavigatorDay(clickedDate);\n\n this.vm.setRangeStartDate(null);\n this.navigatorPlainSingleDaySelected = true;\n this.vm.setCurrentDate(dateToSet);\n this.vm.setDaysCount(1);\n this.popover()?.close();\n this.calendar()?.render();\n this.schedulerComponent()?.refresh();\n }\n\n changeDate(forward: boolean) {\n this.navigatorPlainSingleDaySelected = false;\n const date = this.calendarService.create(this.vm.currentDate(), this.localeService.activeProfile().calendar.system);\n switch (this.vm.currentViewMode()) {\n case 'day':\n case 'timeline-day':\n this.vm.setCurrentDate(date.add('day', forward ? 1 : -1).date);\n break;\n\n case 'week':\n this.vm.setCurrentDate(date.add('week', forward ? 1 : -1).date);\n break;\n\n case 'grid':\n case 'agenda':\n case 'kanban':\n case 'timeline-weekly':\n case 'status-grouped-grid':\n this.vm.setCurrentDate(date.add('day', forward ? this.vm.daysCount() : -this.vm.daysCount()).date);\n break;\n\n case 'month':\n case 'timeline-month':\n this.vm.setCurrentDate(date.add('month', forward ? 1 : -1).date);\n break;\n\n case 'timeline-year':\n this.vm.setCurrentDate(date.add('year', forward ? 1 : -1).date);\n break;\n }\n this.popover()?.close();\n this.calendar()?.render();\n this.schedulerComponent()?.refresh();\n }\n\n protected handleCalendarSlotClick(event: AXCalendarSlotClick) {\n if (event.component.activeView !== event.component.depth) return;\n\n const clickedDate: Date = event.item;\n const currentView = this.vm.currentViewMode();\n\n if (this.modifierRangeBasedViews.includes(currentView)) {\n if (this.isNavigatorRangeModifierActive(event)) {\n this.handleNavigatorRangeSlotClick(clickedDate);\n } else {\n this.handleNavigatorSingleDaySlotClick(clickedDate);\n }\n return;\n }\n\n if (this.alwaysRangeBasedViews.includes(currentView)) {\n this.handleNavigatorRangeSlotClick(clickedDate);\n return;\n }\n\n const calendarSystem = this.localeService.activeProfile().calendar.system;\n let dateToSet = this.calendarService.create(clickedDate, calendarSystem).startOf('day').date;\n\n if (currentView === 'week') {\n const weekDate = this.calendarService.create(dateToSet, calendarSystem);\n dateToSet = weekDate.startOf('week').date;\n }\n\n this.vm.setCurrentDate(dateToSet);\n this.popover()?.close();\n this.calendar()?.render();\n this.schedulerComponent()?.refresh();\n }\n\n getCellClass = (date: AXDateTime): string | null => {\n const currentView = this.vm.currentViewMode();\n const selectionStartDate = this.vm.rangeStartDate();\n\n if (!this.usesNavigatorRangeSelection(currentView)) {\n const currentDay = this.calendarService.create(this.vm.currentDate());\n if (date.equal(currentDay, 'day')) {\n return 'ax-range-start ax-range-end';\n }\n return null;\n }\n\n if (this.modifierRangeBasedViews.includes(currentView) || this.alwaysRangeBasedViews.includes(currentView)) {\n if (selectionStartDate) {\n const axSelectionStartDate = this.calendarService.create(selectionStartDate);\n if (date.equal(axSelectionStartDate, 'day')) {\n return 'ax-range-start ax-range-end';\n }\n return null;\n }\n\n const fromRange = this.calendarService.create(this.vm.currentDate());\n const endRange = fromRange.add('day', this.vm.daysCount() - 1);\n\n const isStart = date.equal(fromRange, 'day');\n const isEnd = date.equal(endRange, 'day');\n\n if (isStart && isEnd) return 'ax-range-start ax-range-end';\n if (isStart) return 'ax-range-start';\n if (isEnd) return 'ax-range-end';\n if (date.compare(fromRange, 'day') > 0 && date.compare(endRange, 'day') < 0) {\n return 'ax-range-between';\n }\n\n return null;\n }\n\n if (currentView === 'week') {\n const from = this.calendarService.create(this.vm.currentDate());\n const end = from.add('day', 6);\n\n if (date.equal(from, 'day')) return 'ax-range-start';\n if (date.equal(end, 'day')) return 'ax-range-end';\n if (date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0) {\n return 'ax-range-between';\n }\n }\n\n return null;\n };\n\n /**\n * Helper function to calculate the difference in whole days between two dates.\n * The result is inclusive (e.g., May 5 to May 6 is a 2-day range).\n */\n private calculateDifferenceInDays(start: Date, end: Date): number {\n if (!start || !end) {\n return 1;\n }\n const startDate = new Date(start.getFullYear(), start.getMonth(), start.getDate());\n const endDate = new Date(end.getFullYear(), end.getMonth(), end.getDate());\n\n const timeDifference = endDate.getTime() - startDate.getTime();\n const daysDifference = Math.round(timeDifference / (1000 * 3600 * 24));\n\n return daysDifference + 1;\n }\n\n handleTodayClick() {\n this.vm.setRangeStartDate(null);\n this.navigatorPlainSingleDaySelected = false;\n let currentDate: Date;\n if (this.vm.currentViewMode() === 'week') {\n currentDate = this.calendarService\n .create(new Date(), this.localeService.activeProfile().calendar.system)\n .startOf('week').date;\n } else {\n currentDate = new Date();\n }\n this.vm.setCurrentDate(currentDate);\n if (this.isModifierRangeNavigatorView()) {\n this.vm.setDaysCount(1);\n }\n this.popover()?.close();\n this.calendar()?.render();\n this.schedulerComponent()?.refresh();\n }\n\n protected isNonCalendarView = computed(() => {\n const mode = this.vm.currentViewMode();\n return mode === 'kanban' || mode === 'grid' || mode === 'status-grouped-grid';\n });\n\n private async loadFromRoute(): Promise<void> {\n const snapshot = this.activatedRoute.snapshot.queryParamMap;\n const viewParam = snapshot.get('view');\n const layoutParam = snapshot.get('layout');\n const allowedCategories = new Set(this.vm.visibleViewCategories());\n\n const viewBefore = this.vm.currentViewCategory();\n const layoutBefore = this.vm.getLayoutForCategory(viewBefore);\n if (viewParam && allowedCategories.has(viewParam as AXPTaskBoardViewCategory)) {\n const category = viewParam as AXPTaskBoardViewCategory;\n const layout = resolveTaskBoardCategoryLayoutFromQuery(category, layoutParam);\n if (layout) {\n this.vm.setViewLayout(category, layout);\n }\n this.vm.setViewCategory(category);\n }\n const layoutAfter = this.vm.getLayoutForCategory(this.vm.currentViewCategory());\n if (viewBefore !== this.vm.currentViewCategory() || layoutBefore !== layoutAfter) {\n this.recompute();\n }\n\n const type = snapshot.getAll('type') as string[];\n const assignee = snapshot.getAll('assignee') as string[];\n const reporter = snapshot.getAll('reporter') as string[];\n const priority = snapshot.getAll('priority') as AXPPriorityFilterKey[];\n const dueStatus = snapshot.getAll('dueStatus') as AXPDueStatusFilterKey[];\n if (type.length || assignee.length || priority.length || reporter.length || dueStatus.length) {\n this.isQueryParam.set(true);\n this.vm.setSelectedTaskTypeNames(normalizeTaskTypeFilterNames(type, this.vm.taskTypes()), true);\n this.vm.setSelectedAssigneeIds(assignee, true);\n this.vm.setSelectedReporterIds(reporter, true);\n this.vm.setSelectedPriorities(normalizeTaskBoardPriorityFilterKeys(priority), true);\n this.vm.setSelectedDueStatusKeys(normalizeDueStatusFilterKeys(dueStatus), true);\n }\n\n const dateRange = snapshot.get('dateRange') as string;\n if (dateRange) {\n const range = this.taskBoardService.rangeCalculator(dateRange);\n if (range) {\n this.vm.setCurrentDate(range.from);\n this.vm.setDaysCount(this.calculateDifferenceInDays(range.from, range.end));\n }\n } else if (!this.filtersPanelInitialized && this.isModifierRangeNavigatorView()) {\n this.vm.setRangeStartDate(null);\n this.navigatorPlainSingleDaySelected = false;\n this.vm.setDaysCount(1);\n }\n\n await this.syncPanelInitialFilters();\n this.filtersPanelInitialized = true;\n }\n\n /**\n * Checks if the currently selected task is still present in the list of visible tasks.\n * If not, it clears the selection to prevent showing details for a hidden task.\n * @param visibleTasks The new array of tasks that will be displayed.\n */\n private validateSelectedTask(visibleTasks: AXPTask[]): void {\n const currentSelectedTask = this.vm.selectedTask();\n // Proceed only if a task is actually selected\n if (currentSelectedTask) {\n // Check if any task in the new list has the same ID as the selected one\n const isSelectedTaskVisible = visibleTasks.some((task) => task.id === currentSelectedTask.id);\n\n // If the selected task is NOT in the new list, clear the selection.\n if (!isSelectedTaskVisible) {\n this.vm.selectTask(null);\n }\n }\n }\n\n protected async getResources(): Promise<void> {\n if (this.vm.selectedTaskTypeNames().length !== 1) {\n this.resources.set([]);\n return;\n }\n const resources = await this.taskBoardService.getResources(this.vm.selectedTaskTypeNames()[0] ?? '');\n this.resources.set(resources);\n }\n}\n","<!-- Task board page shell -->\n<axp-page-layout *translate=\"let t\">\n <!-- Toolbar: date navigator, filters, view layout, and settings -->\n <axp-page-toolbar class=\"axm-task-board-toolbar\"\n [class.axm-task-board-toolbar--stack-filters]=\"!deviceService.isLarge()\">\n <div class=\"axm-task-board-toolbar__primary-row\">\n <axp-layout-prefix class=\"ax-flex ax-min-w-0 ax-flex-nowrap ax-items-center ax-gap-2\"\n [class.ax-flex-1]=\"deviceService.isLarge()\">\n <!-- Date navigator with calendar popover -->\n @if (showToolbarNavigator()) {\n <div class=\"ax-scheduler-header ax-shrink-0 ax-w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon ax-text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"navigatorTimeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon ax-text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- TODO(acorex-ui): Do not wrap ax-calendar in @for/@if here — ax-popover requires a direct projected child.\n Week layout comes from AXCalendarService (AXPRegionalCalendarService); navigatorCalendarLayoutEffect re-renders on profile/calendar changes.\n Remove manual render() when ax-calendar reacts to calendar service week layout changes.\n See README.md in this folder. -->\n <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <ax-calendar #calendar [type]=\"calendarType()\" [depth]=\"calendarDepth()\" [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\" [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar ax-border ax-rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\">\n <ax-footer>\n <ax-button look=\"link\" color=\"primary\" [text]=\"(todayButtonTextKey() | translate | async)!\"\n (onClick)=\"handleTodayClick()\"></ax-button>\n </ax-footer>\n </ax-calendar>\n </ax-popover>\n </div>\n }\n\n <!-- Inline query filters (large screens only) -->\n @if (deviceService.isLarge() && filtersReady()) {\n <axp-query-filters class=\"axm-task-board-toolbar__filters-inline\" [filtersDefinitions]=\"filterDefinitions()\"\n [initialFilters]=\"panelInitialFilters()\" (onFiltersChanged)=\"handleFiltersChanged($event)\"></axp-query-filters>\n }\n </axp-layout-prefix>\n\n <axp-layout-suffix class=\"ax-flex ax-shrink-0 ax-gap-2\">\n <!-- View layout switcher (kanban, grid, calendar, etc.) -->\n @if (showViewLayoutSwitcher()) {\n <ax-button class=\"axm-task-board-toolbar__view-layout-dropdown\" look=\"outline\"\n [text]=\"(selectedViewLayoutTitleKey() | translate | async)!\">\n <ax-prefix>\n <ax-icon [icon]=\"selectedViewLayoutIcon()\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for (item of viewLayoutItems(); track item.key) {\n <ax-button-item [text]=\"(viewLayoutTranslationKey(item.text) | translate | async)!\"\n (onClick)=\"handleViewLayoutChange(item.key)\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-check\" class=\"axm-task-board-toolbar__dropdown-menu-check\"\n [class.--placeholder]=\"!isViewLayoutSelected(item.key)\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n\n <!-- Settings panel toggle with active calendar-type badge -->\n <div class=\"axm-task-board-toolbar__settings-slot\">\n <ax-button class=\"axm-task-board-toolbar__settings-button\" look=\"outline\" [iconOnly]=\"true\"\n [title]=\"('@task-management:task-board.settings.title' | translate | async)!\"\n (onClick)=\"toggleSettingsPanel()\">\n <ax-prefix>\n <ax-icon [icon]=\"isSettingsPanelOpen() ? 'fa-solid fa-gear' : 'fa-light fa-gear'\"></ax-icon>\n </ax-prefix>\n </ax-button>\n @if (selectedCalendarEventTypeCount() > 0) {\n <div class=\"axm-task-board-toolbar__settings-badge\" [class.--xs]=\"selectedCalendarEventTypeCount() > 9\">\n <ax-badge color=\"primary\" [text]=\"selectedCalendarEventTypeCount().toString()\"></ax-badge>\n </div>\n }\n </div>\n </axp-layout-suffix>\n </div>\n\n <!-- Stacked query filters (small screens) -->\n @if (!deviceService.isLarge() && filtersReady()) {\n <div class=\"axm-task-board-toolbar__filters-row\">\n <axp-query-filters [filtersDefinitions]=\"filterDefinitions()\" [initialFilters]=\"panelInitialFilters()\"\n (onFiltersChanged)=\"handleFiltersChanged($event)\"></axp-query-filters>\n </div>\n }\n </axp-page-toolbar>\n\n <axp-page-content class=\"ax-flex ax-flex-row ax-gap-2 ax-min-h-0\">\n <div class=\"axm-task-board-main ax-flex ax-flex-row ax-gap-4 ax-flex-1 ax-min-w-0 ax-min-h-0 ax-relative\">\n <div class=\"axm-task-board-main__content ax-flex ax-flex-row ax-gap-2 ax-flex-1 ax-min-w-0 ax-min-h-0\">\n @if (isReady()) {\n <!-- Active view: kanban, grid, status-grouped grid, or calendar/scheduler -->\n @switch (vm.currentViewMode()) {\n @case ('kanban') {\n <axm-task-board-kanban-view class=\"axp-kanban-container ax-h-full ax-w-full ax-min-w-0\" [(tasks)]=\"resolvedTasks\"\n (onTaskClick)=\"vm.selectTask($event)\" (onActionClick)=\"handleContextMenu($event)\"></axm-task-board-kanban-view>\n }\n @case ('grid') {\n <axm-task-board-grid-view class=\"ax-h-full ax-w-full ax-min-w-0\" [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\" (onTaskClick)=\"vm.selectTask($event)\"></axm-task-board-grid-view>\n }\n @case ('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view class=\"ax-flex ax-flex-col ax-gap-2 ax-w-full ax-min-w-0\"\n [dataSource]=\"gridDataSource\" [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"></axm-task-board-status-grouped-grid-view>\n }\n @default {\n <axm-task-board-calendar-view class=\"axp-scheduler-container ax-h-full ax-w-full ax-min-w-0\"\n [resources]=\"resources()\" [startingDate]=\"vm.currentDate()\" [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\" (onTaskClick)=\"vm.selectTask($event)\" [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\" (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"></axm-task-board-calendar-view>\n }\n }\n\n <!-- Shared task context menu -->\n <ax-context-menu #rootContextMenu [closeOn]=\"'leave'\" [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\" (onItemClick)=\"handleContextMenuItemClick($event)\">\n </ax-context-menu>\n\n <!-- Task detail side panel (large screens only) -->\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n }\n } @else {\n <!-- Initial bootstrap loading state -->\n <axm-task-board-content-skeleton class=\"ax-flex-1 ax-min-h-0 ax-w-full ax-self-stretch\"></axm-task-board-content-skeleton>\n }\n </div>\n\n <!-- Board settings side panel -->\n @if (isSettingsPanelOpen()) {\n @if (!deviceService.isLarge()) {\n <button type=\"button\" class=\"axm-task-board-settings-backdrop\" (click)=\"closeSettingsPanel()\"\n [attr.aria-label]=\"('@general:actions.close.title' | translate | async)!\"></button>\n }\n <axp-layout-side-detail-panel class=\"ax-sticky ax-top-0 ax-z-10 ax-max-h-full ax-flex-none\"\n [class.axm-task-board-settings-panel--overlay]=\"!deviceService.isLarge()\" [header]=\"settingsPanelHeader()\"\n [sections]=\"settingsPanelSections()\" (panelClose)=\"closeSettingsPanel()\">\n <!-- Color-by dimension selector -->\n <ng-template axpLayoutSideDetailPanelSection=\"colorBy\">\n <ax-selection-list class=\"ax-w-full\" valueField=\"key\" textField=\"titleKey\" [direction]=\"'vertical'\"\n [look]=\"'solid'\" [multiple]=\"false\" [items]=\"colorByItems\" [ngModel]=\"effectiveColorBy()\"\n [customTemplate]=\"colorByItemTemplate\" (onValueChanged)=\"handleColorBySelectionChange($event)\">\n <ng-template #colorByItemTemplate let-item>\n {{ (item.data.titleKey | translate | async)! }}\n </ng-template>\n </ax-selection-list>\n </ng-template>\n\n <!-- Calendar event type visibility (calendar views only) -->\n @if (showCalendarEventButton()) {\n <ng-template axpLayoutSideDetailPanelSection=\"calendars\">\n <ax-selection-list class=\"ax-w-full\" valueField=\"id\" textField=\"text\" [direction]=\"'vertical'\"\n [look]=\"'solid'\" [multiple]=\"true\" [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"vm.selectedCalendarEventTypeIds()\"\n (onValueChanged)=\"handleCalendarEventTypesSelectionChange($event)\"></ax-selection-list>\n </ng-template>\n }\n </axp-layout-side-detail-panel>\n }\n </div>\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Calendar popover: day cell template with task-count badge -->\n<ng-template #dayCellTemplate let-slot>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-between ax-w-full ax-gap-1\"\n [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"ax-flex-1 ax-text-center\">\n @if (isDateTimeTranslationKey(slot.slot.text)) {\n {{ (toAcorexTranslationKey(slot.slot.text) | translate | async)! }}\n } @else {\n {{ slot.slot.text ?? slot.slot.date?.day ?? '' }}\n }\n </span>\n @if (slot.slot.date && getDayDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n\n<!-- Calendar popover: month cell template with task-count badge -->\n<ng-template #monthCellTemplate let-slot>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-between ax-w-full ax-gap-1\"\n [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"ax-flex-1 ax-text-center\">\n @if (isDateTimeTranslationKey(slot.slot.text)) {\n {{ (toAcorexTranslationKey(slot.slot.text) | translate | async)! }}\n } @else {\n {{ slot.slot.text ?? '' }}\n }\n </span>\n @if (slot.slot.date && getMonthDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n"],"names":["i1","i2","i3","i4","i6","i10"],"mappings":"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"}