@acorex/modules 21.0.0-beta.1 → 21.0.0-beta.11

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 (375) hide show
  1. package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-column.component-DDVQwyU4.mjs.map +1 -1
  2. package/fesm2022/{acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-CwLff8ut.mjs → acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C-XsPEIg.mjs} +2 -2
  3. package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C-XsPEIg.mjs.map +1 -0
  4. package/fesm2022/{acorex-modules-ai-management-agent.entity-CsiCzwYK.mjs → acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs} +2 -2
  5. package/fesm2022/acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs.map +1 -0
  6. package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-column.component-tSpJYIZh.mjs.map +1 -1
  7. package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-DQWeuAd6.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs} +2 -2
  8. package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs.map +1 -0
  9. package/fesm2022/{acorex-modules-ai-management-assist.entity-Be5vnFVn.mjs → acorex-modules-ai-management-assist.entity-513RdKsz.mjs} +60 -2
  10. package/fesm2022/acorex-modules-ai-management-assist.entity-513RdKsz.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-ai-management-model.entity-BjTtbWDk.mjs → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs} +2 -2
  12. package/fesm2022/{acorex-modules-ai-management-model.entity-BjTtbWDk.mjs.map → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CfKav_1a.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs} +2 -2
  14. package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CfKav_1a.mjs.map → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs.map} +1 -1
  15. package/fesm2022/acorex-modules-ai-management.mjs +4346 -1
  16. package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
  17. package/fesm2022/acorex-modules-application-management.mjs +11 -15
  18. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  19. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DjvWF5T-.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-D5JC6vun.mjs} +59 -75
  20. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-D5JC6vun.mjs.map +1 -0
  21. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-9RC-Do_C.mjs → acorex-modules-assessment-management-assessment-case.entity-CueA6eek.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-9RC-Do_C.mjs.map → acorex-modules-assessment-management-assessment-case.entity-CueA6eek.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BEqUQJqd.mjs → acorex-modules-assessment-management-assessment-session.entity-CHlf7QhJ.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BEqUQJqd.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CHlf7QhJ.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DUhmBaaE.mjs → acorex-modules-assessment-management-fill-assessment-session.command-B_vRBxdF.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DUhmBaaE.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-B_vRBxdF.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-assessment-management-index-wgd15cLM.mjs → acorex-modules-assessment-management-index-DHebgRT4.mjs} +4 -4
  28. package/fesm2022/{acorex-modules-assessment-management-index-wgd15cLM.mjs.map → acorex-modules-assessment-management-index-DHebgRT4.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-FU96peGv.mjs → acorex-modules-assessment-management-preview-question.command-yyHW6dRW.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-assessment-management-preview-question.command-FU96peGv.mjs.map → acorex-modules-assessment-management-preview-question.command-yyHW6dRW.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-3rnMyPf2.mjs → acorex-modules-assessment-management-preview-questionnaire.command-CUw3O9Y9.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-3rnMyPf2.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-CUw3O9Y9.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2kWkJ3R.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DxD6BjtU.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2kWkJ3R.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DxD6BjtU.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CVHXyQgM.mjs → acorex-modules-assessment-management-question-bank-item.entity-CoL8v4S_.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CVHXyQgM.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-CoL8v4S_.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-D2JzvX_M.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-QJ21IWrq.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-D2JzvX_M.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-QJ21IWrq.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DFnGzy6T.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-dbBLqNjn.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DFnGzy6T.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-dbBLqNjn.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C9iqnLNo.mjs → acorex-modules-assessment-management-questionnaire.entity-BjWwHS-u.mjs} +3 -3
  42. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C9iqnLNo.mjs.map → acorex-modules-assessment-management-questionnaire.entity-BjWwHS-u.mjs.map} +1 -1
  43. package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-CYjHrwuk.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-D1BySAb5.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-CYjHrwuk.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-D1BySAb5.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-B9l4rXkS.mjs → acorex-modules-assessment-management-view-session-answers.command-B_r40P-A.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-B9l4rXkS.mjs.map → acorex-modules-assessment-management-view-session-answers.command-B_r40P-A.mjs.map} +1 -1
  47. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  48. package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-p_zMwIBs.mjs → acorex-modules-asset-management-acorex-modules-asset-management-VXYhovvq.mjs} +765 -142
  49. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-VXYhovvq.mjs.map +1 -0
  50. package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs +118 -0
  51. package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs.map +1 -0
  52. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-C-UodoTZ.mjs → acorex-modules-asset-management-asset-system-assignment.entity-D5N_TCRn.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-C-UodoTZ.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-D5N_TCRn.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DkV2P0sF.mjs → acorex-modules-asset-management-asset-system-type.entity-SFP3uNsd.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DkV2P0sF.mjs.map → acorex-modules-asset-management-asset-system-type.entity-SFP3uNsd.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-asset-management-asset-system.entity-bLGHHcCr.mjs → acorex-modules-asset-management-asset-system.entity-BoZPb8ya.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-asset-management-asset-system.entity-bLGHHcCr.mjs.map → acorex-modules-asset-management-asset-system.entity-BoZPb8ya.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-B_ct599s.mjs → acorex-modules-asset-management-asset-type-section-component.entity-C9pyLB2X.mjs} +32 -31
  59. package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-C9pyLB2X.mjs.map +1 -0
  60. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BoONUtWp.mjs → acorex-modules-asset-management-asset-type-section.entity-C22vyuIm.mjs} +2 -2
  61. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BoONUtWp.mjs.map → acorex-modules-asset-management-asset-type-section.entity-C22vyuIm.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-asset-management-asset-type.entity-BjaLvZuH.mjs → acorex-modules-asset-management-asset-type.entity-B3jfFOM5.mjs} +108 -28
  63. package/fesm2022/acorex-modules-asset-management-asset-type.entity-B3jfFOM5.mjs.map +1 -0
  64. package/fesm2022/{acorex-modules-asset-management-asset.entity-Bn-WKIkL.mjs → acorex-modules-asset-management-asset.entity-odX9EP6F.mjs} +22 -230
  65. package/fesm2022/acorex-modules-asset-management-asset.entity-odX9EP6F.mjs.map +1 -0
  66. package/fesm2022/acorex-modules-asset-management.mjs +1 -1
  67. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DzCtP4qB.mjs → acorex-modules-auth-acorex-modules-auth-OxprG_fC.mjs} +13 -13
  68. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DzCtP4qB.mjs.map → acorex-modules-auth-acorex-modules-auth-OxprG_fC.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-auth-app-chooser.component-BQF1I-wB.mjs → acorex-modules-auth-app-chooser.component-CVIfaOZn.mjs} +2 -2
  70. package/fesm2022/{acorex-modules-auth-app-chooser.component-BQF1I-wB.mjs.map → acorex-modules-auth-app-chooser.component-CVIfaOZn.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-auth-login.module-5ZArig0w.mjs → acorex-modules-auth-login.module-DcHZK-R8.mjs} +4 -4
  72. package/fesm2022/{acorex-modules-auth-login.module-5ZArig0w.mjs.map → acorex-modules-auth-login.module-DcHZK-R8.mjs.map} +1 -1
  73. package/fesm2022/{acorex-modules-auth-master.layout-a4QkegZJ.mjs → acorex-modules-auth-master.layout-BxFGH1Ns.mjs} +2 -2
  74. package/fesm2022/{acorex-modules-auth-master.layout-a4QkegZJ.mjs.map → acorex-modules-auth-master.layout-BxFGH1Ns.mjs.map} +1 -1
  75. package/fesm2022/{acorex-modules-auth-oauth-callback.component-DTxqNJ2C.mjs → acorex-modules-auth-oauth-callback.component-D7wdpp8i.mjs} +2 -2
  76. package/fesm2022/{acorex-modules-auth-oauth-callback.component-DTxqNJ2C.mjs.map → acorex-modules-auth-oauth-callback.component-D7wdpp8i.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-auth-password.component-BecuTKvO.mjs → acorex-modules-auth-password.component-BStzALYp.mjs} +2 -2
  78. package/fesm2022/{acorex-modules-auth-password.component-BecuTKvO.mjs.map → acorex-modules-auth-password.component-BStzALYp.mjs.map} +1 -1
  79. package/fesm2022/{acorex-modules-auth-password.component-DmJZoAp1.mjs → acorex-modules-auth-password.component-CD6RCeFv.mjs} +2 -2
  80. package/fesm2022/{acorex-modules-auth-password.component-DmJZoAp1.mjs.map → acorex-modules-auth-password.component-CD6RCeFv.mjs.map} +1 -1
  81. package/fesm2022/{acorex-modules-auth-routes-DMqZIUs0.mjs → acorex-modules-auth-routes-DaEUQGPG.mjs} +2 -2
  82. package/fesm2022/{acorex-modules-auth-routes-DMqZIUs0.mjs.map → acorex-modules-auth-routes-DaEUQGPG.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-auth-settings.provider-DkhbuDBO.mjs → acorex-modules-auth-settings.provider-CN7Lb38l.mjs} +26 -31
  84. package/fesm2022/acorex-modules-auth-settings.provider-CN7Lb38l.mjs.map +1 -0
  85. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-apfDuQ.mjs → acorex-modules-auth-tenant-chooser.component-B-iqLVe6.mjs} +2 -2
  86. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-apfDuQ.mjs.map → acorex-modules-auth-tenant-chooser.component-B-iqLVe6.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-auth-two-factor.module-BqbFsq9G.mjs → acorex-modules-auth-two-factor.module-BMKzyFEP.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-auth-two-factor.module-BqbFsq9G.mjs.map → acorex-modules-auth-two-factor.module-BMKzyFEP.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-auth-user-sessions.component-D7vXGWMN.mjs → acorex-modules-auth-user-sessions.component-Xnz3S1SD.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-auth-user-sessions.component-D7vXGWMN.mjs.map → acorex-modules-auth-user-sessions.component-Xnz3S1SD.mjs.map} +1 -1
  91. package/fesm2022/acorex-modules-auth.mjs +1 -1
  92. package/fesm2022/acorex-modules-common-search-popup.component-ZwPuisLi.mjs +136 -0
  93. package/fesm2022/acorex-modules-common-search-popup.component-ZwPuisLi.mjs.map +1 -0
  94. package/fesm2022/acorex-modules-common.mjs +407 -432
  95. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  96. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dnqqldoo.mjs +6764 -0
  97. package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dnqqldoo.mjs.map +1 -0
  98. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DmD3hdLF.mjs +287 -0
  99. package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DmD3hdLF.mjs.map +1 -0
  100. package/fesm2022/{acorex-modules-conversation-comments-page.component-C8HWwI_w.mjs → acorex-modules-conversation-comments-page.component-DiooSKIu.mjs} +2 -2
  101. package/fesm2022/{acorex-modules-conversation-comments-page.component-C8HWwI_w.mjs.map → acorex-modules-conversation-comments-page.component-DiooSKIu.mjs.map} +1 -1
  102. package/fesm2022/acorex-modules-conversation-start-assist-chat.command-C1rs_uaZ.mjs +44 -0
  103. package/fesm2022/acorex-modules-conversation-start-assist-chat.command-C1rs_uaZ.mjs.map +1 -0
  104. package/fesm2022/acorex-modules-conversation.mjs +1 -7370
  105. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  106. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-qboFnd_p.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-BBabwn2O.mjs} +5 -6
  107. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-BBabwn2O.mjs.map +1 -0
  108. package/fesm2022/{acorex-modules-dashboard-management-index-DQHOwMS6.mjs → acorex-modules-dashboard-management-index-D04C4ESO.mjs} +2 -2
  109. package/fesm2022/{acorex-modules-dashboard-management-index-DQHOwMS6.mjs.map → acorex-modules-dashboard-management-index-D04C4ESO.mjs.map} +1 -1
  110. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  111. package/fesm2022/acorex-modules-document-management-large-tiles-view.component-DaIVK3ew.mjs +24 -0
  112. package/fesm2022/acorex-modules-document-management-large-tiles-view.component-DaIVK3ew.mjs.map +1 -0
  113. package/fesm2022/acorex-modules-document-management-small-tiles-view.component-G5AGqp_q.mjs +24 -0
  114. package/fesm2022/acorex-modules-document-management-small-tiles-view.component-G5AGqp_q.mjs.map +1 -0
  115. package/fesm2022/acorex-modules-document-management.mjs +191 -49
  116. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  117. package/fesm2022/acorex-modules-form-template-management.mjs +13 -17
  118. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  119. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bwk3-2wy.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs} +301 -25
  120. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs.map +1 -0
  121. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B5aSubCY.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs} +2 -2
  122. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B5aSubCY.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs.map} +1 -1
  123. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-l8dGe3kg.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs} +2 -2
  124. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-l8dGe3kg.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs.map} +1 -1
  125. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-CeV-5Y5n.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs} +2 -2
  126. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-CeV-5Y5n.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs.map} +1 -1
  127. package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs +225 -0
  128. package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs.map +1 -0
  129. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-DNgt9yQm.mjs → acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs} +38 -2
  130. package/fesm2022/acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs.map +1 -0
  131. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-rq8-Bauc.mjs → acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs} +2 -2
  132. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-rq8-Bauc.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs.map} +1 -1
  133. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-DlQJw4F6.mjs → acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs} +2 -2
  134. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-DlQJw4F6.mjs.map → acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs.map} +1 -1
  135. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5J2oOuY.mjs → acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs} +2 -2
  136. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5J2oOuY.mjs.map → acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs.map} +1 -1
  137. package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs +175 -0
  138. package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs.map +1 -0
  139. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D7mKhxYp.mjs → acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs} +2 -2
  140. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D7mKhxYp.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs.map} +1 -1
  141. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C4AWFOmG.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs} +2 -2
  142. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C4AWFOmG.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs.map} +1 -1
  143. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BSJhBW3p.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs} +2 -2
  144. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BSJhBW3p.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs.map} +1 -1
  145. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  146. package/fesm2022/acorex-modules-locale-management.mjs +68 -70
  147. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  148. package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs} +350 -178
  149. package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs.map +1 -0
  150. package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs → acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs} +2 -2
  151. package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs.map} +1 -1
  152. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs} +2 -2
  153. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs.map} +1 -1
  154. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs} +2 -2
  155. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs.map} +1 -1
  156. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs} +2 -2
  157. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs.map} +1 -1
  158. package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs} +2 -2
  159. package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs.map} +1 -1
  160. package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs} +2 -2
  161. package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs.map} +1 -1
  162. package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs} +2 -2
  163. package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs.map} +1 -1
  164. package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs → acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs} +16 -3
  165. package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs.map +1 -0
  166. package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs → acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs} +2 -2
  167. package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs.map} +1 -1
  168. package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs → acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs} +191 -35
  169. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs.map +1 -0
  170. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs +154 -0
  171. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs.map +1 -0
  172. package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
  173. package/fesm2022/acorex-modules-notification-management.mjs +34 -38
  174. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  175. package/fesm2022/{acorex-modules-order-management-settings.provider-BzNJIZCu.mjs → acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs} +6 -11
  176. package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs.map +1 -0
  177. package/fesm2022/acorex-modules-order-management.mjs +2 -2
  178. package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CUWv9tbF.mjs → acorex-modules-organization-management-acorex-modules-organization-management-aord1Uv0.mjs} +169 -606
  179. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-aord1Uv0.mjs.map +1 -0
  180. package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BKWt1YeU.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-AfY76V1Q.mjs} +2 -2
  181. package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BKWt1YeU.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-AfY76V1Q.mjs.map} +1 -1
  182. package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-yRvXPaBm.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-DT9WSyiI.mjs} +2 -2
  183. package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-yRvXPaBm.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-DT9WSyiI.mjs.map} +1 -1
  184. package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-Cm7ze35c.mjs +130 -0
  185. package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-Cm7ze35c.mjs.map +1 -0
  186. package/fesm2022/{acorex-modules-organization-management-business-unit.entity-DwRpPYNe.mjs → acorex-modules-organization-management-business-unit.entity-BgxuZhyH.mjs} +2 -2
  187. package/fesm2022/{acorex-modules-organization-management-business-unit.entity-DwRpPYNe.mjs.map → acorex-modules-organization-management-business-unit.entity-BgxuZhyH.mjs.map} +1 -1
  188. package/fesm2022/{acorex-modules-organization-management-chart.entity-lm0udbe7.mjs → acorex-modules-organization-management-chart.entity-DSvAq3s6.mjs} +2 -2
  189. package/fesm2022/{acorex-modules-organization-management-chart.entity-lm0udbe7.mjs.map → acorex-modules-organization-management-chart.entity-DSvAq3s6.mjs.map} +1 -1
  190. package/fesm2022/{acorex-modules-organization-management-company.entity-DW43rdVi.mjs → acorex-modules-organization-management-company.entity-BU1_8FIf.mjs} +2 -2
  191. package/fesm2022/{acorex-modules-organization-management-company.entity-DW43rdVi.mjs.map → acorex-modules-organization-management-company.entity-BU1_8FIf.mjs.map} +1 -1
  192. package/fesm2022/{acorex-modules-organization-management-entity.provider-DGmP_q74.mjs → acorex-modules-organization-management-entity.provider-i18ksNjv.mjs} +15 -15
  193. package/fesm2022/{acorex-modules-organization-management-entity.provider-DGmP_q74.mjs.map → acorex-modules-organization-management-entity.provider-i18ksNjv.mjs.map} +1 -1
  194. package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-Bm0hlncD.mjs → acorex-modules-organization-management-feature-definition.provider-CDPVhpcX.mjs} +2 -2
  195. package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-Bm0hlncD.mjs.map → acorex-modules-organization-management-feature-definition.provider-CDPVhpcX.mjs.map} +1 -1
  196. package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BdMIRbOs.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-BlOJIHXX.mjs} +3 -3
  197. package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BdMIRbOs.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-BlOJIHXX.mjs.map} +1 -1
  198. package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DtZTvokB.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-BtotMHNw.mjs} +3 -3
  199. package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DtZTvokB.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-BtotMHNw.mjs.map} +1 -1
  200. package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B2uaOaWD.mjs → acorex-modules-organization-management-job-definition-skills-page.component-Cr8vI2T9.mjs} +2 -2
  201. package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B2uaOaWD.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-Cr8vI2T9.mjs.map} +1 -1
  202. package/fesm2022/{acorex-modules-organization-management-job-definition.entity-enxYD1x1.mjs → acorex-modules-organization-management-job-definition.entity-aL7vWbHE.mjs} +2 -2
  203. package/fesm2022/{acorex-modules-organization-management-job-definition.entity-enxYD1x1.mjs.map → acorex-modules-organization-management-job-definition.entity-aL7vWbHE.mjs.map} +1 -1
  204. package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CRm1uNQa.mjs → acorex-modules-organization-management-job-level.datasource-Ds3ZDmRO.mjs} +2 -2
  205. package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CRm1uNQa.mjs.map → acorex-modules-organization-management-job-level.datasource-Ds3ZDmRO.mjs.map} +1 -1
  206. package/fesm2022/{acorex-modules-organization-management-job-level.entity-D_m_u12t.mjs → acorex-modules-organization-management-job-level.entity-BzWMFrZX.mjs} +2 -2
  207. package/fesm2022/{acorex-modules-organization-management-job-level.entity-D_m_u12t.mjs.map → acorex-modules-organization-management-job-level.entity-BzWMFrZX.mjs.map} +1 -1
  208. package/fesm2022/{acorex-modules-organization-management-menu.provider-DZSDOHOa.mjs → acorex-modules-organization-management-menu.provider-CICmpvEv.mjs} +3 -2
  209. package/fesm2022/{acorex-modules-organization-management-menu.provider-DZSDOHOa.mjs.map → acorex-modules-organization-management-menu.provider-CICmpvEv.mjs.map} +1 -1
  210. package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-9s5ZUus4.mjs +228 -0
  211. package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-9s5ZUus4.mjs.map +1 -0
  212. package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CepGeA3_.mjs +182 -0
  213. package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CepGeA3_.mjs.map +1 -0
  214. package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Bi2pMYPe.mjs +170 -0
  215. package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Bi2pMYPe.mjs.map +1 -0
  216. package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BgopvirR.mjs +334 -0
  217. package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BgopvirR.mjs.map +1 -0
  218. package/fesm2022/{acorex-modules-organization-management-org-chart.page-BUSEFJJZ.mjs → acorex-modules-organization-management-org-chart.page-Cs-wTPS-.mjs} +116 -38
  219. package/fesm2022/acorex-modules-organization-management-org-chart.page-Cs-wTPS-.mjs.map +1 -0
  220. package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-DEfUgyRh.mjs → acorex-modules-organization-management-permission-definition.provider-DEc2_pkz.mjs} +3 -2
  221. package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-DEfUgyRh.mjs.map → acorex-modules-organization-management-permission-definition.provider-DEc2_pkz.mjs.map} +1 -1
  222. package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs +56 -0
  223. package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs.map +1 -0
  224. package/fesm2022/{acorex-modules-organization-management-position.entity-D1JU0rla.mjs → acorex-modules-organization-management-position.entity-C7u3c4LB.mjs} +2 -2
  225. package/fesm2022/{acorex-modules-organization-management-position.entity-D1JU0rla.mjs.map → acorex-modules-organization-management-position.entity-C7u3c4LB.mjs.map} +1 -1
  226. package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-D2WMXNJg.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-B7D1vMcs.mjs} +2 -2
  227. package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-D2WMXNJg.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-B7D1vMcs.mjs.map} +1 -1
  228. package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-DyJIOBOp.mjs → acorex-modules-organization-management-replace-position-assignee.command-xodO4wdB.mjs} +2 -2
  229. package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-DyJIOBOp.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-xodO4wdB.mjs.map} +1 -1
  230. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BTXGfRVf.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BeAm1FY0.mjs} +2 -2
  231. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BTXGfRVf.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BeAm1FY0.mjs.map} +1 -1
  232. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Cv_Aicyi.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-cdReuV2q.mjs} +2 -2
  233. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Cv_Aicyi.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-cdReuV2q.mjs.map} +1 -1
  234. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-42Aqvq6J.mjs → acorex-modules-organization-management-responsibilities-matrix.component-bFxHz2vq.mjs} +2 -2
  235. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-42Aqvq6J.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-bFxHz2vq.mjs.map} +1 -1
  236. package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DIy5Kv_4.mjs → acorex-modules-organization-management-responsibility-level.entity-BDOhL12B.mjs} +2 -2
  237. package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DIy5Kv_4.mjs.map → acorex-modules-organization-management-responsibility-level.entity-BDOhL12B.mjs.map} +1 -1
  238. package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BBlERaap.mjs → acorex-modules-organization-management-responsibility.entity-DQK2qB5N.mjs} +2 -2
  239. package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BBlERaap.mjs.map → acorex-modules-organization-management-responsibility.entity-DQK2qB5N.mjs.map} +1 -1
  240. package/fesm2022/{acorex-modules-organization-management-settings.provider-BohjJ4JD.mjs → acorex-modules-organization-management-settings.provider-Di4FtA78.mjs} +21 -24
  241. package/fesm2022/acorex-modules-organization-management-settings.provider-Di4FtA78.mjs.map +1 -0
  242. package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-UDotxAM4.mjs → acorex-modules-organization-management-team-business-unit.entity-DTWxuUQV.mjs} +2 -2
  243. package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-UDotxAM4.mjs.map → acorex-modules-organization-management-team-business-unit.entity-DTWxuUQV.mjs.map} +1 -1
  244. package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DfJ-QUdc.mjs → acorex-modules-organization-management-team-member-role.entity-D9SlbSQ4.mjs} +2 -2
  245. package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DfJ-QUdc.mjs.map → acorex-modules-organization-management-team-member-role.entity-D9SlbSQ4.mjs.map} +1 -1
  246. package/fesm2022/{acorex-modules-organization-management-team-member.entity-C13rpUNN.mjs → acorex-modules-organization-management-team-member.entity-D5NapdKq.mjs} +14 -2
  247. package/fesm2022/acorex-modules-organization-management-team-member.entity-D5NapdKq.mjs.map +1 -0
  248. package/fesm2022/{acorex-modules-organization-management-team.entity-CTajHYMs.mjs → acorex-modules-organization-management-team.entity-CNg4ffZv.mjs} +2 -2
  249. package/fesm2022/{acorex-modules-organization-management-team.entity-CTajHYMs.mjs.map → acorex-modules-organization-management-team.entity-CNg4ffZv.mjs.map} +1 -1
  250. package/fesm2022/acorex-modules-organization-management.mjs +1 -1
  251. package/fesm2022/acorex-modules-person-core.mjs +4 -0
  252. package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
  253. package/fesm2022/{acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs → acorex-modules-platform-dev-tools-menu.provider-DDjYvQr7.mjs} +6 -2
  254. package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-DDjYvQr7.mjs.map +1 -0
  255. package/fesm2022/{acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs → acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs} +2 -2
  256. package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs.map +1 -0
  257. package/fesm2022/acorex-modules-platform-dev-tools.mjs +44 -7
  258. package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
  259. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DCR1ziGj.mjs → acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs} +12 -4
  260. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs.map +1 -0
  261. package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs +56 -0
  262. package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs.map +1 -0
  263. package/fesm2022/acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs +198 -0
  264. package/fesm2022/acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs.map +1 -0
  265. package/fesm2022/{acorex-modules-platform-management-list-registered-entities.query-B6-zV_Ml.mjs → acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs} +26 -4
  266. package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs.map +1 -0
  267. package/fesm2022/{acorex-modules-platform-management-menu-list.component-ClShYP8I.mjs → acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs} +2 -2
  268. package/fesm2022/{acorex-modules-platform-management-menu-list.component-ClShYP8I.mjs.map → acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs.map} +1 -1
  269. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  270. package/fesm2022/acorex-modules-project-management.mjs +33 -3
  271. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  272. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CwUO5jm4.mjs → acorex-modules-report-management-report-runner-root-page.component-B4ztqlU3.mjs} +4 -6
  273. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CwUO5jm4.mjs.map → acorex-modules-report-management-report-runner-root-page.component-B4ztqlU3.mjs.map} +1 -1
  274. package/fesm2022/acorex-modules-report-management.mjs +48 -27
  275. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  276. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-7TUWK_qS.mjs → acorex-modules-settings-management-acorex-modules-settings-management-DHihkQXi.mjs} +88 -13
  277. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DHihkQXi.mjs.map +1 -0
  278. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DWSlCjno.mjs → acorex-modules-settings-management-permission-definition.provider-DZoXbvt_.mjs} +2 -2
  279. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DWSlCjno.mjs.map → acorex-modules-settings-management-permission-definition.provider-DZoXbvt_.mjs.map} +1 -1
  280. package/fesm2022/{acorex-modules-settings-management-setting-page.component-DukQDWHe.mjs → acorex-modules-settings-management-setting-page.component-B6UoszKZ.mjs} +5 -4
  281. package/fesm2022/acorex-modules-settings-management-setting-page.component-B6UoszKZ.mjs.map +1 -0
  282. package/fesm2022/{acorex-modules-settings-management-setting-view.component-C-PiEhLL.mjs → acorex-modules-settings-management-setting-view.component-BGCXJQ_L.mjs} +2 -2
  283. package/fesm2022/{acorex-modules-settings-management-setting-view.component-C-PiEhLL.mjs.map → acorex-modules-settings-management-setting-view.component-BGCXJQ_L.mjs.map} +1 -1
  284. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  285. package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs → acorex-modules-task-management-acorex-modules-task-management-CrwI8DcQ.mjs} +258 -40
  286. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-CrwI8DcQ.mjs.map +1 -0
  287. package/fesm2022/{acorex-modules-task-management-task-board.page-BOrgjwax.mjs → acorex-modules-task-management-task-board.page-BG6IgTKW.mjs} +242 -134
  288. package/fesm2022/acorex-modules-task-management-task-board.page-BG6IgTKW.mjs.map +1 -0
  289. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  290. package/fesm2022/acorex-modules-tenant-management.mjs +3 -7
  291. package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
  292. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-8bcGTqWE.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYMWJZBG.mjs} +3 -3
  293. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-8bcGTqWE.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYMWJZBG.mjs.map} +1 -1
  294. package/fesm2022/{acorex-modules-workflow-management-index-BhmoJcbI.mjs → acorex-modules-workflow-management-index-CBJu8_4q.mjs} +3 -3
  295. package/fesm2022/{acorex-modules-workflow-management-index-BhmoJcbI.mjs.map → acorex-modules-workflow-management-index-CBJu8_4q.mjs.map} +1 -1
  296. package/fesm2022/{acorex-modules-workflow-management-index-DuZJ07Ve.mjs → acorex-modules-workflow-management-index-DuXPh3Lz.mjs} +3 -3
  297. package/fesm2022/{acorex-modules-workflow-management-index-DuZJ07Ve.mjs.map → acorex-modules-workflow-management-index-DuXPh3Lz.mjs.map} +1 -1
  298. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-EE3w4EFB.mjs → acorex-modules-workflow-management-workflow-instance.entity-d87fYJLS.mjs} +2 -2
  299. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-EE3w4EFB.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-d87fYJLS.mjs.map} +1 -1
  300. package/fesm2022/acorex-modules-workflow-management.mjs +257 -69
  301. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  302. package/organization-management/README.md +1 -1
  303. package/package.json +3 -3
  304. package/platform-management/README.md +4 -0
  305. package/types/acorex-modules-ai-management.d.ts +168 -580
  306. package/types/acorex-modules-asset-management.d.ts +19 -87
  307. package/types/acorex-modules-common.d.ts +17 -20
  308. package/types/acorex-modules-conversation.d.ts +52 -4
  309. package/types/acorex-modules-dashboard-management.d.ts +2 -2
  310. package/types/acorex-modules-document-management.d.ts +35 -15
  311. package/types/acorex-modules-human-capital-management.d.ts +100 -2
  312. package/types/acorex-modules-maintenance-management.d.ts +6 -8
  313. package/types/acorex-modules-notification-management.d.ts +0 -3
  314. package/types/acorex-modules-organization-management.d.ts +135 -76
  315. package/types/acorex-modules-platform-dev-tools.d.ts +16 -2
  316. package/types/acorex-modules-report-management.d.ts +16 -1
  317. package/types/acorex-modules-settings-management.d.ts +3 -0
  318. package/types/acorex-modules-task-management.d.ts +37 -2
  319. package/types/acorex-modules-tenant-management.d.ts +0 -1
  320. package/types/acorex-modules-workflow-management.d.ts +53 -7
  321. package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-DZ_SXRAW.mjs +0 -8782
  322. package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-DZ_SXRAW.mjs.map +0 -1
  323. package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-CwLff8ut.mjs.map +0 -1
  324. package/fesm2022/acorex-modules-ai-management-agent.entity-CsiCzwYK.mjs.map +0 -1
  325. package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-BWxdBe9t.mjs +0 -1255
  326. package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-BWxdBe9t.mjs.map +0 -1
  327. package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-DQWeuAd6.mjs.map +0 -1
  328. package/fesm2022/acorex-modules-ai-management-assist.entity-Be5vnFVn.mjs.map +0 -1
  329. package/fesm2022/acorex-modules-ai-management-index-BFMvZNvI.mjs +0 -2
  330. package/fesm2022/acorex-modules-ai-management-index-BFMvZNvI.mjs.map +0 -1
  331. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DjvWF5T-.mjs.map +0 -1
  332. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-p_zMwIBs.mjs.map +0 -1
  333. package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-CXgiPWiW.mjs +0 -302
  334. package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-CXgiPWiW.mjs.map +0 -1
  335. package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-Cwics4Zo.mjs +0 -258
  336. package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-Cwics4Zo.mjs.map +0 -1
  337. package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs +0 -98
  338. package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs.map +0 -1
  339. package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-B_ct599s.mjs.map +0 -1
  340. package/fesm2022/acorex-modules-asset-management-asset-type.entity-BjaLvZuH.mjs.map +0 -1
  341. package/fesm2022/acorex-modules-asset-management-asset.entity-Bn-WKIkL.mjs.map +0 -1
  342. package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs +0 -192
  343. package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs.map +0 -1
  344. package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs +0 -363
  345. package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs.map +0 -1
  346. package/fesm2022/acorex-modules-auth-settings.provider-DkhbuDBO.mjs.map +0 -1
  347. package/fesm2022/acorex-modules-common-search-popup.component-Bh3otWbL.mjs +0 -129
  348. package/fesm2022/acorex-modules-common-search-popup.component-Bh3otWbL.mjs.map +0 -1
  349. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-qboFnd_p.mjs.map +0 -1
  350. package/fesm2022/acorex-modules-document-management-large-tiles-view.component-D5X1pcSP.mjs +0 -24
  351. package/fesm2022/acorex-modules-document-management-large-tiles-view.component-D5X1pcSP.mjs.map +0 -1
  352. package/fesm2022/acorex-modules-document-management-small-tiles-view.component-a7wOH_7D.mjs +0 -24
  353. package/fesm2022/acorex-modules-document-management-small-tiles-view.component-a7wOH_7D.mjs.map +0 -1
  354. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bwk3-2wy.mjs.map +0 -1
  355. package/fesm2022/acorex-modules-human-capital-management-employee.entity-DNgt9yQm.mjs.map +0 -1
  356. package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs.map +0 -1
  357. package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs.map +0 -1
  358. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs.map +0 -1
  359. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs +0 -54
  360. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs.map +0 -1
  361. package/fesm2022/acorex-modules-order-management-settings.provider-BzNJIZCu.mjs.map +0 -1
  362. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CUWv9tbF.mjs.map +0 -1
  363. package/fesm2022/acorex-modules-organization-management-org-chart.page-BUSEFJJZ.mjs.map +0 -1
  364. package/fesm2022/acorex-modules-organization-management-settings.provider-BohjJ4JD.mjs.map +0 -1
  365. package/fesm2022/acorex-modules-organization-management-team-member.entity-C13rpUNN.mjs.map +0 -1
  366. package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs.map +0 -1
  367. package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs.map +0 -1
  368. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DCR1ziGj.mjs.map +0 -1
  369. package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-B6-zV_Ml.mjs.map +0 -1
  370. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-7TUWK_qS.mjs.map +0 -1
  371. package/fesm2022/acorex-modules-settings-management-setting-page.component-DukQDWHe.mjs.map +0 -1
  372. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs.map +0 -1
  373. package/fesm2022/acorex-modules-task-management-task-board.page-BOrgjwax.mjs.map +0 -1
  374. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-l37iXJIY.mjs +0 -362
  375. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-l37iXJIY.mjs.map +0 -1
@@ -39,17 +39,17 @@ import * as i1$3 from '@angular/forms';
39
39
  import { FormsModule } from '@angular/forms';
40
40
  import { Router, ActivatedRoute, NavigationEnd, RouterModule } from '@angular/router';
41
41
  import { filter, startWith } from 'rxjs';
42
- import { A as AXM_TASK_BOARD_ALL_VIEW_MODE_IDS, a as AXMTaskBoardSettings, n as normalizeVisibleTaskBoardModesByParts, b as AXPTaskBoardService, R as RootConfig } from './acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs';
42
+ import { A as AXM_TASK_BOARD_ALL_VIEW_MODE_IDS, a as AXMTaskBoardSettings, n as normalizeTaskBoardAssigneeIds, b as normalizeVisibleTaskBoardModesByParts, c as canViewAllTaskAssignees, d as AXPTaskBoardService, R as RootConfig } from './acorex-modules-task-management-acorex-modules-task-management-CrwI8DcQ.mjs';
43
43
  import { AXFormatPipe } from '@acorex/core/format';
44
44
  import * as i1 from '@acorex/platform/layout/widget-core';
45
45
  import { AXPWidgetCoreModule, AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
46
46
  import { AXPSessionService } from '@acorex/platform/auth';
47
47
  import { AXPSettingsService } from '@acorex/platform/common';
48
48
  import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
49
+ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
49
50
  import { isEqual, sortBy } from 'lodash-es';
50
51
  import { AXSchedulerService, AXSchedulerComponent } from '@acorex/components/scheduler';
51
52
  import { AXPCommandService } from '@acorex/platform/runtime';
52
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
53
53
  import { AXDataSource } from '@acorex/cdk/common';
54
54
  import * as i1$2 from '@acorex/components/data-table';
55
55
  import { AXDataTableModule } from '@acorex/components/data-table';
@@ -146,7 +146,11 @@ const AXMTaskBoardViewModel = signalStore({ providedIn: 'root' }, withState(() =
146
146
  currentDate = new Date();
147
147
  }
148
148
  const currentUserId = sessionService.user?.id;
149
- const defaultAssigneeIds = savedAssigneeIds === undefined && currentUserId != null ? [currentUserId] : (savedAssigneeIds ?? []);
149
+ const canViewAll = canViewAllTaskAssignees(sessionService);
150
+ const resolvedSavedAssigneeIds = savedAssigneeIds === undefined && currentUserId != null ? [currentUserId] : (savedAssigneeIds ?? []);
151
+ const defaultAssigneeIds = canViewAll
152
+ ? resolvedSavedAssigneeIds
153
+ : normalizeTaskBoardAssigneeIds(sessionService, resolvedSavedAssigneeIds);
150
154
  let effectiveViewMode = savedViewMode || 'month';
151
155
  if (!visibleViewModes.includes(effectiveViewMode)) {
152
156
  effectiveViewMode = visibleViewModes[0] ?? 'month';
@@ -221,11 +225,12 @@ const AXMTaskBoardViewModel = signalStore({ providedIn: 'root' }, withState(() =
221
225
  .catch((error) => console.error('Error saving selected task type filter:', error));
222
226
  },
223
227
  setSelectedAssigneeIds(assigneeIds, isQueryParam = false) {
224
- patchState(store, { selectedAssigneeIds: assigneeIds });
228
+ const normalizedAssigneeIds = normalizeTaskBoardAssigneeIds(sessionService, assigneeIds);
229
+ patchState(store, { selectedAssigneeIds: normalizedAssigneeIds });
225
230
  if (isQueryParam)
226
231
  return;
227
232
  userScopedSettings()
228
- .set(AXMTaskBoardSettings.SelectedAssigneeIds, assigneeIds)
233
+ .set(AXMTaskBoardSettings.SelectedAssigneeIds, normalizedAssigneeIds)
229
234
  .catch((error) => console.error('Error saving selected assignee filter:', error));
230
235
  },
231
236
  setSelectedReporterIds(reporterIds, isQueryParam = false) {
@@ -359,6 +364,10 @@ class AXMTaskBoardFiltersComponent {
359
364
  constructor() {
360
365
  this.rootConfig = RootConfig;
361
366
  this.vm = inject(AXMTaskBoardViewModel);
367
+ this.sessionService = inject(AXPSessionService);
368
+ /** Tracks session user/permissions so assignee filter options react to login changes. */
369
+ this.sessionUser = toSignal(this.sessionService.user$, { initialValue: null });
370
+ this.sessionPermissions = toSignal(this.sessionService.permissions$, { initialValue: [] });
362
371
  this.isQueryParam = input(false, ...(ngDevMode ? [{ debugName: "isQueryParam" }] : /* istanbul ignore next */ []));
363
372
  this.applyClicked = output();
364
373
  this.context = signal({}, ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
@@ -370,6 +379,21 @@ class AXMTaskBoardFiltersComponent {
370
379
  this.isInitialized = true;
371
380
  }
372
381
  }, ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
382
+ /** Re-scope assignee filter when user or permissions change (e.g. after switching accounts). */
383
+ this.#assigneeScope = effect(() => {
384
+ this.sessionUser();
385
+ this.sessionPermissions();
386
+ if (this.vm.isLoading()) {
387
+ return;
388
+ }
389
+ const scopedIds = normalizeTaskBoardAssigneeIds(this.sessionService, this.vm.selectedAssigneeIds());
390
+ if (!isEqual(sortBy(this.vm.selectedAssigneeIds()), sortBy(scopedIds))) {
391
+ this.vm.setSelectedAssigneeIds(scopedIds, this.isQueryParam());
392
+ }
393
+ if (this.isInitialized) {
394
+ this.resetContextToViewModel();
395
+ }
396
+ }, ...(ngDevMode ? [{ debugName: "#assigneeScope" }] : /* istanbul ignore next */ []));
373
397
  this.VALID_PRIORITIES = [
374
398
  { title: 'Highest', name: 'highest' },
375
399
  { title: 'High', name: 'high' },
@@ -382,74 +406,88 @@ class AXMTaskBoardFiltersComponent {
382
406
  const viewMode = this.vm.currentViewMode();
383
407
  return viewMode !== 'kanban' && viewMode !== 'status-grouped-grid';
384
408
  }, ...(ngDevMode ? [{ debugName: "isMultiSelectEnabled" }] : /* istanbul ignore next */ []));
385
- this.nodes = computed(() => [
386
- {
387
- name: 'taskType',
388
- path: 'options.taskType',
389
- type: AXPWidgetsCatalog.select,
390
- options: {
391
- valueField: 'name',
392
- textField: 'title',
393
- dataSource: 'task-types',
394
- placeholder: 'Select Task Type',
395
- multiple: this.isMultiSelectEnabled(),
396
- allowClear: this.isMultiSelectEnabled(),
409
+ this.canFilterByAllAssignees = computed(() => {
410
+ this.sessionUser();
411
+ this.sessionPermissions();
412
+ return canViewAllTaskAssignees(this.sessionService);
413
+ }, ...(ngDevMode ? [{ debugName: "canFilterByAllAssignees" }] : /* istanbul ignore next */ []));
414
+ this.nodes = computed(() => {
415
+ const canFilterByAllAssignees = this.canFilterByAllAssignees();
416
+ const assigneeScopeKey = `${this.sessionUser()?.id ?? ''}:${canFilterByAllAssignees}`;
417
+ return [
418
+ {
419
+ name: 'taskType',
420
+ path: 'options.taskType',
421
+ type: AXPWidgetsCatalog.select,
422
+ options: {
423
+ valueField: 'name',
424
+ textField: 'title',
425
+ dataSource: 'task-types',
426
+ placeholder: 'Select Task Type',
427
+ multiple: this.isMultiSelectEnabled(),
428
+ allowClear: this.isMultiSelectEnabled(),
429
+ },
430
+ meta: {
431
+ title: 'task-board.filter.task-type',
432
+ },
397
433
  },
398
- meta: {
399
- title: 'task-board.filter.task-type',
434
+ {
435
+ name: 'assignee',
436
+ path: 'options.assignee',
437
+ type: AXPWidgetsCatalog.select,
438
+ options: {
439
+ multiple: true,
440
+ valueField: 'id',
441
+ allowSearch: canFilterByAllAssignees,
442
+ allowClear: canFilterByAllAssignees,
443
+ readonly: !canFilterByAllAssignees,
444
+ dataSource: 'task-board-assignees',
445
+ assigneeScopeKey,
446
+ textField: 'displayName',
447
+ placeholder: 'Select Assignee',
448
+ },
449
+ meta: {
450
+ title: 'task-board.filter.assignee',
451
+ },
400
452
  },
401
- },
402
- {
403
- name: 'assignee',
404
- path: 'options.assignee',
405
- type: AXPWidgetsCatalog.select,
406
- options: {
407
- multiple: true,
408
- valueField: 'id',
409
- allowSearch: true,
410
- dataSource: 'users',
411
- textField: 'displayName',
412
- placeholder: 'Select Assignee',
453
+ {
454
+ name: 'reporter',
455
+ path: 'options.reporter',
456
+ type: AXPWidgetsCatalog.select,
457
+ options: {
458
+ multiple: true,
459
+ valueField: 'id',
460
+ allowSearch: true,
461
+ dataSource: 'users',
462
+ textField: 'displayName',
463
+ placeholder: 'Select Reporter',
464
+ },
465
+ meta: {
466
+ title: 'task-board.filter.reporter',
467
+ },
413
468
  },
414
- meta: {
415
- title: 'task-board.filter.assignee',
469
+ {
470
+ name: 'priority',
471
+ path: 'options.priority',
472
+ type: AXPWidgetsCatalog.select,
473
+ options: {
474
+ multiple: true,
475
+ valueField: 'name',
476
+ textField: 'title',
477
+ direction: 'horizontal',
478
+ placeholder: 'Select Priority',
479
+ dataSource: this.VALID_PRIORITIES,
480
+ },
481
+ meta: {
482
+ title: 'task-board.filter.priority',
483
+ },
416
484
  },
417
- },
418
- {
419
- name: 'reporter',
420
- path: 'options.reporter',
421
- type: AXPWidgetsCatalog.select,
422
- options: {
423
- multiple: true,
424
- valueField: 'id',
425
- allowSearch: true,
426
- dataSource: 'users',
427
- textField: 'displayName',
428
- placeholder: 'Select Reporter',
429
- },
430
- meta: {
431
- title: 'task-board.filter.reporter',
432
- },
433
- },
434
- {
435
- name: 'priority',
436
- path: 'options.priority',
437
- type: AXPWidgetsCatalog.select,
438
- options: {
439
- multiple: true,
440
- valueField: 'name',
441
- textField: 'title',
442
- direction: 'horizontal',
443
- placeholder: 'Select Priority',
444
- dataSource: this.VALID_PRIORITIES,
445
- },
446
- meta: {
447
- title: 'task-board.filter.priority',
448
- },
449
- },
450
- ], ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
485
+ ];
486
+ }, ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
451
487
  }
452
488
  #init;
489
+ /** Re-scope assignee filter when user or permissions change (e.g. after switching accounts). */
490
+ #assigneeScope;
453
491
  resetContextToViewModel() {
454
492
  const vmTaskTypeNames = this.vm.selectedTaskTypeNames();
455
493
  const vmAssigneeIds = this.vm.selectedAssigneeIds();
@@ -670,6 +708,20 @@ class AXMTaskBoardCalendarViewComponent {
670
708
  this.refreshNonce();
671
709
  this.schedulerComponent()?.refresh();
672
710
  }, ...(ngDevMode ? [{ debugName: "refreshNonceEffect" }] : /* istanbul ignore next */ []));
711
+ /** Re-renders scheduler when parent date, view, or range length changes. */
712
+ this.schedulerStateSyncEffect = effect(() => {
713
+ this.startingDate();
714
+ this.currentSchedulerView();
715
+ this.vm.daysCount();
716
+ this.vm.selectedTaskTypeNames();
717
+ this.vm.selectedAssigneeIds();
718
+ this.vm.selectedReporterIds();
719
+ this.vm.selectedPriorities();
720
+ this.refreshNonce();
721
+ queueMicrotask(() => {
722
+ this.schedulerComponent()?.refresh();
723
+ });
724
+ }, ...(ngDevMode ? [{ debugName: "schedulerStateSyncEffect" }] : /* istanbul ignore next */ []));
673
725
  }
674
726
  // async ngOnInit(): Promise<void> {
675
727
  // const firstDayOfWeek = await this.settingsService.get(AXPRegionalSetting.FirstDayOfWeek) as unknown as number;
@@ -825,12 +877,16 @@ class AXMTaskBoardCalendarViewComponent {
825
877
  const task = this.selectedTask();
826
878
  if (!task || !action.command)
827
879
  return;
880
+ const providerName = task.provider;
881
+ if (!providerName)
882
+ return;
828
883
  try {
829
- const providerName = task.provider;
830
- if (!providerName)
884
+ const result = await this.taskBoardService.executeCommand(action.command, providerName);
885
+ if (result?.success === false || result === null) {
831
886
  return;
832
- await this.taskBoardService.executeCommand(action.command, providerName);
887
+ }
833
888
  this.closePopover();
889
+ this.taskBoardService.requestRefresh(providerName);
834
890
  }
835
891
  catch (error) {
836
892
  console.error('Failed to execute action:', error);
@@ -861,64 +917,46 @@ class AXMTaskBoardCalendarViewComponent {
861
917
  }
862
918
  async loadCustomComponent(task) {
863
919
  if (!task.provider) {
864
- console.log('[TaskPopover] No provider on task:', task);
865
920
  this.customComponentType.set(null);
866
921
  return;
867
922
  }
868
923
  const provider = this.taskBoardService.getProvider(task.provider);
869
924
  if (!provider) {
870
- console.log('[TaskPopover] Provider not found:', task.provider);
871
925
  this.customComponentType.set(null);
872
926
  return;
873
927
  }
874
928
  const componentGetter = provider.getComponent?.();
875
929
  if (!componentGetter) {
876
- console.log('[TaskPopover] No component getter on provider:', task.provider);
877
930
  this.customComponentType.set(null);
878
931
  return;
879
932
  }
880
- console.log('[TaskPopover] Component getter found:', componentGetter, 'Type:', typeof componentGetter);
881
933
  try {
882
934
  let componentType;
883
- // Check if it's a lazy loading function or direct component type
884
- // A lazy loader is a function that returns a Promise
885
- // A component type is a class constructor (also a function, but used differently)
886
935
  if (typeof componentGetter === 'function') {
887
- // Try calling it to see if it returns a Promise (lazy loader)
888
936
  const testCall = componentGetter;
889
937
  let result;
890
938
  try {
891
939
  result = testCall();
892
940
  }
893
- catch (e) {
894
- // If calling throws (e.g., class constructor without 'new'), use it directly
895
- console.log('[TaskPopover] Component getter is a class constructor, using directly');
941
+ catch {
896
942
  componentType = componentGetter;
897
943
  this.customComponentType.set(componentType);
898
944
  return;
899
945
  }
900
946
  if (result instanceof Promise) {
901
- // It's a lazy loading function
902
- console.log('[TaskPopover] Component getter is a lazy loader');
903
947
  componentType = await result;
904
948
  }
905
949
  else if (result) {
906
- // It returned a component type directly
907
- console.log('[TaskPopover] Component getter returned component type directly');
908
950
  componentType = result;
909
951
  }
910
952
  else {
911
- // Result is undefined, use the original as component type
912
- console.log('[TaskPopover] Component getter returned undefined, using original as component type');
913
953
  componentType = componentGetter;
914
954
  }
915
955
  }
916
956
  else {
917
- console.log('[TaskPopover] Component getter is not a function');
918
957
  this.customComponentType.set(null);
919
958
  return;
920
959
  }
921
- console.log('[TaskPopover] Component type loaded successfully:', componentType?.name);
922
960
  this.customComponentType.set(componentType);
923
961
  }
924
962
  catch (error) {
@@ -1339,11 +1377,18 @@ class AXMTaskBoardKanbanViewComponent {
1339
1377
  onSortChanged(event) {
1340
1378
  const tasks = this.tasks().map((item) => {
1341
1379
  const task = event.allItems.find((t) => t.id === item.id);
1342
- if (task) {
1343
- const status = this.statuses().find((s) => s.key === task.statusKey);
1344
- return { ...item, index: task.index, status: { id: status.key, title: status.title } };
1380
+ if (!task) {
1381
+ return item;
1345
1382
  }
1346
- return item;
1383
+ const status = this.statuses().find((s) => String(s.key) === String(task.statusKey));
1384
+ if (!status) {
1385
+ return { ...item, index: task.index ?? item.index };
1386
+ }
1387
+ return {
1388
+ ...item,
1389
+ index: task.index ?? item.index,
1390
+ status: { id: status.key, title: status.title },
1391
+ };
1347
1392
  });
1348
1393
  this.taskBoardService
1349
1394
  .updateTasks(tasks)
@@ -1352,6 +1397,10 @@ class AXMTaskBoardKanbanViewComponent {
1352
1397
  })
1353
1398
  .catch((error) => {
1354
1399
  console.error('[KanbanSort] Failed to update tasks:', error);
1400
+ const provider = tasks[0]?.provider;
1401
+ if (provider) {
1402
+ this.taskBoardService.requestRefresh(provider);
1403
+ }
1355
1404
  });
1356
1405
  }
1357
1406
  async handleItemClick(event) {
@@ -1657,6 +1706,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1657
1706
  function statusGroupTrackKey(nonce, group) {
1658
1707
  return `${nonce}:${String(group.statusInfo.key)}`;
1659
1708
  }
1709
+ function taskMatchesStatus(task, status) {
1710
+ return String(task.status.id) === String(status.key);
1711
+ }
1660
1712
  class AXMTaskBoardStatusGroupedGridViewComponent {
1661
1713
  #dataChanged;
1662
1714
  #providerChanged;
@@ -1669,6 +1721,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
1669
1721
  this.dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
1670
1722
  this.refreshNonce = input(0, ...(ngDevMode ? [{ debugName: "refreshNonce" }] : /* istanbul ignore next */ []));
1671
1723
  this.onActionClick = output();
1724
+ this.onTaskClick = output();
1672
1725
  this.groupedTasks = signal([], ...(ngDevMode ? [{ debugName: "groupedTasks" }] : /* istanbul ignore next */ []));
1673
1726
  this.allFetchedTasks = signal([], ...(ngDevMode ? [{ debugName: "allFetchedTasks" }] : /* istanbul ignore next */ []));
1674
1727
  this.columns = signal([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
@@ -1676,10 +1729,9 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
1676
1729
  this.grids = viewChildren('grid', ...(ngDevMode ? [{ debugName: "grids" }] : /* istanbul ignore next */ []));
1677
1730
  /** Used by the template so status tables remount when the board refreshes (same as flat grid). */
1678
1731
  this.trackStatusGroup = (_index, group) => statusGroupTrackKey(this.refreshNonce(), group);
1679
- this.#dataChanged = effect(async () => {
1732
+ this.groupedViewRemountKeys = computed(() => [this.refreshNonce()], ...(ngDevMode ? [{ debugName: "groupedViewRemountKeys" }] : /* istanbul ignore next */ []));
1733
+ this.#dataChanged = effect(() => {
1680
1734
  // Track filter-related signals that affect the data source
1681
- // When these change, the parent's filter() computed signal changes,
1682
- // which means the data source function will return different results
1683
1735
  this.vm.selectedTaskTypeNames();
1684
1736
  this.vm.selectedAssigneeIds();
1685
1737
  this.vm.selectedReporterIds();
@@ -1688,36 +1740,34 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
1688
1740
  this.vm.daysCount();
1689
1741
  this.vm.currentViewMode();
1690
1742
  this.refreshNonce();
1691
- const parentDataSource = this.dataSource();
1692
1743
  const allStatuses = this.statuses();
1744
+ const parentDataSource = this.dataSource();
1693
1745
  if (!parentDataSource || allStatuses.length === 0) {
1694
1746
  this.groupedTasks.set([]);
1695
1747
  this.allFetchedTasks.set([]);
1696
1748
  return;
1697
1749
  }
1698
- const result = await parentDataSource();
1699
- this.allFetchedTasks.set(result.items);
1700
- const allTasks = result.items;
1701
- const statusGroups = allStatuses.map((status) => {
1702
- const tasksForStatus = allTasks.filter((task) => task.status.id === status.key);
1703
- return {
1704
- statusInfo: status,
1705
- tasks: this.createTaskDataSourceForGroup(tasksForStatus),
1706
- };
1707
- });
1708
- this.groupedTasks.set(statusGroups);
1709
- untracked(() => {
1710
- // Use afterRender to ensure data tables are rendered before refreshing
1711
- setTimeout(() => {
1712
- // Refresh data sources
1713
- this.groupedTasks()?.forEach((group) => {
1714
- group.tasks.refresh();
1715
- });
1716
- // Refresh data table components
1717
- this.grids().forEach((grid) => {
1718
- grid.refresh({ reset: true });
1719
- });
1720
- }, 0);
1750
+ void parentDataSource().then((result) => {
1751
+ this.allFetchedTasks.set(result.items);
1752
+ const allTasks = result.items;
1753
+ const statusGroups = allStatuses.map((status) => {
1754
+ const tasksForStatus = allTasks.filter((task) => taskMatchesStatus(task, status));
1755
+ return {
1756
+ statusInfo: status,
1757
+ tasks: this.createTaskDataSourceForGroup(tasksForStatus),
1758
+ };
1759
+ });
1760
+ this.groupedTasks.set(statusGroups);
1761
+ untracked(() => {
1762
+ setTimeout(() => {
1763
+ this.groupedTasks()?.forEach((group) => {
1764
+ group.tasks.refresh();
1765
+ });
1766
+ this.grids().forEach((grid) => {
1767
+ grid.refresh({ reset: true });
1768
+ });
1769
+ }, 0);
1770
+ });
1721
1771
  });
1722
1772
  }, ...(ngDevMode ? [{ debugName: "#dataChanged" }] : /* istanbul ignore next */ []));
1723
1773
  this.#providerChanged = effect(async () => {
@@ -1779,6 +1829,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
1779
1829
  startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {
1780
1830
  locale: this.localeService.activeProfile().calendar.system,
1781
1831
  }),
1832
+ _originalTask: task,
1782
1833
  }));
1783
1834
  return {
1784
1835
  items: items.slice(e.skip, e.skip + e.take),
@@ -1798,13 +1849,23 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
1798
1849
  return;
1799
1850
  this.onActionClick.emit({ nativeEvent: e.nativeEvent, task });
1800
1851
  }
1852
+ handleRowClick(event) {
1853
+ if (!event.data) {
1854
+ return;
1855
+ }
1856
+ const mappedItem = event.data;
1857
+ const originalTask = mappedItem._originalTask ?? this.allFetchedTasks().find((task) => task.id === mappedItem.id);
1858
+ if (originalTask) {
1859
+ this.onTaskClick.emit(originalTask);
1860
+ }
1861
+ }
1801
1862
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMTaskBoardStatusGroupedGridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1802
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMTaskBoardStatusGroupedGridViewComponent, isStandalone: true, selector: "axm-task-board-status-grouped-grid-view", inputs: { provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, refreshNonce: { classPropertyName: "refreshNonce", publicName: "refreshNonce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionClick: "onActionClick" }, viewQueries: [{ propertyName: "grids", predicate: ["grid"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"text-xl font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"h-[300px]\"\n [fetchDataMode]=\"'manual'\"\n [dataSource]=\"group.tasks\"\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=\"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]=\"'75px'\"\n (onItemClick)=\"onActionClickHandler($event)\"\n [items]=\"[\n {\n name: 'view',\n text: ('@task-management:task-board.grid-headers.action-view' | translate | async) ?? 'View',\n icon: 'ax-icon ax-icon-more-horizontal',\n },\n ]\"\n ></ax-command-column>\n </ax-data-table>\n}\n", styles: ["ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\n"], dependencies: [{ kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i1$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "selectedRows", "parentField", "hasChildrenField", "rowDetailsTemplate", "rowTemplate", "emptyTemplate", "noDataTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i1$2.AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: ["width", "caption", "allowSorting", "allowResizing", "fixed", "hasTitle", "customExpandIcon", "customCollapseIcon", "dataField", "expandHandler", "wrapText", "cellTemplate", "footerTemplate", "headerTemplate", "format", "formatOptions"] }, { kind: "component", type: i1$2.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1863
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMTaskBoardStatusGroupedGridViewComponent, isStandalone: true, selector: "axm-task-board-status-grouped-grid-view", inputs: { provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, refreshNonce: { classPropertyName: "refreshNonce", publicName: "refreshNonce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionClick: "onActionClick", onTaskClick: "onTaskClick" }, viewQueries: [{ propertyName: "grids", predicate: ["grid"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (remountKey of groupedViewRemountKeys(); track remountKey) {\n @for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"text-xl font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"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]=\"'75px'\"\n (onItemClick)=\"onActionClickHandler($event)\"\n [items]=\"[\n {\n name: 'view',\n text: ('@task-management:task-board.grid-headers.action-view' | translate | async) ?? 'View',\n icon: 'ax-icon ax-icon-more-horizontal',\n },\n ]\"\n ></ax-command-column>\n </ax-data-table>\n }\n}\n", styles: ["ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\n"], dependencies: [{ kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i1$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "selectedRows", "parentField", "hasChildrenField", "rowDetailsTemplate", "rowTemplate", "emptyTemplate", "noDataTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i1$2.AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: ["width", "caption", "allowSorting", "allowResizing", "fixed", "hasTitle", "customExpandIcon", "customCollapseIcon", "dataField", "expandHandler", "wrapText", "cellTemplate", "footerTemplate", "headerTemplate", "format", "formatOptions"] }, { kind: "component", type: i1$2.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1803
1864
  }
1804
1865
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMTaskBoardStatusGroupedGridViewComponent, decorators: [{
1805
1866
  type: Component,
1806
- args: [{ selector: 'axm-task-board-status-grouped-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule, AXTranslatorPipe, AsyncPipe, AXPWidgetCoreModule], template: "@for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"text-xl font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"h-[300px]\"\n [fetchDataMode]=\"'manual'\"\n [dataSource]=\"group.tasks\"\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=\"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]=\"'75px'\"\n (onItemClick)=\"onActionClickHandler($event)\"\n [items]=\"[\n {\n name: 'view',\n text: ('@task-management:task-board.grid-headers.action-view' | translate | async) ?? 'View',\n icon: 'ax-icon ax-icon-more-horizontal',\n },\n ]\"\n ></ax-command-column>\n </ax-data-table>\n}\n", styles: ["ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\n"] }]
1807
- }], ctorParameters: () => [], propDecorators: { provider: [{ type: i0.Input, args: [{ isSignal: true, alias: "provider", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], refreshNonce: [{ type: i0.Input, args: [{ isSignal: true, alias: "refreshNonce", required: false }] }], onActionClick: [{ type: i0.Output, args: ["onActionClick"] }], grids: [{ type: i0.ViewChildren, args: ['grid', { isSignal: true }] }] } });
1867
+ args: [{ selector: 'axm-task-board-status-grouped-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule, AXTranslatorPipe, AsyncPipe, AXPWidgetCoreModule], template: "@for (remountKey of groupedViewRemountKeys(); track remountKey) {\n @for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"text-xl font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"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]=\"'75px'\"\n (onItemClick)=\"onActionClickHandler($event)\"\n [items]=\"[\n {\n name: 'view',\n text: ('@task-management:task-board.grid-headers.action-view' | translate | async) ?? 'View',\n icon: 'ax-icon ax-icon-more-horizontal',\n },\n ]\"\n ></ax-command-column>\n </ax-data-table>\n }\n}\n", styles: ["ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\n"] }]
1868
+ }], ctorParameters: () => [], propDecorators: { provider: [{ type: i0.Input, args: [{ isSignal: true, alias: "provider", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], refreshNonce: [{ type: i0.Input, args: [{ isSignal: true, alias: "refreshNonce", required: false }] }], onActionClick: [{ type: i0.Output, args: ["onActionClick"] }], onTaskClick: [{ type: i0.Output, args: ["onTaskClick"] }], grids: [{ type: i0.ViewChildren, args: ['grid', { isSignal: true }] }] } });
1808
1869
 
1809
1870
  class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
1810
1871
  constructor() {
@@ -1831,8 +1892,8 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
1831
1892
  this.calendarEventTypeAccordionCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "calendarEventTypeAccordionCollapsed" }] : /* istanbul ignore next */ []));
1832
1893
  this.sidebarCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "sidebarCollapsed" }] : /* istanbul ignore next */ []));
1833
1894
  this.currentTask = signal(null, ...(ngDevMode ? [{ debugName: "currentTask" }] : /* istanbul ignore next */ []));
1834
- this.currentViewMode = signal('calendar', ...(ngDevMode ? [{ debugName: "currentViewMode" }] : /* istanbul ignore next */ []));
1835
1895
  this.schedulerComponent = signal(null, ...(ngDevMode ? [{ debugName: "schedulerComponent" }] : /* istanbul ignore next */ []));
1896
+ this.kanbanLoadVersion = 0;
1836
1897
  this.dayDataCache = signal(new Map(), ...(ngDevMode ? [{ debugName: "dayDataCache" }] : /* istanbul ignore next */ []));
1837
1898
  /** View switcher entries filtered by user visibility settings parts. */
1838
1899
  this.menuItems = computed(() => {
@@ -1963,16 +2024,61 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
1963
2024
  });
1964
2025
  };
1965
2026
  this.resolvedTasks = signal([], ...(ngDevMode ? [{ debugName: "resolvedTasks" }] : /* istanbul ignore next */ []));
1966
- this.eff = effect(async () => {
1967
- const viewMode = this.vm.currentViewMode();
2027
+ /** Loads kanban tasks when filters or date range change; ignores stale async results. */
2028
+ this.kanbanDataEffect = effect(() => {
2029
+ if (this.vm.currentViewMode() !== 'kanban') {
2030
+ return;
2031
+ }
2032
+ this.vm.selectedTaskTypeNames();
2033
+ this.vm.selectedAssigneeIds();
2034
+ this.vm.selectedReporterIds();
2035
+ this.vm.selectedPriorities();
2036
+ this.vm.currentDate();
2037
+ this.vm.daysCount();
2038
+ this.refreshNonce();
1968
2039
  const filter = this.filter();
1969
- if (viewMode === 'kanban') {
1970
- await this.taskResolveHandler(filter);
2040
+ const version = ++this.kanbanLoadVersion;
2041
+ void this.taskBoardService.getTasks(filter).then((result) => {
2042
+ if (version !== this.kanbanLoadVersion) {
2043
+ return;
2044
+ }
2045
+ this.validateSelectedTask(result.items);
2046
+ this.resolvedTasks.set(result.items);
2047
+ });
2048
+ }, ...(ngDevMode ? [{ debugName: "kanbanDataEffect" }] : /* istanbul ignore next */ []));
2049
+ /** Keeps scheduler in sync when toolbar date/view changes outside the scheduler UI. */
2050
+ this.schedulerNavigationEffect = effect(() => {
2051
+ const viewMode = this.vm.currentViewMode();
2052
+ const calendarViews = [
2053
+ 'day',
2054
+ 'week',
2055
+ 'month',
2056
+ 'agenda',
2057
+ 'timeline-day',
2058
+ 'timeline-weekly',
2059
+ 'timeline-month',
2060
+ 'timeline-year',
2061
+ ];
2062
+ if (!calendarViews.includes(viewMode)) {
2063
+ return;
1971
2064
  }
1972
- }, ...(ngDevMode ? [{ debugName: "eff" }] : /* istanbul ignore next */ []));
2065
+ this.vm.currentDate();
2066
+ this.vm.currentViewMode();
2067
+ this.vm.daysCount();
2068
+ this.refreshNonce();
2069
+ queueMicrotask(() => {
2070
+ this.schedulerComponent()?.refresh();
2071
+ });
2072
+ }, ...(ngDevMode ? [{ debugName: "schedulerNavigationEffect" }] : /* istanbul ignore next */ []));
1973
2073
  this.refreshEffect = effect(() => {
1974
2074
  this.vm.selectedTaskTypeNames();
1975
- this.getResources();
2075
+ this.vm.selectedAssigneeIds();
2076
+ this.vm.selectedReporterIds();
2077
+ this.vm.selectedPriorities();
2078
+ this.vm.currentDate();
2079
+ this.vm.daysCount();
2080
+ this.refreshNonce();
2081
+ void this.getResources();
1976
2082
  this.schedulerComponent()?.refresh();
1977
2083
  }, ...(ngDevMode ? [{ debugName: "refreshEffect" }] : /* istanbul ignore next */ []));
1978
2084
  this.calendarEventTypeRefreshEffect = effect(() => {
@@ -2304,6 +2410,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
2304
2410
  this.popover()?.close();
2305
2411
  this.calendar()?.render();
2306
2412
  this.sidebarCalendar()?.render();
2413
+ this.schedulerComponent()?.refresh();
2307
2414
  }
2308
2415
  handleCalendarSlotClick(event) {
2309
2416
  if (event.component.activeView !== event.component.depth)
@@ -2379,6 +2486,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
2379
2486
  this.popover()?.close();
2380
2487
  this.calendar()?.render();
2381
2488
  this.sidebarCalendar()?.render();
2489
+ this.schedulerComponent()?.refresh();
2382
2490
  }
2383
2491
  handleTaskTypeSelectionChange(selectedValues) {
2384
2492
  // Convert single value to array if needed (for radio mode)
@@ -2471,11 +2579,11 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
2471
2579
  provide: AXPPageLayoutBase,
2472
2580
  useExisting: AXMTaskBoardPage,
2473
2581
  },
2474
- ], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, isSignal: true }, { propertyName: "sidebarCalendar", first: true, predicate: ["sidebarCalendar"], descendants: true, isSignal: true }, { propertyName: "contextMenu", first: true, predicate: ["rootContextMenu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [tasks]=\"resolvedTasks()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</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<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</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", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
2582
+ ], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, isSignal: true }, { propertyName: "sidebarCalendar", first: true, predicate: ["sidebarCalendar"], descendants: true, isSignal: true }, { propertyName: "contextMenu", first: true, predicate: ["rootContextMenu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [(tasks)]=\"resolvedTasks\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</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<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</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", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
2475
2583
  //
2476
2584
  AXMenuModule }, { kind: "component", type: i3$1.AXMenuItemComponent, selector: "ax-menu-item", inputs: ["name", "data", "disabled", "color"], outputs: ["onClick"] }, { kind: "component", type: i3$1.AXMenuComponent, selector: "ax-menu", inputs: ["orientation", "openOn", "closeOn", "items", "hasArrow"], outputs: ["onItemClick"] }, { kind: "component", type: i3$1.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening", "onClose"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i7.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i8.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXAccordionModule }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i9.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i9.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i9.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i9.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "component", type:
2477
2585
  //
2478
- AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXMTaskBoardCalendarViewComponent, selector: "axm-task-board-calendar-view", inputs: ["resources", "refreshNonce", "startingDate", "selectedView", "dataSource"], outputs: ["onTaskClick", "onTaskChanged", "onMonthSlotDblClicked", "onActionClick", "component", "onTaskRightClick", "onRangeChanged"] }, { kind: "component", type: AXMTaskBoardKanbanViewComponent, selector: "axm-task-board-kanban-view", inputs: ["tasks"], outputs: ["tasksChange", "onTaskClick", "onTaskChanged", "component", "onActionClick"] }, { kind: "component", type: AXMTaskBoardGridViewComponent, selector: "axm-task-board-grid-view", inputs: ["dataSource", "refreshNonce"], outputs: ["onTaskClick", "onActionClick"] }, { kind: "component", type: AXMTaskBoardStatusGroupedGridViewComponent, selector: "axm-task-board-status-grouped-grid-view", inputs: ["provider", "dataSource", "refreshNonce"], outputs: ["onActionClick"] }, { kind: "component", type: AXMTaskBoardDetailPanel, selector: "axm-task-board-detail-panel" }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: AXMTaskBoardFiltersComponent, selector: "axm-task-board-filters", inputs: ["isQueryParam"], outputs: ["applyClicked"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i10.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2586
+ AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXMTaskBoardCalendarViewComponent, selector: "axm-task-board-calendar-view", inputs: ["resources", "refreshNonce", "startingDate", "selectedView", "dataSource"], outputs: ["onTaskClick", "onTaskChanged", "onMonthSlotDblClicked", "onActionClick", "component", "onTaskRightClick", "onRangeChanged"] }, { kind: "component", type: AXMTaskBoardKanbanViewComponent, selector: "axm-task-board-kanban-view", inputs: ["tasks"], outputs: ["tasksChange", "onTaskClick", "onTaskChanged", "component", "onActionClick"] }, { kind: "component", type: AXMTaskBoardGridViewComponent, selector: "axm-task-board-grid-view", inputs: ["dataSource", "refreshNonce"], outputs: ["onTaskClick", "onActionClick"] }, { kind: "component", type: AXMTaskBoardStatusGroupedGridViewComponent, selector: "axm-task-board-status-grouped-grid-view", inputs: ["provider", "dataSource", "refreshNonce"], outputs: ["onActionClick", "onTaskClick"] }, { kind: "component", type: AXMTaskBoardDetailPanel, selector: "axm-task-board-detail-panel" }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: AXMTaskBoardFiltersComponent, selector: "axm-task-board-filters", inputs: ["isQueryParam"], outputs: ["applyClicked"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i10.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2479
2587
  }
2480
2588
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMTaskBoardPage, decorators: [{
2481
2589
  type: Component,
@@ -2517,8 +2625,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
2517
2625
  provide: AXPPageLayoutBase,
2518
2626
  useExisting: AXMTaskBoardPage,
2519
2627
  },
2520
- ], template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [tasks]=\"resolvedTasks()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</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<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</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", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"] }]
2628
+ ], template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [(tasks)]=\"resolvedTasks\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</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<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</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", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"] }]
2521
2629
  }], propDecorators: { popover: [{ type: i0.ViewChild, args: ['popover', { isSignal: true }] }], calendar: [{ type: i0.ViewChild, args: ['calendar', { isSignal: true }] }], sidebarCalendar: [{ type: i0.ViewChild, args: ['sidebarCalendar', { isSignal: true }] }], contextMenu: [{ type: i0.ViewChild, args: ['rootContextMenu', { isSignal: true }] }] } });
2522
2630
 
2523
2631
  export { AXMTaskBoardPage };
2524
- //# sourceMappingURL=acorex-modules-task-management-task-board.page-BOrgjwax.mjs.map
2632
+ //# sourceMappingURL=acorex-modules-task-management-task-board.page-BG6IgTKW.mjs.map