@acorex/modules 20.2.4-next.0 → 20.2.4-next.2

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 (242) hide show
  1. package/auth/index.d.ts +1 -0
  2. package/common/index.d.ts +16 -13
  3. package/contact-management/index.d.ts +0 -6
  4. package/conversation/index.d.ts +8 -0
  5. package/dashboard-management/index.d.ts +3 -79
  6. package/data-management/index.d.ts +2 -69
  7. package/document-management/index.d.ts +20 -5
  8. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs → acorex-modules-auth-acorex-modules-auth-BbO_ea5W.mjs} +18 -14
  9. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs.map → acorex-modules-auth-acorex-modules-auth-BbO_ea5W.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs → acorex-modules-auth-app-chooser.component-y0HLrwJM.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs.map → acorex-modules-auth-app-chooser.component-y0HLrwJM.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-login.module-DGPRxnXo.mjs → acorex-modules-auth-login.module-1U_5UgDs.mjs} +4 -4
  13. package/fesm2022/{acorex-modules-auth-login.module-DGPRxnXo.mjs.map → acorex-modules-auth-login.module-1U_5UgDs.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-master.layout-BNFGuQQs.mjs → acorex-modules-auth-master.layout-DGsAGhOH.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-auth-master.layout-BNFGuQQs.mjs.map → acorex-modules-auth-master.layout-DGsAGhOH.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs → acorex-modules-auth-oauth-callback.component-CPHBV5bA.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs.map → acorex-modules-auth-oauth-callback.component-CPHBV5bA.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-password.component-ln2kDKPR.mjs → acorex-modules-auth-password.component-C85NgQxA.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-auth-password.component-ln2kDKPR.mjs.map → acorex-modules-auth-password.component-C85NgQxA.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-password.component-Dyox9sR4.mjs → acorex-modules-auth-password.component-CF3ReHyw.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-auth-password.component-Dyox9sR4.mjs.map → acorex-modules-auth-password.component-CF3ReHyw.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-auth-routes-7vr8T08D.mjs → acorex-modules-auth-routes-BJh0Fwpy.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-auth-routes-7vr8T08D.mjs.map → acorex-modules-auth-routes-BJh0Fwpy.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-two-factor.module-D6XCUP_A.mjs → acorex-modules-auth-two-factor.module-Bsh2_A5L.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-auth-two-factor.module-D6XCUP_A.mjs.map → acorex-modules-auth-two-factor.module-Bsh2_A5L.mjs.map} +1 -1
  26. package/fesm2022/acorex-modules-auth-user-sessions.component-ChMkstLg.mjs +137 -0
  27. package/fesm2022/acorex-modules-auth-user-sessions.component-ChMkstLg.mjs.map +1 -0
  28. package/fesm2022/acorex-modules-auth.mjs +1 -1
  29. package/fesm2022/acorex-modules-calendar-management.mjs +12 -40
  30. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  31. package/fesm2022/acorex-modules-common-manage-extra-properties-popup.component-BgXwb8Su.mjs +71 -0
  32. package/fesm2022/acorex-modules-common-manage-extra-properties-popup.component-BgXwb8Su.mjs.map +1 -0
  33. package/fesm2022/acorex-modules-common-manage-extra-properties.command-DqdhTfLD.mjs +47 -0
  34. package/fesm2022/acorex-modules-common-manage-extra-properties.command-DqdhTfLD.mjs.map +1 -0
  35. package/fesm2022/{acorex-modules-common-search-popup.component-39U0-TIj.mjs → acorex-modules-common-search-popup.component-BSQyjDKA.mjs} +8 -8
  36. package/fesm2022/{acorex-modules-common-search-popup.component-39U0-TIj.mjs.map → acorex-modules-common-search-popup.component-BSQyjDKA.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-_KJd8oGw.mjs → acorex-modules-common-timeline-version-history-popup.component-ByAc4Yp9.mjs} +5 -5
  38. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-_KJd8oGw.mjs.map → acorex-modules-common-timeline-version-history-popup.component-ByAc4Yp9.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-common.mjs +532 -91
  40. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  41. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-CIeZtPSy.mjs → acorex-modules-contact-management-contact-method.entity-DR6V9Nox.mjs} +15 -41
  42. package/fesm2022/acorex-modules-contact-management-contact-method.entity-DR6V9Nox.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-CeIealVy.mjs → acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs} +13 -90
  44. package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs.map +1 -0
  45. package/fesm2022/acorex-modules-contact-management.mjs +793 -1
  46. package/fesm2022/acorex-modules-contact-management.mjs.map +1 -1
  47. package/fesm2022/acorex-modules-content-management.mjs +3 -3
  48. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  49. package/fesm2022/acorex-modules-conversation.mjs +84 -24
  50. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  51. package/fesm2022/acorex-modules-dashboard-management.mjs +29 -325
  52. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  53. package/fesm2022/acorex-modules-data-management.mjs +160 -1009
  54. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  55. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs → acorex-modules-document-management-acorex-modules-document-management-DG7QxbqI.mjs} +174 -286
  56. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-DG7QxbqI.mjs.map +1 -0
  57. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs → acorex-modules-document-management-attachment-widget.component-tk2f6GPy.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs.map → acorex-modules-document-management-attachment-widget.component-tk2f6GPy.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs → acorex-modules-document-management-create-folder-dialog.component-DJ-BBmR2.mjs} +3 -3
  60. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-DJ-BBmR2.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-document-management-details-view.component-BKNvUhdl.mjs → acorex-modules-document-management-details-view.component-CX10ubfL.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-document-management-details-view.component-BKNvUhdl.mjs.map → acorex-modules-document-management-details-view.component-CX10ubfL.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-CK8MX49w.mjs → acorex-modules-document-management-document-signature-popup.component-CMUZSL2S.mjs} +42 -2
  64. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-CMUZSL2S.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs → acorex-modules-document-management-drive-choose.component-DOxdrJh-.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs.map → acorex-modules-document-management-drive-choose.component-DOxdrJh-.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-document-management-drive.component-DutBXTtm.mjs → acorex-modules-document-management-drive.component-Crt-i9Xe.mjs} +2 -2
  68. package/fesm2022/{acorex-modules-document-management-drive.component-DutBXTtm.mjs.map → acorex-modules-document-management-drive.component-Crt-i9Xe.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs → acorex-modules-document-management-large-icons-view.component-DLds0iA6.mjs} +2 -2
  70. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs.map → acorex-modules-document-management-large-icons-view.component-DLds0iA6.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs → acorex-modules-document-management-large-tiles-view.component-DELo5m5s.mjs} +2 -2
  72. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs.map → acorex-modules-document-management-large-tiles-view.component-DELo5m5s.mjs.map} +1 -1
  73. package/fesm2022/{acorex-modules-document-management-link-dialog.component-DKOod11R.mjs → acorex-modules-document-management-link-dialog.component-DM1Djews.mjs} +2 -2
  74. package/fesm2022/acorex-modules-document-management-link-dialog.component-DM1Djews.mjs.map +1 -0
  75. package/fesm2022/{acorex-modules-document-management-list-view.component-DdLTVccZ.mjs → acorex-modules-document-management-list-view.component-DsR96OWz.mjs} +2 -2
  76. package/fesm2022/{acorex-modules-document-management-list-view.component-DdLTVccZ.mjs.map → acorex-modules-document-management-list-view.component-DsR96OWz.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs → acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs} +6 -6
  78. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs.map +1 -0
  79. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs → acorex-modules-document-management-permission-definition.provider-DiXt_BzX.mjs} +2 -2
  80. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs.map → acorex-modules-document-management-permission-definition.provider-DiXt_BzX.mjs.map} +1 -1
  81. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs → acorex-modules-document-management-rename-node-dialog.component-CNeHhc0E.mjs} +2 -2
  82. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CNeHhc0E.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-document-management-share-dialog.component-mBEu2KpG.mjs → acorex-modules-document-management-share-dialog.component-BNN3t8AV.mjs} +2 -2
  84. package/fesm2022/acorex-modules-document-management-share-dialog.component-BNN3t8AV.mjs.map +1 -0
  85. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CI4SKdjk.mjs → acorex-modules-document-management-share-email-dialog.component-8WAUtRyJ.mjs} +2 -2
  86. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-8WAUtRyJ.mjs.map +1 -0
  87. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs → acorex-modules-document-management-small-icons-view.component-D9AIIBMz.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs.map → acorex-modules-document-management-small-icons-view.component-D9AIIBMz.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs → acorex-modules-document-management-small-tiles-view.component-HpEgcH1F.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs.map → acorex-modules-document-management-small-tiles-view.component-HpEgcH1F.mjs.map} +1 -1
  91. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  92. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-COVNekIY.mjs} +13 -85
  93. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-COVNekIY.mjs.map +1 -0
  94. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs → acorex-modules-form-template-management-permission-definition.provider-BEkbbQH2.mjs} +2 -2
  95. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BEkbbQH2.mjs.map} +1 -1
  96. package/fesm2022/{acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs → acorex-modules-form-template-management-settings.provider-DSI7cmrW.mjs} +2 -2
  97. package/fesm2022/{acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs.map → acorex-modules-form-template-management-settings.provider-DSI7cmrW.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs → acorex-modules-form-template-management-template-picker.component-5n_kQMuQ.mjs} +6 -4
  99. package/fesm2022/acorex-modules-form-template-management-template-picker.component-5n_kQMuQ.mjs.map +1 -0
  100. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs → acorex-modules-form-template-management-template-widget-edit.component-BtCYeGB-.mjs} +2 -2
  101. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BtCYeGB-.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs → acorex-modules-form-template-management-template.entity-Cm-AVAF_.mjs} +15 -85
  103. package/fesm2022/acorex-modules-form-template-management-template.entity-Cm-AVAF_.mjs.map +1 -0
  104. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs → acorex-modules-form-template-management-viewer-popup.component-C8TC42DL.mjs} +2 -2
  105. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs.map → acorex-modules-form-template-management-viewer-popup.component-C8TC42DL.mjs.map} +1 -1
  106. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  107. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs → acorex-modules-help-desk-acorex-modules-help-desk-hH3VgxdE.mjs} +6 -6
  108. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-hH3VgxdE.mjs.map +1 -0
  109. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs → acorex-modules-help-desk-capture-screen.component-ae64BzbL.mjs} +2 -2
  110. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs.map → acorex-modules-help-desk-capture-screen.component-ae64BzbL.mjs.map} +1 -1
  111. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  112. package/fesm2022/acorex-modules-location-management.mjs +16 -29
  113. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  114. package/fesm2022/acorex-modules-log-management.mjs +1 -1
  115. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  116. package/fesm2022/acorex-modules-meeting-management.mjs +107 -95
  117. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
  118. package/fesm2022/acorex-modules-notification-management-notification-page.component-BUslAF8w.mjs +855 -0
  119. package/fesm2022/acorex-modules-notification-management-notification-page.component-BUslAF8w.mjs.map +1 -0
  120. package/fesm2022/acorex-modules-notification-management.mjs +20 -20
  121. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  122. package/fesm2022/{acorex-modules-organization-management-add-item.component-DkXcoyHa.mjs → acorex-modules-organization-management-add-item.component-B7AYaZrD.mjs} +2 -2
  123. package/fesm2022/acorex-modules-organization-management-add-item.component-B7AYaZrD.mjs.map +1 -0
  124. package/fesm2022/{acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs → acorex-modules-organization-management-branch.entity-B_CYwiX9.mjs} +14 -42
  125. package/fesm2022/acorex-modules-organization-management-branch.entity-B_CYwiX9.mjs.map +1 -0
  126. package/fesm2022/{acorex-modules-organization-management-chart.entity-UAn44WCP.mjs → acorex-modules-organization-management-chart.entity-8J9I9lgq.mjs} +14 -42
  127. package/fesm2022/acorex-modules-organization-management-chart.entity-8J9I9lgq.mjs.map +1 -0
  128. package/fesm2022/{acorex-modules-organization-management-company.entity-D1A1HSkC.mjs → acorex-modules-organization-management-company.entity-BBNM-Ihr.mjs} +14 -42
  129. package/fesm2022/acorex-modules-organization-management-company.entity-BBNM-Ihr.mjs.map +1 -0
  130. package/fesm2022/{acorex-modules-organization-management-department.entity-BxCyXNtv.mjs → acorex-modules-organization-management-department.entity-BbBrK4BN.mjs} +14 -42
  131. package/fesm2022/acorex-modules-organization-management-department.entity-BbBrK4BN.mjs.map +1 -0
  132. package/fesm2022/{acorex-modules-organization-management-division.entity-DzQT2jpz.mjs → acorex-modules-organization-management-division.entity-DdX7LcCU.mjs} +14 -42
  133. package/fesm2022/acorex-modules-organization-management-division.entity-DdX7LcCU.mjs.map +1 -0
  134. package/fesm2022/{acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs → acorex-modules-organization-management-employee.entity-DJH02MJJ.mjs} +85 -186
  135. package/fesm2022/acorex-modules-organization-management-employee.entity-DJH02MJJ.mjs.map +1 -0
  136. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs → acorex-modules-organization-management-employment-type.entity-Dw3TLMtD.mjs} +14 -42
  137. package/fesm2022/acorex-modules-organization-management-employment-type.entity-Dw3TLMtD.mjs.map +1 -0
  138. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DuyhYwnh.mjs → acorex-modules-organization-management-org-chart.page-DxVm1V4w.mjs} +2 -2
  139. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DuyhYwnh.mjs.map → acorex-modules-organization-management-org-chart.page-DxVm1V4w.mjs.map} +1 -1
  140. package/fesm2022/{acorex-modules-organization-management-role.entity-CruQeObl.mjs → acorex-modules-organization-management-position.entity-DT7EyvrR.mjs} +96 -79
  141. package/fesm2022/acorex-modules-organization-management-position.entity-DT7EyvrR.mjs.map +1 -0
  142. package/fesm2022/{acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs → acorex-modules-organization-management-responsibility.entity-DpUTLjdp.mjs} +19 -91
  143. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DpUTLjdp.mjs.map +1 -0
  144. package/fesm2022/{acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs → acorex-modules-organization-management-role.entity-BdjgFsgo.mjs} +68 -51
  145. package/fesm2022/acorex-modules-organization-management-role.entity-BdjgFsgo.mjs.map +1 -0
  146. package/fesm2022/{acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs → acorex-modules-organization-management-skill.entity-O1453j6I.mjs} +14 -105
  147. package/fesm2022/acorex-modules-organization-management-skill.entity-O1453j6I.mjs.map +1 -0
  148. package/fesm2022/{acorex-modules-organization-management-team.entity-DMCfAZsr.mjs → acorex-modules-organization-management-team.entity-DkRLWl0u.mjs} +13 -32
  149. package/fesm2022/acorex-modules-organization-management-team.entity-DkRLWl0u.mjs.map +1 -0
  150. package/fesm2022/acorex-modules-organization-management.mjs +15 -256
  151. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  152. package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs → acorex-modules-party-management-acorex-modules-party-management-BFyD7IcC.mjs} +11 -21
  153. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-BFyD7IcC.mjs.map +1 -0
  154. package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs → acorex-modules-party-management-party-identifier-type.entity-BYsWpup7.mjs} +20 -19
  155. package/fesm2022/acorex-modules-party-management-party-identifier-type.entity-BYsWpup7.mjs.map +1 -0
  156. package/fesm2022/{acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs → acorex-modules-party-management-party-identifier.entity-DSn4lsX-.mjs} +9 -12
  157. package/fesm2022/acorex-modules-party-management-party-identifier.entity-DSn4lsX-.mjs.map +1 -0
  158. package/fesm2022/{acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs → acorex-modules-party-management-party-relationship.entity-BG5zuKPH.mjs} +9 -14
  159. package/fesm2022/acorex-modules-party-management-party-relationship.entity-BG5zuKPH.mjs.map +1 -0
  160. package/fesm2022/{acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs → acorex-modules-party-management-party-role.entity-jCTZL0mT.mjs} +9 -12
  161. package/fesm2022/acorex-modules-party-management-party-role.entity-jCTZL0mT.mjs.map +1 -0
  162. package/fesm2022/{acorex-modules-party-management-party.entity-DAvqOPic.mjs → acorex-modules-party-management-party.entity-BwAAZRJc.mjs} +43 -43
  163. package/fesm2022/acorex-modules-party-management-party.entity-BwAAZRJc.mjs.map +1 -0
  164. package/fesm2022/acorex-modules-party-management.mjs +1 -1
  165. package/fesm2022/acorex-modules-platform-management.mjs +2 -2
  166. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  167. package/fesm2022/acorex-modules-project-management.mjs +60 -48
  168. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  169. package/fesm2022/{acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs → acorex-modules-report-management-report-create-root.component-DAOMkt_F.mjs} +2 -2
  170. package/fesm2022/acorex-modules-report-management-report-create-root.component-DAOMkt_F.mjs.map +1 -0
  171. package/fesm2022/acorex-modules-report-management.mjs +57 -58
  172. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  173. package/fesm2022/acorex-modules-scheduler-job-management.mjs +6 -7
  174. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  175. package/fesm2022/acorex-modules-security-management.mjs +27 -173
  176. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  177. package/fesm2022/{acorex-modules-task-management-task-board.page-DbpqZaC7.mjs → acorex-modules-task-management-task-board.page-BBbHu2jz.mjs} +311 -71
  178. package/fesm2022/acorex-modules-task-management-task-board.page-BBbHu2jz.mjs.map +1 -0
  179. package/fesm2022/acorex-modules-task-management.mjs +619 -241
  180. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  181. package/fesm2022/acorex-modules-text-template-management.mjs +4 -6
  182. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  183. package/fesm2022/acorex-modules-training-management.mjs +35 -35
  184. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  185. package/form-template-management/index.d.ts +6 -32
  186. package/organization-management/index.d.ts +3 -111
  187. package/package.json +9 -9
  188. package/security-management/index.d.ts +1 -4
  189. package/task-management/README.md +1 -1
  190. package/task-management/index.d.ts +80 -6
  191. package/fesm2022/acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs +0 -135
  192. package/fesm2022/acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs.map +0 -1
  193. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs +0 -863
  194. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs.map +0 -1
  195. package/fesm2022/acorex-modules-contact-management-contact-method.entity-CIeZtPSy.mjs.map +0 -1
  196. package/fesm2022/acorex-modules-contact-management-emergency-contact-category.entity-B2DPfonq.mjs +0 -680
  197. package/fesm2022/acorex-modules-contact-management-emergency-contact-category.entity-B2DPfonq.mjs.map +0 -1
  198. package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-CeIealVy.mjs.map +0 -1
  199. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs.map +0 -1
  200. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs.map +0 -1
  201. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-CK8MX49w.mjs.map +0 -1
  202. package/fesm2022/acorex-modules-document-management-link-dialog.component-DKOod11R.mjs.map +0 -1
  203. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs.map +0 -1
  204. package/fesm2022/acorex-modules-document-management-share-dialog.component-mBEu2KpG.mjs.map +0 -1
  205. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-CI4SKdjk.mjs.map +0 -1
  206. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs.map +0 -1
  207. package/fesm2022/acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs +0 -245
  208. package/fesm2022/acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs.map +0 -1
  209. package/fesm2022/acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs.map +0 -1
  210. package/fesm2022/acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs.map +0 -1
  211. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs.map +0 -1
  212. package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs +0 -544
  213. package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs.map +0 -1
  214. package/fesm2022/acorex-modules-organization-management-add-item.component-DkXcoyHa.mjs.map +0 -1
  215. package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +0 -1
  216. package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +0 -1
  217. package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +0 -1
  218. package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +0 -1
  219. package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +0 -1
  220. package/fesm2022/acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +0 -1
  222. package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs +0 -305
  223. package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +0 -1
  224. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs +0 -526
  225. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +0 -1
  226. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +0 -1
  227. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs +0 -338
  228. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +0 -1
  229. package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +0 -1
  230. package/fesm2022/acorex-modules-organization-management-role.entity-CruQeObl.mjs.map +0 -1
  231. package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs +0 -305
  232. package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +0 -1
  233. package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +0 -1
  234. package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +0 -1
  235. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs.map +0 -1
  236. package/fesm2022/acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs.map +0 -1
  237. package/fesm2022/acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs.map +0 -1
  238. package/fesm2022/acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs.map +0 -1
  239. package/fesm2022/acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs.map +0 -1
  240. package/fesm2022/acorex-modules-party-management-party.entity-DAvqOPic.mjs.map +0 -1
  241. package/fesm2022/acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs.map +0 -1
  242. package/fesm2022/acorex-modules-task-management-task-board.page-DbpqZaC7.mjs.map +0 -1
@@ -1,15 +1,26 @@
1
1
  import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
2
2
  import { AXP_ENTITY_CONFIG_TOKEN, AXPEntityService, AXMEntityCrudServiceImpl, entityMasterCrudActions, entityMasterDeleteAction, entityDetailsCrudActions, entityDetailsSimpleCondition, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
3
- import { CommonModule } from '@angular/common';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule, AsyncPipe } from '@angular/common';
4
5
  import * as i0 from '@angular/core';
5
- import { inject, Injector, Injectable, NgModule } from '@angular/core';
6
+ import { inject, Injector, Injectable, output, viewChild, computed, signal, effect, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
7
+ import { AXPAuthGuard } from '@acorex/platform/auth';
8
+ import { AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER } from '@acorex/platform/core';
9
+ import { ROUTES } from '@angular/router';
10
+ import { AXButtonComponent } from '@acorex/components/button';
11
+ import { AXChipsComponent } from '@acorex/components/chips';
12
+ import { AXDecoratorIconComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';
13
+ import { AXContextMenuComponent } from '@acorex/components/menu';
14
+ import { AXFormatPipe } from '@acorex/core/format';
15
+ import { AXTranslatorPipe } from '@acorex/core/translation';
16
+ import * as i1$1 from '@acorex/platform/layout/builder';
17
+ import { AXPLayoutWidgetComponent, cloneProperty, AXPWidgetsCatalog, AXPWidgetGroupEnum, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
6
18
  import { AXMCalendarManagementService, AXMCalendarManagementModule } from '@acorex/modules/calendar-management';
7
19
  import { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/platform/workflow';
8
20
  import { Subject } from 'rxjs';
9
- import { AXPAuthGuard } from '@acorex/platform/auth';
10
- import { AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER } from '@acorex/platform/core';
11
- import { ROUTES } from '@angular/router';
12
- import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
21
+ import { AXP_WIDGETS_CHART_CATEGORY } from '@acorex/modules/dashboard-management';
22
+ import { AXP_APPEARANCE_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY } from '@acorex/platform/widgets';
23
+ import { AXDataSource } from '@acorex/cdk/common';
13
24
 
14
25
  const config = {
15
26
  i18n: 'task-management',
@@ -123,6 +134,469 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
123
134
  type: Injectable
124
135
  }] });
125
136
 
137
+ const VALID_PRIORITIES = ['highest', 'high', 'medium', 'low', 'lowest'];
138
+ const NO_PRIORITY_KEY = 'no_priority';
139
+ const PRIORITY_ORDER = {
140
+ highest: 0,
141
+ high: 1,
142
+ medium: 2,
143
+ low: 3,
144
+ lowest: 4,
145
+ no_priority: 5,
146
+ };
147
+ const DEFAULT_TASK_TYPE = { name: 'all', title: 'All', icon: 'fa-solid fa-list' };
148
+ class AXPTaskBoardWidgetViewComponent extends AXPLayoutWidgetComponent {
149
+ constructor() {
150
+ super(...arguments);
151
+ // Outputs
152
+ this.taskClick = output();
153
+ // Dependencies
154
+ this.taskBoardService = inject(AXPTaskBoardService);
155
+ this.contextMenu = viewChild('contextMenu', ...(ngDevMode ? [{ debugName: "contextMenu" }] : []));
156
+ // Configuration options
157
+ this.maxItems = computed(() => this.options()?.maxItems ?? 10, ...(ngDevMode ? [{ debugName: "maxItems" }] : []));
158
+ this.assignee = computed(() => this.options()?.assignee ?? [], ...(ngDevMode ? [{ debugName: "assignee" }] : []));
159
+ this.taskType = computed(() => this.options()?.taskType ?? DEFAULT_TASK_TYPE, ...(ngDevMode ? [{ debugName: "taskType" }] : []));
160
+ this.sortBy = computed(() => this.options()?.sortBy ?? { title: 'Priority', name: 'priority' }, ...(ngDevMode ? [{ debugName: "sortBy" }] : []));
161
+ // --- STATE AND DATA SIGNALS ---
162
+ this.allTasks = signal([], ...(ngDevMode ? [{ debugName: "allTasks" }] : []));
163
+ this.currentTask = signal(null, ...(ngDevMode ? [{ debugName: "currentTask" }] : []));
164
+ this.selectedPriorities = signal(new Set([...VALID_PRIORITIES, NO_PRIORITY_KEY]), ...(ngDevMode ? [{ debugName: "selectedPriorities" }] : []));
165
+ // --- COMPUTED SIGNALS FOR UI ---
166
+ /**
167
+ * Computes a list of tasks that are filtered, sorted, and limited.
168
+ */
169
+ this.filteredTasks = computed(() => {
170
+ const tasks = this.allTasks();
171
+ const limit = this.maxItems();
172
+ const taskType = this.taskType().name;
173
+ const selectedPrioritiesSet = this.selectedPriorities();
174
+ // 1. Filter by Task Type
175
+ const typeFiltered = taskType && taskType !== 'all' ? tasks.filter((task) => task.provider === taskType) : tasks;
176
+ // 2. Filter by selected Priorities
177
+ const priorityFiltered = typeFiltered.filter((task) => {
178
+ const priorityKey = task.priority || NO_PRIORITY_KEY;
179
+ return selectedPrioritiesSet.has(priorityKey);
180
+ });
181
+ // 3. Sort the filtered tasks
182
+ const sorted = this.sortTasks([...priorityFiltered]);
183
+ // 4. Limit the number of items
184
+ return sorted.slice(0, limit);
185
+ }, ...(ngDevMode ? [{ debugName: "filteredTasks" }] : []));
186
+ /**
187
+ * Generates the data for the priority filter chips in the header.
188
+ */
189
+ this.priorityBadges = computed(() => {
190
+ const tasks = this.allTasks();
191
+ const taskType = this.taskType();
192
+ // 1. Filter by task type
193
+ const typeFiltered = taskType.name !== 'all' ? tasks.filter((task) => task.provider === taskType.name) : tasks;
194
+ // 2. Count priorities from the filtered list
195
+ const counts = [...VALID_PRIORITIES, NO_PRIORITY_KEY].reduce((acc, key) => {
196
+ acc[key] = 0;
197
+ return acc;
198
+ }, {});
199
+ for (const task of typeFiltered) {
200
+ const key = task.priority || NO_PRIORITY_KEY;
201
+ counts[key]++;
202
+ }
203
+ // 3. Build badge models
204
+ const priorityBadges = VALID_PRIORITIES.map((p) => ({
205
+ name: p,
206
+ label: p.charAt(0).toUpperCase() + p.slice(1),
207
+ count: counts[p],
208
+ color: this.getBadgeColorForPriority(p),
209
+ }));
210
+ const noPriorityBadge = {
211
+ name: NO_PRIORITY_KEY,
212
+ label: 'No Priority',
213
+ count: counts[NO_PRIORITY_KEY],
214
+ color: this.getBadgeColorForPriority(NO_PRIORITY_KEY),
215
+ };
216
+ return [...priorityBadges, noPriorityBadge];
217
+ }, ...(ngDevMode ? [{ debugName: "priorityBadges" }] : []));
218
+ this.#getTasks = effect(() => {
219
+ const limit = this.maxItems();
220
+ const assignee = this.assignee();
221
+ const taskType = this.taskType().name === 'all' ? [] : [this.taskType().name];
222
+ this.taskBoardService
223
+ .getTasks({ take: limit, assigneeIds: assignee.map((a) => a.id), types: taskType })
224
+ .then((tasks) => {
225
+ this.allTasks.set(tasks.items);
226
+ });
227
+ }, ...(ngDevMode ? [{ debugName: "#getTasks" }] : []));
228
+ }
229
+ #getTasks;
230
+ // --- SORTING COMPARATOR METHODS ---
231
+ /**
232
+ * Compares two tasks based on their priority.
233
+ */
234
+ compareByPriority(a, b) {
235
+ const priorityA = a.priority || NO_PRIORITY_KEY;
236
+ const priorityB = b.priority || NO_PRIORITY_KEY;
237
+ return PRIORITY_ORDER[priorityA] - PRIORITY_ORDER[priorityB];
238
+ }
239
+ /**
240
+ * Compares two tasks based on their due date.
241
+ */
242
+ compareByDueDate(a, b) {
243
+ const now = new Date().getTime();
244
+ const dateA = a.endDate ? new Date(a.endDate).getTime() : null;
245
+ const dateB = b.endDate ? new Date(b.endDate).getTime() : null;
246
+ if (dateA === null && dateB === null)
247
+ return 0;
248
+ if (dateA === null)
249
+ return 1;
250
+ if (dateB === null)
251
+ return -1;
252
+ const aIsInFuture = dateA >= now;
253
+ const bIsInFuture = dateB >= now;
254
+ if (aIsInFuture && !bIsInFuture)
255
+ return -1;
256
+ if (!aIsInFuture && bIsInFuture)
257
+ return 1;
258
+ return aIsInFuture ? dateA - dateB : dateB - dateA;
259
+ }
260
+ // --- EVENT HANDLERS ---
261
+ onPriorityFilterChange(priorityKey) {
262
+ this.selectedPriorities.update((currentSet) => {
263
+ const newSet = new Set(currentSet);
264
+ if (newSet.has(priorityKey)) {
265
+ newSet.delete(priorityKey);
266
+ }
267
+ else {
268
+ newSet.add(priorityKey);
269
+ }
270
+ return newSet;
271
+ });
272
+ }
273
+ onTaskClick(task) {
274
+ this.taskClick.emit(task);
275
+ }
276
+ onMoreOptionsClick(task, event) {
277
+ event.nativeEvent.stopPropagation();
278
+ this.currentTask.set(task);
279
+ const x = event.nativeEvent.clientX;
280
+ const y = event.nativeEvent.clientY;
281
+ const element = event.nativeEvent.target;
282
+ this.contextMenu()?.showAt({ x, y }, element);
283
+ }
284
+ handleContextMenuItemClick(event) {
285
+ this.taskBoardService.executeCommand(event.item.data?.command, this.currentTask()?.provider ?? '');
286
+ }
287
+ async handleContextMenuOnOpening(event) {
288
+ const currentTask = this.currentTask();
289
+ if (!currentTask)
290
+ return;
291
+ const providerName = currentTask.provider;
292
+ if (!providerName)
293
+ return;
294
+ const provider = this.taskBoardService.getProvider(providerName);
295
+ if (!provider)
296
+ return;
297
+ const actions = await provider.getActions(currentTask);
298
+ for (const item of actions) {
299
+ event.items.push({
300
+ text: item.title,
301
+ icon: item.icon,
302
+ data: {
303
+ command: item.command,
304
+ },
305
+ });
306
+ }
307
+ }
308
+ // --- FORMATTING & UTILITY METHODS ---
309
+ getBadgeColorForPriority(priorityKey) {
310
+ if (priorityKey === NO_PRIORITY_KEY) {
311
+ return 'secondary';
312
+ }
313
+ const colorMap = {
314
+ highest: 'danger',
315
+ high: 'danger',
316
+ medium: 'warning',
317
+ low: 'success',
318
+ lowest: 'success',
319
+ };
320
+ return colorMap[priorityKey];
321
+ }
322
+ sortTasks(tasks) {
323
+ const sortBy = this.sortBy().name;
324
+ return tasks.sort((a, b) => {
325
+ if (sortBy === 'priority') {
326
+ const priorityCompare = this.compareByPriority(a, b);
327
+ if (priorityCompare !== 0)
328
+ return priorityCompare;
329
+ return this.compareByDueDate(a, b);
330
+ }
331
+ else {
332
+ const dateCompare = this.compareByDueDate(a, b);
333
+ if (dateCompare !== 0)
334
+ return dateCompare;
335
+ return this.compareByPriority(a, b);
336
+ }
337
+ });
338
+ }
339
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPTaskBoardWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
340
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXPTaskBoardWidgetViewComponent, isStandalone: true, selector: "ng-component", outputs: { taskClick: "taskClick" }, viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-size-full ax-p-4 ax-flex ax-flex-col\">\n <!-- Header with Priority Filter Chips -->\n <div class=\"ax-flex ax-gap-2 ax-flex-wrap ax-pb-4\">\n @for (badge of priorityBadges(); track badge.name) {\n <ng-container>\n @if (badge.count > 0) {\n <ax-chips\n [size]=\"'ax-sm'\"\n [color]=\"badge.color\"\n class=\"ax-cursor-pointer filter-badge\"\n [text]=\"`${badge.label} (${badge.count})`\"\n (click)=\"onPriorityFilterChange(badge.name)\"\n [look]=\"selectedPriorities().has(badge.name) ? 'solid' : 'outline'\"\n >\n </ax-chips>\n }\n </ng-container>\n }\n </div>\n\n <!-- Task Board -->\n <div class=\"ax-overflow-auto ax-overflow-x-hidden ax-grow\">\n <div class=\"ax-space-y-2\">\n @for (task of filteredTasks(); track task.id) {\n <ng-container\n [ngTemplateOutlet]=\"taskItemTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: task }\"\n ></ng-container>\n } @empty {\n <!-- Empty State -->\n <div\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-14 ax-px-4 ax-text-gray-400 empty-state ax-gap-3\"\n >\n <i class=\"fa-light fa-clipboard-list-check ax-text-5xl ax-text-gray-300\"></i>\n <p class=\"ax-text-center ax-font-medium\">\n {{ 'task-board.noTasksFound' | translate: { scope: 'dashboard' } | async }}\n </p>\n <p class=\"ax-text-center ax-text-sm\">\n {{ 'task-board.tryDifferentFilter' | translate: { scope: 'dashboard' } | async }}\n </p>\n </div>\n }\n </div>\n </div>\n</div>\n\n<!-- Task Item Template -->\n<ng-template #taskItemTemplateRef let-task>\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-p-3 task-item priority-{{ task.priority }}\">\n <!-- Task Details -->\n <div class=\"ax-overflow-hidden ax-grow ax-text-start\" (click)=\"onTaskClick(task)\">\n <!-- Title and Priority -->\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-2\">\n <ax-title class=\"ax-font-medium ax-truncate ax-pb-1 ax-grow min-w-0\" [title]=\"task.title\">\n {{ task.title }}\n </ax-title>\n <!-- More Options Button -->\n <ax-button look=\"link\" class=\"ax-sm\" (onClick)=\"onMoreOptionsClick(task, $event)\">\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\n </ax-button>\n </div>\n\n <!-- Metadata -->\n @if (task.endDate || task.assignee) {\n <div class=\"ax-flex ax-flex-wrap ax-gap-x-3 ax-gap-y-1 ax-pt-2 ax-text-xs\">\n @if (task.endDate) {\n <span class=\"ax-flex ax-items-center ax-gap-1 due-date\">\n <ax-icon><i class=\"fa-light fa-calendar\"></i></ax-icon>\n <ax-subtitle>{{ task.endDate | format: 'datetime' : { format: 'datetime' } | async }}</ax-subtitle>\n </span>\n }\n @if (task.assignee) {\n <span class=\"ax-flex ax-items-center ax-gap-1\">\n @if (task.assignee.avatarUrl) {\n <img [src]=\"task.assignee.avatarUrl\" class=\"ax-w-4 ax-h-4 ax-rounded-full\" />\n } @else {\n <ax-icon><i class=\"fa-light fa-user\"></i></ax-icon>\n }\n <ax-subtitle>{{ task.assignee.fullName }}</ax-subtitle>\n </span>\n }\n </div>\n }\n </div>\n </div>\n</ng-template>\n\n<ax-context-menu\n #contextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n>\n</ax-context-menu>\n", styles: [":host{display:block;height:100%;width:100%}.task-item{transition:all .2s ease-in-out;border-left:3px solid transparent}.task-item:hover{background-color:rgba(var(--ax-sys-color-on-surface),.1);transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,0,0,.05)}.task-item.priority-highest{border-left-color:rgb(var(--ax-sys-color-danger-500))}.task-item.priority-high{border-left-color:rgb(var(--ax-sys-color-danger-400))}.task-item.priority-medium{border-left-color:rgb(var(--ax-sys-color-warning-500))}.task-item.priority-low{border-left-color:rgb(var(--ax-sys-color-success-500))}.task-item.priority-lowest{border-left-color:rgb(var(--ax-sys-color-success-300))}.task-item:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.05)}.empty-state{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ax-space-y-2>*{animation:slideInRight .3s ease forwards;opacity:0}.ax-space-y-2>*:nth-child(1){animation-delay:.05s}.ax-space-y-2>*:nth-child(2){animation-delay:.1s}.ax-space-y-2>*:nth-child(3){animation-delay:.15s}.ax-space-y-2>*:nth-child(4){animation-delay:.2s}.ax-space-y-2>*:nth-child(5){animation-delay:.25s}.ax-space-y-2>*:nth-child(6){animation-delay:.3s}.ax-space-y-2>*:nth-child(7){animation-delay:.35s}.ax-space-y-2>*:nth-child(8){animation-delay:.4s}.ax-space-y-2>*:nth-child(9){animation-delay:.45s}.ax-space-y-2>*:nth-child(10){animation-delay:.5s}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXChipsComponent, selector: "ax-chips", inputs: ["tabIndex", "color", "text", "look", "size"], outputs: ["textChange", "lookChange", "sizeChange"] }, { kind: "component", type: 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: "component", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
341
+ }
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPTaskBoardWidgetViewComponent, decorators: [{
343
+ type: Component,
344
+ args: [{ standalone: true, imports: [
345
+ AsyncPipe,
346
+ CommonModule,
347
+ AXFormatPipe,
348
+ AXChipsComponent,
349
+ AXTranslatorPipe,
350
+ AXButtonComponent,
351
+ AXContextMenuComponent,
352
+ AXDecoratorIconComponent,
353
+ AXDecoratorGenericComponent,
354
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-size-full ax-p-4 ax-flex ax-flex-col\">\n <!-- Header with Priority Filter Chips -->\n <div class=\"ax-flex ax-gap-2 ax-flex-wrap ax-pb-4\">\n @for (badge of priorityBadges(); track badge.name) {\n <ng-container>\n @if (badge.count > 0) {\n <ax-chips\n [size]=\"'ax-sm'\"\n [color]=\"badge.color\"\n class=\"ax-cursor-pointer filter-badge\"\n [text]=\"`${badge.label} (${badge.count})`\"\n (click)=\"onPriorityFilterChange(badge.name)\"\n [look]=\"selectedPriorities().has(badge.name) ? 'solid' : 'outline'\"\n >\n </ax-chips>\n }\n </ng-container>\n }\n </div>\n\n <!-- Task Board -->\n <div class=\"ax-overflow-auto ax-overflow-x-hidden ax-grow\">\n <div class=\"ax-space-y-2\">\n @for (task of filteredTasks(); track task.id) {\n <ng-container\n [ngTemplateOutlet]=\"taskItemTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: task }\"\n ></ng-container>\n } @empty {\n <!-- Empty State -->\n <div\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-14 ax-px-4 ax-text-gray-400 empty-state ax-gap-3\"\n >\n <i class=\"fa-light fa-clipboard-list-check ax-text-5xl ax-text-gray-300\"></i>\n <p class=\"ax-text-center ax-font-medium\">\n {{ 'task-board.noTasksFound' | translate: { scope: 'dashboard' } | async }}\n </p>\n <p class=\"ax-text-center ax-text-sm\">\n {{ 'task-board.tryDifferentFilter' | translate: { scope: 'dashboard' } | async }}\n </p>\n </div>\n }\n </div>\n </div>\n</div>\n\n<!-- Task Item Template -->\n<ng-template #taskItemTemplateRef let-task>\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-p-3 task-item priority-{{ task.priority }}\">\n <!-- Task Details -->\n <div class=\"ax-overflow-hidden ax-grow ax-text-start\" (click)=\"onTaskClick(task)\">\n <!-- Title and Priority -->\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-2\">\n <ax-title class=\"ax-font-medium ax-truncate ax-pb-1 ax-grow min-w-0\" [title]=\"task.title\">\n {{ task.title }}\n </ax-title>\n <!-- More Options Button -->\n <ax-button look=\"link\" class=\"ax-sm\" (onClick)=\"onMoreOptionsClick(task, $event)\">\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\n </ax-button>\n </div>\n\n <!-- Metadata -->\n @if (task.endDate || task.assignee) {\n <div class=\"ax-flex ax-flex-wrap ax-gap-x-3 ax-gap-y-1 ax-pt-2 ax-text-xs\">\n @if (task.endDate) {\n <span class=\"ax-flex ax-items-center ax-gap-1 due-date\">\n <ax-icon><i class=\"fa-light fa-calendar\"></i></ax-icon>\n <ax-subtitle>{{ task.endDate | format: 'datetime' : { format: 'datetime' } | async }}</ax-subtitle>\n </span>\n }\n @if (task.assignee) {\n <span class=\"ax-flex ax-items-center ax-gap-1\">\n @if (task.assignee.avatarUrl) {\n <img [src]=\"task.assignee.avatarUrl\" class=\"ax-w-4 ax-h-4 ax-rounded-full\" />\n } @else {\n <ax-icon><i class=\"fa-light fa-user\"></i></ax-icon>\n }\n <ax-subtitle>{{ task.assignee.fullName }}</ax-subtitle>\n </span>\n }\n </div>\n }\n </div>\n </div>\n</ng-template>\n\n<ax-context-menu\n #contextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n>\n</ax-context-menu>\n", styles: [":host{display:block;height:100%;width:100%}.task-item{transition:all .2s ease-in-out;border-left:3px solid transparent}.task-item:hover{background-color:rgba(var(--ax-sys-color-on-surface),.1);transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,0,0,.05)}.task-item.priority-highest{border-left-color:rgb(var(--ax-sys-color-danger-500))}.task-item.priority-high{border-left-color:rgb(var(--ax-sys-color-danger-400))}.task-item.priority-medium{border-left-color:rgb(var(--ax-sys-color-warning-500))}.task-item.priority-low{border-left-color:rgb(var(--ax-sys-color-success-500))}.task-item.priority-lowest{border-left-color:rgb(var(--ax-sys-color-success-300))}.task-item:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.05)}.empty-state{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ax-space-y-2>*{animation:slideInRight .3s ease forwards;opacity:0}.ax-space-y-2>*:nth-child(1){animation-delay:.05s}.ax-space-y-2>*:nth-child(2){animation-delay:.1s}.ax-space-y-2>*:nth-child(3){animation-delay:.15s}.ax-space-y-2>*:nth-child(4){animation-delay:.2s}.ax-space-y-2>*:nth-child(5){animation-delay:.25s}.ax-space-y-2>*:nth-child(6){animation-delay:.3s}.ax-space-y-2>*:nth-child(7){animation-delay:.35s}.ax-space-y-2>*:nth-child(8){animation-delay:.4s}.ax-space-y-2>*:nth-child(9){animation-delay:.45s}.ax-space-y-2>*:nth-child(10){animation-delay:.5s}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}\n"] }]
355
+ }] });
356
+
357
+ var taskBoardWidget_component = /*#__PURE__*/Object.freeze({
358
+ __proto__: null,
359
+ AXPTaskBoardWidgetViewComponent: AXPTaskBoardWidgetViewComponent
360
+ });
361
+
362
+ const AXPTaskBoardWidget = {
363
+ name: 'task-board',
364
+ title: 'Task Board Widget',
365
+ categories: [AXP_WIDGETS_CHART_CATEGORY],
366
+ groups: [AXPWidgetGroupEnum.DashboardWidget],
367
+ type: 'dashboard',
368
+ icon: 'fa-light fa-clipboard-list-check',
369
+ properties: [
370
+ cloneProperty(AXP_DATA_PATH_PROPERTY, { visible: false }),
371
+ // ====== Title ======
372
+ {
373
+ order: 1,
374
+ name: 'title',
375
+ title: '@dashboard:task-board.task-board-title',
376
+ group: AXP_APPEARANCE_PROPERTY_GROUP,
377
+ schema: {
378
+ defaultValue: 'Task Board',
379
+ dataType: 'string',
380
+ interface: {
381
+ name: 'title',
382
+ path: 'options.title',
383
+ type: AXPWidgetsCatalog.text,
384
+ options: {
385
+ placeholder: 'Enter task board title',
386
+ },
387
+ triggers: [
388
+ {
389
+ event: `{{ events.context('options.taskType') }}`,
390
+ action: `{{ widget.setValue(widget.find("taskType").output('item').title==='All' ? 'Task Board' : widget.find("taskType").output('item').title) }}`,
391
+ },
392
+ ],
393
+ },
394
+ },
395
+ visible: true,
396
+ },
397
+ // ====== Task Type ======
398
+ {
399
+ order: 0,
400
+ name: 'taskType',
401
+ title: '@dashboard:task-board.task-type',
402
+ group: AXP_APPEARANCE_PROPERTY_GROUP,
403
+ schema: {
404
+ defaultValue: { name: 'all', title: 'All', icon: 'fa-solid fa-list' },
405
+ dataType: 'object',
406
+ interface: {
407
+ name: 'taskType',
408
+ path: 'options.taskType',
409
+ type: AXPWidgetsCatalog.select,
410
+ options: {
411
+ textField: 'title',
412
+ valueField: 'name',
413
+ dataSource: 'task-types',
414
+ },
415
+ },
416
+ },
417
+ visible: true,
418
+ },
419
+ // ====== Sort By ======
420
+ {
421
+ name: 'sortBy',
422
+ title: '@dashboard:task-board.sort-by',
423
+ group: AXP_APPEARANCE_PROPERTY_GROUP,
424
+ schema: {
425
+ defaultValue: 'priority',
426
+ dataType: 'string',
427
+ interface: {
428
+ name: 'sortBy',
429
+ path: 'options.sortBy',
430
+ type: AXPWidgetsCatalog.select,
431
+ options: {
432
+ valueField: 'name',
433
+ textField: 'title',
434
+ dataSource: [
435
+ { title: 'Priority', name: 'priority' },
436
+ { title: 'Due Date', name: 'dueDate' },
437
+ ],
438
+ direction: 'horizontal',
439
+ multiple: false,
440
+ },
441
+ },
442
+ },
443
+ visible: true,
444
+ },
445
+ // ====== Display options ======
446
+ {
447
+ name: 'maxItems',
448
+ title: '@dashboard:task-board.max-items',
449
+ group: AXP_APPEARANCE_PROPERTY_GROUP,
450
+ schema: {
451
+ defaultValue: 10,
452
+ dataType: 'number',
453
+ interface: {
454
+ name: 'maxItems',
455
+ path: 'options.maxItems',
456
+ type: AXPWidgetsCatalog.number,
457
+ options: {
458
+ minValue: 1,
459
+ maxValue: 50,
460
+ },
461
+ },
462
+ },
463
+ visible: true,
464
+ },
465
+ // ====== Asigned To ======
466
+ {
467
+ name: 'assignee',
468
+ title: '@dashboard:task-board.asigned-to',
469
+ group: AXP_APPEARANCE_PROPERTY_GROUP,
470
+ schema: {
471
+ dataType: 'object',
472
+ interface: {
473
+ name: 'assignee',
474
+ path: 'options.assignee',
475
+ type: AXPWidgetsCatalog.select,
476
+ options: {
477
+ valueField: 'id',
478
+ textField: 'displayName',
479
+ dataSource: 'users',
480
+ allowSearch: true,
481
+ multiple: true,
482
+ },
483
+ },
484
+ },
485
+ visible: true,
486
+ },
487
+ ],
488
+ components: {
489
+ view: {
490
+ component: () => Promise.resolve().then(function () { return taskBoardWidget_component; }).then((c) => c.AXPTaskBoardWidgetViewComponent),
491
+ },
492
+ },
493
+ meta: {
494
+ dimensions: {
495
+ width: 3,
496
+ height: 7,
497
+ minWidth: 3,
498
+ minHeight: 4,
499
+ maxWidth: 6,
500
+ maxHeight: 8,
501
+ },
502
+ },
503
+ };
504
+
505
+ class AXPTaskTypeDataSourceDefinition {
506
+ constructor() {
507
+ this.taskBoardService = inject(AXPTaskBoardService);
508
+ }
509
+ items() {
510
+ return Promise.resolve([
511
+ {
512
+ name: 'task-types',
513
+ title: 'Task Type',
514
+ source: () => {
515
+ return new AXDataSource({
516
+ key: 'name',
517
+ load: async (_) => {
518
+ try {
519
+ const providers = await this.taskBoardService.getTaskTypes();
520
+ const plainObjects = providers.map((provider) => ({
521
+ name: provider.name,
522
+ title: provider.title,
523
+ icon: provider.icon,
524
+ }));
525
+ const finalItems = [{ name: 'all', title: 'All', icon: 'fa-solid fa-list' }, ...plainObjects];
526
+ return {
527
+ items: finalItems,
528
+ total: finalItems.length,
529
+ };
530
+ }
531
+ catch (e) {
532
+ console.error(e);
533
+ throw e;
534
+ }
535
+ },
536
+ byKey: async (key) => {
537
+ const providers = await this.taskBoardService.getTaskTypes();
538
+ const provider = providers.find((item) => item.name === key);
539
+ if (provider) {
540
+ return {
541
+ name: provider.name,
542
+ title: provider.title,
543
+ icon: provider.icon,
544
+ };
545
+ }
546
+ return undefined;
547
+ },
548
+ pageSize: 100,
549
+ });
550
+ },
551
+ columns: [
552
+ {
553
+ name: 'name',
554
+ title: 'Name',
555
+ datatype: 'string',
556
+ type: AXPWidgetsCatalog.text,
557
+ },
558
+ {
559
+ name: 'title',
560
+ title: `Title`,
561
+ datatype: 'string',
562
+ type: AXPWidgetsCatalog.text,
563
+ },
564
+ {
565
+ name: 'icon',
566
+ title: `Icon`,
567
+ datatype: 'string',
568
+ type: AXPWidgetsCatalog.text,
569
+ },
570
+ ],
571
+ filters: [
572
+ {
573
+ field: 'title',
574
+ title: 'Title',
575
+ operator: {
576
+ type: 'equal',
577
+ },
578
+ widget: {
579
+ type: AXPWidgetsCatalog.text,
580
+ },
581
+ filterType: {
582
+ advance: true,
583
+ inline: true,
584
+ },
585
+ },
586
+ ],
587
+ textField: {
588
+ name: 'title',
589
+ title: 'Title',
590
+ },
591
+ valueField: {
592
+ name: 'name',
593
+ title: 'Name',
594
+ },
595
+ },
596
+ ]);
597
+ }
598
+ }
599
+
126
600
  class AXPTaskBoardService {
127
601
  constructor() {
128
602
  this.calendarManagementService = inject(AXMCalendarManagementService);
@@ -130,61 +604,51 @@ class AXPTaskBoardService {
130
604
  this.refresh$ = new Subject();
131
605
  }
132
606
  async getTaskTypes() {
133
- if (!this.providers || (this.providers?.length || 0) === 0) {
134
- return [];
135
- }
136
- return this.providers;
607
+ return this.providers ?? [];
137
608
  }
138
609
  async getTasks(options) {
139
- if (!this.providers || (this.providers?.length || 0) === 0) {
610
+ if (!this.providers || (this.providers?.length ?? 0) === 0) {
140
611
  console.warn('No task providers available');
141
612
  return { items: [], total: 0 };
142
613
  }
143
- const filteredProviders = this.providers.filter((provider) => (options?.types?.length ?? 0) == 0 || options?.types?.includes(provider.name));
614
+ const filteredProviders = this.providers.filter((provider) => (options?.types?.length ?? 0) === 0 || options?.types?.includes(provider.name));
144
615
  if (filteredProviders.length === 0) {
145
616
  return { items: [], total: 0 };
146
617
  }
147
- // For simplicity and alignment with grid view logic, we assume pagination works best
148
- // when a single provider (task type) is selected.
618
+ // Single provider case - handles pagination efficiently at the source.
149
619
  if (filteredProviders.length === 1) {
150
620
  const provider = filteredProviders[0];
151
- // The provider's getTasks method should now handle pagination and return the required structure.
152
621
  const result = await provider.getTasks(options);
153
- // We add the provider name to the data of each task.
154
- const itemsWithProvider = result.items.map((t) => ({ ...t, provider: provider.name, ...t.data }));
622
+ // Add provider name to each task for identification.
623
+ const itemsWithProvider = result.items.map((t) => ({ ...t, provider: provider.name }));
155
624
  return { items: itemsWithProvider, total: result.total };
156
625
  }
157
- // Fallback for multiple providers (e.g., calendar view with 'All Types')
158
- // This part will not support true backend pagination but will fetch all and merge.
626
+ // Multi-provider case - fetch filtered data then paginate client-side.
159
627
  const mergeData = [];
628
+ // Separate pagination from filtering to pass correct options to providers.
629
+ const { skip, take, ...providerOptions } = options ?? {};
160
630
  const promises = filteredProviders.map((provider) =>
161
- // We ignore skip/take here as we are merging all results client-side
162
- provider
163
- .getTasks({ range: options?.range })
164
- .then((result) => result.items.map((t) => ({ ...t, provider: provider.name, ...t.data }))));
631
+ // Pass all filters (e.g., assigneeIds) but ignore pagination for now.
632
+ provider.getTasks(providerOptions).then((result) => result.items.map((t) => ({ ...t, provider: provider.name }))));
165
633
  const results = await Promise.all(promises);
166
634
  for (const resultArray of results) {
167
635
  mergeData.push(...resultArray);
168
636
  }
169
- // Apply pagination client-side in this multi-provider scenario
637
+ // Apply pagination client-side after merging the correctly filtered data.
170
638
  const total = mergeData.length;
171
- const skip = options?.skip ?? 0;
172
- const take = options?.take ?? total;
173
- const items = mergeData.slice(skip, skip + take);
639
+ const finalSkip = skip ?? 0;
640
+ const finalTake = take ?? total;
641
+ const items = mergeData.slice(finalSkip, finalSkip + finalTake);
174
642
  return { items, total };
175
643
  }
176
644
  async updateTaskDateRange(task, range) {
177
- if (!task.provider) {
178
- throw new Error('Task provider not found');
179
- }
180
- const provider = this.providers?.find((p) => p.name === task.provider);
645
+ const provider = this.getProvider(task.provider);
181
646
  if (!provider) {
182
- throw new Error('Task provider not found');
647
+ throw new Error(`Task provider '${task.provider}' not found`);
183
648
  }
184
- // Create a task update object and call the new unified method
649
+ // Create a task update object and call the unified method
185
650
  const taskWithNewRange = { ...task, startDate: range.from, endDate: range.end };
186
651
  const updatedTasks = await provider.updateTasks([taskWithNewRange]);
187
- // updateTasks returns an array, so we return the first (and only) element
188
652
  if (updatedTasks.length > 0) {
189
653
  return updatedTasks[0];
190
654
  }
@@ -196,34 +660,27 @@ class AXPTaskBoardService {
196
660
  if (!tasks || tasks.length === 0) {
197
661
  return [];
198
662
  }
199
- if (!tasks[0].provider) {
200
- throw new Error('Task provider not found');
201
- }
202
663
  // Ensure all tasks are from the same provider before performing a bulk update
203
- if (tasks.every((t) => t.provider === tasks[0].provider)) {
204
- const provider = this.providers?.find((p) => p.name === tasks[0].provider);
205
- if (!provider) {
206
- throw new Error('Task provider not found');
207
- }
208
- // Directly call the new `updateTasks` method
209
- const updatedTasks = await provider.updateTasks(tasks);
210
- // The provider itself no longer adds the provider name, so we don't need to remap.
211
- // The returned tasks from the provider should be complete.
212
- return updatedTasks;
664
+ if (!tasks.every((t) => t.provider === tasks[0].provider)) {
665
+ throw new Error('All tasks must have the same provider for a bulk update.');
666
+ }
667
+ const provider = this.getProvider(tasks[0].provider);
668
+ if (!provider) {
669
+ throw new Error(`Task provider '${tasks[0].provider}' not found`);
213
670
  }
214
- throw new Error('All tasks must have the same provider for a bulk update.');
671
+ return provider.updateTasks(tasks);
215
672
  }
216
673
  executeCommand(command, providerName) {
217
- const provider = this.providers?.find((p) => p.name === providerName);
674
+ const provider = this.getProvider(providerName);
218
675
  if (!provider) {
219
- throw new Error('Task provider not found');
676
+ throw new Error(`Task provider '${providerName}' not found`);
220
677
  }
221
678
  provider.executeCommand(command);
222
679
  }
223
680
  async getStatusName(key, providerName) {
224
- const provider = this.providers?.find((p) => p.name === providerName);
681
+ const provider = this.getProvider(providerName);
225
682
  if (!provider) {
226
- throw new Error('Task provider not found');
683
+ throw new Error(`Task provider '${providerName}' not found`);
227
684
  }
228
685
  const statuses = await provider.getStatuses();
229
686
  return statuses.find((s) => s.key === key)?.title ?? null;
@@ -239,10 +696,7 @@ class AXPTaskBoardService {
239
696
  getProvider(name) {
240
697
  if (!name)
241
698
  return null;
242
- const provider = this.providers?.find((p) => p.name === name);
243
- if (provider)
244
- return provider;
245
- return null;
699
+ return this.providers?.find((p) => p.name === name) ?? null;
246
700
  }
247
701
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPTaskBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
248
702
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPTaskBoardService, providedIn: 'root' }); }
@@ -273,7 +727,7 @@ function routesFactory() {
273
727
  children: [
274
728
  {
275
729
  path: '**',
276
- loadComponent: () => import('./acorex-modules-task-management-task-board.page-DbpqZaC7.mjs').then((c) => c.AXMTaskBoardPage),
730
+ loadComponent: () => import('./acorex-modules-task-management-task-board.page-BBbHu2jz.mjs').then((c) => c.AXMTaskBoardPage),
277
731
  },
278
732
  ],
279
733
  },
@@ -294,6 +748,11 @@ class AXPTaskBoardModule {
294
748
  multi: true,
295
749
  useValue: AXPTaskBoardListener,
296
750
  },
751
+ {
752
+ provide: AXP_DATASOURCE_DEFINITION_PROVIDER,
753
+ useClass: AXPTaskTypeDataSourceDefinition,
754
+ multi: true,
755
+ },
297
756
  ] }); }
298
757
  }
299
758
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPTaskBoardModule, decorators: [{
@@ -311,6 +770,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
311
770
  multi: true,
312
771
  useValue: AXPTaskBoardListener,
313
772
  },
773
+ {
774
+ provide: AXP_DATASOURCE_DEFINITION_PROVIDER,
775
+ useClass: AXPTaskTypeDataSourceDefinition,
776
+ multi: true,
777
+ },
314
778
  ],
315
779
  }]
316
780
  }] });
@@ -419,57 +883,37 @@ async function taskFactory(injector) {
419
883
  entity: `${RootConfig.module.name}.${RootConfig.entities.taskChecklistItem.name}`,
420
884
  title: RootConfig.entities.taskChecklistItem.titlePlural,
421
885
  columns: ['title', 'isCompleted', 'completedBy', 'dueDate', 'assignedTo'],
422
- conditions: [
423
- entityDetailsSimpleCondition('taskId')
424
- ],
425
- actions: [
426
- ...entityDetailsCrudActions('taskId'),
427
- ],
886
+ conditions: [entityDetailsSimpleCondition('taskId')],
887
+ actions: [...entityDetailsCrudActions('taskId')],
428
888
  },
429
889
  {
430
890
  entity: `${RootConfig.module.name}.${RootConfig.entities.taskAssignment.name}`,
431
891
  title: RootConfig.entities.taskAssignment.titlePlural,
432
892
  columns: ['userId', 'role', 'assignedBy', 'assignedAt', 'isActive'],
433
- conditions: [
434
- entityDetailsSimpleCondition('taskId')
435
- ],
436
- actions: [
437
- ...entityDetailsCrudActions('taskId'),
438
- ],
893
+ conditions: [entityDetailsSimpleCondition('taskId')],
894
+ actions: [...entityDetailsCrudActions('taskId')],
439
895
  },
440
896
  {
441
897
  entity: `${RootConfig.module.name}.${RootConfig.entities.timeLog.name}`,
442
898
  layoutType: 'page-list',
443
899
  title: RootConfig.entities.timeLog.titlePlural,
444
900
  columns: ['userId', 'startTime', 'duration', 'description', 'isApproved'],
445
- conditions: [
446
- entityDetailsSimpleCondition('taskId')
447
- ],
448
- actions: [
449
- ...entityDetailsCrudActions('taskId'),
450
- ],
901
+ conditions: [entityDetailsSimpleCondition('taskId')],
902
+ actions: [...entityDetailsCrudActions('taskId')],
451
903
  },
452
904
  {
453
905
  entity: `${RootConfig.module.name}.${RootConfig.entities.taskDependency.name}`,
454
906
  title: RootConfig.entities.taskDependency.titlePlural,
455
907
  columns: ['dependsOnTaskId', 'dependencyType', 'lagDays', 'isActive'],
456
- conditions: [
457
- entityDetailsSimpleCondition('taskId')
458
- ],
459
- actions: [
460
- ...entityDetailsCrudActions('taskId'),
461
- ],
908
+ conditions: [entityDetailsSimpleCondition('taskId')],
909
+ actions: [...entityDetailsCrudActions('taskId')],
462
910
  },
463
911
  {
464
912
  entity: `${RootConfig.module.name}.${RootConfig.entities.taskContext.name}`,
465
913
  title: RootConfig.entities.taskContext.titlePlural,
466
914
  columns: ['contextType', 'contextTitle', 'isPrimary'],
467
- conditions: [
468
- entityDetailsSimpleCondition('taskId')
469
- ],
470
- actions: [
471
- ...entityDetailsCrudActions('taskId'),
472
- ],
915
+ conditions: [entityDetailsSimpleCondition('taskId')],
916
+ actions: [...entityDetailsCrudActions('taskId')],
473
917
  },
474
918
  ],
475
919
  groups: [
@@ -1045,7 +1489,7 @@ async function taskFactory(injector) {
1045
1489
  { name: 'progress' },
1046
1490
  { name: 'estimatedHours' },
1047
1491
  { name: 'actualHours' },
1048
- { name: 'isArchived' }
1492
+ { name: 'isArchived' },
1049
1493
  ],
1050
1494
  commands: {
1051
1495
  create: {
@@ -1074,7 +1518,7 @@ async function taskFactory(injector) {
1074
1518
  },
1075
1519
  list: {
1076
1520
  execute: async (e) => {
1077
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
1521
+ return await dataService.query(e);
1078
1522
  },
1079
1523
  type: AXPEntityQueryType.List,
1080
1524
  },
@@ -1728,13 +2172,13 @@ async function taskFactory(injector) {
1728
2172
  ],
1729
2173
  },
1730
2174
  list: {
1731
- actions: [
1732
- ...entityMasterCrudActions(),
1733
- entityMasterDeleteAction(),
1734
- ],
2175
+ actions: [...entityMasterCrudActions(), entityMasterDeleteAction()],
1735
2176
  views: [
1736
2177
  createAllQueryView({
1737
- sorts: [{ name: 'dueDate', dir: 'asc' }, { name: 'priority', dir: 'desc' }]
2178
+ sorts: [
2179
+ { name: 'dueDate', dir: 'asc' },
2180
+ { name: 'priority', dir: 'desc' },
2181
+ ],
1738
2182
  }),
1739
2183
  ],
1740
2184
  },
@@ -1944,7 +2388,7 @@ async function taskAssignmentFactory(injector) {
1944
2388
  { name: 'role' },
1945
2389
  { name: 'assignedBy', options: { dataPath: 'assignedByUser.displayName' } },
1946
2390
  { name: 'assignedAt' },
1947
- { name: 'isActive' }
2391
+ { name: 'isActive' },
1948
2392
  ],
1949
2393
  //#endregion
1950
2394
  //#region ---- Commands ----
@@ -1977,7 +2421,7 @@ async function taskAssignmentFactory(injector) {
1977
2421
  },
1978
2422
  list: {
1979
2423
  execute: async (e) => {
1980
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
2424
+ return await dataService.query(e);
1981
2425
  },
1982
2426
  type: AXPEntityQueryType.List,
1983
2427
  },
@@ -1987,10 +2431,7 @@ async function taskAssignmentFactory(injector) {
1987
2431
  interfaces: {
1988
2432
  master: {
1989
2433
  create: {
1990
- sections: [
1991
- { id: 'basic-info' },
1992
- { id: 'settings' },
1993
- ],
2434
+ sections: [{ id: 'basic-info' }, { id: 'settings' }],
1994
2435
  properties: [
1995
2436
  {
1996
2437
  name: 'userId',
@@ -2035,10 +2476,7 @@ async function taskAssignmentFactory(injector) {
2035
2476
  ],
2036
2477
  },
2037
2478
  update: {
2038
- sections: [
2039
- { id: 'basic-info' },
2040
- { id: 'settings' },
2041
- ],
2479
+ sections: [{ id: 'basic-info' }, { id: 'settings' }],
2042
2480
  properties: [
2043
2481
  {
2044
2482
  name: 'userId',
@@ -2147,12 +2585,10 @@ async function taskAssignmentFactory(injector) {
2147
2585
  actions: [],
2148
2586
  },
2149
2587
  list: {
2150
- actions: [
2151
- ...entityDetailsCrudActions('taskId'),
2152
- ],
2588
+ actions: [...entityDetailsCrudActions('taskId')],
2153
2589
  views: [
2154
2590
  createAllQueryView({
2155
- sorts: [{ name: 'assignedAt', dir: 'desc' }]
2591
+ sorts: [{ name: 'assignedAt', dir: 'desc' }],
2156
2592
  }),
2157
2593
  ],
2158
2594
  },
@@ -2240,9 +2676,7 @@ async function taskChecklistItemFactory(injector) {
2240
2676
  },
2241
2677
  },
2242
2678
  },
2243
- validations: [
2244
- { rule: 'required' },
2245
- ],
2679
+ validations: [{ rule: 'required' }],
2246
2680
  },
2247
2681
  {
2248
2682
  name: 'title',
@@ -2264,9 +2698,7 @@ async function taskChecklistItemFactory(injector) {
2264
2698
  },
2265
2699
  },
2266
2700
  },
2267
- validations: [
2268
- { rule: 'required' },
2269
- ],
2701
+ validations: [{ rule: 'required' }],
2270
2702
  },
2271
2703
  {
2272
2704
  name: 'description',
@@ -2310,9 +2742,7 @@ async function taskChecklistItemFactory(injector) {
2310
2742
  },
2311
2743
  },
2312
2744
  },
2313
- validations: [
2314
- { rule: 'required' },
2315
- ],
2745
+ validations: [{ rule: 'required' }],
2316
2746
  },
2317
2747
  // Assignment
2318
2748
  {
@@ -2435,7 +2865,7 @@ async function taskChecklistItemFactory(injector) {
2435
2865
  { name: 'completedBy', options: { dataPath: 'completedByUser.displayName' } },
2436
2866
  { name: 'dueDate' },
2437
2867
  { name: 'assignedTo', options: { dataPath: 'assignedUser.displayName' } },
2438
- { name: 'order' }
2868
+ { name: 'order' },
2439
2869
  ],
2440
2870
  //#endregion
2441
2871
  //#region ---- Commands ----
@@ -2468,7 +2898,7 @@ async function taskChecklistItemFactory(injector) {
2468
2898
  },
2469
2899
  list: {
2470
2900
  execute: async (e) => {
2471
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
2901
+ return await dataService.query(e);
2472
2902
  },
2473
2903
  type: AXPEntityQueryType.List,
2474
2904
  },
@@ -2478,10 +2908,7 @@ async function taskChecklistItemFactory(injector) {
2478
2908
  interfaces: {
2479
2909
  master: {
2480
2910
  create: {
2481
- sections: [
2482
- { id: 'basic-info' },
2483
- { id: 'assignment' },
2484
- ],
2911
+ sections: [{ id: 'basic-info' }, { id: 'assignment' }],
2485
2912
  properties: [
2486
2913
  {
2487
2914
  name: 'title',
@@ -2526,11 +2953,7 @@ async function taskChecklistItemFactory(injector) {
2526
2953
  ],
2527
2954
  },
2528
2955
  update: {
2529
- sections: [
2530
- { id: 'basic-info' },
2531
- { id: 'assignment' },
2532
- { id: 'status' },
2533
- ],
2956
+ sections: [{ id: 'basic-info' }, { id: 'assignment' }, { id: 'status' }],
2534
2957
  properties: [
2535
2958
  {
2536
2959
  name: 'title',
@@ -2695,12 +3118,13 @@ async function taskChecklistItemFactory(injector) {
2695
3118
  actions: [],
2696
3119
  },
2697
3120
  list: {
2698
- actions: [
2699
- ...entityDetailsCrudActions('taskId'),
2700
- ],
3121
+ actions: [...entityDetailsCrudActions('taskId')],
2701
3122
  views: [
2702
3123
  createAllQueryView({
2703
- sorts: [{ name: 'order', dir: 'asc' }, { name: 'title', dir: 'asc' }]
3124
+ sorts: [
3125
+ { name: 'order', dir: 'asc' },
3126
+ { name: 'title', dir: 'asc' },
3127
+ ],
2704
3128
  }),
2705
3129
  ],
2706
3130
  },
@@ -2871,12 +3295,7 @@ async function taskContextFactory(injector) {
2871
3295
  },
2872
3296
  },
2873
3297
  ],
2874
- columns: [
2875
- { name: 'contextType' },
2876
- { name: 'contextTitle' },
2877
- { name: 'contextId' },
2878
- { name: 'isPrimary' }
2879
- ],
3298
+ columns: [{ name: 'contextType' }, { name: 'contextTitle' }, { name: 'contextId' }, { name: 'isPrimary' }],
2880
3299
  commands: {
2881
3300
  create: {
2882
3301
  execute: async (data) => {
@@ -2904,7 +3323,7 @@ async function taskContextFactory(injector) {
2904
3323
  },
2905
3324
  list: {
2906
3325
  execute: async (e) => {
2907
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
3326
+ return await dataService.query(e);
2908
3327
  },
2909
3328
  type: AXPEntityQueryType.List,
2910
3329
  },
@@ -2912,10 +3331,7 @@ async function taskContextFactory(injector) {
2912
3331
  interfaces: {
2913
3332
  master: {
2914
3333
  create: {
2915
- sections: [
2916
- { id: 'basic-info' },
2917
- { id: 'settings' },
2918
- ],
3334
+ sections: [{ id: 'basic-info' }, { id: 'settings' }],
2919
3335
  properties: [
2920
3336
  {
2921
3337
  name: 'contextType',
@@ -2952,10 +3368,7 @@ async function taskContextFactory(injector) {
2952
3368
  ],
2953
3369
  },
2954
3370
  update: {
2955
- sections: [
2956
- { id: 'basic-info' },
2957
- { id: 'settings' },
2958
- ],
3371
+ sections: [{ id: 'basic-info' }, { id: 'settings' }],
2959
3372
  properties: [
2960
3373
  {
2961
3374
  name: 'contextType',
@@ -3048,12 +3461,13 @@ async function taskContextFactory(injector) {
3048
3461
  actions: [],
3049
3462
  },
3050
3463
  list: {
3051
- actions: [
3052
- ...entityDetailsCrudActions('taskId'),
3053
- ],
3464
+ actions: [...entityDetailsCrudActions('taskId')],
3054
3465
  views: [
3055
3466
  createAllQueryView({
3056
- sorts: [{ name: 'contextType', dir: 'asc' }, { name: 'contextTitle', dir: 'asc' }]
3467
+ sorts: [
3468
+ { name: 'contextType', dir: 'asc' },
3469
+ { name: 'contextTitle', dir: 'asc' },
3470
+ ],
3057
3471
  }),
3058
3472
  ],
3059
3473
  },
@@ -3235,7 +3649,7 @@ async function taskDependencyFactory(injector) {
3235
3649
  { name: 'dependsOnTaskId', options: { dataPath: 'dependsOnTask.title' } },
3236
3650
  { name: 'dependencyType' },
3237
3651
  { name: 'lagDays' },
3238
- { name: 'isActive' }
3652
+ { name: 'isActive' },
3239
3653
  ],
3240
3654
  commands: {
3241
3655
  create: {
@@ -3264,7 +3678,7 @@ async function taskDependencyFactory(injector) {
3264
3678
  },
3265
3679
  list: {
3266
3680
  execute: async (e) => {
3267
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
3681
+ return await dataService.query(e);
3268
3682
  },
3269
3683
  type: AXPEntityQueryType.List,
3270
3684
  },
@@ -3272,10 +3686,7 @@ async function taskDependencyFactory(injector) {
3272
3686
  interfaces: {
3273
3687
  master: {
3274
3688
  create: {
3275
- sections: [
3276
- { id: 'basic-info' },
3277
- { id: 'settings' },
3278
- ],
3689
+ sections: [{ id: 'basic-info' }, { id: 'settings' }],
3279
3690
  properties: [
3280
3691
  {
3281
3692
  name: 'dependsOnTaskId',
@@ -3312,10 +3723,7 @@ async function taskDependencyFactory(injector) {
3312
3723
  ],
3313
3724
  },
3314
3725
  update: {
3315
- sections: [
3316
- { id: 'basic-info' },
3317
- { id: 'settings' },
3318
- ],
3726
+ sections: [{ id: 'basic-info' }, { id: 'settings' }],
3319
3727
  properties: [
3320
3728
  {
3321
3729
  name: 'dependsOnTaskId',
@@ -3408,12 +3816,10 @@ async function taskDependencyFactory(injector) {
3408
3816
  actions: [],
3409
3817
  },
3410
3818
  list: {
3411
- actions: [
3412
- ...entityDetailsCrudActions('taskId'),
3413
- ],
3819
+ actions: [...entityDetailsCrudActions('taskId')],
3414
3820
  views: [
3415
3821
  createAllQueryView({
3416
- sorts: [{ name: 'dependencyType', dir: 'asc' }]
3822
+ sorts: [{ name: 'dependencyType', dir: 'asc' }],
3417
3823
  }),
3418
3824
  ],
3419
3825
  },
@@ -3791,7 +4197,7 @@ async function taskStatusFactory(injector) {
3791
4197
  { name: 'order' },
3792
4198
  { name: 'isDefault' },
3793
4199
  { name: 'isFinal' },
3794
- { name: 'isActive' }
4200
+ { name: 'isActive' },
3795
4201
  ],
3796
4202
  commands: {
3797
4203
  create: {
@@ -3820,7 +4226,7 @@ async function taskStatusFactory(injector) {
3820
4226
  },
3821
4227
  list: {
3822
4228
  execute: async (e) => {
3823
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
4229
+ return await dataService.query(e);
3824
4230
  },
3825
4231
  type: AXPEntityQueryType.List,
3826
4232
  },
@@ -4266,7 +4672,10 @@ async function taskStatusFactory(injector) {
4266
4672
  ],
4267
4673
  views: [
4268
4674
  createAllQueryView({
4269
- sorts: [{ name: 'order', dir: 'asc' }, { name: 'title', dir: 'asc' }]
4675
+ sorts: [
4676
+ { name: 'order', dir: 'asc' },
4677
+ { name: 'title', dir: 'asc' },
4678
+ ],
4270
4679
  }),
4271
4680
  ],
4272
4681
  },
@@ -4461,7 +4870,7 @@ async function taskTemplateFactory(injector) {
4461
4870
  { name: 'title' },
4462
4871
  { name: 'name' },
4463
4872
  { name: 'taskTypeId', options: { dataPath: 'taskType.title' } },
4464
- { name: 'isPublic' }
4873
+ { name: 'isPublic' },
4465
4874
  ],
4466
4875
  commands: {
4467
4876
  create: {
@@ -4490,7 +4899,7 @@ async function taskTemplateFactory(injector) {
4490
4899
  },
4491
4900
  list: {
4492
4901
  execute: async (e) => {
4493
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
4902
+ return await dataService.query(e);
4494
4903
  },
4495
4904
  type: AXPEntityQueryType.List,
4496
4905
  },
@@ -4498,11 +4907,7 @@ async function taskTemplateFactory(injector) {
4498
4907
  interfaces: {
4499
4908
  master: {
4500
4909
  create: {
4501
- sections: [
4502
- { id: 'basic-info' },
4503
- { id: 'task-data' },
4504
- { id: 'settings' },
4505
- ],
4910
+ sections: [{ id: 'basic-info' }, { id: 'task-data' }, { id: 'settings' }],
4506
4911
  properties: [
4507
4912
  {
4508
4913
  name: 'title',
@@ -4555,11 +4960,7 @@ async function taskTemplateFactory(injector) {
4555
4960
  ],
4556
4961
  },
4557
4962
  update: {
4558
- sections: [
4559
- { id: 'basic-info' },
4560
- { id: 'task-data' },
4561
- { id: 'settings' },
4562
- ],
4963
+ sections: [{ id: 'basic-info' }, { id: 'task-data' }, { id: 'settings' }],
4563
4964
  properties: [
4564
4965
  {
4565
4966
  name: 'title',
@@ -4689,18 +5090,13 @@ async function taskTemplateFactory(injector) {
4689
5090
  },
4690
5091
  },
4691
5092
  ],
4692
- actions: [
4693
- entityMasterDeleteAction(),
4694
- ],
5093
+ actions: [entityMasterDeleteAction()],
4695
5094
  },
4696
5095
  list: {
4697
- actions: [
4698
- ...entityMasterCrudActions(),
4699
- entityMasterDeleteAction(),
4700
- ],
5096
+ actions: [...entityMasterCrudActions(), entityMasterDeleteAction()],
4701
5097
  views: [
4702
5098
  createAllQueryView({
4703
- sorts: [{ name: 'title', dir: 'asc' }]
5099
+ sorts: [{ name: 'title', dir: 'asc' }],
4704
5100
  }),
4705
5101
  ],
4706
5102
  },
@@ -4750,17 +5146,13 @@ async function taskTypeFactory(injector) {
4750
5146
  entity: `${RootConfig.module.name}.${RootConfig.entities.taskStatus.name}`,
4751
5147
  title: RootConfig.entities.taskStatus.titlePlural,
4752
5148
  columns: ['name', 'title', 'color', 'isDefault', 'isFinal', 'order'],
4753
- conditions: [
4754
- entityDetailsSimpleCondition('taskTypeId')
4755
- ],
5149
+ conditions: [entityDetailsSimpleCondition('taskTypeId')],
4756
5150
  },
4757
5151
  {
4758
5152
  entity: `${RootConfig.module.name}.${RootConfig.entities.task.name}`,
4759
5153
  title: RootConfig.entities.task.titlePlural,
4760
5154
  columns: ['title', 'statusId', 'priority', 'dueDate', 'progress'],
4761
- conditions: [
4762
- entityDetailsSimpleCondition('taskTypeId')
4763
- ],
5155
+ conditions: [entityDetailsSimpleCondition('taskTypeId')],
4764
5156
  },
4765
5157
  ],
4766
5158
  //#endregion
@@ -4807,9 +5199,7 @@ async function taskTypeFactory(injector) {
4807
5199
  },
4808
5200
  },
4809
5201
  },
4810
- validations: [
4811
- { rule: 'required' },
4812
- ],
5202
+ validations: [{ rule: 'required' }],
4813
5203
  },
4814
5204
  {
4815
5205
  name: 'name',
@@ -4831,9 +5221,7 @@ async function taskTypeFactory(injector) {
4831
5221
  },
4832
5222
  },
4833
5223
  },
4834
- validations: [
4835
- { rule: 'required' },
4836
- ],
5224
+ validations: [{ rule: 'required' }],
4837
5225
  },
4838
5226
  {
4839
5227
  name: 'description',
@@ -5095,7 +5483,7 @@ async function taskTypeFactory(injector) {
5095
5483
  { name: 'isActive' },
5096
5484
  { name: 'hasChecklist' },
5097
5485
  { name: 'hasTimeTracking' },
5098
- { name: 'hasAttachments' }
5486
+ { name: 'hasAttachments' },
5099
5487
  ],
5100
5488
  //#endregion
5101
5489
  //#region ---- Commands ----
@@ -5128,7 +5516,7 @@ async function taskTypeFactory(injector) {
5128
5516
  },
5129
5517
  list: {
5130
5518
  execute: async (e) => {
5131
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
5519
+ return await dataService.query(e);
5132
5520
  },
5133
5521
  type: AXPEntityQueryType.List,
5134
5522
  },
@@ -5138,12 +5526,7 @@ async function taskTypeFactory(injector) {
5138
5526
  interfaces: {
5139
5527
  master: {
5140
5528
  create: {
5141
- sections: [
5142
- { id: 'basic-info' },
5143
- { id: 'configuration' },
5144
- { id: 'features' },
5145
- { id: 'settings' },
5146
- ],
5529
+ sections: [{ id: 'basic-info' }, { id: 'configuration' }, { id: 'features' }, { id: 'settings' }],
5147
5530
  properties: [
5148
5531
  {
5149
5532
  name: 'title',
@@ -5252,12 +5635,7 @@ async function taskTypeFactory(injector) {
5252
5635
  ],
5253
5636
  },
5254
5637
  update: {
5255
- sections: [
5256
- { id: 'basic-info' },
5257
- { id: 'configuration' },
5258
- { id: 'features' },
5259
- { id: 'settings' },
5260
- ],
5638
+ sections: [{ id: 'basic-info' }, { id: 'configuration' }, { id: 'features' }, { id: 'settings' }],
5261
5639
  properties: [
5262
5640
  {
5263
5641
  name: 'title',
@@ -5507,18 +5885,13 @@ async function taskTypeFactory(injector) {
5507
5885
  },
5508
5886
  },
5509
5887
  ],
5510
- actions: [
5511
- entityMasterDeleteAction(),
5512
- ],
5888
+ actions: [entityMasterDeleteAction()],
5513
5889
  },
5514
5890
  list: {
5515
- actions: [
5516
- ...entityMasterCrudActions(),
5517
- entityMasterDeleteAction(),
5518
- ],
5891
+ actions: [...entityMasterCrudActions(), entityMasterDeleteAction()],
5519
5892
  views: [
5520
5893
  createAllQueryView({
5521
- sorts: [{ name: 'title', dir: 'asc' }]
5894
+ sorts: [{ name: 'title', dir: 'asc' }],
5522
5895
  }),
5523
5896
  ],
5524
5897
  },
@@ -5742,7 +6115,7 @@ async function timeLogFactory(injector) {
5742
6115
  { name: 'startTime' },
5743
6116
  { name: 'duration' },
5744
6117
  { name: 'description' },
5745
- { name: 'isApproved' }
6118
+ { name: 'isApproved' },
5746
6119
  ],
5747
6120
  commands: {
5748
6121
  create: {
@@ -5771,7 +6144,7 @@ async function timeLogFactory(injector) {
5771
6144
  },
5772
6145
  list: {
5773
6146
  execute: async (e) => {
5774
- return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
6147
+ return await dataService.query(e);
5775
6148
  },
5776
6149
  type: AXPEntityQueryType.List,
5777
6150
  },
@@ -5779,10 +6152,7 @@ async function timeLogFactory(injector) {
5779
6152
  interfaces: {
5780
6153
  master: {
5781
6154
  create: {
5782
- sections: [
5783
- { id: 'basic-info' },
5784
- { id: 'time-details' },
5785
- ],
6155
+ sections: [{ id: 'basic-info' }, { id: 'time-details' }],
5786
6156
  properties: [
5787
6157
  {
5788
6158
  name: 'userId',
@@ -5827,11 +6197,7 @@ async function timeLogFactory(injector) {
5827
6197
  ],
5828
6198
  },
5829
6199
  update: {
5830
- sections: [
5831
- { id: 'basic-info' },
5832
- { id: 'time-details' },
5833
- { id: 'approval' },
5834
- ],
6200
+ sections: [{ id: 'basic-info' }, { id: 'time-details' }, { id: 'approval' }],
5835
6201
  properties: [
5836
6202
  {
5837
6203
  name: 'userId',
@@ -5964,12 +6330,10 @@ async function timeLogFactory(injector) {
5964
6330
  actions: [],
5965
6331
  },
5966
6332
  list: {
5967
- actions: [
5968
- ...entityDetailsCrudActions('taskId'),
5969
- ],
6333
+ actions: [...entityDetailsCrudActions('taskId')],
5970
6334
  views: [
5971
6335
  createAllQueryView({
5972
- sorts: [{ name: 'startTime', dir: 'desc' }]
6336
+ sorts: [{ name: 'startTime', dir: 'desc' }],
5973
6337
  }),
5974
6338
  ],
5975
6339
  },
@@ -5986,7 +6350,9 @@ var timeLog_entity = /*#__PURE__*/Object.freeze({
5986
6350
 
5987
6351
  class AXMTaskManagementModule {
5988
6352
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMTaskManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5989
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXMTaskManagementModule, imports: [CommonModule, AXPTaskBoardModule, AXMCalendarManagementModule] }); }
6353
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXMTaskManagementModule, imports: [CommonModule,
6354
+ AXPTaskBoardModule,
6355
+ AXMCalendarManagementModule, i1$1.AXPLayoutBuilderModule] }); }
5990
6356
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMTaskManagementModule, providers: [
5991
6357
  // Entity Provider
5992
6358
  {
@@ -6063,12 +6429,24 @@ class AXMTaskManagementModule {
6063
6429
  provide: AXMTaskTemplateService,
6064
6430
  useClass: AXMTaskTemplateServiceImpl,
6065
6431
  },
6066
- ], imports: [CommonModule, AXPTaskBoardModule, AXMCalendarManagementModule] }); }
6432
+ ], imports: [CommonModule,
6433
+ AXPTaskBoardModule,
6434
+ AXMCalendarManagementModule,
6435
+ AXPLayoutBuilderModule.forChild({
6436
+ widgets: [AXPTaskBoardWidget],
6437
+ })] }); }
6067
6438
  }
6068
6439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMTaskManagementModule, decorators: [{
6069
6440
  type: NgModule,
6070
6441
  args: [{
6071
- imports: [CommonModule, AXPTaskBoardModule, AXMCalendarManagementModule],
6442
+ imports: [
6443
+ CommonModule,
6444
+ AXPTaskBoardModule,
6445
+ AXMCalendarManagementModule,
6446
+ AXPLayoutBuilderModule.forChild({
6447
+ widgets: [AXPTaskBoardWidget],
6448
+ }),
6449
+ ],
6072
6450
  providers: [
6073
6451
  // Entity Provider
6074
6452
  {
@@ -6181,5 +6559,5 @@ class AXMSettingProvider {
6181
6559
  * Generated bundle index. Do not edit.
6182
6560
  */
6183
6561
 
6184
- export { AXMSearchCommandProvider, AXMSettingProvider, AXMTaskAssignmentService, AXMTaskAssignmentServiceImpl, AXMTaskChecklistItemService, AXMTaskChecklistItemServiceImpl, AXMTaskContextService, AXMTaskContextServiceImpl, AXMTaskDependencyService, AXMTaskDependencyServiceImpl, AXMTaskManagementEntityProvider, AXMTaskManagementMenuProvider, AXMTaskManagementModule, AXMTaskService, AXMTaskServiceImpl, AXMTaskStatusService, AXMTaskStatusServiceImpl, AXMTaskTemplateService, AXMTaskTemplateServiceImpl, AXMTaskTypeService, AXMTaskTypeServiceImpl, AXMTimeLogService, AXMTimeLogServiceImpl, AXPTaskBoardModule, AXPTaskBoardService, RootConfig, taskAssignmentFactory, taskChecklistItemFactory, taskContextFactory, taskDependencyFactory, taskFactory, taskStatusFactory, taskTemplateFactory, taskTypeFactory, timeLogFactory };
6562
+ export { AXMSearchCommandProvider, AXMSettingProvider, AXMTaskAssignmentService, AXMTaskAssignmentServiceImpl, AXMTaskChecklistItemService, AXMTaskChecklistItemServiceImpl, AXMTaskContextService, AXMTaskContextServiceImpl, AXMTaskDependencyService, AXMTaskDependencyServiceImpl, AXMTaskManagementEntityProvider, AXMTaskManagementMenuProvider, AXMTaskManagementModule, AXMTaskService, AXMTaskServiceImpl, AXMTaskStatusService, AXMTaskStatusServiceImpl, AXMTaskTemplateService, AXMTaskTemplateServiceImpl, AXMTaskTypeService, AXMTaskTypeServiceImpl, AXMTimeLogService, AXMTimeLogServiceImpl, AXPTaskBoardModule, AXPTaskBoardService, AXPTaskBoardWidget, AXPTaskBoardWidgetViewComponent, AXPTaskTypeDataSourceDefinition, RootConfig, taskAssignmentFactory, taskChecklistItemFactory, taskContextFactory, taskDependencyFactory, taskFactory, taskStatusFactory, taskTemplateFactory, taskTypeFactory, timeLogFactory };
6185
6563
  //# sourceMappingURL=acorex-modules-task-management.mjs.map