@acorex/modules 20.0.8 → 20.0.10

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 (197) hide show
  1. package/common/index.d.ts +1 -0
  2. package/conversation/index.d.ts +4 -1
  3. package/data-management/README.md +3 -0
  4. package/data-management/index.d.ts +101 -0
  5. package/fesm2022/{acorex-modules-application-management-module-designer.component-BErRgx0w.mjs → acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs} +7 -7
  6. package/fesm2022/{acorex-modules-application-management-module-designer.component-BErRgx0w.mjs.map → acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map} +1 -1
  7. package/fesm2022/acorex-modules-application-management.mjs +41 -41
  8. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  9. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs → acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs} +44 -44
  10. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs → acorex-modules-auth-app-chooser.component-D0pKNUts.mjs} +5 -5
  12. package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map → acorex-modules-auth-app-chooser.component-D0pKNUts.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-blank.layout-D2qSgxTy.mjs → acorex-modules-auth-blank.layout-BwVSMaFI.mjs} +4 -4
  14. package/fesm2022/{acorex-modules-auth-blank.layout-D2qSgxTy.mjs.map → acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs → acorex-modules-auth-login.module-Dky49ylL.mjs} +8 -8
  16. package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs.map → acorex-modules-auth-login.module-Dky49ylL.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs → acorex-modules-auth-master.layout-DXfRjCLL.mjs} +5 -5
  18. package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs.map → acorex-modules-auth-master.layout-DXfRjCLL.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs → acorex-modules-auth-password.component-BbsQWpEh.mjs} +5 -5
  20. package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs.map → acorex-modules-auth-password.component-BbsQWpEh.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs → acorex-modules-auth-password.component-oH5OFHqQ.mjs} +5 -5
  22. package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs.map → acorex-modules-auth-password.component-oH5OFHqQ.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs → acorex-modules-auth-routes-DAiaTm4Y.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs.map → acorex-modules-auth-routes-DAiaTm4Y.mjs.map} +1 -1
  25. package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -1
  26. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs → acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs} +4 -4
  27. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs.map → acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs → acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs} +4 -4
  29. package/fesm2022/{acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs.map → acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs → acorex-modules-auth-two-factor.module-Coe4NNUW.mjs} +7 -7
  31. package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs.map → acorex-modules-auth-two-factor.module-Coe4NNUW.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs → acorex-modules-auth-user-sessions.component-CtTrstZT.mjs} +5 -5
  33. package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map → acorex-modules-auth-user-sessions.component-CtTrstZT.mjs.map} +1 -1
  34. package/fesm2022/acorex-modules-auth.mjs +1 -1
  35. package/fesm2022/{acorex-modules-common-search-popup.component-CCKiQx0U.mjs → acorex-modules-common-search-popup.component-CNh7TFpe.mjs} +4 -4
  36. package/fesm2022/{acorex-modules-common-search-popup.component-CCKiQx0U.mjs.map → acorex-modules-common-search-popup.component-CNh7TFpe.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs → acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs} +4 -4
  38. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs.map → acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-common.mjs +53 -49
  40. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  41. package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +1 -1
  42. package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +1 -1
  43. package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +1 -1
  44. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +1 -1
  45. package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +1 -1
  46. package/fesm2022/acorex-modules-contact-management.mjs +31 -31
  47. package/fesm2022/acorex-modules-contact-management.mjs.map +1 -1
  48. package/fesm2022/acorex-modules-content-management.mjs +15 -14
  49. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  50. package/fesm2022/acorex-modules-conversation.mjs +58 -50
  51. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  52. package/fesm2022/acorex-modules-dashboard-management.mjs +74 -74
  53. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  54. package/fesm2022/acorex-modules-data-management.mjs +2328 -0
  55. package/fesm2022/acorex-modules-data-management.mjs.map +1 -0
  56. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs → acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs} +111 -111
  57. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs.map → acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs → acorex-modules-document-management-attachment-widget.component-Cc-hsCCX.mjs} +5 -5
  59. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs.map → acorex-modules-document-management-attachment-widget.component-Cc-hsCCX.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs → acorex-modules-document-management-create-folder-dialog.component-CMhwz1-0.mjs} +5 -5
  61. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs.map → acorex-modules-document-management-create-folder-dialog.component-CMhwz1-0.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-document-management-details-view.component-Co5F8eWp.mjs → acorex-modules-document-management-details-view.component-CqK0rCnR.mjs} +5 -5
  63. package/fesm2022/{acorex-modules-document-management-details-view.component-Co5F8eWp.mjs.map → acorex-modules-document-management-details-view.component-CqK0rCnR.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs → acorex-modules-document-management-drive-choose.component-r8KKbY1d.mjs} +5 -5
  65. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs.map → acorex-modules-document-management-drive-choose.component-r8KKbY1d.mjs.map} +1 -1
  66. package/fesm2022/{acorex-modules-document-management-drive.component-jGs09Jrd.mjs → acorex-modules-document-management-drive.component-0wxNHSJr.mjs} +8 -8
  67. package/fesm2022/{acorex-modules-document-management-drive.component-jGs09Jrd.mjs.map → acorex-modules-document-management-drive.component-0wxNHSJr.mjs.map} +1 -1
  68. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs → acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs} +5 -5
  69. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map → acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs → acorex-modules-document-management-large-tiles-view.component-Ce9h5m2O.mjs} +5 -5
  71. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs.map → acorex-modules-document-management-large-tiles-view.component-Ce9h5m2O.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs → acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs} +4 -4
  73. package/fesm2022/{acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs.map → acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-document-management-list-view.component-D4DbyB6W.mjs → acorex-modules-document-management-list-view.component-DZKdXqAA.mjs} +5 -5
  75. package/fesm2022/{acorex-modules-document-management-list-view.component-D4DbyB6W.mjs.map → acorex-modules-document-management-list-view.component-DZKdXqAA.mjs.map} +1 -1
  76. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs → acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs} +4 -4
  77. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs.map → acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map} +1 -1
  78. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs → acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs} +4 -4
  79. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs} +4 -4
  81. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map} +1 -1
  82. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs → acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs} +4 -4
  83. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs.map} +1 -1
  84. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs → acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs} +2 -2
  85. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs.map → acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs → acorex-modules-document-management-rename-node-dialog.component-CMmT_vVe.mjs} +5 -5
  87. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CMmT_vVe.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs → acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs} +4 -4
  89. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs.map → acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map} +1 -1
  90. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs → acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs} +4 -4
  91. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs.map → acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs.map} +1 -1
  92. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs → acorex-modules-document-management-small-icons-view.component-DI7c4jHZ.mjs} +5 -5
  93. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs.map → acorex-modules-document-management-small-icons-view.component-DI7c4jHZ.mjs.map} +1 -1
  94. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs → acorex-modules-document-management-small-tiles-view.component-BYJfNu6O.mjs} +5 -5
  95. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs.map → acorex-modules-document-management-small-tiles-view.component-BYJfNu6O.mjs.map} +1 -1
  96. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  97. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs} +56 -56
  98. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-form-template-management-category.entity-B3iAtREq.mjs → acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs} +2 -2
  100. package/fesm2022/{acorex-modules-form-template-management-category.entity-B3iAtREq.mjs.map → acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs → acorex-modules-form-template-management-designer.page-B14QVCAw.mjs} +4 -4
  102. package/fesm2022/{acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs.map → acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map} +1 -1
  103. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs → acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs} +2 -2
  104. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs.map} +1 -1
  105. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs → acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs} +2 -2
  106. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs.map → acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map} +1 -1
  107. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs → acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs} +4 -4
  108. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs.map → acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map} +1 -1
  109. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs → acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs} +5 -5
  110. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map} +1 -1
  111. package/fesm2022/{acorex-modules-form-template-management-template.entity-BGsixiEI.mjs → acorex-modules-form-template-management-template.entity-DTx9CejD.mjs} +2 -2
  112. package/fesm2022/{acorex-modules-form-template-management-template.entity-BGsixiEI.mjs.map → acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map} +1 -1
  113. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs → acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs} +5 -5
  114. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs.map → acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map} +1 -1
  115. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  116. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs → acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs} +712 -644
  117. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs.map +1 -0
  118. package/fesm2022/acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs +28 -0
  119. package/fesm2022/acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs.map +1 -0
  120. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  121. package/fesm2022/acorex-modules-log-management.mjs +10 -10
  122. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  123. package/fesm2022/acorex-modules-notification-management.mjs +35 -35
  124. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  125. package/fesm2022/{acorex-modules-organization-management-add-item.component-D99TugmE.mjs → acorex-modules-organization-management-add-item.component-Br70YGJS.mjs} +4 -4
  126. package/fesm2022/{acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map → acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map} +1 -1
  127. package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +1 -1
  128. package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +1 -1
  129. package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +1 -1
  130. package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +1 -1
  131. package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +1 -1
  132. package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +1 -1
  133. package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +1 -1
  134. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs → acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs} +5 -5
  135. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map} +1 -1
  136. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs → acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs} +4 -4
  137. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map} +1 -1
  138. package/fesm2022/{acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs → acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs} +12 -12
  139. package/fesm2022/{acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs.map → acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map} +1 -1
  140. package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +1 -1
  141. package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +1 -1
  142. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +1 -1
  143. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +1 -1
  144. package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +1 -1
  145. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
  146. package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
  147. package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +1 -1
  148. package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +1 -1
  149. package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +1 -1
  150. package/fesm2022/acorex-modules-organization-management.mjs +125 -122
  151. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  152. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs → acorex-modules-platform-management-acorex-modules-platform-management-TWTBqgn6.mjs} +107 -104
  153. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-TWTBqgn6.mjs.map} +1 -1
  154. package/fesm2022/{acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs → acorex-modules-platform-management-list-version.component-DQ3Gp9kl.mjs} +5 -5
  155. package/fesm2022/{acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs.map → acorex-modules-platform-management-list-version.component-DQ3Gp9kl.mjs.map} +1 -1
  156. package/fesm2022/{acorex-modules-platform-management-settings.provider--ARXqBUY.mjs → acorex-modules-platform-management-settings.provider-FXMK1_44.mjs} +2 -2
  157. package/fesm2022/{acorex-modules-platform-management-settings.provider--ARXqBUY.mjs.map → acorex-modules-platform-management-settings.provider-FXMK1_44.mjs.map} +1 -1
  158. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  159. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  160. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  161. package/fesm2022/{acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs → acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs} +4 -4
  162. package/fesm2022/{acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs.map → acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs.map} +1 -1
  163. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs → acorex-modules-report-management-report-runner-root-page.component-CAxcD_pe.mjs} +22 -22
  164. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CAxcD_pe.mjs.map +1 -0
  165. package/fesm2022/{acorex-modules-report-management-run.command-CoXvPC15.mjs → acorex-modules-report-management-run.command-DHPmdkSZ.mjs} +4 -4
  166. package/fesm2022/{acorex-modules-report-management-run.command-CoXvPC15.mjs.map → acorex-modules-report-management-run.command-DHPmdkSZ.mjs.map} +1 -1
  167. package/fesm2022/acorex-modules-report-management.mjs +186 -27
  168. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  169. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  170. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  171. package/fesm2022/acorex-modules-security-management.mjs +63 -63
  172. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  173. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs → acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs} +4 -4
  174. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs.map → acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map} +1 -1
  175. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs → acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs} +4 -4
  176. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs.map → acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map} +1 -1
  177. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  178. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  179. package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -1
  180. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  181. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  182. package/fesm2022/acorex-modules-training-management.mjs +43 -43
  183. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  184. package/fesm2022/acorex-modules-workflow-management-task-board.page-Dp7SJ3NA.mjs +876 -0
  185. package/fesm2022/acorex-modules-workflow-management-task-board.page-Dp7SJ3NA.mjs.map +1 -0
  186. package/fesm2022/acorex-modules-workflow-management.mjs +19 -12
  187. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  188. package/issue-management/index.d.ts +63 -5
  189. package/package.json +9 -5
  190. package/workflow-management/index.d.ts +1 -0
  191. package/fesm2022/acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map +0 -1
  192. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map +0 -1
  193. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs +0 -28
  194. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs.map +0 -1
  195. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map +0 -1
  196. package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs +0 -762
  197. package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map +0 -1
@@ -1,14 +1,17 @@
1
- import { createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPRefreshEvent, AXPFileStorageService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
1
+ import { createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPRefreshEvent, AXPFileStorageService, AXPExportService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
2
2
  import * as i11 from '@acorex/platform/layout/builder';
3
3
  import { AXPWidgetsCatalog, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
4
4
  import { AXMEntityCrudServiceImpl, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, inject, Injector, ApplicationRef, ViewContainerRef, computed, ViewChild, Component, NgModule } from '@angular/core';
6
+ import { Injectable, inject, Injector, computed, ApplicationRef, ViewContainerRef, ViewChild, Component, ViewEncapsulation, NgModule } from '@angular/core';
7
+ import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
8
+ import * as i2$2 from '@acorex/platform/layout/components';
9
+ import { AXPComponentSlotModule } from '@acorex/platform/layout/components';
7
10
  import * as i1$1 from '@acorex/platform/workflow';
8
11
  import { AXPWorkflowEventService, AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
9
- import * as i10 from '@acorex/components/button';
10
- import { AXButtonModule } from '@acorex/components/button';
11
12
  import { AXDataSource } from '@acorex/cdk/common';
13
+ import * as i2$1 from '@acorex/components/button';
14
+ import { AXButtonModule } from '@acorex/components/button';
12
15
  import * as i3$1 from '@acorex/components/decorators';
13
16
  import { AXDecoratorModule } from '@acorex/components/decorators';
14
17
  import * as i4 from '@acorex/components/form';
@@ -33,10 +36,10 @@ import * as i2 from '@angular/forms';
33
36
  import { FormsModule } from '@angular/forms';
34
37
  import { AXPopupService } from '@acorex/components/popup';
35
38
  import { AXPDataGenerator } from '@acorex/platform/core';
36
- import { signalStore, withState, withMethods, patchState, withComputed } from '@ngrx/signals';
37
39
  import { AXToastService } from '@acorex/components/toast';
38
40
  import html2canvas from 'html2canvas';
39
41
  import { Subject, take } from 'rxjs';
42
+ import { AXCheckBoxModule } from '@acorex/components/check-box';
40
43
 
41
44
  const config = {
42
45
  i18n: 'issue-management',
@@ -83,10 +86,10 @@ class AXMIssueTypeServiceImpl extends AXMIssueTypeService {
83
86
  constructor() {
84
87
  super(`${RootConfig.module.name}.${RootConfig.entities.issueType.name}`);
85
88
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueTypeServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueTypeServiceImpl }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueTypeServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
90
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueTypeServiceImpl }); }
88
91
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueTypeServiceImpl, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueTypeServiceImpl, decorators: [{
90
93
  type: Injectable
91
94
  }], ctorParameters: () => [] });
92
95
 
@@ -370,10 +373,10 @@ class AXMReportedIssuesServiceImpl extends AXMReportedIssuesService {
370
373
  constructor() {
371
374
  super(`${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`);
372
375
  }
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportedIssuesServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
374
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportedIssuesServiceImpl }); }
376
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMReportedIssuesServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
377
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMReportedIssuesServiceImpl }); }
375
378
  }
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportedIssuesServiceImpl, decorators: [{
379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMReportedIssuesServiceImpl, decorators: [{
377
380
  type: Injectable
378
381
  }], ctorParameters: () => [] });
379
382
 
@@ -381,6 +384,7 @@ async function reportedIssuesEntityFactory(injector) {
381
384
  const dataService = injector.get(AXMReportedIssuesService);
382
385
  const i18n = RootConfig.config.i18n;
383
386
  const entityName = 'reported-issues';
387
+ const i18nName = 'reported-issues-list';
384
388
  const entityDef = {
385
389
  module: RootConfig.module.name,
386
390
  name: RootConfig.entities.reportedIssues.name,
@@ -398,15 +402,19 @@ async function reportedIssuesEntityFactory(injector) {
398
402
  groups: [
399
403
  {
400
404
  id: 'main',
401
- title: `t("${entityName}.main-section", { scope: "${i18n}" })`,
405
+ title: `t("${i18nName}.main-section", { scope: "${i18n}" })`,
402
406
  },
403
407
  {
404
408
  id: 'details',
405
- title: `t("${entityName}.details-section", { scope: "${i18n}" })`,
409
+ title: `t("${i18nName}.details-section", { scope: "${i18n}" })`,
406
410
  },
407
411
  {
408
412
  id: 'system',
409
- title: `t("${entityName}.system-section", { scope: "${i18n}" })`,
413
+ title: `t("${i18nName}.system-section", { scope: "${i18n}" })`,
414
+ },
415
+ {
416
+ id: 'comments',
417
+ title: `t("${i18nName}.comments-section", { scope: "${i18n}" })`,
410
418
  },
411
419
  ],
412
420
  properties: [
@@ -424,8 +432,8 @@ async function reportedIssuesEntityFactory(injector) {
424
432
  },
425
433
  },
426
434
  {
427
- name: 'user',
428
- title: `t("${entityName}.user", { scope: "${i18n}" })`,
435
+ name: 'title',
436
+ title: `t("${i18nName}.title", { scope: "${i18n}" })`,
429
437
  groupId: 'main',
430
438
  options: {
431
439
  sort: {
@@ -441,13 +449,9 @@ async function reportedIssuesEntityFactory(injector) {
441
449
  },
442
450
  },
443
451
  schema: {
444
- dataType: 'object',
452
+ dataType: 'string',
445
453
  interface: {
446
- type: AXPWidgetsCatalog.lookup,
447
- options: {
448
- entityName: 'users',
449
- // textField: 'fullName',
450
- },
454
+ type: AXPWidgetsCatalog.text,
451
455
  },
452
456
  },
453
457
  validations: [
@@ -457,8 +461,8 @@ async function reportedIssuesEntityFactory(injector) {
457
461
  ],
458
462
  },
459
463
  {
460
- name: 'issueType',
461
- title: `t("${entityName}.issue-type", { scope: "${i18n}" })`,
464
+ name: 'user',
465
+ title: `t("${i18nName}.user", { scope: "${i18n}" })`,
462
466
  groupId: 'main',
463
467
  options: {
464
468
  sort: {
@@ -474,13 +478,12 @@ async function reportedIssuesEntityFactory(injector) {
474
478
  },
475
479
  },
476
480
  schema: {
477
- dataType: 'string',
481
+ dataType: 'object',
478
482
  interface: {
479
483
  type: AXPWidgetsCatalog.lookup,
480
484
  options: {
481
- entityName: 'issueType',
482
- // displayField: 'title',
483
- // valueField: 'id',
485
+ entityName: 'users',
486
+ // textField: 'fullName',
484
487
  },
485
488
  },
486
489
  },
@@ -491,8 +494,8 @@ async function reportedIssuesEntityFactory(injector) {
491
494
  ],
492
495
  },
493
496
  {
494
- name: 'priority',
495
- title: `t("${entityName}.priority", { scope: "${i18n}" })`,
497
+ name: 'issueType',
498
+ title: `t("${i18nName}.issue-type", { scope: "${i18n}" })`,
496
499
  groupId: 'main',
497
500
  options: {
498
501
  sort: {
@@ -510,14 +513,11 @@ async function reportedIssuesEntityFactory(injector) {
510
513
  schema: {
511
514
  dataType: 'string',
512
515
  interface: {
513
- type: AXPWidgetsCatalog.select,
516
+ type: AXPWidgetsCatalog.lookup,
514
517
  options: {
515
- items: [
516
- { title: 'Low', id: 1 },
517
- { title: 'Medium', id: 2 },
518
- { title: 'High', id: 3 },
519
- { title: 'Critical', id: 4 },
520
- ],
518
+ entityName: 'issueType',
519
+ // displayField: 'title',
520
+ // valueField: 'id',
521
521
  },
522
522
  },
523
523
  },
@@ -528,8 +528,8 @@ async function reportedIssuesEntityFactory(injector) {
528
528
  ],
529
529
  },
530
530
  {
531
- name: 'status',
532
- title: `t("${entityName}.status", { scope: "${i18n}" })`,
531
+ name: 'priority',
532
+ title: `t("${i18nName}.priority", { scope: "${i18n}" })`,
533
533
  groupId: 'main',
534
534
  options: {
535
535
  sort: {
@@ -550,11 +550,10 @@ async function reportedIssuesEntityFactory(injector) {
550
550
  type: AXPWidgetsCatalog.select,
551
551
  options: {
552
552
  items: [
553
- { value: 'new', title: 'New' },
554
- { value: 'in-progress', title: 'In Progress' },
555
- { value: 'pending', title: 'Pending' },
556
- { value: 'resolved', title: 'Resolved' },
557
- { value: 'closed', title: 'Closed' },
553
+ { title: 'Low', id: 1 },
554
+ { title: 'Medium', id: 2 },
555
+ { title: 'High', id: 3 },
556
+ { title: 'Critical', id: 4 },
558
557
  ],
559
558
  },
560
559
  },
@@ -566,8 +565,8 @@ async function reportedIssuesEntityFactory(injector) {
566
565
  ],
567
566
  },
568
567
  {
569
- name: 'title',
570
- title: `t("${entityName}.title", { scope: "${i18n}" })`,
568
+ name: 'status',
569
+ title: `t("${i18nName}.status", { scope: "${i18n}" })`,
571
570
  groupId: 'main',
572
571
  options: {
573
572
  sort: {
@@ -585,7 +584,16 @@ async function reportedIssuesEntityFactory(injector) {
585
584
  schema: {
586
585
  dataType: 'string',
587
586
  interface: {
588
- type: AXPWidgetsCatalog.text,
587
+ type: AXPWidgetsCatalog.select,
588
+ options: {
589
+ items: [
590
+ { value: 'new', title: 'New' },
591
+ { value: 'in-progress', title: 'In Progress' },
592
+ { value: 'pending', title: 'Pending' },
593
+ { value: 'resolved', title: 'Resolved' },
594
+ { value: 'closed', title: 'Closed' },
595
+ ],
596
+ },
589
597
  },
590
598
  },
591
599
  validations: [
@@ -596,7 +604,7 @@ async function reportedIssuesEntityFactory(injector) {
596
604
  },
597
605
  {
598
606
  name: 'description',
599
- title: `t("${entityName}.description", { scope: "${i18n}" })`,
607
+ title: `t("${i18nName}.description", { scope: "${i18n}" })`,
600
608
  groupId: 'details',
601
609
  options: {
602
610
  sort: {
@@ -628,7 +636,7 @@ async function reportedIssuesEntityFactory(injector) {
628
636
  },
629
637
  {
630
638
  name: 'attachments',
631
- title: `t("${entityName}.attachments", { scope: "${i18n}" })`,
639
+ title: `t("${i18nName}.attachments", { scope: "${i18n}" })`,
632
640
  groupId: 'details',
633
641
  options: {
634
642
  sort: {
@@ -658,7 +666,7 @@ async function reportedIssuesEntityFactory(injector) {
658
666
  },
659
667
  {
660
668
  name: 'systemInfo',
661
- title: `t("${entityName}.system-info", { scope: "${i18n}" })`,
669
+ title: `t("${i18nName}.system-info", { scope: "${i18n}" })`,
662
670
  groupId: 'system',
663
671
  options: {
664
672
  sort: {
@@ -689,17 +697,45 @@ async function reportedIssuesEntityFactory(injector) {
689
697
  },
690
698
  },
691
699
  },
700
+ // {
701
+ // name: 'errorLogs',
702
+ // title: `t("${i18nName}.error-logs", { scope: "${i18n}" })`,
703
+ // groupId: 'system',
704
+ // options: {
705
+ // sort: {
706
+ // enabled: false,
707
+ // },
708
+ // filter: {
709
+ // advance: {
710
+ // enabled: false,
711
+ // },
712
+ // inline: {
713
+ // enabled: false,
714
+ // },
715
+ // },
716
+ // },
717
+ // schema: {
718
+ // dataType: 'string',
719
+ // interface: {
720
+ // type: AXPWidgetsCatalog.largeText,
721
+ // options: {
722
+ // rows: 8,
723
+ // readonly: true,
724
+ // },
725
+ // },
726
+ // },
727
+ // },
692
728
  {
693
- name: 'errorLogs',
694
- title: `t("${entityName}.error-logs", { scope: "${i18n}" })`,
729
+ name: 'createdAt',
730
+ title: `t("${i18nName}.created-at", { scope: "${i18n}" })`,
695
731
  groupId: 'system',
696
732
  options: {
697
733
  sort: {
698
- enabled: false,
734
+ enabled: true,
699
735
  },
700
736
  filter: {
701
737
  advance: {
702
- enabled: false,
738
+ enabled: true,
703
739
  },
704
740
  inline: {
705
741
  enabled: false,
@@ -707,27 +743,26 @@ async function reportedIssuesEntityFactory(injector) {
707
743
  },
708
744
  },
709
745
  schema: {
710
- dataType: 'string',
746
+ dataType: 'date',
711
747
  interface: {
712
- type: AXPWidgetsCatalog.largeText,
748
+ type: AXPWidgetsCatalog.dateTime,
713
749
  options: {
714
- rows: 8,
715
750
  readonly: true,
716
751
  },
717
752
  },
718
753
  },
719
754
  },
720
755
  {
721
- name: 'createdAt',
722
- title: `t("${entityName}.created-at", { scope: "${i18n}" })`,
723
- groupId: 'system',
756
+ name: 'comments',
757
+ title: ``,
758
+ groupId: 'comments',
724
759
  options: {
725
760
  sort: {
726
- enabled: true,
761
+ enabled: false,
727
762
  },
728
763
  filter: {
729
764
  advance: {
730
- enabled: true,
765
+ enabled: false,
731
766
  },
732
767
  inline: {
733
768
  enabled: false,
@@ -735,45 +770,27 @@ async function reportedIssuesEntityFactory(injector) {
735
770
  },
736
771
  },
737
772
  schema: {
738
- dataType: 'date',
773
+ dataType: 'object',
739
774
  interface: {
740
- type: AXPWidgetsCatalog.dateTime,
775
+ type: AXPWidgetsCatalog.comment,
741
776
  options: {
742
- readonly: true,
777
+ refrenceType: 'reported-issues',
778
+ refrenceId: '{{context.eval("id")}}',
779
+ subject: '{{context.eval("title")}}',
743
780
  },
744
781
  },
745
782
  },
746
783
  },
747
784
  ],
748
785
  columns: [
786
+ { name: 'title' },
749
787
  { name: 'user' },
750
788
  { name: 'issueType' },
751
789
  { name: 'priority' },
752
790
  { name: 'status' },
753
- { name: 'title' },
754
791
  { name: 'description' },
755
792
  { name: 'createdAt' },
756
793
  ],
757
- // commands: {
758
- // create: {
759
- // execute: async (data: any) => {
760
- // data.createdAt = new Date();
761
- // data.status = 'new';
762
- // const res = await dataService.insertOne(data);
763
- // return { id: res };
764
- // },
765
- // },--
766
- // delete: {
767
- // execute: async (id: any) => {
768
- // return await dataService.deleteOne(id);
769
- // },
770
- // },
771
- // update: {
772
- // execute: async (data: any) => {
773
- // return await dataService.updateOne(data.id, data);
774
- // },
775
- // },
776
- // },
777
794
  queries: {
778
795
  byKey: {
779
796
  execute: async (id) => {
@@ -783,6 +800,7 @@ async function reportedIssuesEntityFactory(injector) {
783
800
  },
784
801
  list: {
785
802
  execute: async (e) => {
803
+ console.log(await dataService.query({ skip: e.skip, take: e.take, filter: e.filter }));
786
804
  return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
787
805
  },
788
806
  type: AXPEntityQueryType.List,
@@ -790,245 +808,6 @@ async function reportedIssuesEntityFactory(injector) {
790
808
  },
791
809
  interfaces: {
792
810
  master: {
793
- // create: {
794
- // sections: [
795
- // {
796
- // id: 'main',
797
- // },
798
- // {
799
- // id: 'details',
800
- // },
801
- // {
802
- // id: 'system',
803
- // },
804
- // ],
805
- // properties: [
806
- // {
807
- // name: 'user',
808
- // layout: {
809
- // positions: {
810
- // lg: {
811
- // colSpan: 6,
812
- // order: 1,
813
- // },
814
- // },
815
- // },
816
- // },
817
- // {
818
- // name: 'issueType',
819
- // layout: {
820
- // positions: {
821
- // lg: {
822
- // colSpan: 6,
823
- // order: 2,
824
- // },
825
- // },
826
- // },
827
- // },
828
- // {
829
- // name: 'priority',
830
- // layout: {
831
- // positions: {
832
- // lg: {
833
- // colSpan: 6,
834
- // order: 3,
835
- // },
836
- // },
837
- // },
838
- // },
839
- // {
840
- // name: 'status',
841
- // layout: {
842
- // positions: {
843
- // lg: {
844
- // colSpan: 6,
845
- // order: 4,
846
- // },
847
- // },
848
- // },
849
- // },
850
- // {
851
- // name: 'title',
852
- // layout: {
853
- // positions: {
854
- // lg: {
855
- // colSpan: 12,
856
- // order: 5,
857
- // },
858
- // },
859
- // },
860
- // },
861
- // {
862
- // name: 'description',
863
- // layout: {
864
- // positions: {
865
- // lg: {
866
- // colSpan: 12,
867
- // order: 6,
868
- // },
869
- // },
870
- // },
871
- // },
872
- // {
873
- // name: 'attachments',
874
- // layout: {
875
- // positions: {
876
- // lg: {
877
- // colSpan: 12,
878
- // order: 7,
879
- // },
880
- // },
881
- // },
882
- // },
883
- // {
884
- // name: 'systemInfo',
885
- // layout: {
886
- // positions: {
887
- // lg: {
888
- // colSpan: 12,
889
- // order: 8,
890
- // },
891
- // },
892
- // },
893
- // },
894
- // {
895
- // name: 'errorLogs',
896
- // layout: {
897
- // positions: {
898
- // lg: {
899
- // colSpan: 12,
900
- // order: 9,
901
- // },
902
- // },
903
- // },
904
- // },
905
- // ],
906
- // },
907
- // update: {
908
- // sections: [
909
- // {
910
- // id: 'main',
911
- // },
912
- // {
913
- // id: 'details',
914
- // },
915
- // {
916
- // id: 'system',
917
- // },
918
- // ],
919
- // properties: [
920
- // {
921
- // name: 'user',
922
- // layout: {
923
- // positions: {
924
- // lg: {
925
- // colSpan: 6,
926
- // order: 1,
927
- // },
928
- // },
929
- // },
930
- // },
931
- // {
932
- // name: 'issueType',
933
- // layout: {
934
- // positions: {
935
- // lg: {
936
- // colSpan: 6,
937
- // order: 2,
938
- // },
939
- // },
940
- // },
941
- // },
942
- // {
943
- // name: 'priority',
944
- // layout: {
945
- // positions: {
946
- // lg: {
947
- // colSpan: 6,
948
- // order: 3,
949
- // },
950
- // },
951
- // },
952
- // },
953
- // {
954
- // name: 'status',
955
- // layout: {
956
- // positions: {
957
- // lg: {
958
- // colSpan: 6,
959
- // order: 4,
960
- // },
961
- // },
962
- // },
963
- // },
964
- // {
965
- // name: 'title',
966
- // layout: {
967
- // positions: {
968
- // lg: {
969
- // colSpan: 12,
970
- // order: 5,
971
- // },
972
- // },
973
- // },
974
- // },
975
- // {
976
- // name: 'description',
977
- // layout: {
978
- // positions: {
979
- // lg: {
980
- // colSpan: 12,
981
- // order: 6,
982
- // },
983
- // },
984
- // },
985
- // },
986
- // {
987
- // name: 'attachments',
988
- // layout: {
989
- // positions: {
990
- // lg: {
991
- // colSpan: 12,
992
- // order: 7,
993
- // },
994
- // },
995
- // },
996
- // },
997
- // {
998
- // name: 'systemInfo',
999
- // layout: {
1000
- // positions: {
1001
- // lg: {
1002
- // colSpan: 12,
1003
- // order: 8,
1004
- // },
1005
- // },
1006
- // },
1007
- // },
1008
- // {
1009
- // name: 'errorLogs',
1010
- // layout: {
1011
- // positions: {
1012
- // lg: {
1013
- // colSpan: 12,
1014
- // order: 9,
1015
- // },
1016
- // },
1017
- // },
1018
- // },
1019
- // {
1020
- // name: 'createdAt',
1021
- // layout: {
1022
- // positions: {
1023
- // lg: {
1024
- // colSpan: 6,
1025
- // order: 11,
1026
- // },
1027
- // },
1028
- // },
1029
- // },
1030
- // ],
1031
- // },
1032
811
  single: {
1033
812
  title: '{{title}}',
1034
813
  sections: [
@@ -1041,21 +820,24 @@ async function reportedIssuesEntityFactory(injector) {
1041
820
  {
1042
821
  id: 'system',
1043
822
  },
823
+ {
824
+ id: 'comments',
825
+ },
1044
826
  ],
1045
827
  properties: [
1046
828
  {
1047
- name: 'user',
829
+ name: 'title',
1048
830
  layout: {
1049
831
  positions: {
1050
832
  lg: {
1051
- colSpan: 6,
833
+ colSpan: 12,
1052
834
  order: 1,
1053
835
  },
1054
836
  },
1055
837
  },
1056
838
  },
1057
839
  {
1058
- name: 'issueType',
840
+ name: 'user',
1059
841
  layout: {
1060
842
  positions: {
1061
843
  lg: {
@@ -1066,7 +848,7 @@ async function reportedIssuesEntityFactory(injector) {
1066
848
  },
1067
849
  },
1068
850
  {
1069
- name: 'priority',
851
+ name: 'issueType',
1070
852
  layout: {
1071
853
  positions: {
1072
854
  lg: {
@@ -1077,7 +859,7 @@ async function reportedIssuesEntityFactory(injector) {
1077
859
  },
1078
860
  },
1079
861
  {
1080
- name: 'status',
862
+ name: 'priority',
1081
863
  layout: {
1082
864
  positions: {
1083
865
  lg: {
@@ -1088,11 +870,11 @@ async function reportedIssuesEntityFactory(injector) {
1088
870
  },
1089
871
  },
1090
872
  {
1091
- name: 'title',
873
+ name: 'status',
1092
874
  layout: {
1093
875
  positions: {
1094
876
  lg: {
1095
- colSpan: 12,
877
+ colSpan: 6,
1096
878
  order: 5,
1097
879
  },
1098
880
  },
@@ -1131,47 +913,54 @@ async function reportedIssuesEntityFactory(injector) {
1131
913
  },
1132
914
  },
1133
915
  },
916
+ // {
917
+ // name: 'errorLogs',
918
+ // layout: {
919
+ // positions: {
920
+ // lg: {
921
+ // colSpan: 12,
922
+ // order: 9,
923
+ // },
924
+ // },
925
+ // },
926
+ // },
1134
927
  {
1135
- name: 'errorLogs',
928
+ name: 'createdAt',
1136
929
  layout: {
1137
930
  positions: {
1138
931
  lg: {
1139
- colSpan: 12,
1140
- order: 9,
932
+ colSpan: 6,
933
+ order: 10,
1141
934
  },
1142
935
  },
1143
936
  },
1144
937
  },
1145
938
  {
1146
- name: 'createdAt',
939
+ name: 'comments',
1147
940
  layout: {
1148
941
  positions: {
1149
942
  lg: {
1150
- colSpan: 6,
943
+ colSpan: 12,
1151
944
  order: 11,
1152
945
  },
1153
946
  },
1154
947
  },
1155
948
  },
1156
949
  ],
1157
- actions: [],
950
+ actions: [
951
+ {
952
+ title: `t("download-log", { scope: "${i18n}" })`,
953
+ command: {
954
+ name: 'download-log-file',
955
+ },
956
+ priority: 'primary',
957
+ type: 'print',
958
+ scope: AXPEntityCommandScope.TypeLevel,
959
+ },
960
+ ],
1158
961
  },
1159
962
  list: {
1160
963
  actions: [
1161
- // {
1162
- // title: `t("create", { scope: "common" })`,
1163
- // command: 'create-entity',
1164
- // priority: 'primary',
1165
- // type: 'create',
1166
- // scope: AXPEntityCommandScope.TypeLevel,
1167
- // },
1168
- // {
1169
- // title: 't("deleteItems", { scope: "common" })',
1170
- // command: 'delete-entity',
1171
- // priority: 'primary',
1172
- // type: 'delete',
1173
- // scope: AXPEntityCommandScope.Selected,
1174
- // },
1175
964
  {
1176
965
  title: 't("detail", { scope: "common" })',
1177
966
  command: 'open-entity',
@@ -1179,13 +968,6 @@ async function reportedIssuesEntityFactory(injector) {
1179
968
  type: 'view',
1180
969
  scope: AXPEntityCommandScope.Individual,
1181
970
  },
1182
- // {
1183
- // title: 't("delete", { scope: "common" })',
1184
- // command: 'delete-entity',
1185
- // priority: 'secondary',
1186
- // type: 'delete',
1187
- // scope: AXPEntityCommandScope.Individual,
1188
- // },
1189
971
  ],
1190
972
  views: [
1191
973
  createAllQueryView({
@@ -1205,10 +987,10 @@ class AXMMyReportedIssuesServiceImpl extends AXMMyReportedIssuesService {
1205
987
  constructor() {
1206
988
  super(`${RootConfig.module.name}.${RootConfig.entities.myReportedIssues.name}`);
1207
989
  }
1208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMMyReportedIssuesServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1209
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMMyReportedIssuesServiceImpl }); }
990
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMMyReportedIssuesServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
991
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMMyReportedIssuesServiceImpl }); }
1210
992
  }
1211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMMyReportedIssuesServiceImpl, decorators: [{
993
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMMyReportedIssuesServiceImpl, decorators: [{
1212
994
  type: Injectable
1213
995
  }], ctorParameters: () => [] });
1214
996
 
@@ -1217,6 +999,7 @@ async function myReportedIssuesEntityFactory(injector) {
1217
999
  const reportedIssueDataService = injector.get(AXMReportedIssuesService);
1218
1000
  const i18n = RootConfig.config.i18n;
1219
1001
  const entityName = 'my-reported-issues';
1002
+ const i18nName = 'reported-issues-list';
1220
1003
  const entityDef = {
1221
1004
  module: RootConfig.module.name,
1222
1005
  name: RootConfig.entities.myReportedIssues.name,
@@ -1233,8 +1016,16 @@ async function myReportedIssuesEntityFactory(injector) {
1233
1016
  relatedEntities: [],
1234
1017
  groups: [
1235
1018
  {
1236
- id: 'section',
1237
- title: `t("${entityName}.section-title", { scope: "${i18n}" })`,
1019
+ id: 'main',
1020
+ title: `t("${i18nName}.main-section", { scope: "${i18n}" })`,
1021
+ },
1022
+ {
1023
+ id: 'details',
1024
+ title: `t("${i18nName}.details-section", { scope: "${i18n}" })`,
1025
+ },
1026
+ {
1027
+ id: 'system',
1028
+ title: `t("${i18nName}.system-section", { scope: "${i18n}" })`,
1238
1029
  },
1239
1030
  ],
1240
1031
  properties: [
@@ -1251,10 +1042,72 @@ async function myReportedIssuesEntityFactory(injector) {
1251
1042
  },
1252
1043
  },
1253
1044
  },
1045
+ {
1046
+ name: 'title',
1047
+ title: `t("${i18nName}.title", { scope: "${i18n}" })`,
1048
+ groupId: 'main',
1049
+ options: {
1050
+ sort: {
1051
+ enabled: true,
1052
+ },
1053
+ filter: {
1054
+ advance: {
1055
+ enabled: true,
1056
+ },
1057
+ inline: {
1058
+ enabled: true,
1059
+ },
1060
+ },
1061
+ },
1062
+ schema: {
1063
+ dataType: 'string',
1064
+ interface: {
1065
+ type: AXPWidgetsCatalog.text,
1066
+ },
1067
+ },
1068
+ validations: [
1069
+ {
1070
+ rule: 'required',
1071
+ },
1072
+ ],
1073
+ },
1074
+ {
1075
+ name: 'user',
1076
+ title: `t("${i18nName}.user", { scope: "${i18n}" })`,
1077
+ groupId: 'main',
1078
+ options: {
1079
+ sort: {
1080
+ enabled: true,
1081
+ },
1082
+ filter: {
1083
+ advance: {
1084
+ enabled: true,
1085
+ },
1086
+ inline: {
1087
+ enabled: true,
1088
+ },
1089
+ },
1090
+ },
1091
+ schema: {
1092
+ dataType: 'object',
1093
+ interface: {
1094
+ type: AXPWidgetsCatalog.lookup,
1095
+ options: {
1096
+ entityName: 'users',
1097
+ // textField: 'fullName',
1098
+ },
1099
+ },
1100
+ },
1101
+ validations: [
1102
+ {
1103
+ rule: 'required',
1104
+ },
1105
+ ],
1106
+ },
1254
1107
  {
1255
1108
  name: 'issueType',
1256
- title: `t("${entityName}.issue-type", { scope:"${i18n}" })`,
1257
- groupId: 'section',
1109
+ title: `t("${i18nName}.issue-type", { scope: "${i18n}" })`,
1110
+ groupId: 'main',
1258
1111
  options: {
1259
1112
  sort: {
1260
1113
  enabled: true,
@@ -1274,6 +1127,8 @@ async function myReportedIssuesEntityFactory(injector) {
1274
1127
  type: AXPWidgetsCatalog.lookup,
1275
1128
  options: {
1276
1129
  entityName: 'issueType',
1130
+ // displayField: 'title',
1131
+ // valueField: 'id',
1277
1132
  },
1278
1133
  },
1279
1134
  },
@@ -1285,8 +1140,8 @@ async function myReportedIssuesEntityFactory(injector) {
1285
1140
  },
1286
1141
  {
1287
1142
  name: 'priority',
1288
- title: `t("${entityName}.priority", { scope: "${i18n}" })`,
1289
- groupId: 'section',
1143
+ title: `t("${i18nName}.priority", { scope: "${i18n}" })`,
1144
+ groupId: 'main',
1290
1145
  options: {
1291
1146
  sort: {
1292
1147
  enabled: true,
@@ -1306,9 +1161,10 @@ async function myReportedIssuesEntityFactory(injector) {
1306
1161
  type: AXPWidgetsCatalog.select,
1307
1162
  options: {
1308
1163
  items: [
1309
- { value: 'high', title: 'High' },
1310
- { value: 'medium', title: 'Medium' },
1311
- { value: 'low', title: 'Low' },
1164
+ { title: 'Low', id: 1 },
1165
+ { title: 'Medium', id: 2 },
1166
+ { title: 'High', id: 3 },
1167
+ { title: 'Critical', id: 4 },
1312
1168
  ],
1313
1169
  },
1314
1170
  },
@@ -1320,9 +1176,9 @@ async function myReportedIssuesEntityFactory(injector) {
1320
1176
  ],
1321
1177
  },
1322
1178
  {
1323
- name: 'title',
1324
- title: `t("${entityName}.title", { scope: "${i18n}" })`,
1325
- groupId: 'section',
1179
+ name: 'status',
1180
+ title: `t("${i18nName}.status", { scope: "${i18n}" })`,
1181
+ groupId: 'main',
1326
1182
  options: {
1327
1183
  sort: {
1328
1184
  enabled: true,
@@ -1339,7 +1195,16 @@ async function myReportedIssuesEntityFactory(injector) {
1339
1195
  schema: {
1340
1196
  dataType: 'string',
1341
1197
  interface: {
1342
- type: AXPWidgetsCatalog.text,
1198
+ type: AXPWidgetsCatalog.select,
1199
+ options: {
1200
+ items: [
1201
+ { value: 'new', title: 'New' },
1202
+ { value: 'in-progress', title: 'In Progress' },
1203
+ { value: 'pending', title: 'Pending' },
1204
+ { value: 'resolved', title: 'Resolved' },
1205
+ { value: 'closed', title: 'Closed' },
1206
+ ],
1207
+ },
1343
1208
  },
1344
1209
  },
1345
1210
  validations: [
@@ -1350,8 +1215,8 @@ async function myReportedIssuesEntityFactory(injector) {
1350
1215
  },
1351
1216
  {
1352
1217
  name: 'description',
1353
- title: `t("${entityName}.description", { scope: "${i18n}" })`,
1354
- groupId: 'section',
1218
+ title: `t("${i18nName}.description", { scope: "${i18n}" })`,
1219
+ groupId: 'details',
1355
1220
  options: {
1356
1221
  sort: {
1357
1222
  enabled: false,
@@ -1382,8 +1247,8 @@ async function myReportedIssuesEntityFactory(injector) {
1382
1247
  },
1383
1248
  {
1384
1249
  name: 'attachments',
1385
- title: `t("${entityName}.attachments", { scope: "${i18n}" })`,
1386
- groupId: 'section',
1250
+ title: `t("${i18nName}.attachments", { scope: "${i18n}" })`,
1251
+ groupId: 'details',
1387
1252
  options: {
1388
1253
  sort: {
1389
1254
  enabled: false,
@@ -1403,22 +1268,24 @@ async function myReportedIssuesEntityFactory(injector) {
1403
1268
  type: AXPWidgetsCatalog.fileUploader,
1404
1269
  options: {
1405
1270
  multiple: true,
1271
+ entity: `${RootConfig.module.name}.${RootConfig.entities.myReportedIssues.name}`,
1272
+ record: '{{context.eval("id")}}',
1406
1273
  accept: '*/*',
1407
1274
  },
1408
1275
  },
1409
1276
  },
1410
1277
  },
1411
1278
  {
1412
- name: 'createdAt',
1413
- title: `t("${entityName}.created-at", { scope: "${i18n}" })`,
1414
- groupId: 'section',
1279
+ name: 'systemInfo',
1280
+ title: `t("${i18nName}.system-info", { scope: "${i18n}" })`,
1281
+ groupId: 'system',
1415
1282
  options: {
1416
1283
  sort: {
1417
- enabled: true,
1284
+ enabled: false,
1418
1285
  },
1419
1286
  filter: {
1420
1287
  advance: {
1421
- enabled: true,
1288
+ enabled: false,
1422
1289
  },
1423
1290
  inline: {
1424
1291
  enabled: false,
@@ -1426,46 +1293,109 @@ async function myReportedIssuesEntityFactory(injector) {
1426
1293
  },
1427
1294
  },
1428
1295
  schema: {
1429
- dataType: 'date',
1296
+ dataType: 'object',
1430
1297
  interface: {
1431
- type: AXPWidgetsCatalog.dateTime,
1298
+ type: AXPWidgetsCatalog.metaData,
1432
1299
  options: {
1433
- readonly: true,
1300
+ fields: [
1301
+ { name: 'browser', title: 'Browser' },
1302
+ { name: 'os', title: 'Operating System' },
1303
+ { name: 'appVersion', title: 'App Version' },
1304
+ { name: 'deviceType', title: 'Device Type' },
1305
+ { name: 'screenResolution', title: 'Screen Resolution' },
1306
+ ],
1434
1307
  },
1435
1308
  },
1436
1309
  },
1437
1310
  },
1438
- ],
1439
- columns: [
1440
- { name: 'issueType' },
1441
- { name: 'priority' },
1311
+ // {
1312
+ // name: 'errorLogs',
1313
+ // title: `t("${i18nName}.error-logs", { scope: "${i18n}" })`,
1314
+ // groupId: 'system',
1315
+ // options: {
1316
+ // sort: {
1317
+ // enabled: false,
1318
+ // },
1319
+ // filter: {
1320
+ // advance: {
1321
+ // enabled: false,
1322
+ // },
1323
+ // inline: {
1324
+ // enabled: false,
1325
+ // },
1326
+ // },
1327
+ // },
1328
+ // schema: {
1329
+ // dataType: 'string',
1330
+ // interface: {
1331
+ // type: AXPWidgetsCatalog.largeText,
1332
+ // options: {
1333
+ // rows: 8,
1334
+ // readonly: true,
1335
+ // },
1336
+ // },
1337
+ // },
1338
+ // },
1339
+ {
1340
+ name: 'createdAt',
1341
+ title: `t("${i18nName}.created-at", { scope: "${i18n}" })`,
1342
+ groupId: 'system',
1343
+ options: {
1344
+ sort: {
1345
+ enabled: true,
1346
+ },
1347
+ filter: {
1348
+ advance: {
1349
+ enabled: true,
1350
+ },
1351
+ inline: {
1352
+ enabled: false,
1353
+ },
1354
+ },
1355
+ },
1356
+ schema: {
1357
+ dataType: 'date',
1358
+ interface: {
1359
+ type: AXPWidgetsCatalog.dateTime,
1360
+ options: {
1361
+ readonly: true,
1362
+ },
1363
+ },
1364
+ },
1365
+ },
1366
+ ],
1367
+ columns: [
1442
1368
  { name: 'title' },
1369
+ { name: 'user' },
1370
+ { name: 'issueType' },
1371
+ { name: 'priority' },
1372
+ { name: 'status' },
1443
1373
  { name: 'description' },
1444
1374
  { name: 'createdAt' },
1445
1375
  ],
1446
- commands: {
1447
- create: {
1448
- execute: async (data) => {
1449
- data.createdAt = new Date();
1450
- const res = await dataService.insertOne(data);
1451
- return { id: res };
1452
- },
1453
- },
1454
- delete: {
1455
- execute: async (id) => {
1456
- return await dataService.deleteOne(id);
1457
- },
1458
- },
1459
- update: {
1460
- execute: async (data) => {
1461
- return await dataService.updateOne(data.id, data);
1462
- },
1463
- },
1464
- },
1376
+ // commands: {
1377
+ // create: {
1378
+ // execute: async (data: any) => {
1379
+ // data.createdAt = new Date();
1380
+ // const res = await dataService.insertOne(data);
1381
+ // return { id: res };
1382
+ // },
1383
+ // },
1384
+ // delete: {
1385
+ // execute: async (id: any) => {
1386
+ // return await dataService.deleteOne(id);
1387
+ // },
1388
+ // },
1389
+ // update: {
1390
+ // execute: async (data: any) => {
1391
+ // return await dataService.updateOne(data.id, data);
1392
+ // },
1393
+ // },
1394
+ // },
1465
1395
  queries: {
1466
1396
  byKey: {
1467
1397
  execute: async (id) => {
1468
- return await dataService.getOne(id);
1398
+ return await reportedIssueDataService.getOne(id);
1469
1399
  },
1470
1400
  type: AXPEntityQueryType.Single,
1471
1401
  },
@@ -1478,90 +1408,33 @@ async function myReportedIssuesEntityFactory(injector) {
1478
1408
  },
1479
1409
  interfaces: {
1480
1410
  master: {
1481
- create: {
1411
+ single: {
1412
+ title: '{{title}}',
1482
1413
  sections: [
1483
1414
  {
1484
- id: 'section',
1485
- },
1486
- ],
1487
- properties: [
1488
- {
1489
- name: 'issue-type',
1490
- layout: {
1491
- positions: {
1492
- lg: {
1493
- colSpan: 6,
1494
- order: 1,
1495
- },
1496
- },
1497
- },
1498
- },
1499
- {
1500
- name: 'priority',
1501
- layout: {
1502
- positions: {
1503
- lg: {
1504
- colSpan: 6,
1505
- order: 2,
1506
- },
1507
- },
1508
- },
1509
- },
1510
- {
1511
- name: 'title',
1512
- layout: {
1513
- positions: {
1514
- lg: {
1515
- colSpan: 12,
1516
- order: 3,
1517
- },
1518
- },
1519
- },
1520
- },
1521
- {
1522
- name: 'description',
1523
- layout: {
1524
- positions: {
1525
- lg: {
1526
- colSpan: 12,
1527
- order: 4,
1528
- },
1529
- },
1530
- },
1415
+ id: 'main',
1531
1416
  },
1532
1417
  {
1533
- name: 'attachments',
1534
- layout: {
1535
- positions: {
1536
- lg: {
1537
- colSpan: 12,
1538
- order: 5,
1539
- },
1540
- },
1541
- },
1418
+ id: 'details',
1542
1419
  },
1543
- ],
1544
- },
1545
- update: {
1546
- sections: [
1547
1420
  {
1548
- id: 'section',
1421
+ id: 'system',
1549
1422
  },
1550
1423
  ],
1551
1424
  properties: [
1552
1425
  {
1553
- name: 'issue-type',
1426
+ name: 'title',
1554
1427
  layout: {
1555
1428
  positions: {
1556
1429
  lg: {
1557
- colSpan: 6,
1430
+ colSpan: 12,
1558
1431
  order: 1,
1559
1432
  },
1560
1433
  },
1561
1434
  },
1562
1435
  },
1563
1436
  {
1564
- name: 'priority',
1437
+ name: 'user',
1565
1438
  layout: {
1566
1439
  positions: {
1567
1440
  lg: {
@@ -1572,121 +1445,89 @@ async function myReportedIssuesEntityFactory(injector) {
1572
1445
  },
1573
1446
  },
1574
1447
  {
1575
- name: 'title',
1576
- layout: {
1577
- positions: {
1578
- lg: {
1579
- colSpan: 12,
1580
- order: 3,
1581
- },
1582
- },
1583
- },
1584
- },
1585
- {
1586
- name: 'description',
1587
- layout: {
1588
- positions: {
1589
- lg: {
1590
- colSpan: 12,
1591
- order: 4,
1592
- },
1593
- },
1594
- },
1595
- },
1596
- {
1597
- name: 'attachments',
1598
- layout: {
1599
- positions: {
1600
- lg: {
1601
- colSpan: 12,
1602
- order: 5,
1603
- },
1604
- },
1605
- },
1606
- },
1607
- {
1608
- name: 'created-at',
1448
+ name: 'issueType',
1609
1449
  layout: {
1610
1450
  positions: {
1611
1451
  lg: {
1612
1452
  colSpan: 6,
1613
- order: 6,
1453
+ order: 3,
1614
1454
  },
1615
1455
  },
1616
1456
  },
1617
1457
  },
1618
- ],
1619
- },
1620
- single: {
1621
- title: '{{title}}',
1622
- sections: [
1623
1458
  {
1624
- id: 'section',
1625
- },
1626
- ],
1627
- properties: [
1628
- {
1629
- name: 'issue-type',
1459
+ name: 'priority',
1630
1460
  layout: {
1631
1461
  positions: {
1632
1462
  lg: {
1633
1463
  colSpan: 6,
1634
- order: 1,
1464
+ order: 4,
1635
1465
  },
1636
1466
  },
1637
1467
  },
1638
1468
  },
1639
1469
  {
1640
- name: 'priority',
1470
+ name: 'status',
1641
1471
  layout: {
1642
1472
  positions: {
1643
1473
  lg: {
1644
1474
  colSpan: 6,
1645
- order: 2,
1475
+ order: 5,
1646
1476
  },
1647
1477
  },
1648
1478
  },
1649
1479
  },
1650
1480
  {
1651
- name: 'title',
1481
+ name: 'description',
1652
1482
  layout: {
1653
1483
  positions: {
1654
1484
  lg: {
1655
1485
  colSpan: 12,
1656
- order: 3,
1486
+ order: 6,
1657
1487
  },
1658
1488
  },
1659
1489
  },
1660
1490
  },
1661
1491
  {
1662
- name: 'description',
1492
+ name: 'attachments',
1663
1493
  layout: {
1664
1494
  positions: {
1665
1495
  lg: {
1666
1496
  colSpan: 12,
1667
- order: 4,
1497
+ order: 7,
1668
1498
  },
1669
1499
  },
1670
1500
  },
1671
1501
  },
1672
1502
  {
1673
- name: 'attachments',
1503
+ name: 'systemInfo',
1674
1504
  layout: {
1675
1505
  positions: {
1676
1506
  lg: {
1677
1507
  colSpan: 12,
1678
- order: 5,
1508
+ order: 8,
1679
1509
  },
1680
1510
  },
1681
1511
  },
1682
1512
  },
1513
+ // {
1514
+ // name: 'errorLogs',
1515
+ // layout: {
1516
+ // positions: {
1517
+ // lg: {
1518
+ // colSpan: 12,
1519
+ // order: 9,
1520
+ // },
1521
+ // },
1522
+ // },
1523
+ // },
1683
1524
  {
1684
- name: 'created-at',
1525
+ name: 'createdAt',
1685
1526
  layout: {
1686
1527
  positions: {
1687
1528
  lg: {
1688
1529
  colSpan: 6,
1689
- order: 6,
1530
+ order: 10,
1690
1531
  },
1691
1532
  },
1692
1533
  },
@@ -1727,7 +1568,7 @@ async function myReportedIssuesEntityFactory(injector) {
1727
1568
  ],
1728
1569
  views: [
1729
1570
  createAllQueryView({
1730
- sorts: [{ name: 'name', dir: 'asc' }],
1571
+ sorts: [{ name: 'createdAt', dir: 'desc' }],
1731
1572
  }),
1732
1573
  ],
1733
1574
  },
@@ -1785,13 +1626,53 @@ class AXMEntityProvider {
1785
1626
  }
1786
1627
  return null;
1787
1628
  }
1788
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1789
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMEntityProvider }); }
1629
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1630
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMEntityProvider }); }
1790
1631
  }
1791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMEntityProvider, decorators: [{
1632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMEntityProvider, decorators: [{
1792
1633
  type: Injectable
1793
1634
  }] });
1794
1635
 
1636
+ const AXMLogCaptureService = signalStore({ providedIn: 'root' }, withState(() => {
1637
+ const state = {
1638
+ logs: [],
1639
+ canCapture: false,
1640
+ };
1641
+ return state;
1642
+ }), withComputed((store) => ({
1643
+ canCaptureLog: computed(() => store.canCapture()),
1644
+ consoleLogs: computed(() => store.logs()),
1645
+ })), withMethods((store) => {
1646
+ const startCapturingLog = () => {
1647
+ patchState(store, { canCapture: true });
1648
+ };
1649
+ const finishCapturingLog = () => {
1650
+ patchState(store, { canCapture: false });
1651
+ };
1652
+ const addConsoleLog = (message) => {
1653
+ patchState(store, {
1654
+ logs: [...store.logs(), { type: 'log', message, timeStamp: new Date().toISOString() }],
1655
+ });
1656
+ };
1657
+ const addConsoleError = (message) => {
1658
+ patchState(store, {
1659
+ logs: [...store.logs(), { type: 'error', message, timeStamp: new Date().toISOString() }],
1660
+ });
1661
+ };
1662
+ const addConsoleWarning = (message) => {
1663
+ patchState(store, {
1664
+ logs: [...store.logs(), { type: 'warning', message, timeStamp: new Date().toISOString() }],
1665
+ });
1666
+ };
1667
+ return {
1668
+ startCapturingLog,
1669
+ finishCapturingLog,
1670
+ addConsoleLog,
1671
+ addConsoleError,
1672
+ addConsoleWarning,
1673
+ };
1674
+ }));
1675
+
1795
1676
  const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(() => {
1796
1677
  const state = {
1797
1678
  loading: false,
@@ -1817,10 +1698,12 @@ const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(()
1817
1698
  const toastService = inject(AXToastService);
1818
1699
  const translationService = inject(AXTranslationService);
1819
1700
  const application = inject(ApplicationRef);
1701
+ const logCaptureService = inject(AXMLogCaptureService);
1820
1702
  const stopRecorderSubject = new Subject();
1821
1703
  const recordStream = async () => {
1704
+ logCaptureService.startCapturingLog();
1822
1705
  mediaRecorder = await new MediaRecorder(videoStream, {
1823
- mimeType: 'video/mp4',
1706
+ mimeType: 'video/mp4;codecs=avc1,mp4a.40.2',
1824
1707
  });
1825
1708
  patchState(store, { isRecording: true });
1826
1709
  mediaRecorder.start();
@@ -1836,14 +1719,18 @@ const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(()
1836
1719
  };
1837
1720
  };
1838
1721
  const finishRecording = async (result) => {
1839
- if (store.onFinish() && result) {
1840
- store.onFinish()?.(result);
1841
- }
1722
+ debugger;
1723
+ // if (store.onFinish() && result) {
1724
+ // store.onFinish()?.(result);
1725
+ // }
1726
+ logCaptureService.finishCapturingLog();
1727
+ store.onFinish()?.(result ?? false);
1842
1728
  resetState();
1843
1729
  componentRef.destroy();
1844
1730
  };
1845
1731
  const stopRecorder = async () => {
1846
- stopRecorderSubject.pipe(take(1)).subscribe(async () => {
1732
+ debugger;
1733
+ await stopRecorderSubject.pipe(take(1)).subscribe(async () => {
1847
1734
  try {
1848
1735
  if (mediaRecorder && videoStream?.active) {
1849
1736
  await mediaRecorder.stop();
@@ -1919,7 +1806,7 @@ const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(()
1919
1806
  return {
1920
1807
  init: async (onFinish) => {
1921
1808
  try {
1922
- const { AXMCaptureScreenComponent } = await import('./acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs');
1809
+ const { AXMCaptureScreenComponent } = await import('./acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs');
1923
1810
  const viewContainerRef = application.components[0].injector.get(ViewContainerRef);
1924
1811
  componentRef = viewContainerRef.createComponent(AXMCaptureScreenComponent);
1925
1812
  document.body.appendChild(componentRef.location.nativeElement);
@@ -1931,6 +1818,7 @@ const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(()
1931
1818
  }
1932
1819
  },
1933
1820
  cancelClick() {
1821
+ debugger;
1934
1822
  if (store.isRecording()) {
1935
1823
  stopRecorder();
1936
1824
  return;
@@ -1950,28 +1838,30 @@ const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(()
1950
1838
  }
1951
1839
  patchState(store, { muted: !enabled });
1952
1840
  },
1953
- screenshotClick() {
1954
- patchState(store, { loading: true });
1841
+ async screenshotClick() {
1842
+ await patchState(store, { loading: true });
1955
1843
  const captureElement = document.getElementsByTagName('body')[0];
1956
- html2canvas(captureElement)
1957
- .then(async (canvas) => {
1958
- try {
1959
- const blob = await new Promise((resolve, reject) => {
1960
- canvas.toBlob((blob) => (blob ? resolve(blob) : reject(new Error('Failed to create blob'))), 'image/png');
1961
- });
1962
- finishRecording({ blob, type: 'image' });
1963
- }
1964
- catch (error) {
1965
- console.error('Error creating screenshot:', error);
1844
+ setTimeout(() => {
1845
+ html2canvas(captureElement)
1846
+ .then(async (canvas) => {
1847
+ try {
1848
+ const blob = await new Promise((resolve, reject) => {
1849
+ canvas.toBlob((blob) => (blob ? resolve(blob) : reject(new Error('Failed to create blob'))), 'image/png');
1850
+ });
1851
+ finishRecording({ blob, type: 'image' });
1852
+ }
1853
+ catch (error) {
1854
+ console.error('Error creating screenshot:', error);
1855
+ finishRecording(null);
1856
+ }
1857
+ })
1858
+ .catch((error) => {
1859
+ console.error('Error capturing screenshot:', error);
1966
1860
  finishRecording(null);
1967
- }
1968
- })
1969
- .catch((error) => {
1970
- console.error('Error capturing screenshot:', error);
1971
- finishRecording(null);
1972
- })
1973
- .finally(() => {
1974
- patchState(store, { loading: false });
1861
+ })
1862
+ .finally(() => {
1863
+ patchState(store, { loading: false });
1864
+ });
1975
1865
  });
1976
1866
  },
1977
1867
  async recordScreenClick() {
@@ -1983,6 +1873,11 @@ const AXMCaptureScreenService = signalStore({ providedIn: 'root' }, withState(()
1983
1873
  });
1984
1874
  await this.getMicrophonePermission();
1985
1875
  await recordStream();
1876
+ setTimeout(() => {
1877
+ console.log('test');
1878
+ console.warn('test');
1879
+ console.error('test');
1880
+ }, 5000);
1986
1881
  }
1987
1882
  catch (error) {
1988
1883
  console.error('Error starting screen recording:', error);
@@ -2045,51 +1940,38 @@ const AXMReportNewIssueViewModel = signalStore({ providedIn: 'root' }, withState
2045
1940
  return state;
2046
1941
  }), withComputed(({ status }) => ({
2047
1942
  isRecording: computed(() => status() === 'recording'),
2048
- })), withMethods((store, popupService = inject(AXPopupService), captureScreenService = inject(AXMCaptureScreenService), eventService = inject(AXPWorkflowEventService), fileStorageService = inject(AXPFileStorageService), documentService = inject(AXMDocumentService)) => {
2049
- const createMediaItem = (name, mediaUrl, type, documentId, fileId) => ({
1943
+ })), withMethods((store, popupService = inject(AXPopupService), captureScreenService = inject(AXMCaptureScreenService), logCaptureService = inject(AXMLogCaptureService), eventService = inject(AXPWorkflowEventService), translateService = inject(AXTranslationService)) => {
1944
+ const createMediaItem = (name, mediaUrl, type) => ({
2050
1945
  id: (store.media().length + 1).toString(),
2051
1946
  name: name,
2052
- type,
1947
+ type: type,
2053
1948
  thumbnail: mediaUrl,
2054
1949
  url: mediaUrl,
2055
- documentId,
2056
- fileId,
2057
1950
  });
2058
1951
  return {
2059
1952
  async startCapturing() {
2060
1953
  patchState(store, { status: 'recording' });
2061
- return captureScreenService.init(async (data) => {
1954
+ captureScreenService.init(async (data) => {
1955
+ debugger;
2062
1956
  try {
2063
- let documentId = '';
2064
- let file;
2065
1957
  if (typeof data === 'object' && 'blob' in data) {
1958
+ const newMedia = [];
2066
1959
  const mediaUrl = await URL.createObjectURL(data.blob);
2067
1960
  const fileName = `${new Date().toISOString()}.${data.type === 'image' ? 'png' : 'mp4'}`;
2068
- file = new File([data.blob], fileName);
2069
- const fileStorage = await fileStorageService.save({
2070
- category: 'issue-document',
2071
- file: file,
2072
- name: fileName,
2073
- refId: '',
2074
- refType: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
2075
- });
2076
- documentId = await documentService.insertOne({
2077
- refRecordId: store.id(),
2078
- refEntity: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
2079
- fileId: fileStorage.fileId,
2080
- name: fileStorage.name,
2081
- title: fileStorage.name,
2082
- size: file.size,
2083
- parentId: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
2084
- });
2085
- const newMedia = createMediaItem(fileStorage.name, mediaUrl, data.type, documentId, fileStorage.fileId);
1961
+ newMedia.push(createMediaItem(fileName, mediaUrl, data.type));
1962
+ if (data.type === 'video') {
1963
+ const data = JSON.stringify(await logCaptureService.logs());
1964
+ const logFileName = `logs-${new Date().toLocaleDateString(translateService.getActiveLang())}.txt`;
1965
+ const blobLogFile = await new Blob([data], { type: 'text/txt;charset=utf-8' });
1966
+ const logFileMediaUrl = await URL.createObjectURL(blobLogFile);
1967
+ newMedia.push(createMediaItem(logFileName, logFileMediaUrl, 'text'));
1968
+ }
2086
1969
  patchState(store, {
2087
- media: [...store.media(), newMedia],
1970
+ media: [...store.media(), ...newMedia],
2088
1971
  status: 'recorded',
2089
1972
  });
2090
1973
  }
2091
- this.showPopup(documentId);
2092
- return file;
1974
+ this.showPopup();
2093
1975
  }
2094
1976
  catch (error) {
2095
1977
  console.error('Error capturing media:', error);
@@ -2097,7 +1979,7 @@ const AXMReportNewIssueViewModel = signalStore({ providedIn: 'root' }, withState
2097
1979
  }
2098
1980
  });
2099
1981
  },
2100
- async showPopup(documentId) {
1982
+ async showPopup() {
2101
1983
  try {
2102
1984
  const scope = RootConfig.config.i18n;
2103
1985
  const { AXMReportNewIssueComponent } = await Promise.resolve().then(function () { return reportNewIssue_component; });
@@ -2138,6 +2020,7 @@ class AXMReportNewIssueComponent extends AXBasePageComponent {
2138
2020
  constructor() {
2139
2021
  super();
2140
2022
  this.vm = inject(AXMReportNewIssueViewModel);
2023
+ this.logCaptureService = inject(AXMLogCaptureService);
2141
2024
  this.sessionService = inject(AXPSessionService);
2142
2025
  this.issueTypeService = inject(AXMIssueTypeService);
2143
2026
  this.reportedIssuesService = inject(AXMReportedIssuesService);
@@ -2172,22 +2055,22 @@ class AXMReportNewIssueComponent extends AXBasePageComponent {
2172
2055
  type: AXPWidgetsCatalog.fileUploader,
2173
2056
  name: 'attach',
2174
2057
  path: 'attach',
2175
- // defaultValue: this.vm.media().map((el) => el.documentId),
2058
+ defaultValue: this.vm.media().map((el) => {
2059
+ return {
2060
+ name: el.name ?? '',
2061
+ status: 'uploaded',
2062
+ id: el.id,
2063
+ size: parseInt(el.size ?? '0'),
2064
+ source: {
2065
+ kind: 'url',
2066
+ value: el.url,
2067
+ },
2068
+ };
2069
+ }),
2176
2070
  options: {
2177
2071
  multiple: true,
2178
2072
  entity: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
2179
2073
  record: this.vm.id(),
2180
- actions: [
2181
- {
2182
- name: 'attach',
2183
- icon: 'fa-light fa-video',
2184
- title: `t('report-new-issue.start-capture-screen', { scope: 'issue-management' })`,
2185
- callback: async () => {
2186
- this.vm.startCapturing();
2187
- this.close();
2188
- },
2189
- },
2190
- ],
2191
2074
  },
2192
2075
  };
2193
2076
  this.context = {};
@@ -2197,11 +2080,9 @@ class AXMReportNewIssueComponent extends AXBasePageComponent {
2197
2080
  if (formResult.result) {
2198
2081
  const params = {
2199
2082
  id: this.vm.id(),
2200
- attachments: this.addToFileStorage(),
2201
- // attachments: this.vm.media(),
2202
2083
  createdAt: new Date(),
2203
2084
  description: this.vm.data().description,
2204
- errorLogs: [],
2085
+ errorLogs: this.logCaptureService.logs(),
2205
2086
  issueType: this.vm.data().issueType,
2206
2087
  priority: this.vm.data().priority,
2207
2088
  status: 'new',
@@ -2210,33 +2091,88 @@ class AXMReportNewIssueComponent extends AXBasePageComponent {
2210
2091
  user: this.sessionService.user,
2211
2092
  };
2212
2093
  const reportedIssue = await this.reportedIssuesService.insertOne(params);
2213
- await this.vm.media().forEach(async (x) => {
2214
- await this.documentService.updateOne(x.documentId, {
2215
- refRecordId: reportedIssue,
2216
- });
2217
- });
2218
- if (reportedIssue.length) {
2094
+ if (reportedIssue && reportedIssue.length) {
2095
+ const attachments = [];
2096
+ for (const res of this.vm.media()) {
2097
+ const file = await this.fileStorageSaver(reportedIssue, res);
2098
+ console.log(file);
2099
+ attachments.push(file);
2100
+ // const fileStorageInfo: AXPFileStorageInfo = await this.fileStorageService.save({
2101
+ // file: await this.convertURLToFile(res.url, res.name as string),
2102
+ // refId: reportedIssue,
2103
+ // refType: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
2104
+ // category: '',
2105
+ // name: res.name,
2106
+ // });
2107
+ // await this.fileStorageService.commit(fileStorageInfo.fileId);
2108
+ // attachments.push({
2109
+ // name: res.name ?? '',
2110
+ // status: 'uploaded',
2111
+ // id: fileStorageInfo.fileId,
2112
+ // size: parseInt(res.size ?? '0'),
2113
+ // source: {
2114
+ // kind: 'fileId',
2115
+ // value: fileStorageInfo.fileId,
2116
+ // },
2117
+ // });
2118
+ }
2119
+ await this.reportedIssuesService.updateOne(reportedIssue, { attachments });
2219
2120
  this.vm.resetState();
2220
2121
  this.close({ insertResult: true });
2221
2122
  }
2222
2123
  }
2223
2124
  }
2125
+ async fileStorageSaver(reportedIssueId, file) {
2126
+ const fileStorageInfo = await this.fileStorageService.save({
2127
+ file: await this.convertURLToFile(file.url, file.name),
2128
+ refId: reportedIssueId,
2129
+ refType: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
2130
+ category: '',
2131
+ name: file.name,
2132
+ });
2133
+ await this.fileStorageService.commit(fileStorageInfo.fileId);
2134
+ return {
2135
+ name: file.name ?? '',
2136
+ status: 'uploaded',
2137
+ id: fileStorageInfo.fileId,
2138
+ size: parseInt(file.size ?? '0'),
2139
+ source: {
2140
+ kind: 'fileId',
2141
+ value: fileStorageInfo.fileId,
2142
+ },
2143
+ };
2144
+ // attachments.push({
2145
+ // name: res.name ?? '',
2146
+ // status: 'uploaded',
2147
+ // id: fileStorageInfo.fileId,
2148
+ // size: parseInt(res.size ?? '0'),
2149
+ // source: {
2150
+ // kind: 'fileId',
2151
+ // value: fileStorageInfo.fileId,
2152
+ // },
2153
+ // });
2154
+ // await this.reportedIssuesService.updateOne(reportedIssueId, {
2155
+ // attachments: [
2156
+ // ...(this.vm.media() ?? []),
2157
+ // {
2158
+ // name: file.name ?? '',
2159
+ // status: 'uploaded',
2160
+ // id: fileStorageInfo.fileId,
2161
+ // size: parseInt(file.size ?? '0'),
2162
+ // source: {
2163
+ // kind: 'fileId',
2164
+ // value: fileStorageInfo.fileId,
2165
+ // },
2166
+ // },
2167
+ // ],
2168
+ // });
2169
+ }
2224
2170
  async convertURLToFile(url, fileName) {
2225
2171
  const response = await fetch(url);
2226
2172
  const blob = await response.blob();
2227
2173
  const file = new File([blob], fileName);
2228
2174
  return file;
2229
2175
  }
2230
- addToFileStorage() {
2231
- let fileIDs = [];
2232
- // this.vm.media().forEach(async (el) => {
2233
- // const file = await this.convertURLToFile(el.url, el.name as string);
2234
- // fileIDs.push(
2235
- // (await this.fileStorageService.save({ category: 'issue-document', file: file, refId: '', refType: '' })).fileId
2236
- // );
2237
- // });
2238
- return fileIDs;
2239
- }
2240
2176
  async handleStartRecordingClick() {
2241
2177
  await this.vm.startCapturing();
2242
2178
  this.close();
@@ -2259,12 +2195,12 @@ class AXMReportNewIssueComponent extends AXBasePageComponent {
2259
2195
  this.vm.resetState();
2260
2196
  }
2261
2197
  }
2262
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportNewIssueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2263
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: AXMReportNewIssueComponent, isStandalone: true, selector: "axm-report-new-issue", viewQueries: [{ propertyName: "form", first: true, predicate: AXFormComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *translate=\"let t\" class=\"ax-p-6\">\n <ax-form #form>\n <div class=\"ax-grid ax-gap-2\">\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.title', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-text-box [(ngModel)]=\"vm.data().title\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.issue-type', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-select-box\n valueField=\"id\"\n textField=\"title\"\n [dataSource]=\"issueTypeDataSource\"\n [value]=\"vm.data().issueType\"\n (onValueChanged)=\"handleIssueTypeChange($event)\"\n ></ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.priority', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-select-box\n valueField=\"id\"\n textField=\"title\"\n [dataSource]=\"priorityList\"\n [value]=\"vm.data().priority\"\n (onValueChanged)=\"handlePriorityChange($event)\"\n ></ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.description', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-text-area [(ngModel)]=\"vm.data().description\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-area>\n </ax-form-field>\n <ax-form-field>\n <axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [context]=\"context\">\n <ng-container axp-widget-renderer [node]=\"attachNode\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n </ax-form-field>\n </div>\n </ax-form>\n <!-- @if(vm.media().length > 0){\n <div class=\"ax-py-4\">\n <ax-content>\n <ax-media-viewer-container #mediaViewer [dataArray]=\"vm.media()\" class=\"ax-block\">\n <ax-header>\n <ax-file-info></ax-file-info>\n <ax-suffix>\n <ax-button class=\"ax-sm\" color=\"danger\" (onClick)=\"onDeleteMediaClick(mediaViewer.getActiveIndex())\">\n <ax-icon class=\"ax-icon ax-icon-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-header>\n <ax-prefix>\n <ax-button (click)=\"mediaViewer.next()\">\n <ax-icon class=\"ax-icon ax-icon-chevron-right\"> </ax-icon>\n </ax-button>\n </ax-prefix>\n <ax-suffix>\n <ax-button (click)=\"mediaViewer.prev()\">\n <ax-icon class=\"ax-icon ax-icon-chevron-left\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-media-viewer-container>\n </ax-content>\n </div>\n } -->\n <!-- <div>\n <ax-label>{{ t('report-new-issue.attach', { scope: 'issue-management' }) | async }}</ax-label>\n <div\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-secondary-500 ax-rounded-lg ax-p-6\"\n >\n <div class=\"ax-rounded-full ax-bg-surface ax-px-4 ax-py-3\">\n <ax-icon class=\"fa-solid fa-paperclip ax-text-on-surface ax-text-xl\"></ax-icon>\n </div>\n <p class=\"ax-text-lg ax-text-on-surface\">\n {{ t('report-new-issue.attach-box-description', { scope: 'issue-management' }) | async }}\n </p>\n <ax-button\n class=\"ax-w-fit ax-mt-6\"\n [text]=\"t('report-new-issue.start-capture-screen', { scope: 'issue-management' }) | async\"\n color=\"secondary\"\n (onClick)=\"handleStartRecordingClick()\"\n ></ax-button>\n </div>\n </div> -->\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button\n look=\"solid\"\n color=\"default\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"onCancelClick()\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [text]=\"'save' | translate | async\"\n (onClick)=\"handleSubmitClick()\"\n ></ax-button>\n </ax-suffix>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
2198
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMReportNewIssueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2199
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", type: AXMReportNewIssueComponent, isStandalone: true, selector: "axm-report-new-issue", viewQueries: [{ propertyName: "form", first: true, predicate: AXFormComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *translate=\"let t\" class=\"ax-p-6\">\r\n <ax-form #form>\r\n <div class=\"ax-grid ax-gap-2\">\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.title', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-text-box [(ngModel)]=\"vm.data().title\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.issue-type', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-select-box\r\n valueField=\"id\"\r\n textField=\"title\"\r\n [dataSource]=\"issueTypeDataSource\"\r\n [value]=\"vm.data().issueType\"\r\n (onValueChanged)=\"handleIssueTypeChange($event)\"\r\n ></ax-select-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.priority', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-select-box\r\n valueField=\"id\"\r\n textField=\"title\"\r\n [dataSource]=\"priorityList\"\r\n [value]=\"vm.data().priority\"\r\n (onValueChanged)=\"handlePriorityChange($event)\"\r\n ></ax-select-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.description', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-text-area [(ngModel)]=\"vm.data().description\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-area>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.attachments', { scope: 'issue-management' }) | async }}</ax-label>\r\n <axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [context]=\"context\">\r\n <ng-container axp-widget-renderer [node]=\"attachNode\" [mode]=\"'edit'\"> </ng-container>\r\n </axp-widgets-container>\r\n </ax-form-field>\r\n </div>\r\n </ax-form>\r\n <!-- @if(vm.media().length > 0){\r\n <div class=\"ax-py-4\">\r\n <ax-content>\r\n <ax-media-viewer-container #mediaViewer [dataArray]=\"vm.media()\" class=\"ax-block\">\r\n <ax-header>\r\n <ax-file-info></ax-file-info>\r\n <ax-suffix>\r\n <ax-button class=\"ax-sm\" color=\"danger\" (onClick)=\"onDeleteMediaClick(mediaViewer.getActiveIndex())\">\r\n <ax-icon class=\"ax-icon ax-icon-trash\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n </ax-header>\r\n <ax-prefix>\r\n <ax-button (click)=\"mediaViewer.next()\">\r\n <ax-icon class=\"ax-icon ax-icon-chevron-right\"> </ax-icon>\r\n </ax-button>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <ax-button (click)=\"mediaViewer.prev()\">\r\n <ax-icon class=\"ax-icon ax-icon-chevron-left\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n </ax-media-viewer-container>\r\n </ax-content>\r\n </div>\r\n } -->\r\n <!-- <div>\r\n <ax-label>{{ t('report-new-issue.attach', { scope: 'issue-management' }) | async }}</ax-label>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-secondary-500 ax-rounded-lg ax-p-6\"\r\n >\r\n <div class=\"ax-rounded-full ax-bg-surface ax-px-4 ax-py-3\">\r\n <ax-icon class=\"fa-solid fa-paperclip ax-text-on-surface ax-text-xl\"></ax-icon>\r\n </div>\r\n <p class=\"ax-text-lg ax-text-on-surface\">\r\n {{ t('report-new-issue.attach-box-description', { scope: 'issue-management' }) | async }}\r\n </p>\r\n <ax-button\r\n class=\"ax-w-fit ax-mt-6\"\r\n [text]=\"t('report-new-issue.start-capture-screen', { scope: 'issue-management' }) | async\"\r\n color=\"secondary\"\r\n (onClick)=\"handleStartRecordingClick()\"\r\n ></ax-button>\r\n </div>\r\n </div> -->\r\n</div>\r\n<ax-footer>\r\n <ax-suffix>\r\n <ax-button\r\n look=\"solid\"\r\n color=\"default\"\r\n [text]=\"'cancel' | translate | async\"\r\n (onClick)=\"onCancelClick()\"\r\n ></ax-button>\r\n <ax-button\r\n look=\"solid\"\r\n color=\"primary\"\r\n [text]=\"'save' | translate | async\"\r\n (onClick)=\"handleSubmitClick()\"\r\n ></ax-button>\r\n </ax-suffix>\r\n</ax-footer>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
2264
2200
  //
2265
- AXTranslationModule }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i3.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i4.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i4.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i4.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i6.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i7.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i8.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i10.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: AXMediaViewerModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i11.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i11.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }] }); }
2201
+ AXTranslationModule }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i3.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i4.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i4.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i4.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i6.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i7.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i8.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.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: AXMediaViewerModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i11.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i11.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }] }); }
2266
2202
  }
2267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMReportNewIssueComponent, decorators: [{
2203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMReportNewIssueComponent, decorators: [{
2268
2204
  type: Component,
2269
2205
  args: [{ selector: 'axm-report-new-issue', imports: [
2270
2206
  CommonModule,
@@ -2280,7 +2216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
2280
2216
  AXButtonModule,
2281
2217
  AXMediaViewerModule,
2282
2218
  AXPLayoutBuilderModule,
2283
- ], template: "<div *translate=\"let t\" class=\"ax-p-6\">\n <ax-form #form>\n <div class=\"ax-grid ax-gap-2\">\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.title', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-text-box [(ngModel)]=\"vm.data().title\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.issue-type', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-select-box\n valueField=\"id\"\n textField=\"title\"\n [dataSource]=\"issueTypeDataSource\"\n [value]=\"vm.data().issueType\"\n (onValueChanged)=\"handleIssueTypeChange($event)\"\n ></ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.priority', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-select-box\n valueField=\"id\"\n textField=\"title\"\n [dataSource]=\"priorityList\"\n [value]=\"vm.data().priority\"\n (onValueChanged)=\"handlePriorityChange($event)\"\n ></ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t('report-new-issue.description', { scope: 'issue-management' }) | async }}</ax-label>\n <ax-text-area [(ngModel)]=\"vm.data().description\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-area>\n </ax-form-field>\n <ax-form-field>\n <axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [context]=\"context\">\n <ng-container axp-widget-renderer [node]=\"attachNode\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n </ax-form-field>\n </div>\n </ax-form>\n <!-- @if(vm.media().length > 0){\n <div class=\"ax-py-4\">\n <ax-content>\n <ax-media-viewer-container #mediaViewer [dataArray]=\"vm.media()\" class=\"ax-block\">\n <ax-header>\n <ax-file-info></ax-file-info>\n <ax-suffix>\n <ax-button class=\"ax-sm\" color=\"danger\" (onClick)=\"onDeleteMediaClick(mediaViewer.getActiveIndex())\">\n <ax-icon class=\"ax-icon ax-icon-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-header>\n <ax-prefix>\n <ax-button (click)=\"mediaViewer.next()\">\n <ax-icon class=\"ax-icon ax-icon-chevron-right\"> </ax-icon>\n </ax-button>\n </ax-prefix>\n <ax-suffix>\n <ax-button (click)=\"mediaViewer.prev()\">\n <ax-icon class=\"ax-icon ax-icon-chevron-left\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-media-viewer-container>\n </ax-content>\n </div>\n } -->\n <!-- <div>\n <ax-label>{{ t('report-new-issue.attach', { scope: 'issue-management' }) | async }}</ax-label>\n <div\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-secondary-500 ax-rounded-lg ax-p-6\"\n >\n <div class=\"ax-rounded-full ax-bg-surface ax-px-4 ax-py-3\">\n <ax-icon class=\"fa-solid fa-paperclip ax-text-on-surface ax-text-xl\"></ax-icon>\n </div>\n <p class=\"ax-text-lg ax-text-on-surface\">\n {{ t('report-new-issue.attach-box-description', { scope: 'issue-management' }) | async }}\n </p>\n <ax-button\n class=\"ax-w-fit ax-mt-6\"\n [text]=\"t('report-new-issue.start-capture-screen', { scope: 'issue-management' }) | async\"\n color=\"secondary\"\n (onClick)=\"handleStartRecordingClick()\"\n ></ax-button>\n </div>\n </div> -->\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button\n look=\"solid\"\n color=\"default\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"onCancelClick()\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [text]=\"'save' | translate | async\"\n (onClick)=\"handleSubmitClick()\"\n ></ax-button>\n </ax-suffix>\n</ax-footer>\n" }]
2219
+ ], template: "<div *translate=\"let t\" class=\"ax-p-6\">\r\n <ax-form #form>\r\n <div class=\"ax-grid ax-gap-2\">\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.title', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-text-box [(ngModel)]=\"vm.data().title\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.issue-type', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-select-box\r\n valueField=\"id\"\r\n textField=\"title\"\r\n [dataSource]=\"issueTypeDataSource\"\r\n [value]=\"vm.data().issueType\"\r\n (onValueChanged)=\"handleIssueTypeChange($event)\"\r\n ></ax-select-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.priority', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-select-box\r\n valueField=\"id\"\r\n textField=\"title\"\r\n [dataSource]=\"priorityList\"\r\n [value]=\"vm.data().priority\"\r\n (onValueChanged)=\"handlePriorityChange($event)\"\r\n ></ax-select-box>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.description', { scope: 'issue-management' }) | async }}</ax-label>\r\n <ax-text-area [(ngModel)]=\"vm.data().description\">\r\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\r\n </ax-text-area>\r\n </ax-form-field>\r\n <ax-form-field>\r\n <ax-label>{{ t('report-new-issue.attachments', { scope: 'issue-management' }) | async }}</ax-label>\r\n <axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [context]=\"context\">\r\n <ng-container axp-widget-renderer [node]=\"attachNode\" [mode]=\"'edit'\"> </ng-container>\r\n </axp-widgets-container>\r\n </ax-form-field>\r\n </div>\r\n </ax-form>\r\n <!-- @if(vm.media().length > 0){\r\n <div class=\"ax-py-4\">\r\n <ax-content>\r\n <ax-media-viewer-container #mediaViewer [dataArray]=\"vm.media()\" class=\"ax-block\">\r\n <ax-header>\r\n <ax-file-info></ax-file-info>\r\n <ax-suffix>\r\n <ax-button class=\"ax-sm\" color=\"danger\" (onClick)=\"onDeleteMediaClick(mediaViewer.getActiveIndex())\">\r\n <ax-icon class=\"ax-icon ax-icon-trash\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n </ax-header>\r\n <ax-prefix>\r\n <ax-button (click)=\"mediaViewer.next()\">\r\n <ax-icon class=\"ax-icon ax-icon-chevron-right\"> </ax-icon>\r\n </ax-button>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <ax-button (click)=\"mediaViewer.prev()\">\r\n <ax-icon class=\"ax-icon ax-icon-chevron-left\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n </ax-media-viewer-container>\r\n </ax-content>\r\n </div>\r\n } -->\r\n <!-- <div>\r\n <ax-label>{{ t('report-new-issue.attach', { scope: 'issue-management' }) | async }}</ax-label>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-secondary-500 ax-rounded-lg ax-p-6\"\r\n >\r\n <div class=\"ax-rounded-full ax-bg-surface ax-px-4 ax-py-3\">\r\n <ax-icon class=\"fa-solid fa-paperclip ax-text-on-surface ax-text-xl\"></ax-icon>\r\n </div>\r\n <p class=\"ax-text-lg ax-text-on-surface\">\r\n {{ t('report-new-issue.attach-box-description', { scope: 'issue-management' }) | async }}\r\n </p>\r\n <ax-button\r\n class=\"ax-w-fit ax-mt-6\"\r\n [text]=\"t('report-new-issue.start-capture-screen', { scope: 'issue-management' }) | async\"\r\n color=\"secondary\"\r\n (onClick)=\"handleStartRecordingClick()\"\r\n ></ax-button>\r\n </div>\r\n </div> -->\r\n</div>\r\n<ax-footer>\r\n <ax-suffix>\r\n <ax-button\r\n look=\"solid\"\r\n color=\"default\"\r\n [text]=\"'cancel' | translate | async\"\r\n (onClick)=\"onCancelClick()\"\r\n ></ax-button>\r\n <ax-button\r\n look=\"solid\"\r\n color=\"primary\"\r\n [text]=\"'save' | translate | async\"\r\n (onClick)=\"handleSubmitClick()\"\r\n ></ax-button>\r\n </ax-suffix>\r\n</ax-footer>\r\n" }]
2284
2220
  }], ctorParameters: () => [], propDecorators: { form: [{
2285
2221
  type: ViewChild,
2286
2222
  args: [AXFormComponent]
@@ -2291,19 +2227,47 @@ var reportNewIssue_component = /*#__PURE__*/Object.freeze({
2291
2227
  AXMReportNewIssueComponent: AXMReportNewIssueComponent
2292
2228
  });
2293
2229
 
2230
+ class AXMDownloadLogAction extends AXPWorkflowAction {
2231
+ constructor() {
2232
+ super(...arguments);
2233
+ this.logCaptureService = inject(AXMLogCaptureService);
2234
+ this.exportService = inject(AXPExportService);
2235
+ this.translateService = inject(AXTranslationService);
2236
+ }
2237
+ async execute() {
2238
+ debugger;
2239
+ const data = JSON.stringify(await this.logCaptureService.logs());
2240
+ const fileName = `logs-${new Date().toLocaleDateString(this.translateService.getActiveLang())}.txt`;
2241
+ const blobFile = await new Blob([data], { type: 'text/txt;charset=utf-8' });
2242
+ this.exportService.download(blobFile, fileName);
2243
+ }
2244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDownloadLogAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2245
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDownloadLogAction }); }
2246
+ }
2247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDownloadLogAction, decorators: [{
2248
+ type: Injectable
2249
+ }] });
2250
+ const AXMDownloadLogWorkflow = {
2251
+ startStepId: 'download-log',
2252
+ steps: {
2253
+ 'download-log': {
2254
+ action: 'AXMDownloadLogAction',
2255
+ },
2256
+ },
2257
+ };
2258
+
2294
2259
  class AXMShowReportNewIssuePopupeAction extends AXPWorkflowAction {
2295
2260
  constructor() {
2296
2261
  super(...arguments);
2297
- this.popupService = inject(AXPopupService);
2298
2262
  this.vm = inject(AXMReportNewIssueViewModel);
2299
2263
  }
2300
2264
  async execute() {
2301
2265
  await this.vm.showPopup();
2302
2266
  }
2303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMShowReportNewIssuePopupeAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2304
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMShowReportNewIssuePopupeAction }); }
2267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMShowReportNewIssuePopupeAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2268
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMShowReportNewIssuePopupeAction }); }
2305
2269
  }
2306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMShowReportNewIssuePopupeAction, decorators: [{
2270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMShowReportNewIssuePopupeAction, decorators: [{
2307
2271
  type: Injectable
2308
2272
  }] });
2309
2273
  const AXMShowReportNewIssueWorkflow = {
@@ -2315,13 +2279,91 @@ const AXMShowReportNewIssueWorkflow = {
2315
2279
  },
2316
2280
  };
2317
2281
 
2282
+ class AXPCaptureScreenWidgetExtensionComponent {
2283
+ constructor() {
2284
+ this.vm = inject(AXMReportNewIssueViewModel);
2285
+ this.popupComponent = inject(AXMReportNewIssueComponent);
2286
+ }
2287
+ async openCaptureScreen() {
2288
+ this.vm.startCapturing();
2289
+ this.popupComponent.close();
2290
+ }
2291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPCaptureScreenWidgetExtensionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2292
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", type: AXPCaptureScreenWidgetExtensionComponent, isStandalone: true, selector: "axp-file-uploader-widget-extension", providers: [], ngImport: i0, template: `
2293
+ <ax-divider></ax-divider>
2294
+ <ax-button-item
2295
+ [text]="('@issue-management:report-new-issue.capture-screen' | translate | async)!"
2296
+ (onClick)="openCaptureScreen()"
2297
+ >
2298
+ <ax-prefix>
2299
+ <ax-icon icon="fa-light fa-video"></ax-icon>
2300
+ </ax-prefix>
2301
+ </ax-button-item>
2302
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type:
2303
+ // Angular
2304
+ CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type:
2305
+ // ACoreX
2306
+ AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
2307
+ }
2308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPCaptureScreenWidgetExtensionComponent, decorators: [{
2309
+ type: Component,
2310
+ args: [{
2311
+ selector: 'axp-file-uploader-widget-extension',
2312
+ template: `
2313
+ <ax-divider></ax-divider>
2314
+ <ax-button-item
2315
+ [text]="('@issue-management:report-new-issue.capture-screen' | translate | async)!"
2316
+ (onClick)="openCaptureScreen()"
2317
+ >
2318
+ <ax-prefix>
2319
+ <ax-icon icon="fa-light fa-video"></ax-icon>
2320
+ </ax-prefix>
2321
+ </ax-button-item>
2322
+ `,
2323
+ imports: [
2324
+ // Angular
2325
+ CommonModule,
2326
+ // ACoreX
2327
+ AXFormModule,
2328
+ AXTextBoxModule,
2329
+ AXButtonModule,
2330
+ AXLabelModule,
2331
+ AXDecoratorModule,
2332
+ AXCheckBoxModule,
2333
+ AXTranslationModule,
2334
+ // Platform
2335
+ ],
2336
+ encapsulation: ViewEncapsulation.None,
2337
+ providers: [],
2338
+ }]
2339
+ }] });
2340
+
2341
+ const AXMPermissionsKeys = {
2342
+ Issue: {
2343
+ Management: 'issue-management:manage',
2344
+ MyReportedIssues: {
2345
+ Management: 'issue-management:my-reported-issues:manage',
2346
+ View: 'issue-management:my-reported-issues:view',
2347
+ Edit: 'issue-management:my-reported-issues:edit',
2348
+ Delete: 'issue-management:my-reported-issues:delete',
2349
+ Create: 'issue-management:my-reported-issues:create',
2350
+ },
2351
+ ReportedIssues: {
2352
+ Management: 'issue-management:reported-issues:manage',
2353
+ View: 'issue-management:reported-issues:view',
2354
+ Edit: 'issue-management:reported-issues:edit',
2355
+ Delete: 'issue-management:reported-issues:delete',
2356
+ Create: 'issue-management:reported-issues:create',
2357
+ },
2358
+ },
2359
+ };
2360
+
2318
2361
  class AXMMenuProvider {
2319
2362
  constructor() {
2320
2363
  this.entityService = inject(AXPEntityService);
2321
2364
  }
2322
2365
  async provide(context) {
2323
- context.find('platform-management')
2324
- .addItems([
2366
+ context.find('platform-management').addItems([
2325
2367
  {
2326
2368
  text: 'break',
2327
2369
  type: 'break',
@@ -2332,6 +2374,9 @@ class AXMMenuProvider {
2332
2374
  path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.reportedIssues.name),
2333
2375
  icon: RootConfig.entities.reportedIssues.icon,
2334
2376
  priority: 100001,
2377
+ data: {
2378
+ requiredPermission: AXMPermissionsKeys.Issue.ReportedIssues.Management,
2379
+ },
2335
2380
  },
2336
2381
  {
2337
2382
  text: RootConfig.entities.issueType.title,
@@ -2344,10 +2389,13 @@ class AXMMenuProvider {
2344
2389
  context.find('app-help').addItems([
2345
2390
  {
2346
2391
  name: 'my-reported-issues',
2347
- text: RootConfig.entities.myReportedIssues.title,
2348
- icon: RootConfig.entities.myReportedIssues.icon,
2349
- path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.myReportedIssues.name),
2392
+ text: RootConfig.entities.reportedIssues.title,
2393
+ icon: RootConfig.entities.reportedIssues.icon,
2394
+ path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.reportedIssues.name),
2350
2395
  priority: 100005,
2396
+ data: {
2397
+ requiredPermission: AXMPermissionsKeys.Issue.MyReportedIssues.Management,
2398
+ },
2351
2399
  },
2352
2400
  {
2353
2401
  name: 'app-report-issue',
@@ -2396,9 +2444,9 @@ class AXMSettingProvider {
2396
2444
  }
2397
2445
 
2398
2446
  class AXMIssueManagementModule {
2399
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2400
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueManagementModule, imports: [i1$1.AXPWorkflowModule] }); }
2401
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueManagementModule, providers: [
2447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2448
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueManagementModule, imports: [i1$1.AXPWorkflowModule, i2$2.AXPComponentSlotModule] }); }
2449
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueManagementModule, providers: [
2402
2450
  {
2403
2451
  provide: AXMIssueTypeService,
2404
2452
  useClass: AXMIssueTypeServiceImpl,
@@ -2429,24 +2477,44 @@ class AXMIssueManagementModule {
2429
2477
  ], imports: [AXPWorkflowModule.forChild({
2430
2478
  actions: {
2431
2479
  AXMShowReportNewIssuePopupeAction: AXMShowReportNewIssuePopupeAction,
2480
+ AXMDownloadLogAction: AXMDownloadLogAction,
2432
2481
  },
2433
2482
  workflows: {
2434
2483
  'show-report-issue': AXMShowReportNewIssueWorkflow,
2484
+ 'download-log-file': AXMDownloadLogWorkflow,
2435
2485
  },
2486
+ }),
2487
+ AXPComponentSlotModule.forChild({
2488
+ 'file-uploader-widget-actions': [
2489
+ {
2490
+ name: 'capture-screen-actions',
2491
+ component: AXPCaptureScreenWidgetExtensionComponent,
2492
+ },
2493
+ ],
2436
2494
  })] }); }
2437
2495
  }
2438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMIssueManagementModule, decorators: [{
2496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMIssueManagementModule, decorators: [{
2439
2497
  type: NgModule,
2440
2498
  args: [{
2441
2499
  imports: [
2442
2500
  AXPWorkflowModule.forChild({
2443
2501
  actions: {
2444
2502
  AXMShowReportNewIssuePopupeAction: AXMShowReportNewIssuePopupeAction,
2503
+ AXMDownloadLogAction: AXMDownloadLogAction,
2445
2504
  },
2446
2505
  workflows: {
2447
2506
  'show-report-issue': AXMShowReportNewIssueWorkflow,
2507
+ 'download-log-file': AXMDownloadLogWorkflow,
2448
2508
  },
2449
2509
  }),
2510
+ AXPComponentSlotModule.forChild({
2511
+ 'file-uploader-widget-actions': [
2512
+ {
2513
+ name: 'capture-screen-actions',
2514
+ component: AXPCaptureScreenWidgetExtensionComponent,
2515
+ },
2516
+ ],
2517
+ }),
2450
2518
  ],
2451
2519
  exports: [],
2452
2520
  declarations: [],
@@ -2486,5 +2554,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
2486
2554
  * Generated bundle index. Do not edit.
2487
2555
  */
2488
2556
 
2489
- export { AXMCaptureScreenService as A, RootConfig as R, AXMIssueTypeService as a, AXMIssueTypeServiceImpl as b, AXMMyReportedIssuesService as c, AXMMyReportedIssuesServiceImpl as d, AXMReportedIssuesService as e, AXMReportedIssuesServiceImpl as f, AXMEntityProvider as g, AXMIssueManagementModule as h, issueTypeEntityFactory as i, AXMMenuProvider as j, AXMSettingProvider as k, myReportedIssuesEntityFactory as m, reportedIssuesEntityFactory as r };
2490
- //# sourceMappingURL=acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map
2557
+ export { AXMCaptureScreenService as A, RootConfig as R, AXMIssueTypeService as a, AXMIssueTypeServiceImpl as b, AXMMyReportedIssuesService as c, AXMMyReportedIssuesServiceImpl as d, AXMReportedIssuesService as e, AXMReportedIssuesServiceImpl as f, AXMEntityProvider as g, AXMLogCaptureService as h, issueTypeEntityFactory as i, AXMIssueManagementModule as j, AXMMenuProvider as k, AXMPermissionsKeys as l, myReportedIssuesEntityFactory as m, AXMSettingProvider as n, reportedIssuesEntityFactory as r };
2558
+ //# sourceMappingURL=acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs.map