@acorex/modules 20.0.5 → 20.0.7

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 (206) hide show
  1. package/common/index.d.ts +22 -2
  2. package/contact-management/README.md +568 -0
  3. package/contact-management/index.d.ts +263 -0
  4. package/conversation/index.d.ts +364 -391
  5. package/document-management/index.d.ts +5 -1
  6. package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs → acorex-modules-application-management-module-designer.component-BErRgx0w.mjs} +7 -7
  7. package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs.map → acorex-modules-application-management-module-designer.component-BErRgx0w.mjs.map} +1 -1
  8. package/fesm2022/acorex-modules-application-management.mjs +41 -42
  9. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  10. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs → acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs} +44 -44
  11. package/fesm2022/acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map +1 -0
  12. package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs → acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs} +5 -5
  13. package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs.map → acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-blank.layout-C5d42pO1.mjs → acorex-modules-auth-blank.layout-D2qSgxTy.mjs} +4 -4
  15. package/fesm2022/{acorex-modules-auth-blank.layout-C5d42pO1.mjs.map → acorex-modules-auth-blank.layout-D2qSgxTy.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs → acorex-modules-auth-login.module-CWOYzn0L.mjs} +8 -8
  17. package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs.map → acorex-modules-auth-login.module-CWOYzn0L.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs → acorex-modules-auth-master.layout-384T0lIg.mjs} +5 -5
  19. package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs.map → acorex-modules-auth-master.layout-384T0lIg.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-password.component-rE9yrcGW.mjs → acorex-modules-auth-password.component-BW_ooTQG.mjs} +5 -5
  21. package/fesm2022/acorex-modules-auth-password.component-BW_ooTQG.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs → acorex-modules-auth-password.component-JG95JpLz.mjs} +5 -5
  23. package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs.map → acorex-modules-auth-password.component-JG95JpLz.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs → acorex-modules-auth-routes-DqKtHu-i.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs.map → acorex-modules-auth-routes-DqKtHu-i.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-fmuXNByb.mjs → acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs} +4 -4
  27. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-fmuXNByb.mjs.map → acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-two-factor-code.component-JYtAQ3qF.mjs → acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs} +4 -4
  29. package/fesm2022/{acorex-modules-auth-two-factor-code.component-JYtAQ3qF.mjs.map → acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs → acorex-modules-auth-two-factor.module-C88pXqao.mjs} +7 -7
  31. package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs.map → acorex-modules-auth-two-factor.module-C88pXqao.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs → acorex-modules-auth-user-sessions.component-loloVwv0.mjs} +5 -5
  33. package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs.map → acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map} +1 -1
  34. package/fesm2022/acorex-modules-auth.mjs +1 -1
  35. package/fesm2022/{acorex-modules-common-search-popup.component-B5JU9uH9.mjs → acorex-modules-common-search-popup.component-CCKiQx0U.mjs} +8 -8
  36. package/fesm2022/{acorex-modules-common-search-popup.component-B5JU9uH9.mjs.map → acorex-modules-common-search-popup.component-CCKiQx0U.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DzvUTy5z.mjs → acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs} +8 -8
  38. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DzvUTy5z.mjs.map → acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-common.mjs +215 -86
  40. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  41. package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs +489 -0
  42. package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +1 -0
  43. package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs +827 -0
  44. package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +1 -0
  45. package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs +509 -0
  46. package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +1 -0
  47. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs +469 -0
  48. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +1 -0
  49. package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs +489 -0
  50. package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +1 -0
  51. package/fesm2022/acorex-modules-contact-management.mjs +2332 -0
  52. package/fesm2022/acorex-modules-contact-management.mjs.map +1 -0
  53. package/fesm2022/acorex-modules-content-management.mjs +119 -55
  54. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  55. package/fesm2022/acorex-modules-conversation.mjs +2225 -2073
  56. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  57. package/fesm2022/acorex-modules-dashboard-management.mjs +84 -84
  58. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  59. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-ClH75xx1.mjs → acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs} +310 -235
  60. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B_tjfzIn.mjs → acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs} +5 -5
  62. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B_tjfzIn.mjs.map → acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DNdRcCAs.mjs → acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs} +5 -5
  64. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DNdRcCAs.mjs.map → acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-document-management-details-view.component-JsK1UgZh.mjs → acorex-modules-document-management-details-view.component-Co5F8eWp.mjs} +5 -5
  66. package/fesm2022/{acorex-modules-document-management-details-view.component-JsK1UgZh.mjs.map → acorex-modules-document-management-details-view.component-Co5F8eWp.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DJT9oLek.mjs → acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs} +5 -5
  68. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DJT9oLek.mjs.map → acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-document-management-drive.component-DYxpvUWX.mjs → acorex-modules-document-management-drive.component-jGs09Jrd.mjs} +8 -8
  70. package/fesm2022/{acorex-modules-document-management-drive.component-DYxpvUWX.mjs.map → acorex-modules-document-management-drive.component-jGs09Jrd.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-B324V2hL.mjs → acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs} +5 -5
  72. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-B324V2hL.mjs.map → acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map} +1 -1
  73. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-V5gHyu9X.mjs → acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs} +5 -5
  74. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-V5gHyu9X.mjs.map → acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs.map} +1 -1
  75. package/fesm2022/{acorex-modules-document-management-link-dialog.component-B-BzU_4Y.mjs → acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs} +4 -4
  76. package/fesm2022/{acorex-modules-document-management-link-dialog.component-B-BzU_4Y.mjs.map → acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-document-management-list-view.component-Bm2EH2aT.mjs → acorex-modules-document-management-list-view.component-D4DbyB6W.mjs} +5 -5
  78. package/fesm2022/{acorex-modules-document-management-list-view.component-Bm2EH2aT.mjs.map → acorex-modules-document-management-list-view.component-D4DbyB6W.mjs.map} +1 -1
  79. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs +315 -0
  80. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs.map +1 -0
  81. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-BDhqsc2j.mjs → acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs} +4 -4
  82. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-BDhqsc2j.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-C4GC0GbF.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs} +4 -4
  84. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-C4GC0GbF.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs.map} +1 -1
  85. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs +31 -0
  86. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs.map +1 -0
  87. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DGqVDVLJ.mjs → acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DGqVDVLJ.mjs.map → acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-LgpvDguk.mjs → acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs} +5 -5
  90. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-LgpvDguk.mjs.map → acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DzuYhAD4.mjs → acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs} +4 -4
  92. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DzuYhAD4.mjs.map → acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DNN_3JF2.mjs → acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs} +4 -4
  94. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DNN_3JF2.mjs.map → acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BwFoe1vd.mjs → acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs} +5 -5
  96. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BwFoe1vd.mjs.map → acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B5gp0wus.mjs → acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs} +5 -5
  98. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B5gp0wus.mjs.map → acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs.map} +1 -1
  99. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  100. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B3o427If.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs} +58 -57
  101. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B3o427If.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-form-template-management-category.entity-B7dGrmoa.mjs → acorex-modules-form-template-management-category.entity-B3iAtREq.mjs} +2 -2
  103. package/fesm2022/{acorex-modules-form-template-management-category.entity-B7dGrmoa.mjs.map → acorex-modules-form-template-management-category.entity-B3iAtREq.mjs.map} +1 -1
  104. package/fesm2022/{acorex-modules-form-template-management-designer.page-DaTGU3w_.mjs → acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs} +4 -4
  105. package/fesm2022/{acorex-modules-form-template-management-designer.page-DaTGU3w_.mjs.map → acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs.map} +1 -1
  106. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CjjlgO0w.mjs → acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs} +2 -2
  107. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CjjlgO0w.mjs.map → acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs.map} +1 -1
  108. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CiSjuHGI.mjs → acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs} +2 -2
  109. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CiSjuHGI.mjs.map → acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs.map} +1 -1
  110. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CQZ37yC2.mjs → acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs} +4 -4
  111. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CQZ37yC2.mjs.map → acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs.map} +1 -1
  112. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DUeV0yO8.mjs → acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs} +5 -5
  113. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DUeV0yO8.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs.map} +1 -1
  114. package/fesm2022/{acorex-modules-form-template-management-template.entity-Cps77n3G.mjs → acorex-modules-form-template-management-template.entity-BGsixiEI.mjs} +2 -2
  115. package/fesm2022/{acorex-modules-form-template-management-template.entity-Cps77n3G.mjs.map → acorex-modules-form-template-management-template.entity-BGsixiEI.mjs.map} +1 -1
  116. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-K2ZznaDw.mjs → acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs} +9 -6
  117. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs.map +1 -0
  118. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  119. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-Blyh8QVB.mjs → acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs} +24 -24
  120. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-Blyh8QVB.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map} +1 -1
  121. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BzUN6Cty.mjs → acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs} +5 -5
  122. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BzUN6Cty.mjs.map → acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs.map} +1 -1
  123. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  124. package/fesm2022/acorex-modules-log-management.mjs +10 -10
  125. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  126. package/fesm2022/acorex-modules-notification-management.mjs +35 -35
  127. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  128. package/fesm2022/{acorex-modules-organization-management-add-item.component-COUAmxM8.mjs → acorex-modules-organization-management-add-item.component-D99TugmE.mjs} +4 -4
  129. package/fesm2022/{acorex-modules-organization-management-add-item.component-COUAmxM8.mjs.map → acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map} +1 -1
  130. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.mjs → acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs} +5 -5
  131. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs.map} +1 -1
  132. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.mjs → acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs} +4 -4
  133. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs.map} +1 -1
  134. package/fesm2022/{acorex-modules-organization-management-org-chart.page-xlNWhN4W.mjs → acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs} +12 -12
  135. package/fesm2022/{acorex-modules-organization-management-org-chart.page-xlNWhN4W.mjs.map → acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs.map} +1 -1
  136. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
  137. package/fesm2022/acorex-modules-organization-management.mjs +122 -122
  138. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  139. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs} +933 -315
  140. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs.map +1 -0
  141. package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs → acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs} +7 -7
  142. package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs.map → acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs.map} +1 -1
  143. package/fesm2022/{acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs → acorex-modules-platform-management-settings.provider--ARXqBUY.mjs} +35 -25
  144. package/fesm2022/acorex-modules-platform-management-settings.provider--ARXqBUY.mjs.map +1 -0
  145. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  146. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  147. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  148. package/fesm2022/acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs +302 -0
  149. package/fesm2022/acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs.map +1 -0
  150. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs +617 -0
  151. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map +1 -0
  152. package/fesm2022/acorex-modules-report-management-run.command-CoXvPC15.mjs +20 -0
  153. package/fesm2022/acorex-modules-report-management-run.command-CoXvPC15.mjs.map +1 -0
  154. package/fesm2022/acorex-modules-report-management.mjs +976 -0
  155. package/fesm2022/acorex-modules-report-management.mjs.map +1 -0
  156. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  157. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  158. package/fesm2022/acorex-modules-security-management.mjs +624 -120
  159. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  160. package/fesm2022/{acorex-modules-settings-management-setting-page.component-B2CEFpES.mjs → acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs} +4 -4
  161. package/fesm2022/{acorex-modules-settings-management-setting-page.component-B2CEFpES.mjs.map → acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs.map} +1 -1
  162. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DnD83gFz.mjs → acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs} +4 -4
  163. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DnD83gFz.mjs.map → acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs.map} +1 -1
  164. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  165. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  166. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  167. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  168. package/fesm2022/acorex-modules-training-management.mjs +43 -44
  169. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  170. package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs +762 -0
  171. package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map +1 -0
  172. package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
  173. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  174. package/package.json +9 -1
  175. package/platform-management/index.d.ts +235 -8
  176. package/report-management/README.md +356 -0
  177. package/report-management/index.d.ts +46 -0
  178. package/security-management/index.d.ts +162 -2
  179. package/fesm2022/acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs.map +0 -1
  180. package/fesm2022/acorex-modules-auth-password.component-rE9yrcGW.mjs.map +0 -1
  181. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-ClH75xx1.mjs.map +0 -1
  182. package/fesm2022/acorex-modules-document-management-lock-dialog.component-DvZ-vrUE.mjs +0 -51
  183. package/fesm2022/acorex-modules-document-management-lock-dialog.component-DvZ-vrUE.mjs.map +0 -1
  184. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-q6mDKrFi.mjs +0 -190
  185. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-q6mDKrFi.mjs.map +0 -1
  186. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-rlSWRGGl.mjs +0 -32
  187. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-rlSWRGGl.mjs.map +0 -1
  188. package/fesm2022/acorex-modules-document-management-unlock-dialog.component-B_TMgAl1.mjs +0 -36
  189. package/fesm2022/acorex-modules-document-management-unlock-dialog.component-B_TMgAl1.mjs.map +0 -1
  190. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-K2ZznaDw.mjs.map +0 -1
  191. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs.map +0 -1
  192. package/fesm2022/acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs.map +0 -1
  193. package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs +0 -218
  194. package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs.map +0 -1
  195. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs +0 -41
  196. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs.map +0 -1
  197. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs +0 -20
  198. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs.map +0 -1
  199. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs +0 -51
  200. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs.map +0 -1
  201. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs +0 -21
  202. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs.map +0 -1
  203. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs +0 -20
  204. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs.map +0 -1
  205. package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs +0 -494
  206. package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs.map +0 -1
@@ -0,0 +1,617 @@
1
+ import { AXBadgeModule } from '@acorex/components/badge';
2
+ import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
3
+ import * as i4 from '@acorex/components/button';
4
+ import { AXButtonModule } from '@acorex/components/button';
5
+ import * as i8 from '@acorex/components/decorators';
6
+ import { AXDecoratorModule } from '@acorex/components/decorators';
7
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
8
+ import * as i7 from '@acorex/components/loading';
9
+ import { AXLoadingModule } from '@acorex/components/loading';
10
+ import * as i3 from '@acorex/components/search-box';
11
+ import { AXSearchBoxModule } from '@acorex/components/search-box';
12
+ import { AXTabsModule } from '@acorex/components/tabs';
13
+ import * as i5 from '@acorex/core/translation';
14
+ import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
15
+ import { AXUnsubscriber } from '@acorex/core/utils';
16
+ import { AXPReportDefinitionService } from '@acorex/platform/common';
17
+ import { AXPDynamicFormComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutToolbarComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutStartSideComponent } from '@acorex/platform/layout/components';
18
+ import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase } from '@acorex/platform/layout/views';
19
+ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
20
+ import * as i1 from '@angular/common';
21
+ import { CommonModule } from '@angular/common';
22
+ import * as i0 from '@angular/core';
23
+ import { computed, inject, output, ViewEncapsulation, ChangeDetectionStrategy, Component, viewChild } from '@angular/core';
24
+ import * as i1$1 from '@angular/forms';
25
+ import { FormsModule } from '@angular/forms';
26
+ import { ActivatedRoute, Router, NavigationEnd, RouterModule } from '@angular/router';
27
+ import { merge, filter, startWith, firstValueFrom } from 'rxjs';
28
+ import { AXPPageStatus } from '@acorex/platform/layout/builder';
29
+ import { signalStore, withState, withComputed, withMethods, patchState, withHooks } from '@ngrx/signals';
30
+ import { isNil, isEmpty } from 'lodash-es';
31
+ import { AXLocaleService } from '@acorex/core/locale';
32
+ import { RootConfig } from './acorex-modules-report-management.mjs';
33
+ import { AXPCommandService } from '@acorex/platform/runtime';
34
+ import * as i2 from '@acorex/components/tree-view';
35
+ import { AXTreeViewModule } from '@acorex/components/tree-view';
36
+ import { AXPWorkflowService } from '@acorex/platform/workflow';
37
+
38
+ const AXPReportRunnerRootViewModel = signalStore(withState(() => ({
39
+ activeCategory: undefined,
40
+ categories: [],
41
+ activeReport: undefined,
42
+ reports: [],
43
+ activeCategoriesPath: [],
44
+ //
45
+ searchExpression: null,
46
+ //
47
+ previousContext: {},
48
+ context: {},
49
+ //
50
+ status: AXPPageStatus.Processing,
51
+ form: null,
52
+ })), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({
53
+ searchResults: computed(() => []),
54
+ hasActiveReport: computed(() => store.activeReport() != null),
55
+ hasActiveCategory: computed(() => store.activeCategory() != null),
56
+ showSideMenu: computed(() => layout.isLarge()),
57
+ isSearching: computed(() => store.searchExpression() != null),
58
+ isBusy: computed(() => store.status() == AXPPageStatus.Processing),
59
+ isRunning: computed(() => store.status() == AXPPageStatus.Submitting),
60
+ isLoaded: computed(() => store.activeCategory() != null),
61
+ title: computed(() => store.activeReport() ?
62
+ store.activeReport()?.title :
63
+ store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:features.report-runner.page-title`),
64
+ description: computed(() => store.activeReport() ?
65
+ store.activeReport()?.description :
66
+ store.activeCategory()?.description ?? `@${RootConfig.config.i18n}:features.report-runner.page-description`),
67
+ formDefinition: computed(() => {
68
+ const report = store.activeReport();
69
+ if (!report || !report.parameterGroups) {
70
+ return { groups: [] };
71
+ }
72
+ return {
73
+ groups: report.parameterGroups.map(group => ({
74
+ name: group.name,
75
+ title: group.title,
76
+ description: group.description,
77
+ parameters: group.parameters.map(param => ({
78
+ path: param.path,
79
+ title: param.title,
80
+ description: param.description,
81
+ widget: param.widget
82
+ }))
83
+ }))
84
+ };
85
+ }),
86
+ })), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) => ({
87
+ async loadRootCategories() {
88
+ patchState(store, {
89
+ activeCategory: undefined,
90
+ activeReport: undefined,
91
+ reports: [],
92
+ activeCategoriesPath: [],
93
+ });
94
+ //
95
+ patchState(store, {
96
+ status: AXPPageStatus.Processing,
97
+ });
98
+ patchState(store, {
99
+ categories: await reportDefinitionService.getCategories(),
100
+ });
101
+ patchState(store, {
102
+ status: AXPPageStatus.Idle,
103
+ });
104
+ },
105
+ async getCategories(parentId) {
106
+ patchState(store, {
107
+ status: AXPPageStatus.Processing,
108
+ });
109
+ //
110
+ const result = await reportDefinitionService.getCategories(parentId);
111
+ //
112
+ patchState(store, {
113
+ status: AXPPageStatus.Idle,
114
+ });
115
+ //
116
+ return result;
117
+ },
118
+ async getReports(categoryId) {
119
+ patchState(store, {
120
+ status: AXPPageStatus.Processing,
121
+ });
122
+ //
123
+ const result = await reportDefinitionService.getReportsByCategoryId(categoryId);
124
+ //
125
+ patchState(store, {
126
+ status: AXPPageStatus.Idle,
127
+ });
128
+ //
129
+ return result;
130
+ },
131
+ registerForm(form) {
132
+ patchState(store, {
133
+ form: form,
134
+ });
135
+ },
136
+ updateContext(context) {
137
+ patchState(store, {
138
+ context: { ...store.context(), ...context },
139
+ });
140
+ },
141
+ updatePreviousContext(context) {
142
+ patchState(store, {
143
+ previousContext: { ...store.previousContext(), ...context },
144
+ });
145
+ },
146
+ async setActiveCategory(category) {
147
+ //
148
+ patchState(store, {
149
+ status: AXPPageStatus.Processing,
150
+ });
151
+ //
152
+ patchState(store, {
153
+ activeCategory: category,
154
+ });
155
+ //
156
+ patchState(store, {
157
+ categories: await reportDefinitionService.getCategories(category.id),
158
+ reports: await reportDefinitionService.getReportsByCategoryId(category.id),
159
+ activeCategoriesPath: await reportDefinitionService.getCategoriesPathById(category.id),
160
+ });
161
+ //
162
+ patchState(store, {
163
+ status: AXPPageStatus.Idle,
164
+ });
165
+ },
166
+ async setActiveCategoryById(id) {
167
+ //
168
+ patchState(store, {
169
+ status: AXPPageStatus.Processing,
170
+ });
171
+ //
172
+ const category = await reportDefinitionService.getCategoryById(id);
173
+ if (category) {
174
+ patchState(store, {
175
+ activeCategory: category,
176
+ });
177
+ //
178
+ patchState(store, {
179
+ categories: await reportDefinitionService.getCategories(category.id),
180
+ reports: await reportDefinitionService.getReportsByCategoryId(category.id),
181
+ activeCategoriesPath: await reportDefinitionService.getCategoriesPathById(category.id),
182
+ });
183
+ }
184
+ //
185
+ patchState(store, {
186
+ status: AXPPageStatus.Idle,
187
+ });
188
+ },
189
+ unsetActiveReport() {
190
+ patchState(store, {
191
+ activeReport: undefined,
192
+ });
193
+ },
194
+ async setActivateReportById(id) {
195
+ const report = await reportDefinitionService.getReportById(id);
196
+ if (report) {
197
+ report?.parameterGroups.forEach(group => {
198
+ group.parameters.forEach(param => {
199
+ param.widget.path = param.path;
200
+ });
201
+ });
202
+ patchState(store, {
203
+ activeReport: report,
204
+ });
205
+ }
206
+ },
207
+ //
208
+ async search(expression) {
209
+ if (!isNil(expression) && !isEmpty(expression)) {
210
+ patchState(store, {
211
+ searchExpression: expression,
212
+ });
213
+ }
214
+ else {
215
+ patchState(store, {
216
+ searchExpression: null,
217
+ });
218
+ }
219
+ },
220
+ clearSearch() {
221
+ patchState(store, {
222
+ searchExpression: null,
223
+ });
224
+ },
225
+ async run() {
226
+ patchState(store, {
227
+ status: AXPPageStatus.Submitting,
228
+ });
229
+ //
230
+ try {
231
+ await commandService.execute(`${RootConfig.entities.report.fullName}:Run`, {
232
+ reportId: store.activeReport()?.id,
233
+ context: store.context(),
234
+ });
235
+ }
236
+ catch (error) {
237
+ console.error(error);
238
+ }
239
+ finally {
240
+ patchState(store, {
241
+ status: AXPPageStatus.Idle,
242
+ });
243
+ }
244
+ },
245
+ async discard() {
246
+ const form = store.form();
247
+ form.resetErrors();
248
+ //
249
+ patchState(store, {
250
+ status: AXPPageStatus.Idle,
251
+ });
252
+ patchState(store, {
253
+ context: store.previousContext(),
254
+ });
255
+ },
256
+ async resetToDefault() {
257
+ },
258
+ })), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({
259
+ async onInit() {
260
+ merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => {
261
+ });
262
+ //
263
+ await store.loadRootCategories();
264
+ },
265
+ onDestroy() { },
266
+ })));
267
+
268
+ //#region ---- Imports ----
269
+ //#endregion
270
+ class AXPReportCategoriesTreeComponent {
271
+ constructor() {
272
+ //#region ---- Services & Dependencies ----
273
+ this.reportDefinitionService = inject(AXPReportDefinitionService);
274
+ //#endregion
275
+ //#region ---- Output Events ----
276
+ /**
277
+ * Emitted when a category node is clicked
278
+ */
279
+ this.categoryClick = output();
280
+ /**
281
+ * Emitted when a report node is clicked
282
+ */
283
+ this.reportClick = output();
284
+ //#endregion
285
+ //#region ---- Data Loading Methods ----
286
+ /**
287
+ * Provide lazy loading tree data
288
+ */
289
+ this.provideLazyTreeView = async (selectedItemId) => {
290
+ if (selectedItemId) {
291
+ const categories = (await this.reportDefinitionService.getCategories(selectedItemId)).map((item) => ({
292
+ id: item.id,
293
+ title: item.title,
294
+ hasChild: (item.hasChild || item.hasReport) ?? false,
295
+ item: item,
296
+ type: 'category',
297
+ expanded: isNil(item.parentId) ? true : false,
298
+ }));
299
+ const definitions = (await this.reportDefinitionService.getReportsByCategoryId(selectedItemId)).map((item) => ({
300
+ id: item.id,
301
+ title: item.title,
302
+ hasChild: false,
303
+ item: item,
304
+ type: 'definition',
305
+ expanded: false,
306
+ }));
307
+ return [...categories, ...definitions];
308
+ }
309
+ else {
310
+ const categories = await this.reportDefinitionService.getCategories();
311
+ const items = categories.map((item) => ({
312
+ id: item.id,
313
+ title: item.title,
314
+ hasChild: (item.hasChild || item.hasReport) ?? false,
315
+ item: item,
316
+ type: 'category',
317
+ expanded: false,
318
+ }));
319
+ return items;
320
+ }
321
+ };
322
+ }
323
+ //#endregion
324
+ //#region ---- Event Handlers ----
325
+ /**
326
+ * Handle tree node click events
327
+ */
328
+ async handleNodeClick(event) {
329
+ const node = event.data;
330
+ if (node.type === 'category') {
331
+ this.categoryClick.emit(node.item);
332
+ }
333
+ else if (node.type === 'definition') {
334
+ this.reportClick.emit(node.item);
335
+ }
336
+ }
337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPReportCategoriesTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: AXPReportCategoriesTreeComponent, isStandalone: true, selector: "axp-report-categories-tree", outputs: { categoryClick: "categoryClick", reportClick: "reportClick" }, host: { classAttribute: "axp-report-categories-tree" }, ngImport: i0, template: "<ax-tree-view\n [showCheckbox]=\"false\"\n [itemTemplate]=\"itemTemplate\"\n [textField]=\"'title'\"\n [hasChildField]=\"'hasChild'\"\n [valueField]=\"'id'\"\n [expandedField]=\"'expanded'\"\n [items]=\"provideLazyTreeView\"\n (onNodeClick)=\"handleNodeClick($event)\"\n>\n</ax-tree-view>\n\n<ng-template #itemTemplate let-item>\n @if (item.type === 'category') {\n <ax-icon class=\"fas ax-text-warning fa-folder\"></ax-icon>\n } @else {\n <ax-icon class=\"fas ax-text-accent1 fa-file-chart-column\"></ax-icon>\n }\n {{ item.title }}\n</ng-template>\n", styles: [".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i8.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTreeViewModule }, { kind: "component", type: i2.AXTreeViewComponent, selector: "ax-tree-view", inputs: ["items", "showCheckbox", "hasCheckboxField", "selectionMode", "selectionBehavior", "selectionScope", "focusNodeEnabled", "valueField", "textField", "visibleField", "disableField", "hasChildField", "selectedField", "expandedField", "tooltipField", "childrenField", "activeField", "indeterminateField", "parentField", "iconField", "toggleIcons", "look", "showEmptyNodeMassage", "itemTemplate", "emptyTemplate", "expandOn"], outputs: ["onSelectionChanged", "onItemSelectedChanged", "onNodeClick", "onCollapsedChanged", "onNodedbClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
339
+ }
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPReportCategoriesTreeComponent, decorators: [{
341
+ type: Component,
342
+ args: [{ selector: 'axp-report-categories-tree', standalone: true, imports: [
343
+ CommonModule,
344
+ AXDecoratorModule,
345
+ AXTreeViewModule,
346
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-categories-tree' }, template: "<ax-tree-view\n [showCheckbox]=\"false\"\n [itemTemplate]=\"itemTemplate\"\n [textField]=\"'title'\"\n [hasChildField]=\"'hasChild'\"\n [valueField]=\"'id'\"\n [expandedField]=\"'expanded'\"\n [items]=\"provideLazyTreeView\"\n (onNodeClick)=\"handleNodeClick($event)\"\n>\n</ax-tree-view>\n\n<ng-template #itemTemplate let-item>\n @if (item.type === 'category') {\n <ax-icon class=\"fas ax-text-warning fa-folder\"></ax-icon>\n } @else {\n <ax-icon class=\"fas ax-text-accent1 fa-file-chart-column\"></ax-icon>\n }\n {{ item.title }}\n</ng-template>\n", styles: [".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\n"] }]
347
+ }] });
348
+
349
+ class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {
350
+ constructor() {
351
+ super(...arguments);
352
+ this.vm = inject(AXPReportRunnerRootViewModel);
353
+ this.layoutService = inject(AXPLayoutThemeService);
354
+ this.activatedRoute = inject(ActivatedRoute);
355
+ this.unsubscribe = inject(AXUnsubscriber);
356
+ this.reportDefinitionService = inject(AXPReportDefinitionService);
357
+ this.dynamicForm = viewChild(AXPDynamicFormComponent);
358
+ this.workflow = inject(AXPWorkflowService);
359
+ this.router = inject(Router);
360
+ this.baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];
361
+ this.defaultLayout = computed(() => {
362
+ return {
363
+ positions: {
364
+ default: { colSpan: 12 },
365
+ md: { colSpan: 8 },
366
+ lg: { colSpan: 6 },
367
+ xl: { colSpan: this.layoutService.isSideMenuOpen() ? 5 : 4 },
368
+ xxl: { colSpan: 4 },
369
+ },
370
+ };
371
+ });
372
+ }
373
+ async ngOnInit() {
374
+ await super.ngOnInit();
375
+ //
376
+ this.router.events
377
+ .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))
378
+ .subscribe(async () => {
379
+ await this.loadFromRoute();
380
+ });
381
+ }
382
+ ngAfterViewInit() {
383
+ // Register the form from the dynamic form component when available
384
+ const form = this.dynamicForm()?.getForm();
385
+ if (form) {
386
+ this.vm.registerForm(form);
387
+ }
388
+ }
389
+ handleContextChanged(context) {
390
+ this.vm.updateContext(context);
391
+ }
392
+ handleContextInitiated(context) {
393
+ this.vm.updatePreviousContext(context);
394
+ }
395
+ async loadFromRoute() {
396
+ const snapshot = this.activatedRoute.snapshot;
397
+ const segments = await firstValueFrom(this.activatedRoute.url);
398
+ let categoryId = segments[segments.length - 1]?.path ?? null;
399
+ if (categoryId) {
400
+ await this.vm.setActiveCategoryById(categoryId);
401
+ }
402
+ else {
403
+ await this.vm.loadRootCategories();
404
+ return;
405
+ }
406
+ //
407
+ let reportId = snapshot.queryParamMap.get('report') ?? null;
408
+ if (reportId) {
409
+ await this.vm.setActivateReportById(reportId);
410
+ }
411
+ else {
412
+ await this.vm.unsetActiveReport();
413
+ }
414
+ }
415
+ //#region ---- Event Handlers ----
416
+ /**
417
+ * Handle category selection from tree
418
+ */
419
+ async onCategoryClick(category) {
420
+ await this.navigateToCategory(category);
421
+ }
422
+ /**
423
+ * Handle report selection from tree
424
+ */
425
+ async onReportClick(report) {
426
+ await this.navigateToReport(report);
427
+ }
428
+ //#endregion
429
+ async navigateToCategory(category) {
430
+ // Find the path to this category
431
+ const path = await this.reportDefinitionService.getCategoriesPathById(category.id);
432
+ // Find the index of the target category in the path
433
+ let urlParts = [...this.baseRoutes];
434
+ for (const cat of path) {
435
+ urlParts.push(cat.id);
436
+ }
437
+ await this.router.navigate(urlParts);
438
+ }
439
+ async navigateToReport(report) {
440
+ // Use the current category path for the URL
441
+ const path = await this.reportDefinitionService.getCategoriesPathByReportId(report.id);
442
+ let urlParts = [...this.baseRoutes];
443
+ for (const cat of path) {
444
+ urlParts.push(cat.id);
445
+ }
446
+ await this.router.navigate(urlParts, { queryParams: { report: report.id } });
447
+ }
448
+ //#region ---------------- Page Configuration Overrides ----------------
449
+ async getPageBreadcrumbs() {
450
+ const path = this.vm.activeCategoriesPath();
451
+ const report = {
452
+ name: 'reports',
453
+ title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),
454
+ command: {
455
+ name: 'navigate-to-reports-root',
456
+ },
457
+ };
458
+ if (!path || path.length === 0) {
459
+ return [report];
460
+ }
461
+ const breadcrumbs = [report];
462
+ let urlParts = [...this.baseRoutes];
463
+ for (const cat of path) {
464
+ urlParts = [...urlParts, cat.id];
465
+ breadcrumbs.push({
466
+ name: cat.id,
467
+ title: cat.title,
468
+ command: {
469
+ name: 'navigate-to-category',
470
+ options: {
471
+ category: cat,
472
+ },
473
+ },
474
+ });
475
+ }
476
+ return breadcrumbs;
477
+ }
478
+ async getSecondaryMenuItems() {
479
+ if (this.vm.activeCategory()) {
480
+ return [
481
+ {
482
+ title: await this.translateService.translateAsync('actions.restore-defaults.title', { scope: 'settings' }),
483
+ icon: 'fa-light fa-rotate-left',
484
+ color: 'danger',
485
+ command: {
486
+ name: 'restore-defaults',
487
+ },
488
+ },
489
+ ];
490
+ }
491
+ return [];
492
+ }
493
+ async getPageTitle() {
494
+ return this.vm.title();
495
+ }
496
+ async getPageDescription() {
497
+ return this.vm.description();
498
+ }
499
+ async getBackButton() {
500
+ const categoriesPath = this.vm.activeCategoriesPath();
501
+ if (!categoriesPath || categoriesPath.length === 0) {
502
+ // At root level, no back button
503
+ return null;
504
+ }
505
+ if (categoriesPath.length === 1) {
506
+ // At first level category, back to reports root
507
+ return {
508
+ title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),
509
+ };
510
+ }
511
+ // At deeper level, back to parent category
512
+ const parentCategory = categoriesPath[categoriesPath.length - 2];
513
+ return {
514
+ title: parentCategory.title,
515
+ };
516
+ }
517
+ async onBackButtonClick() {
518
+ const categoriesPath = this.vm.activeCategoriesPath();
519
+ if (!categoriesPath || categoriesPath.length <= 1) {
520
+ // Navigate back to reports root
521
+ await this.router.navigate([...this.baseRoutes]);
522
+ }
523
+ else {
524
+ // Navigate to parent category
525
+ const parentCategoriesPath = categoriesPath.slice(0, -1);
526
+ let urlParts = [...this.baseRoutes];
527
+ for (const cat of parentCategoriesPath) {
528
+ urlParts.push(cat.id);
529
+ }
530
+ await this.router.navigate(urlParts);
531
+ }
532
+ }
533
+ async execute(command) {
534
+ switch (command.name) {
535
+ case 'restore-defaults':
536
+ await this.vm.resetToDefault();
537
+ break;
538
+ case 'navigate-to-category':
539
+ await this.navigateToCategory(command.options?.['category']);
540
+ break;
541
+ case 'navigate-to-reports-root':
542
+ await this.router.navigate([...this.baseRoutes]);
543
+ break;
544
+ case 'create-report':
545
+ await this.workflow.execute('report-create', {
546
+ data: {
547
+ categoryId: this.vm.activeCategory()?.id ?? null,
548
+ },
549
+ });
550
+ break;
551
+ }
552
+ }
553
+ async getPrimaryMenuItems() {
554
+ return [
555
+ {
556
+ title: 't("actions.create")',
557
+ icon: 'fa-light fa-plus',
558
+ color: 'primary',
559
+ command: {
560
+ name: 'create-report',
561
+ },
562
+ },
563
+ ];
564
+ }
565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportRunnerRootPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
566
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: AXMReportRunnerRootPageComponent, isStandalone: true, selector: "ng-component", host: { classAttribute: "axp-report-runner-root-page" }, providers: [
567
+ AXUnsubscriber,
568
+ AXPReportRunnerRootViewModel,
569
+ {
570
+ provide: AXPPageLayoutBase,
571
+ useExisting: AXMReportRunnerRootPageComponent,
572
+ },
573
+ ], viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: AXPDynamicFormComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n @if (vm.showSideMenu()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ t('@report-management:features.report-runner.menu-title') | async }}</axp-layout-title>\n <axp-layout-toolbar>\n <ax-search-box\n [delayTime]=\"300\"\n [ngModel]=\"vm.searchExpression()\"\n (onValueChanged)=\"vm.search($event.value)\"\n [placeholder]=\"t('search.placeholder') | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </axp-layout-toolbar>\n </axp-layout-header>\n <axp-layout-content>\n <axp-report-categories-tree (categoryClick)=\"onCategoryClick($event)\" (reportClick)=\"onReportClick($event)\" />\n </axp-layout-content>\n </axp-layout-start-side>\n }\n\n <axp-page-content>\n @if (vm.showSideMenu()) {\n <!-- Desktop: Show parameters view when report is selected, or grid browser when no report -->\n @if (vm.hasActiveReport()) {\n <div class=\"__parameters-view\">\n <axp-dynamic-form\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.context()\"\n [layoutConfig]=\"defaultLayout()\"\n (contextChange)=\"handleContextChanged($event)\"\n (contextInitiated)=\"handleContextInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"browser\"> </ng-container>\n }\n } @else {\n <!-- Mobile: Show parameters view when report is selected, or mobile browser for navigation -->\n @if (vm.hasActiveReport()) {\n <div class=\"__parameters-view\">\n <axp-dynamic-form\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.context()\"\n [layoutConfig]=\"defaultLayout()\"\n (contextChange)=\"handleContextChanged($event)\"\n (contextInitiated)=\"handleContextInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"browser\"> </ng-container>\n }\n }\n </axp-page-content>\n\n <!-- Desktop: Grid-based browser for main content when no report selected -->\n <ng-template #browser>\n <div class=\"__reports-browser __desktop\">\n @if (vm.categories().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">Categories</h3>\n <div class=\"__items-grid\">\n @for (category of vm.categories(); track category.id) {\n <div class=\"__item __category\" (click)=\"navigateToCategory(category)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-folder\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ category.title }}</div>\n @if (category.description) {\n <div class=\"__item-description\">{{ category.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.reports().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">Reports</h3>\n <div class=\"__items-grid\">\n @for (report of vm.reports(); track report.id) {\n <div class=\"__item __report\" (click)=\"navigateToReport(report)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-file-chart-column\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ report.title }}</div>\n @if (report.description) {\n <div class=\"__item-description\">{{ report.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\n <div class=\"__empty-state\">\n <div class=\"__empty-icon\">\n <ax-icon class=\"fa-light fa-folder-open\"></ax-icon>\n </div>\n <div class=\"__empty-content\">\n <h4>No items found</h4>\n <p>There are no categories or reports available in this location.</p>\n </div>\n </div>\n }\n </div>\n </ng-template>\n\n @if (vm.hasActiveReport()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isRunning()\"\n [text]=\"t('run') | async\"\n (onClick)=\"vm.run()\"\n [color]=\"'secondary'\"\n >\n @if (vm.isRunning()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: [".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser.__mobile{padding:1rem}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}.axp-report-runner-root-page .__reports-browser.__mobile .__mobile-search{margin-bottom:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item{padding:.75rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item .__item-icon{height:2rem;width:2rem;font-size:1rem;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item .__item-content .__item-title{font-size:1rem;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item .__item-content .__item-description{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.75rem;line-height:1rem}.axp-report-runner-root-page .__reports-browser .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4rem;padding-bottom:4rem;text-align:center}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;opacity:.5}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content h4{margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content p{max-width:28rem;opacity:74%;display:block;font-size:1rem;font-weight:400;line-height:1.625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
574
+ //
575
+ AXSearchBoxModule }, { kind: "component", type: i3.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i8.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i8.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i5.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.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: AXTabsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i7.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type:
576
+ //
577
+ AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: 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: AXPThemeLayoutToolbarComponent, selector: "axp-layout-toolbar" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type:
578
+ //
579
+ AXPDynamicFormComponent, selector: "axp-dynamic-form", inputs: ["formDefinition", "context", "layoutConfig"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "component", type: AXPReportCategoriesTreeComponent, selector: "axp-report-categories-tree", outputs: ["categoryClick", "reportClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
580
+ }
581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportRunnerRootPageComponent, decorators: [{
582
+ type: Component,
583
+ args: [{ standalone: true, imports: [
584
+ CommonModule,
585
+ FormsModule,
586
+ RouterModule,
587
+ //
588
+ AXSearchBoxModule,
589
+ AXDecoratorModule,
590
+ AXBreadcrumbsModule,
591
+ AXTranslationModule,
592
+ AXButtonModule,
593
+ AXTabsModule,
594
+ AXBadgeModule,
595
+ AXLoadingModule,
596
+ AXDropdownButtonModule,
597
+ //
598
+ AXPPageLayoutComponent,
599
+ AXPThemeLayoutBlockComponent,
600
+ AXPThemeLayoutToolbarComponent,
601
+ AXPThemeLayoutHeaderComponent,
602
+ AXPThemeLayoutStartSideComponent,
603
+ //
604
+ AXPDynamicFormComponent,
605
+ AXPReportCategoriesTreeComponent,
606
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
607
+ AXUnsubscriber,
608
+ AXPReportRunnerRootViewModel,
609
+ {
610
+ provide: AXPPageLayoutBase,
611
+ useExisting: AXMReportRunnerRootPageComponent,
612
+ },
613
+ ], host: { class: 'axp-report-runner-root-page' }, template: "<axp-page-layout *translate=\"let t\">\n @if (vm.showSideMenu()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ t('@report-management:features.report-runner.menu-title') | async }}</axp-layout-title>\n <axp-layout-toolbar>\n <ax-search-box\n [delayTime]=\"300\"\n [ngModel]=\"vm.searchExpression()\"\n (onValueChanged)=\"vm.search($event.value)\"\n [placeholder]=\"t('search.placeholder') | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </axp-layout-toolbar>\n </axp-layout-header>\n <axp-layout-content>\n <axp-report-categories-tree (categoryClick)=\"onCategoryClick($event)\" (reportClick)=\"onReportClick($event)\" />\n </axp-layout-content>\n </axp-layout-start-side>\n }\n\n <axp-page-content>\n @if (vm.showSideMenu()) {\n <!-- Desktop: Show parameters view when report is selected, or grid browser when no report -->\n @if (vm.hasActiveReport()) {\n <div class=\"__parameters-view\">\n <axp-dynamic-form\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.context()\"\n [layoutConfig]=\"defaultLayout()\"\n (contextChange)=\"handleContextChanged($event)\"\n (contextInitiated)=\"handleContextInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"browser\"> </ng-container>\n }\n } @else {\n <!-- Mobile: Show parameters view when report is selected, or mobile browser for navigation -->\n @if (vm.hasActiveReport()) {\n <div class=\"__parameters-view\">\n <axp-dynamic-form\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.context()\"\n [layoutConfig]=\"defaultLayout()\"\n (contextChange)=\"handleContextChanged($event)\"\n (contextInitiated)=\"handleContextInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"browser\"> </ng-container>\n }\n }\n </axp-page-content>\n\n <!-- Desktop: Grid-based browser for main content when no report selected -->\n <ng-template #browser>\n <div class=\"__reports-browser __desktop\">\n @if (vm.categories().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">Categories</h3>\n <div class=\"__items-grid\">\n @for (category of vm.categories(); track category.id) {\n <div class=\"__item __category\" (click)=\"navigateToCategory(category)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-folder\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ category.title }}</div>\n @if (category.description) {\n <div class=\"__item-description\">{{ category.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.reports().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">Reports</h3>\n <div class=\"__items-grid\">\n @for (report of vm.reports(); track report.id) {\n <div class=\"__item __report\" (click)=\"navigateToReport(report)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-file-chart-column\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ report.title }}</div>\n @if (report.description) {\n <div class=\"__item-description\">{{ report.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\n <div class=\"__empty-state\">\n <div class=\"__empty-icon\">\n <ax-icon class=\"fa-light fa-folder-open\"></ax-icon>\n </div>\n <div class=\"__empty-content\">\n <h4>No items found</h4>\n <p>There are no categories or reports available in this location.</p>\n </div>\n </div>\n }\n </div>\n </ng-template>\n\n @if (vm.hasActiveReport()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n [disabled]=\"vm.isBusy() || vm.isRunning()\"\n [text]=\"t('run') | async\"\n (onClick)=\"vm.run()\"\n [color]=\"'secondary'\"\n >\n @if (vm.isRunning()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: [".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser.__mobile{padding:1rem}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}.axp-report-runner-root-page .__reports-browser.__mobile .__mobile-search{margin-bottom:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item{padding:.75rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item .__item-icon{height:2rem;width:2rem;font-size:1rem;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item .__item-content .__item-title{font-size:1rem;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser.__mobile .__section .__items-grid .__item .__item-content .__item-description{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.75rem;line-height:1rem}.axp-report-runner-root-page .__reports-browser .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4rem;padding-bottom:4rem;text-align:center}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;opacity:.5}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content h4{margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content p{max-width:28rem;opacity:74%;display:block;font-size:1rem;font-weight:400;line-height:1.625rem}\n"] }]
614
+ }] });
615
+
616
+ export { AXMReportRunnerRootPageComponent };
617
+ //# sourceMappingURL=acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map