@acorex/modules 19.3.3-next.1 → 19.3.4

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 (222) hide show
  1. package/conversation/lib/entities/comments/pages/comment-list-view.component.d.ts +3 -2
  2. package/dashboard-management/index.d.ts +3 -1
  3. package/dashboard-management/lib/entities/dashboard/dashboard.types.d.ts +4 -0
  4. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +6 -25
  5. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.store.d.ts +1 -26
  6. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.type.d.ts +8 -0
  7. package/dashboard-management/lib/features/home-dashboard/dashboard-popups/add-dashboard-popup.d.ts +10 -2
  8. package/dashboard-management/lib/features/home-dashboard/dashboard-popups/dashboard-popup.service.d.ts +1 -1
  9. package/dashboard-management/lib/features/home-dashboard/index.d.ts +1 -0
  10. package/document-management/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.d.ts +126 -0
  11. package/document-management/lib/features/shared/document-manager.types.d.ts +1 -3
  12. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +1 -0
  13. package/fesm2022/{acorex-modules-application-management-module-designer.component-ClxaJcjD.mjs → acorex-modules-application-management-module-designer.component-cD24pUfN.mjs} +7 -7
  14. package/fesm2022/{acorex-modules-application-management-module-designer.component-ClxaJcjD.mjs.map → acorex-modules-application-management-module-designer.component-cD24pUfN.mjs.map} +1 -1
  15. package/fesm2022/acorex-modules-application-management.mjs +41 -41
  16. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  17. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DJZcD1j3.mjs → acorex-modules-auth-acorex-modules-auth-DCWtLiHM.mjs} +43 -43
  18. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DJZcD1j3.mjs.map → acorex-modules-auth-acorex-modules-auth-DCWtLiHM.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-app-chooser.component-DlYxDGQr.mjs → acorex-modules-auth-app-chooser.component-VMhnsjYn.mjs} +5 -5
  20. package/fesm2022/{acorex-modules-auth-app-chooser.component-DlYxDGQr.mjs.map → acorex-modules-auth-app-chooser.component-VMhnsjYn.mjs.map} +1 -1
  21. package/fesm2022/acorex-modules-auth-blank.layout-DIttom0K.mjs +18 -0
  22. package/fesm2022/{acorex-modules-auth-blank.layout-B1a0710P.mjs.map → acorex-modules-auth-blank.layout-DIttom0K.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-auth-login.module-D-XgzifC.mjs → acorex-modules-auth-login.module-DxLjSR75.mjs} +8 -8
  24. package/fesm2022/{acorex-modules-auth-login.module-D-XgzifC.mjs.map → acorex-modules-auth-login.module-DxLjSR75.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-auth-master.layout-ZaCb3CED.mjs → acorex-modules-auth-master.layout-Dpb-D34R.mjs} +5 -5
  26. package/fesm2022/{acorex-modules-auth-master.layout-ZaCb3CED.mjs.map → acorex-modules-auth-master.layout-Dpb-D34R.mjs.map} +1 -1
  27. package/fesm2022/acorex-modules-auth-password.component-Bcwod5kV.mjs +59 -0
  28. package/fesm2022/{acorex-modules-auth-password.component-CLTZoufP.mjs.map → acorex-modules-auth-password.component-Bcwod5kV.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-auth-password.component-C-xRIhrM.mjs → acorex-modules-auth-password.component-CEAzmwdd.mjs} +5 -5
  30. package/fesm2022/{acorex-modules-auth-password.component-C-xRIhrM.mjs.map → acorex-modules-auth-password.component-CEAzmwdd.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-auth-routes-4T5jq7su.mjs → acorex-modules-auth-routes-DHX4wD9P.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-auth-routes-4T5jq7su.mjs.map → acorex-modules-auth-routes-DHX4wD9P.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Ow7QtAWc.mjs → acorex-modules-auth-tenant-chooser.component-S07bx8PP.mjs} +4 -4
  34. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Ow7QtAWc.mjs.map → acorex-modules-auth-tenant-chooser.component-S07bx8PP.mjs.map} +1 -1
  35. package/fesm2022/acorex-modules-auth-two-factor-code.component-CK9J4jMb.mjs +40 -0
  36. package/fesm2022/{acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs.map → acorex-modules-auth-two-factor-code.component-CK9J4jMb.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-auth-two-factor.module-D72KIpvA.mjs → acorex-modules-auth-two-factor.module-CZyzLTm3.mjs} +7 -7
  38. package/fesm2022/{acorex-modules-auth-two-factor.module-D72KIpvA.mjs.map → acorex-modules-auth-two-factor.module-CZyzLTm3.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-auth-user-sessions.component-Btnu_Oeq.mjs → acorex-modules-auth-user-sessions.component-SuhoNCuQ.mjs} +5 -5
  40. package/fesm2022/{acorex-modules-auth-user-sessions.component-Btnu_Oeq.mjs.map → acorex-modules-auth-user-sessions.component-SuhoNCuQ.mjs.map} +1 -1
  41. package/fesm2022/acorex-modules-auth.mjs +1 -1
  42. package/fesm2022/{acorex-modules-common-search-popup.component-C3XUb6pF.mjs → acorex-modules-common-search-popup.component-DQYBNkIc.mjs} +4 -4
  43. package/fesm2022/{acorex-modules-common-search-popup.component-C3XUb6pF.mjs.map → acorex-modules-common-search-popup.component-DQYBNkIc.mjs.map} +1 -1
  44. package/fesm2022/acorex-modules-common.mjs +19 -19
  45. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  46. package/fesm2022/acorex-modules-conversation.mjs +45 -45
  47. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  48. package/fesm2022/acorex-modules-dashboard-management.mjs +4994 -1
  49. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  50. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-hMEt0yZI.mjs → acorex-modules-document-management-acorex-modules-document-management-kZDDtr98.mjs} +151 -141
  51. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-kZDDtr98.mjs.map +1 -0
  52. package/fesm2022/acorex-modules-document-management-attachment-widget.component-DlwLjrkw.mjs +32 -0
  53. package/fesm2022/acorex-modules-document-management-attachment-widget.component-DlwLjrkw.mjs.map +1 -0
  54. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-D_FfCqY8.mjs → acorex-modules-document-management-create-folder-dialog.component-CPXnUlUx.mjs} +6 -6
  55. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-D_FfCqY8.mjs.map → acorex-modules-document-management-create-folder-dialog.component-CPXnUlUx.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-document-management-details-view.component-Oxtnvogq.mjs → acorex-modules-document-management-details-view.component-9LB0w9DQ.mjs} +5 -5
  57. package/fesm2022/{acorex-modules-document-management-details-view.component-Oxtnvogq.mjs.map → acorex-modules-document-management-details-view.component-9LB0w9DQ.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BqZyAAAw.mjs → acorex-modules-document-management-drive-choose.component-CPIB0bcn.mjs} +5 -5
  59. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BqZyAAAw.mjs.map → acorex-modules-document-management-drive-choose.component-CPIB0bcn.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-9APgNKIu.mjs → acorex-modules-document-management-large-icons-view.component-D--yZaJt.mjs} +5 -5
  61. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-9APgNKIu.mjs.map → acorex-modules-document-management-large-icons-view.component-D--yZaJt.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Byt-Hl3M.mjs → acorex-modules-document-management-large-tiles-view.component-CNeKXArZ.mjs} +5 -5
  63. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Byt-Hl3M.mjs.map → acorex-modules-document-management-large-tiles-view.component-CNeKXArZ.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-document-management-link-dialog.component-1iPUnhr1.mjs → acorex-modules-document-management-link-dialog.component-DKbO2nX8.mjs} +4 -4
  65. package/fesm2022/{acorex-modules-document-management-link-dialog.component-1iPUnhr1.mjs.map → acorex-modules-document-management-link-dialog.component-DKbO2nX8.mjs.map} +1 -1
  66. package/fesm2022/{acorex-modules-document-management-list-view.component-BeuXrgYL.mjs → acorex-modules-document-management-list-view.component-q2bCwMab.mjs} +5 -5
  67. package/fesm2022/{acorex-modules-document-management-list-view.component-BeuXrgYL.mjs.map → acorex-modules-document-management-list-view.component-q2bCwMab.mjs.map} +1 -1
  68. package/fesm2022/acorex-modules-document-management-lock-dialog.component-By36woOc.mjs +52 -0
  69. package/fesm2022/{acorex-modules-document-management-lock-dialog.component-BwKdUUcf.mjs.map → acorex-modules-document-management-lock-dialog.component-By36woOc.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-9KjrOZc6.mjs → acorex-modules-document-management-permission-definition.provider-Cqkd87Cb.mjs} +2 -2
  71. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-9KjrOZc6.mjs.map → acorex-modules-document-management-permission-definition.provider-Cqkd87Cb.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BHayM-mO.mjs → acorex-modules-document-management-rename-node-dialog.component-WZYHoTrK.mjs} +6 -6
  73. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BHayM-mO.mjs.map → acorex-modules-document-management-rename-node-dialog.component-WZYHoTrK.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-document-management-share-dialog.component-BiNdRpqs.mjs → acorex-modules-document-management-share-dialog.component-Diof2rpe.mjs} +4 -4
  75. package/fesm2022/{acorex-modules-document-management-share-dialog.component-BiNdRpqs.mjs.map → acorex-modules-document-management-share-dialog.component-Diof2rpe.mjs.map} +1 -1
  76. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-Bj6G6aqt.mjs +55 -0
  77. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BvR5OuCV.mjs.map → acorex-modules-document-management-share-email-dialog.component-Bj6G6aqt.mjs.map} +1 -1
  78. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CNVZaLv2.mjs → acorex-modules-document-management-small-icons-view.component-iCcvLfHC.mjs} +5 -5
  79. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CNVZaLv2.mjs.map → acorex-modules-document-management-small-icons-view.component-iCcvLfHC.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BDv_sH9f.mjs → acorex-modules-document-management-small-tiles-view.component-BlxmyYrn.mjs} +5 -5
  81. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BDv_sH9f.mjs.map → acorex-modules-document-management-small-tiles-view.component-BlxmyYrn.mjs.map} +1 -1
  82. package/fesm2022/acorex-modules-document-management-unlock-dialog.component-CNjFnm2w.mjs +37 -0
  83. package/fesm2022/{acorex-modules-document-management-unlock-dialog.component-DkZQ84kg.mjs.map → acorex-modules-document-management-unlock-dialog.component-CNjFnm2w.mjs.map} +1 -1
  84. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  85. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CJ2Qoott.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-BL9GxOV_.mjs} +56 -56
  86. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CJ2Qoott.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-BL9GxOV_.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-form-template-management-category.entity-BjNsUAZq.mjs → acorex-modules-form-template-management-category.entity-DgpkNWIh.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-form-template-management-category.entity-BjNsUAZq.mjs.map → acorex-modules-form-template-management-category.entity-DgpkNWIh.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-form-template-management-designer.page-Bd_bZ_7p.mjs → acorex-modules-form-template-management-designer.page-BmSMzkbb.mjs} +4 -4
  90. package/fesm2022/{acorex-modules-form-template-management-designer.page-Bd_bZ_7p.mjs.map → acorex-modules-form-template-management-designer.page-BmSMzkbb.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CqZ8ytjA.mjs → acorex-modules-form-template-management-permission-definition.provider-DwpvJvia.mjs} +2 -2
  92. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CqZ8ytjA.mjs.map → acorex-modules-form-template-management-permission-definition.provider-DwpvJvia.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-form-template-management-settings.provider-LrzsYkiL.mjs → acorex-modules-form-template-management-settings.provider-BDlPJPWl.mjs} +2 -2
  94. package/fesm2022/{acorex-modules-form-template-management-settings.provider-LrzsYkiL.mjs.map → acorex-modules-form-template-management-settings.provider-BDlPJPWl.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-M-R2U9CH.mjs → acorex-modules-form-template-management-template-picker.component-DWZby-TS.mjs} +4 -4
  96. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-M-R2U9CH.mjs.map → acorex-modules-form-template-management-template-picker.component-DWZby-TS.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BP75i9zU.mjs → acorex-modules-form-template-management-template-widget-edit.component-CZ7DLKVC.mjs} +5 -5
  98. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BP75i9zU.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CZ7DLKVC.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-form-template-management-template.entity-CCaHPkWq.mjs → acorex-modules-form-template-management-template.entity-DbDR1qAp.mjs} +2 -2
  100. package/fesm2022/{acorex-modules-form-template-management-template.entity-CCaHPkWq.mjs.map → acorex-modules-form-template-management-template.entity-DbDR1qAp.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CUOsh6e5.mjs → acorex-modules-form-template-management-viewer-popup.component-B4EoS2iO.mjs} +5 -5
  102. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CUOsh6e5.mjs.map → acorex-modules-form-template-management-viewer-popup.component-B4EoS2iO.mjs.map} +1 -1
  103. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  104. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DcmAnBue.mjs → acorex-modules-issue-management-acorex-modules-issue-management-7RWgBq87.mjs} +62 -65
  105. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DcmAnBue.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-7RWgBq87.mjs.map} +1 -1
  106. package/fesm2022/acorex-modules-issue-management-capture-screen.component-BzvY3UMh.mjs +28 -0
  107. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BMpafdHr.mjs.map → acorex-modules-issue-management-capture-screen.component-BzvY3UMh.mjs.map} +1 -1
  108. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  109. package/fesm2022/acorex-modules-log-management.mjs +10 -10
  110. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  111. package/fesm2022/acorex-modules-notification-management.mjs +35 -35
  112. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  113. package/fesm2022/{acorex-modules-organization-management-add-item.component-DE0Ek0dk.mjs → acorex-modules-organization-management-add-item.component-sP_aikRE.mjs} +5 -5
  114. package/fesm2022/{acorex-modules-organization-management-add-item.component-DE0Ek0dk.mjs.map → acorex-modules-organization-management-add-item.component-sP_aikRE.mjs.map} +1 -1
  115. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-RuvkSheN.mjs → acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs} +5 -5
  116. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-RuvkSheN.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs.map} +1 -1
  117. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-2EZNvjAH.mjs → acorex-modules-organization-management-org-chart-configuration.service-CtA19B8x.mjs} +4 -4
  118. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-2EZNvjAH.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-CtA19B8x.mjs.map} +1 -1
  119. package/fesm2022/{acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs → acorex-modules-organization-management-org-chart.page-B-TZkfTX.mjs} +12 -12
  120. package/fesm2022/{acorex-modules-organization-management-org-chart.page-C2qYJxpY.mjs.map → acorex-modules-organization-management-org-chart.page-B-TZkfTX.mjs.map} +1 -1
  121. package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs +320 -0
  122. package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +1 -0
  123. package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs +412 -0
  124. package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +1 -0
  125. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs +332 -0
  126. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +1 -0
  127. package/fesm2022/{acorex-modules-organization-management-position.entity-DhPT9kzv.mjs → acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs} +63 -27
  128. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +1 -0
  129. package/fesm2022/{acorex-modules-organization-management-role.entity-C-AIIaDo.mjs → acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs} +58 -8
  130. package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +1 -0
  131. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs +324 -0
  132. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -0
  133. package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs +320 -0
  134. package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +1 -0
  135. package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs +287 -0
  136. package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +1 -0
  137. package/fesm2022/acorex-modules-organization-management.mjs +451 -106
  138. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  139. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CJZ86Oon.mjs → acorex-modules-platform-management-acorex-modules-platform-management-D8qCuwrP.mjs} +247 -269
  140. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-D8qCuwrP.mjs.map +1 -0
  141. package/fesm2022/{acorex-modules-platform-management-list-version.component-a_szjudb.mjs → acorex-modules-platform-management-list-version.component-C4efcHZE.mjs} +8 -8
  142. package/fesm2022/acorex-modules-platform-management-list-version.component-C4efcHZE.mjs.map +1 -0
  143. package/fesm2022/{acorex-modules-platform-management-settings.provider-D_lPw5D4.mjs → acorex-modules-platform-management-settings.provider-DOR4HWty.mjs} +2 -2
  144. package/fesm2022/{acorex-modules-platform-management-settings.provider-D_lPw5D4.mjs.map → acorex-modules-platform-management-settings.provider-DOR4HWty.mjs.map} +1 -1
  145. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  146. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  147. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  148. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  149. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  150. package/fesm2022/acorex-modules-security-management.mjs +35 -35
  151. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  152. package/fesm2022/{acorex-modules-settings-management-setting-page.component-XDFtTqft.mjs → acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs} +4 -4
  153. package/fesm2022/{acorex-modules-settings-management-setting-page.component-XDFtTqft.mjs.map → acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs.map} +1 -1
  154. package/fesm2022/{acorex-modules-settings-management-setting-view.component-B_6RIU9e.mjs → acorex-modules-settings-management-setting-view.component-DryghOjs.mjs} +4 -4
  155. package/fesm2022/{acorex-modules-settings-management-setting-view.component-B_6RIU9e.mjs.map → acorex-modules-settings-management-setting-view.component-DryghOjs.mjs.map} +1 -1
  156. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  157. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  158. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  159. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  160. package/fesm2022/acorex-modules-training-management.mjs +43 -43
  161. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  162. package/organization-management/lib/const.d.ts +38 -2
  163. package/organization-management/lib/entities/index.d.ts +6 -0
  164. package/organization-management/lib/entities/position/position.types.d.ts +5 -0
  165. package/organization-management/lib/entities/position-category/index.d.ts +3 -0
  166. package/organization-management/lib/entities/position-category/position-category.entity.d.ts +3 -0
  167. package/organization-management/lib/entities/position-category/position-category.module.d.ts +6 -0
  168. package/organization-management/lib/entities/position-category/position-category.service.d.ts +10 -0
  169. package/organization-management/lib/entities/position-category/position-category.types.d.ts +7 -0
  170. package/organization-management/lib/entities/responsibility/index.d.ts +3 -0
  171. package/organization-management/lib/entities/responsibility/responsibility.entity.d.ts +3 -0
  172. package/organization-management/lib/entities/responsibility/responsibility.module.d.ts +7 -0
  173. package/organization-management/lib/entities/responsibility/responsibility.service.d.ts +10 -0
  174. package/organization-management/lib/entities/responsibility/responsibility.types.d.ts +6 -0
  175. package/organization-management/lib/entities/responsibility-category/index.d.ts +3 -0
  176. package/organization-management/lib/entities/responsibility-category/responsibility-category.entity.d.ts +3 -0
  177. package/organization-management/lib/entities/responsibility-category/responsibility-category.module.d.ts +7 -0
  178. package/organization-management/lib/entities/responsibility-category/responsibility-category.service.d.ts +10 -0
  179. package/organization-management/lib/entities/responsibility-category/responsibility-category.types.d.ts +7 -0
  180. package/organization-management/lib/entities/role/role.types.d.ts +3 -0
  181. package/organization-management/lib/entities/role-category/index.d.ts +3 -0
  182. package/organization-management/lib/entities/role-category/role-category.entity.d.ts +3 -0
  183. package/organization-management/lib/entities/role-category/role-category.module.d.ts +6 -0
  184. package/organization-management/lib/entities/role-category/role-category.service.d.ts +10 -0
  185. package/organization-management/lib/entities/role-category/role-category.types.d.ts +7 -0
  186. package/organization-management/lib/entities/skill/index.d.ts +3 -0
  187. package/organization-management/lib/entities/skill/skill.entity.d.ts +3 -0
  188. package/organization-management/lib/entities/skill/skill.module.d.ts +6 -0
  189. package/organization-management/lib/entities/skill/skill.service.d.ts +10 -0
  190. package/organization-management/lib/entities/skill/skill.types.d.ts +6 -0
  191. package/organization-management/lib/entities/skill-category/index.d.ts +3 -0
  192. package/organization-management/lib/entities/skill-category/skill-category.entity.d.ts +3 -0
  193. package/organization-management/lib/entities/skill-category/skill-category.module.d.ts +6 -0
  194. package/organization-management/lib/entities/skill-category/skill-category.service.d.ts +10 -0
  195. package/organization-management/lib/entities/skill-category/skill-category.types.d.ts +7 -0
  196. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +38 -2
  197. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +38 -2
  198. package/organization-management/lib/organization-management.module.d.ts +17 -11
  199. package/package.json +1 -1
  200. package/platform-management/lib/entities/data-source/coulmn-def.widget.d.ts +1 -4
  201. package/platform-management/lib/features/app-terms/components/notify-app/notify-app.component.d.ts +1 -2
  202. package/platform-management/lib/features/app-terms/pages/list/list-terms.component.d.ts +0 -1
  203. package/platform-management/lib/features/app-version/check-version.service.d.ts +1 -3
  204. package/platform-management/lib/features/app-version/components/list-versions/list-version.component.d.ts +2 -1
  205. package/platform-management/lib/features/app-version/components/notify-app/notify-app.component.d.ts +2 -3
  206. package/platform-management/lib/features/app-version/workflows/change-log.workflow.d.ts +8 -0
  207. package/fesm2022/acorex-modules-auth-blank.layout-B1a0710P.mjs +0 -18
  208. package/fesm2022/acorex-modules-auth-password.component-CLTZoufP.mjs +0 -59
  209. package/fesm2022/acorex-modules-auth-two-factor-code.component-PqOn37Gg.mjs +0 -40
  210. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DKGnh_V9.mjs +0 -3780
  211. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DKGnh_V9.mjs.map +0 -1
  212. package/fesm2022/acorex-modules-dashboard-management-home-dashboard-By3lZP-J.mjs +0 -861
  213. package/fesm2022/acorex-modules-dashboard-management-home-dashboard-By3lZP-J.mjs.map +0 -1
  214. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-hMEt0yZI.mjs.map +0 -1
  215. package/fesm2022/acorex-modules-document-management-lock-dialog.component-BwKdUUcf.mjs +0 -52
  216. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-BvR5OuCV.mjs +0 -55
  217. package/fesm2022/acorex-modules-document-management-unlock-dialog.component-DkZQ84kg.mjs +0 -37
  218. package/fesm2022/acorex-modules-issue-management-capture-screen.component-BMpafdHr.mjs +0 -28
  219. package/fesm2022/acorex-modules-organization-management-position.entity-DhPT9kzv.mjs.map +0 -1
  220. package/fesm2022/acorex-modules-organization-management-role.entity-C-AIIaDo.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CJZ86Oon.mjs.map +0 -1
  222. package/fesm2022/acorex-modules-platform-management-list-version.component-a_szjudb.mjs.map +0 -1
@@ -1,861 +0,0 @@
1
- import * as i1$1 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { input, output, contentChild, afterNextRender, signal, ChangeDetectionStrategy, Component, model, inject, Injectable, computed, effect, ViewEncapsulation } from '@angular/core';
5
- import { Router, ActivatedRoute } from '@angular/router';
6
- import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
7
- import * as i1 from '@acorex/components/button';
8
- import { AXButtonModule } from '@acorex/components/button';
9
- import { AXButtonGroupModule } from '@acorex/components/button-group';
10
- import * as i2 from '@acorex/components/decorators';
11
- import { AXDecoratorModule } from '@acorex/components/decorators';
12
- import { AXDialogService } from '@acorex/components/dialog';
13
- import * as i3 from '@acorex/components/dropdown';
14
- import { AXDropdownModule } from '@acorex/components/dropdown';
15
- import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
16
- import * as i4 from '@acorex/components/grid-layout-builder';
17
- import { AXGridLayoutBuilderModule } from '@acorex/components/grid-layout-builder';
18
- import * as i6 from '@acorex/core/translation';
19
- import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
20
- import * as i3$2 from '@acorex/platform/layout/builder';
21
- import { AXPWidgetRendererDirective, AXPWidgetGroupEnum, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
22
- import { AXPWidgetPropertyViewerComponent, AXPWidgetPickerService, AXPDesignerService } from '@acorex/platform/layout/designer';
23
- import { AXPBasePageComponent, AXPPageLayoutComponent, AXPBasePage } from '@acorex/platform/themes/default';
24
- import { AXPLayoutThemeService, AXPThemeLayoutBlockComponent } from '@acorex/platform/themes/shared';
25
- import * as i2$2 from '@acorex/components/loading';
26
- import { AXLoadingModule } from '@acorex/components/loading';
27
- import { AXPopupService } from '@acorex/components/popup';
28
- import { A as AXMDashboardService, R as RootConfig } from './acorex-modules-dashboard-management-acorex-modules-dashboard-management-DKGnh_V9.mjs';
29
- import { AXPSettingService } from '@acorex/platform/common';
30
- import { AXPPlatformScope, AXPDataGenerator } from '@acorex/platform/core';
31
- import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
32
- import { AXLabelModule } from '@acorex/components/label';
33
- import { AXBasePageComponent } from '@acorex/components/page';
34
- import * as i3$1 from '@acorex/components/text-box';
35
- import { AXTextBoxModule } from '@acorex/components/text-box';
36
- import * as i2$1 from '@angular/forms';
37
- import { FormsModule } from '@angular/forms';
38
-
39
- class AXMDashboardWidgetWrapperComponent {
40
- constructor() {
41
- this.title = input(null);
42
- this.onDelete = output();
43
- this.onConfiguration = output();
44
- this.onValueChanged = output();
45
- this.onOptionsChanged = output();
46
- this.widget = contentChild(AXPWidgetRendererDirective);
47
- this.#init = afterNextRender(() => {
48
- this.widget()?.onOptionsChanged.subscribe((c) => {
49
- this.onOptionsChanged.emit(c.widget.options());
50
- });
51
- this.widget()?.onValueChanged.subscribe((c) => {
52
- this.onValueChanged.emit(c.widget.getValue());
53
- });
54
- });
55
- this.hasConfiguration = input(true);
56
- this.isDropdownOpen = signal(false);
57
- }
58
- #init;
59
- handleOnItemClick(event) {
60
- switch (event.item.data) {
61
- case 'delete':
62
- this.onDelete.emit();
63
- break;
64
- case 'configuration':
65
- this.onConfiguration.emit();
66
- break;
67
- default:
68
- break;
69
- }
70
- this.isDropdownOpen.set(false);
71
- }
72
- log(event) {
73
- console.log('Dropdown event:', event);
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardWidgetWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMDashboardWidgetWrapperComponent, isStandalone: true, selector: "axm-dashboard-widget-wrapper", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, hasConfiguration: { classPropertyName: "hasConfiguration", publicName: "hasConfiguration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDelete: "onDelete", onConfiguration: "onConfiguration", onValueChanged: "onValueChanged", onOptionsChanged: "onOptionsChanged" }, queries: [{ propertyName: "widget", first: true, predicate: AXPWidgetRendererDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<section class=\"ax-relative ax-size-full ax-flex ax-flex-col ax-group ax-overflow-hidden\">\n <!-- Action button - stays absolute -->\n <div\n class=\"ax-p-[0.6125rem] ax-absolute ax-top-0 ax-end-0 ax-z-[99] ax-invisible group-hover:ax-visible\"\n [class.!ax-visible]=\"isDropdownOpen()\"\n >\n <ax-button class=\"ax-sm\" [look]=\"'blank'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-ellipsis-vertical\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel (onOpened)=\"isDropdownOpen.set(true)\" (onClosed)=\"isDropdownOpen.set(false)\">\n <ng-container *translate=\"let t\">\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event)\">\n @if(hasConfiguration()){\n <ax-button-item\n [data]=\"'configuration'\"\n [text]=\"(t('configuration', { scope: 'dashboard' }) | async) || 'configuration'\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-cog\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-divider></ax-divider>\n }\n <ax-button-item\n [data]=\"'delete'\"\n [text]=\"(t('delete', { scope: 'dashboard' }) | async) || 'delete'\"\n color=\"danger\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <!-- Title section -->\n @if(title()) {\n <div class=\"ax-ps-5 ax-pe-8 ax-py-3 ax-border-b\">\n <h3 class=\"ax-text-start ax-text-lg ax-font-medium ax-truncate\">{{title()}}</h3>\n </div>\n }\n\n <!-- Content section -->\n <div class=\"ax-overflow-auto ax-h-full\">\n <ng-content></ng-content>\n </div>\n</section>\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: AXDropdownModule }, { kind: "component", type: i3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardWidgetWrapperComponent, decorators: [{
79
- type: Component,
80
- args: [{ selector: 'axm-dashboard-widget-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule, CommonModule], standalone: true, template: "<section class=\"ax-relative ax-size-full ax-flex ax-flex-col ax-group ax-overflow-hidden\">\n <!-- Action button - stays absolute -->\n <div\n class=\"ax-p-[0.6125rem] ax-absolute ax-top-0 ax-end-0 ax-z-[99] ax-invisible group-hover:ax-visible\"\n [class.!ax-visible]=\"isDropdownOpen()\"\n >\n <ax-button class=\"ax-sm\" [look]=\"'blank'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-ellipsis-vertical\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel (onOpened)=\"isDropdownOpen.set(true)\" (onClosed)=\"isDropdownOpen.set(false)\">\n <ng-container *translate=\"let t\">\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event)\">\n @if(hasConfiguration()){\n <ax-button-item\n [data]=\"'configuration'\"\n [text]=\"(t('configuration', { scope: 'dashboard' }) | async) || 'configuration'\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-cog\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-divider></ax-divider>\n }\n <ax-button-item\n [data]=\"'delete'\"\n [text]=\"(t('delete', { scope: 'dashboard' }) | async) || 'delete'\"\n color=\"danger\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <!-- Title section -->\n @if(title()) {\n <div class=\"ax-ps-5 ax-pe-8 ax-py-3 ax-border-b\">\n <h3 class=\"ax-text-start ax-text-lg ax-font-medium ax-truncate\">{{title()}}</h3>\n </div>\n }\n\n <!-- Content section -->\n <div class=\"ax-overflow-auto ax-h-full\">\n <ng-content></ng-content>\n </div>\n</section>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
81
- }] });
82
-
83
- const path = 'home:dashboard:';
84
- var AXPHomeDashboardSetting;
85
- (function (AXPHomeDashboardSetting) {
86
- AXPHomeDashboardSetting["CurrentDashboard"] = "home:dashboard:current-dashboard";
87
- })(AXPHomeDashboardSetting || (AXPHomeDashboardSetting = {}));
88
-
89
- class AXMAddDashboardPopup extends AXBasePageComponent {
90
- constructor() {
91
- super(...arguments);
92
- this.title = model('');
93
- this.description = model('');
94
- }
95
- get isValid() {
96
- return !!this.title()?.trim();
97
- }
98
- ngOnInit() {
99
- this.title.set(this.data?.title || '');
100
- this.description.set(this.data?.description || '');
101
- }
102
- async handleClose(isCanceled = false) {
103
- this.close({
104
- title: this.title()?.trim(),
105
- description: this.description()?.trim(),
106
- isCanceled,
107
- });
108
- }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMAddDashboardPopup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: AXMAddDashboardPopup, isStandalone: true, selector: "ng-component", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { title: "titleChange", description: "descriptionChange" }, usesInheritance: true, ngImport: i0, template: `
111
- <div class="ax-card-body ax-p-4">
112
- <div class="ax-flex ax-flex-col ax-gap-2 ax-pb-4">
113
- <p class="ax-font-semibold">{{ 'title' | translate | async }}</p>
114
- <ax-text-box [(ngModel)]="title" name="title" placeholder="{{ 'title' | translate | async }}"> </ax-text-box>
115
- </div>
116
- <div class="ax-flex ax-flex-col ax-gap-2">
117
- <p class="ax-font-semibold">{{ 'description' | translate | async }}</p>
118
- <ax-text-box [(ngModel)]="description" name="description" placeholder="{{ 'description' | translate | async }}">
119
- </ax-text-box>
120
- </div>
121
- </div>
122
-
123
- <ax-footer>
124
- <ax-prefix></ax-prefix>
125
- <ax-suffix>
126
- <ax-button [text]="'cancel' | translate | async" look="solid" (onClick)="handleClose(true)"> </ax-button>
127
- <ax-button
128
- [text]="'save' | translate | async"
129
- look="solid"
130
- color="primary"
131
- [disabled]="!isValid"
132
- (onClick)="handleClose()"
133
- >
134
- <ax-icon class="fa-solid fa-save"></ax-icon>
135
- </ax-button>
136
- </ax-suffix>
137
- </ax-footer>
138
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXTextBoxModule }, { kind: "component", type: i3$1.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: AXLabelModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }] }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMAddDashboardPopup, decorators: [{
141
- type: Component,
142
- args: [{
143
- template: `
144
- <div class="ax-card-body ax-p-4">
145
- <div class="ax-flex ax-flex-col ax-gap-2 ax-pb-4">
146
- <p class="ax-font-semibold">{{ 'title' | translate | async }}</p>
147
- <ax-text-box [(ngModel)]="title" name="title" placeholder="{{ 'title' | translate | async }}"> </ax-text-box>
148
- </div>
149
- <div class="ax-flex ax-flex-col ax-gap-2">
150
- <p class="ax-font-semibold">{{ 'description' | translate | async }}</p>
151
- <ax-text-box [(ngModel)]="description" name="description" placeholder="{{ 'description' | translate | async }}">
152
- </ax-text-box>
153
- </div>
154
- </div>
155
-
156
- <ax-footer>
157
- <ax-prefix></ax-prefix>
158
- <ax-suffix>
159
- <ax-button [text]="'cancel' | translate | async" look="solid" (onClick)="handleClose(true)"> </ax-button>
160
- <ax-button
161
- [text]="'save' | translate | async"
162
- look="solid"
163
- color="primary"
164
- [disabled]="!isValid"
165
- (onClick)="handleClose()"
166
- >
167
- <ax-icon class="fa-solid fa-save"></ax-icon>
168
- </ax-button>
169
- </ax-suffix>
170
- </ax-footer>
171
- `,
172
- imports: [
173
- FormsModule,
174
- AXButtonModule,
175
- AXTextBoxModule,
176
- AXLabelModule,
177
- AXDecoratorModule,
178
- CommonModule,
179
- AXTranslationModule,
180
- ],
181
- standalone: true,
182
- }]
183
- }] });
184
-
185
- class AXMConfigurationPopup extends AXBasePageComponent {
186
- constructor() {
187
- super(...arguments);
188
- this.widgetData = signal(null);
189
- }
190
- ngOnInit() {
191
- this.widgetData.set(this.widget);
192
- }
193
- async handleClose(isCanceled = false) {
194
- this.close({
195
- isCanceled,
196
- widget: this.widgetData(),
197
- });
198
- }
199
- handlePropertyChange(event) {
200
- this.widgetData.set(event.values);
201
- }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMConfigurationPopup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMConfigurationPopup, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
204
- @if(widget) {
205
- <div class="ax-px-1">
206
- <axp-widget-property-viewer (onChanged)="handlePropertyChange($event)" [widget]="widget">
207
- </axp-widget-property-viewer>
208
- </div>
209
- }
210
- <ax-footer>
211
- <ax-prefix></ax-prefix>
212
- <ax-suffix>
213
- <ax-button text="Cancel" look="solid" (onClick)="handleClose(true)"> </ax-button>
214
- <ax-button text="Save" look="solid" color="primary" (onClick)="handleClose()">
215
- <ax-icon class="fa-solid fa-save"></ax-icon>
216
- </ax-button>
217
- </ax-suffix>
218
- </ax-footer>
219
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget", "mode"], outputs: ["onChanged"] }] }); }
220
- }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMConfigurationPopup, decorators: [{
222
- type: Component,
223
- args: [{
224
- template: `
225
- @if(widget) {
226
- <div class="ax-px-1">
227
- <axp-widget-property-viewer (onChanged)="handlePropertyChange($event)" [widget]="widget">
228
- </axp-widget-property-viewer>
229
- </div>
230
- }
231
- <ax-footer>
232
- <ax-prefix></ax-prefix>
233
- <ax-suffix>
234
- <ax-button text="Cancel" look="solid" (onClick)="handleClose(true)"> </ax-button>
235
- <ax-button text="Save" look="solid" color="primary" (onClick)="handleClose()">
236
- <ax-icon class="fa-solid fa-save"></ax-icon>
237
- </ax-button>
238
- </ax-suffix>
239
- </ax-footer>
240
- `,
241
- imports: [AXButtonModule, AXDecoratorModule, AXPWidgetPropertyViewerComponent],
242
- }]
243
- }] });
244
-
245
- class AXMDashboardPopupService {
246
- constructor() {
247
- this.popupService = inject(AXPopupService);
248
- }
249
- async generateDashboardLayout(data) {
250
- const result = await this.popupService.open(AXMAddDashboardPopup, {
251
- header: true,
252
- size: 'fit',
253
- draggable: true,
254
- hasBackdrop: true,
255
- title: 'Dashboard Info',
256
- data: { data },
257
- });
258
- if (!result.data) {
259
- return;
260
- }
261
- const { isCanceled, ...rest } = result.data;
262
- if (isCanceled) {
263
- return;
264
- }
265
- return rest;
266
- }
267
- async handlePopupConfiguration(widget) {
268
- const result = await this.popupService.open(AXMConfigurationPopup, {
269
- header: true,
270
- size: 'sm',
271
- draggable: true,
272
- hasBackdrop: true,
273
- title: 'Widget Configuration',
274
- data: { widget },
275
- });
276
- if (!result.data) {
277
- return;
278
- }
279
- const { isCanceled, ...rest } = result.data;
280
- if (isCanceled) {
281
- return;
282
- }
283
- return rest.widget;
284
- }
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
286
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardPopupService, providedIn: 'root' }); }
287
- }
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardPopupService, decorators: [{
289
- type: Injectable,
290
- args: [{ providedIn: 'root' }]
291
- }] });
292
-
293
- // Create the SignalStore
294
- const AXMDashboardStore = signalStore({ providedIn: 'root' },
295
- // Initial State Definition
296
- withState(() => {
297
- // Define initial empty state
298
- const state = {
299
- dashboards: [],
300
- currentDashboardId: null,
301
- dashboardsOption: {
302
- float: true,
303
- cellHeight: 75,
304
- gap: 5,
305
- minRow: 9,
306
- column: 12,
307
- responsiveLayout: [
308
- { column: 12, width: 2048 },
309
- { column: 6, width: 768 },
310
- { column: 1, width: 480 },
311
- ],
312
- },
313
- isLoading: false,
314
- };
315
- return state;
316
- }),
317
- // Computed Properties
318
- withComputed((state) => ({
319
- currentDashboard: computed(() => {
320
- return state.dashboards().find((dashboard) => dashboard.id === state.currentDashboardId()) || null;
321
- }),
322
- })),
323
- // Methods for State Management
324
- withMethods((store, dashboardPopup = inject(AXMDashboardPopupService), dialogService = inject(AXDialogService), translationService = inject(AXTranslationService), widgetPickerService = inject(AXPWidgetPickerService), dashboardService = inject(AXMDashboardService), settingService = inject(AXPSettingService)) => {
325
- // Load dashboards from service - runs on init via effect
326
- effect(() => {
327
- loadDashboards();
328
- });
329
- // Load dashboards from service
330
- async function loadDashboards() {
331
- try {
332
- patchState(store, { isLoading: true });
333
- // Get dashboards from service using query method
334
- const result = await dashboardService.query({ skip: 0, take: 100 });
335
- const dashboardModels = result.items || [];
336
- // Convert dashboard models to AXPDashboardLayout
337
- const dashboards = dashboardModels.map(modelToDashboardLayout);
338
- // Get current dashboard from settings
339
- const currentDashboardId = await settingService
340
- .scope(AXPPlatformScope.User)
341
- .get(AXPHomeDashboardSetting.CurrentDashboard);
342
- let newCurrentDashboardId = null;
343
- if (dashboards.length > 0) {
344
- // Check if currentDashboardId exists and is valid
345
- const dashboardExists = currentDashboardId && dashboards.some((d) => d.id === currentDashboardId);
346
- if (dashboardExists) {
347
- newCurrentDashboardId = currentDashboardId;
348
- }
349
- else {
350
- // If current dashboard is not valid or not set, use the first one
351
- newCurrentDashboardId = dashboards[0].id;
352
- // Save to user settings
353
- settingService
354
- .scope(AXPPlatformScope.User)
355
- .set(AXPHomeDashboardSetting.CurrentDashboard, newCurrentDashboardId);
356
- }
357
- }
358
- patchState(store, {
359
- dashboards,
360
- isLoading: false,
361
- currentDashboardId: newCurrentDashboardId,
362
- });
363
- }
364
- catch (error) {
365
- console.error('Error loading dashboards:', error);
366
- patchState(store, { isLoading: false });
367
- }
368
- }
369
- // Convert entity model to dashboard layout
370
- function modelToDashboardLayout(model) {
371
- return {
372
- id: model.id || '',
373
- title: model.title,
374
- description: model.description,
375
- widgets: model.widgets || [],
376
- };
377
- }
378
- // Convert dashboard layout to entity model
379
- function dashboardLayoutToModel(layout) {
380
- return {
381
- id: layout.id,
382
- name: layout.title,
383
- title: layout.title,
384
- description: layout.description || '',
385
- widgets: layout.widgets,
386
- };
387
- }
388
- return {
389
- // Set current dashboard
390
- setCurrentDashboard(dashboardId) {
391
- patchState(store, { currentDashboardId: dashboardId });
392
- settingService.scope(AXPPlatformScope.User).set(AXPHomeDashboardSetting.CurrentDashboard, dashboardId);
393
- },
394
- // Add a new dashboard
395
- async addDashboard() {
396
- try {
397
- const newDashboard = await dashboardPopup.generateDashboardLayout({});
398
- if (!newDashboard)
399
- return;
400
- // Create dashboard model and save to service
401
- const dashboardModel = dashboardLayoutToModel(newDashboard);
402
- const createdDashboardId = await dashboardService.insertOne(dashboardModel);
403
- newDashboard.id = createdDashboardId;
404
- newDashboard.widgets = [];
405
- // Update local state
406
- const updatedDashboards = [...store.dashboards(), newDashboard];
407
- patchState(store, {
408
- dashboards: updatedDashboards,
409
- currentDashboardId: newDashboard.id,
410
- });
411
- // Save current dashboard to settings
412
- settingService.scope(AXPPlatformScope.User).set(AXPHomeDashboardSetting.CurrentDashboard, newDashboard.id);
413
- }
414
- catch (error) {
415
- console.error('Error adding dashboard:', error);
416
- }
417
- },
418
- // Add a widget to the current dashboard
419
- async addWidget() {
420
- if (!store.currentDashboardId()) {
421
- console.warn('No current dashboard selected');
422
- return;
423
- }
424
- try {
425
- const widgets = await widgetPickerService.showPicker({
426
- groups: [AXPWidgetGroupEnum.DashboardWidget],
427
- });
428
- //remove meta from widgets //TODO TEMPORARY FIX
429
- const filteredWidgets = widgets.map(({ __meta__, ...rest }) => rest);
430
- if (filteredWidgets[0]?.type === 'sticky-note') {
431
- if (!filteredWidgets[0].options) {
432
- filteredWidgets[0].options = {};
433
- }
434
- filteredWidgets[0].options.hasConfiguration = false;
435
- }
436
- filteredWidgets.forEach((widget) => {
437
- const randomId = AXPDataGenerator.uuid();
438
- widget.name = widget?.type + '-' + randomId;
439
- widget.path = widget?.type + '-' + randomId;
440
- });
441
- // Step 2: Convert the selected widgets into AXPDashboardWidgetData format
442
- const convertedWidgets = filteredWidgets.map((widget) => {
443
- const id = AXPDataGenerator.uuid();
444
- return {
445
- config: {
446
- height: widget?.meta?.dimensions?.height ?? 2,
447
- width: widget?.meta?.dimensions?.width ?? 2,
448
- minHeight: widget?.meta?.dimensions?.minHeight,
449
- minWidth: widget?.meta?.dimensions?.minWidth,
450
- maxHeight: widget?.meta?.dimensions?.maxHeight,
451
- maxWidth: widget?.meta?.dimensions?.maxWidth,
452
- id,
453
- },
454
- node: { ...widget, name: id },
455
- };
456
- });
457
- // Step 3: Update the dashboards
458
- const updatedDashboards = store.dashboards().map((dashboard) => {
459
- if (dashboard.id === store.currentDashboardId()) {
460
- return {
461
- ...dashboard,
462
- widgets: [...dashboard.widgets, ...convertedWidgets],
463
- };
464
- }
465
- return dashboard;
466
- });
467
- // Step 4: Save the updated dashboard to the service
468
- const currentDashboard = updatedDashboards.find((d) => d.id === store.currentDashboardId());
469
- if (currentDashboard) {
470
- await dashboardService.updateOne(currentDashboard.id, dashboardLayoutToModel(currentDashboard));
471
- }
472
- patchState(store, { dashboards: updatedDashboards });
473
- }
474
- catch (error) {
475
- console.error('Error adding widget:', error);
476
- }
477
- },
478
- // Remove a dashboard
479
- async removeDashboard(id) {
480
- if (!id) {
481
- console.warn('No dashboard ID provided for removal');
482
- return;
483
- }
484
- try {
485
- const dialogResult = await dialogService.confirm(await translationService.translateAsync('workflow.warning'), await translationService.translateAsync('workflow.confirm-delete'), 'danger', 'horizontal');
486
- if (dialogResult.result) {
487
- // Delete from service
488
- await dashboardService.deleteOne(id);
489
- // Remove the dashboard from local state
490
- const updatedDashboards = store.dashboards().filter((dashboard) => dashboard.id !== id);
491
- // Update state and select a new current dashboard if needed
492
- let newCurrentDashboardId = store.currentDashboardId();
493
- if (id === store.currentDashboardId()) {
494
- newCurrentDashboardId =
495
- updatedDashboards.length > 0 ? updatedDashboards[updatedDashboards.length - 1].id : null;
496
- // Save to settings if we changed the current dashboard
497
- if (newCurrentDashboardId) {
498
- settingService
499
- .scope(AXPPlatformScope.User)
500
- .set(AXPHomeDashboardSetting.CurrentDashboard, newCurrentDashboardId);
501
- }
502
- }
503
- patchState(store, {
504
- dashboards: updatedDashboards,
505
- currentDashboardId: newCurrentDashboardId,
506
- });
507
- }
508
- }
509
- catch (error) {
510
- console.error('Error removing dashboard:', error);
511
- }
512
- },
513
- // Remove a widget from a dashboard
514
- async removeWidget(dashboardId, widgetId) {
515
- const currentDashboard = store.dashboards().find((d) => d.id === dashboardId);
516
- if (!currentDashboard)
517
- return;
518
- const updatedDashboard = {
519
- ...currentDashboard,
520
- widgets: currentDashboard.widgets.filter((widget) => widget.config.id !== widgetId),
521
- };
522
- // Save to service
523
- await dashboardService.updateOne(dashboardId, dashboardLayoutToModel(updatedDashboard));
524
- // Update local state
525
- const updatedDashboards = store
526
- .dashboards()
527
- .map((dashboard) => (dashboard.id === dashboardId ? updatedDashboard : dashboard));
528
- patchState(store, { dashboards: updatedDashboards });
529
- },
530
- // Handle configuration changes
531
- async handleConfigChange(dashboard) {
532
- // Save to service
533
- await dashboardService.updateOne(dashboard.id, dashboardLayoutToModel(dashboard));
534
- // Update local state
535
- const updatedDashboards = store.dashboards().map((d) => (d.id === dashboard.id ? dashboard : d));
536
- patchState(store, {
537
- dashboards: updatedDashboards,
538
- currentDashboardId: dashboard.id,
539
- });
540
- // Save current dashboard to settings
541
- settingService.scope(AXPPlatformScope.User).set(AXPHomeDashboardSetting.CurrentDashboard, dashboard.id);
542
- },
543
- // Handle grid layout changes
544
- async onGridChange(event) {
545
- if (!store.currentDashboard()) {
546
- console.warn('No current dashboard for grid change');
547
- return;
548
- }
549
- // Extract nodes from the event and remove the `element` property
550
- const nodes = event.nodes.map(({ element, ...rest }) => rest);
551
- // Update the current dashboard
552
- const currentDashboard = store.currentDashboard();
553
- const updatedWidgets = currentDashboard.widgets.map((widget) => {
554
- const updatedNode = nodes.find((node) => node.id === widget.config.id);
555
- if (updatedNode) {
556
- return {
557
- ...widget,
558
- config: updatedNode,
559
- };
560
- }
561
- return widget;
562
- });
563
- const updatedDashboard = {
564
- ...currentDashboard,
565
- widgets: updatedWidgets,
566
- };
567
- // Save to service
568
- await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));
569
- // Update the dashboards
570
- const updatedDashboards = store
571
- .dashboards()
572
- .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));
573
- patchState(store, { dashboards: updatedDashboards });
574
- },
575
- // Handle widget configuration
576
- async handlePopupConfiguration(widgetNode) {
577
- if (!store.currentDashboard()) {
578
- console.warn('No current dashboard selected');
579
- return;
580
- }
581
- try {
582
- const updatedNode = await dashboardPopup.handlePopupConfiguration(widgetNode);
583
- if (!updatedNode) {
584
- return;
585
- }
586
- // Update the current dashboard's widget with the new configuration
587
- const currentDashboard = store.currentDashboard();
588
- const updatedWidgets = currentDashboard.widgets.map((widget) => {
589
- if (widget.node?.name === widgetNode.name && widget.node?.path === widgetNode.path) {
590
- return {
591
- ...widget,
592
- node: updatedNode,
593
- };
594
- }
595
- return widget;
596
- });
597
- const updatedDashboard = {
598
- ...currentDashboard,
599
- widgets: updatedWidgets,
600
- };
601
- // Save to service
602
- await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));
603
- // Update the dashboards state
604
- const updatedDashboards = store
605
- .dashboards()
606
- .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));
607
- patchState(store, { dashboards: updatedDashboards });
608
- }
609
- catch (error) {
610
- console.error('Error handling widget configuration:', error);
611
- }
612
- },
613
- // Handle widget value changes
614
- async handleValueChanged(widgetNode, data) {
615
- if (!store.currentDashboard()) {
616
- console.warn('No current dashboard selected');
617
- return;
618
- }
619
- try {
620
- // Update the current dashboard's widget with the new value
621
- const currentDashboard = store.currentDashboard();
622
- const updatedWidgets = currentDashboard.widgets.map((widget) => {
623
- if (widget.node && widget.node.name === widgetNode.name && widget.node.path === widgetNode.path) {
624
- return {
625
- ...widget,
626
- node: {
627
- ...widget.node,
628
- defaultValue: data,
629
- },
630
- };
631
- }
632
- return widget;
633
- });
634
- const updatedDashboard = {
635
- ...currentDashboard,
636
- widgets: updatedWidgets,
637
- };
638
- // Save to service
639
- await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));
640
- // Update the dashboards state
641
- const updatedDashboards = store
642
- .dashboards()
643
- .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));
644
- // patchState(store, { dashboards: updatedDashboards });
645
- }
646
- catch (error) {
647
- console.error('Error handling widget value change:', error);
648
- }
649
- },
650
- // Handle widget options changes
651
- async handleOptionsChanged(widgetNode, data) {
652
- if (!store.currentDashboard()) {
653
- console.warn('No current dashboard selected');
654
- return;
655
- }
656
- try {
657
- // Update the current dashboard's widget with the new options
658
- const currentDashboard = store.currentDashboard();
659
- const updatedWidgets = currentDashboard.widgets.map((widget) => {
660
- if (widget.node && widget.node.name === widgetNode.name && widget.node.path === widgetNode.path) {
661
- return {
662
- ...widget,
663
- node: {
664
- ...widget.node,
665
- options: {
666
- ...(widget.node.options || {}),
667
- ...data,
668
- },
669
- },
670
- };
671
- }
672
- return widget;
673
- });
674
- const updatedDashboard = {
675
- ...currentDashboard,
676
- widgets: updatedWidgets,
677
- };
678
- // Save to service
679
- await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));
680
- // Update the dashboards state
681
- const updatedDashboards = store
682
- .dashboards()
683
- .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));
684
- patchState(store, { dashboards: updatedDashboards });
685
- }
686
- catch (error) {
687
- console.error('Error handling widget options change:', error);
688
- }
689
- },
690
- // Reload dashboards from service
691
- async refreshDashboards() {
692
- await loadDashboards();
693
- },
694
- };
695
- }));
696
-
697
- class AXMDashboardHomeComponent extends AXPBasePageComponent {
698
- constructor() {
699
- super(...arguments);
700
- //#region ---------------- Services & Dependencies ----------------
701
- this.rootConfig = RootConfig;
702
- this.popupService = inject(AXPopupService);
703
- this.dialogService = inject(AXDialogService);
704
- this.store = inject(AXMDashboardStore);
705
- this.router = inject(Router);
706
- this.activatedRoute = inject(ActivatedRoute);
707
- this.layoutService = inject(AXPLayoutThemeService);
708
- //#endregion
709
- //#region ---------------- View Properties ----------------
710
- this.isEdited = signal(false);
711
- this.context = signal({});
712
- //#endregion
713
- //#region ---------------- Effects ----------------
714
- this.#loadingEffect = effect(() => {
715
- const isLoading = false; // Since store doesn't have isLoading, we'll default to false
716
- this.layoutService.setNavigationLoading(isLoading);
717
- });
718
- }
719
- //#endregion
720
- //#region ---------------- Effects ----------------
721
- #loadingEffect;
722
- //#endregion
723
- //#region ---------------- Event Handlers ----------------
724
- toggleEdit() {
725
- this.isEdited.update((value) => !value);
726
- }
727
- async confirmWidgetDelete(dashboardId, widgetId) {
728
- try {
729
- const dialogResult = await this.dialogService.confirm(await this.translateService.translateAsync('workflow.warning'), await this.translateService.translateAsync('workflow.confirm-delete'), 'danger', 'horizontal');
730
- if (dialogResult.result) {
731
- this.store.removeWidget(dashboardId, widgetId);
732
- }
733
- }
734
- catch (error) {
735
- console.error('Error confirming widget deletion:', error);
736
- }
737
- }
738
- //#endregion
739
- getPageTitle() {
740
- return this.store.currentDashboard()?.title || 'Dashboard';
741
- }
742
- async getPageDescription() {
743
- return this.store.currentDashboard()?.description || '';
744
- }
745
- getTitleActions() {
746
- return [
747
- ...this.store.dashboards().map((i) => ({
748
- title: i.title,
749
- command: { name: i.id, metadata: { isDashboard: true, dashboard: i } },
750
- icon: i.id === this.store.currentDashboardId() ? 'fa-solid fa-check' : '',
751
- })),
752
- ];
753
- }
754
- async getPrimaryMenuItems() {
755
- const scope = this.rootConfig.config.i18n;
756
- return [
757
- {
758
- title: 't("add-item")',
759
- icon: 'fa-light fa-square-plus',
760
- color: 'primary',
761
- items: [
762
- {
763
- title: await this.translateService.translateAsync('dashboard', { scope: 'dashboard' }),
764
- icon: 'fa-light fa-gauge-high',
765
- break: true,
766
- command: {
767
- name: 'new-dashboard',
768
- },
769
- },
770
- {
771
- title: await this.translateService.translateAsync('widget', { scope: 'dashboard' }),
772
- icon: 'fa-light fa-window-restore',
773
- command: {
774
- name: 'new-widget',
775
- },
776
- },
777
- ],
778
- },
779
- ];
780
- }
781
- async getSecondaryMenuItems() {
782
- const scope = this.rootConfig.config.i18n;
783
- return [
784
- {
785
- title: await this.translateService.translateAsync('delete-current-dashboard', { scope: 'dashboard' }),
786
- icon: 'fa-light fa-trash-can',
787
- color: 'danger',
788
- disabled: this.store.dashboards().length <= 1,
789
- command: {
790
- name: 'delete',
791
- },
792
- },
793
- ];
794
- }
795
- async execute(command) {
796
- if (command.metadata?.['isDashboard']) {
797
- this.store.handleConfigChange(command.metadata?.['dashboard']);
798
- this.recompute();
799
- }
800
- else {
801
- switch (command.name) {
802
- case 'new-dashboard':
803
- await this.store.addDashboard();
804
- this.recompute();
805
- break;
806
- case 'new-widget':
807
- await this.store.addWidget();
808
- this.recompute();
809
- break;
810
- case 'delete':
811
- await this.store.removeDashboard(this.store.currentDashboard()?.id);
812
- this.recompute();
813
- break;
814
- }
815
- }
816
- }
817
- // #af = afterNextRender(() => {
818
- // this.store.refreshDashboards();
819
- // });
820
- log(event) {
821
- console.log(event);
822
- }
823
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardHomeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
824
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMDashboardHomeComponent, isStandalone: true, selector: "axm-dashboard-home", providers: [
825
- AXPDesignerService,
826
- AXMDashboardStore,
827
- {
828
- provide: AXPBasePage,
829
- useExisting: AXMDashboardHomeComponent,
830
- },
831
- ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <!-- Content Section -->\n\n <axp-page-content class=\"ax-relative\">\n @if(store.isLoading()) {\n <div\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-w-full ax-absolute ax-z-10 ax-bg-white/80\"\n >\n <ax-loading></ax-loading>\n <p class=\"ax-mt-3 ax-text-gray-600\">{{ t('loading', { scope: 'dashboard' }) | async }}</p>\n </div>\n } @else {\n <axp-widgets-container [context]=\"context()\">\n <ax-grid-layout-container [options]=\"store.dashboardsOption()\" (onChange)=\"store.onGridChange($event)\">\n @for(widget of store.currentDashboard()?.widgets; track widget.config.id) {\n <ax-grid-layout-widget [options]=\"widget.config\">\n <axm-dashboard-widget-wrapper\n [title]=\"widget.node?.options?.['title']\"\n [hasConfiguration]=\"widget.node?.options?.['hasConfiguration'] ?? true\"\n (onDelete)=\"confirmWidgetDelete(store.currentDashboard()?.id!, widget.config.id!)\"\n (onConfiguration)=\"store.handlePopupConfiguration(widget.node!)\"\n (onValueChanged)=\"store.handleValueChanged(widget?.node!,$event)\"\n (onOptionsChanged)=\"store.handleOptionsChanged(widget?.node!,$event)\"\n >\n @if(widget.node) {\n <ng-container axp-widget-renderer [node]=\"widget.node\" [mode]=\"'view'\"></ng-container>\n }\n </axm-dashboard-widget-wrapper>\n </ax-grid-layout-widget>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-bg-gray-50 ax-p-4\">\n <ax-icon icon=\"fa-light fa-shapes\" class=\"ax-text-4xl ax-text-gray-400 ax-mb-4\"></ax-icon>\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">\n {{ t('no-widgets', { scope: 'dashboard' }) | async }}\n </h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n {{ t('add-first-widget', { scope: 'dashboard' }) | async }}\n </p>\n </div>\n }\n </ax-grid-layout-container>\n </axp-widgets-container>\n }\n </axp-page-content>\n</axp-page-layout>\n", styles: ["axm-dashboard-home{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axm-dashboard-home .placeholder-content{border-radius:.5rem!important;border-width:1px!important;border-style:dashed!important;--tw-border-opacity: 1 !important;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1))!important;background-color:rgba(var(--ax-sys-color-primary-lightest-surface),.5)!important}axm-dashboard-home ax-grid-layout-widget .grid-stack-item-content{border-radius:.375rem!important;border-width:1px!important;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05) !important;--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important;--ax-comp-grid-layout-stack-item-content-bg-color: var(--ax-sys-color-lightest-surface) }\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i2$2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i3$2.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i3$2.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "ngmodule", type: AXGridLayoutBuilderModule }, { kind: "component", type: i4.AXGridLayoutContainerComponent, selector: "ax-grid-layout-container", inputs: ["options", "isEmpty"], outputs: ["onAdded", "onRemoved", "onWidgetChange", "onChange", "isLayoutRendered", "isEmptyChange"] }, { kind: "component", type: i4.AXGridLayoutWidgetComponent, selector: "ax-grid-layout-widget", inputs: ["options"] }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer, axp-page-header, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-container, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: AXMDashboardWidgetWrapperComponent, selector: "axm-dashboard-widget-wrapper", inputs: ["title", "hasConfiguration"], outputs: ["onDelete", "onConfiguration", "onValueChanged", "onOptionsChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
832
- }
833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDashboardHomeComponent, decorators: [{
834
- type: Component,
835
- args: [{ selector: 'axm-dashboard-home', standalone: true, imports: [
836
- CommonModule,
837
- AXLoadingModule,
838
- AXPLayoutBuilderModule,
839
- AXButtonModule,
840
- AXButtonGroupModule,
841
- AXGridLayoutBuilderModule,
842
- AXPPageLayoutComponent,
843
- AXPThemeLayoutBlockComponent,
844
- AXDropdownButtonModule,
845
- AXDropdownModule,
846
- AXDecoratorModule,
847
- AXTranslationModule,
848
- AXBreadcrumbsModule,
849
- AXMDashboardWidgetWrapperComponent,
850
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
851
- AXPDesignerService,
852
- AXMDashboardStore,
853
- {
854
- provide: AXPBasePage,
855
- useExisting: AXMDashboardHomeComponent,
856
- },
857
- ], template: "<axp-page-layout *translate=\"let t\">\n <!-- Content Section -->\n\n <axp-page-content class=\"ax-relative\">\n @if(store.isLoading()) {\n <div\n class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-w-full ax-absolute ax-z-10 ax-bg-white/80\"\n >\n <ax-loading></ax-loading>\n <p class=\"ax-mt-3 ax-text-gray-600\">{{ t('loading', { scope: 'dashboard' }) | async }}</p>\n </div>\n } @else {\n <axp-widgets-container [context]=\"context()\">\n <ax-grid-layout-container [options]=\"store.dashboardsOption()\" (onChange)=\"store.onGridChange($event)\">\n @for(widget of store.currentDashboard()?.widgets; track widget.config.id) {\n <ax-grid-layout-widget [options]=\"widget.config\">\n <axm-dashboard-widget-wrapper\n [title]=\"widget.node?.options?.['title']\"\n [hasConfiguration]=\"widget.node?.options?.['hasConfiguration'] ?? true\"\n (onDelete)=\"confirmWidgetDelete(store.currentDashboard()?.id!, widget.config.id!)\"\n (onConfiguration)=\"store.handlePopupConfiguration(widget.node!)\"\n (onValueChanged)=\"store.handleValueChanged(widget?.node!,$event)\"\n (onOptionsChanged)=\"store.handleOptionsChanged(widget?.node!,$event)\"\n >\n @if(widget.node) {\n <ng-container axp-widget-renderer [node]=\"widget.node\" [mode]=\"'view'\"></ng-container>\n }\n </axm-dashboard-widget-wrapper>\n </ax-grid-layout-widget>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-bg-gray-50 ax-p-4\">\n <ax-icon icon=\"fa-light fa-shapes\" class=\"ax-text-4xl ax-text-gray-400 ax-mb-4\"></ax-icon>\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">\n {{ t('no-widgets', { scope: 'dashboard' }) | async }}\n </h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n {{ t('add-first-widget', { scope: 'dashboard' }) | async }}\n </p>\n </div>\n }\n </ax-grid-layout-container>\n </axp-widgets-container>\n }\n </axp-page-content>\n</axp-page-layout>\n", styles: ["axm-dashboard-home{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axm-dashboard-home .placeholder-content{border-radius:.5rem!important;border-width:1px!important;border-style:dashed!important;--tw-border-opacity: 1 !important;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1))!important;background-color:rgba(var(--ax-sys-color-primary-lightest-surface),.5)!important}axm-dashboard-home ax-grid-layout-widget .grid-stack-item-content{border-radius:.375rem!important;border-width:1px!important;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05) !important;--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important;--ax-comp-grid-layout-stack-item-content-bg-color: var(--ax-sys-color-lightest-surface) }\n"] }]
858
- }] });
859
-
860
- export { AXMDashboardHomeComponent };
861
- //# sourceMappingURL=acorex-modules-dashboard-management-home-dashboard-By3lZP-J.mjs.map