@acorex/modules 19.2.17-next.0 → 19.2.19

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 (178) hide show
  1. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +4 -0
  2. package/auth/lib/pages/login/password/password.component.d.ts +1 -0
  3. package/common/lib/entities/dashboard/dashboard.types.d.ts +2 -2
  4. package/common/lib/entities/index.d.ts +0 -1
  5. package/common/lib/features/dashboard-home/dashboard-home.d.ts +113 -0
  6. package/common/lib/features/dashboard-home/dashboard-home.store.d.ts +19 -0
  7. package/common/lib/features/dashboard-home/dashboard.type.d.ts +12 -0
  8. package/common/lib/features/dashboard-popups/add-dashboard-popup.d.ts +11 -0
  9. package/common/lib/features/dashboard-popups/dashboard-popup.service.d.ts +9 -0
  10. package/common/lib/features/widget-wrapper/dashboard-widget-wrapper.d.ts +10 -0
  11. package/document-management/lib/document-management.module.d.ts +3 -1
  12. package/document-management/lib/entities/document/document.service.d.ts +0 -5
  13. package/document-management/lib/entities/document/document.types.d.ts +6 -0
  14. package/document-management/lib/entities/document-type/document-type.service.d.ts +2 -2
  15. package/document-management/lib/entities/document-type/document-type.types.d.ts +1 -0
  16. package/document-management/lib/entities/folder/folder.types.d.ts +5 -4
  17. package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +141 -10
  18. package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +65 -6
  19. package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +118 -0
  20. package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +118 -0
  21. package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +118 -0
  22. package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +118 -0
  23. package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +118 -0
  24. package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +118 -0
  25. package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +118 -0
  26. package/document-management/lib/features/drive/drive.component.d.ts +111 -86
  27. package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +264 -0
  28. package/document-management/lib/features/file-type/widgets/file-type-extension/file-type-extension-edit.component.d.ts +1 -0
  29. package/document-management/lib/features/shared/components/choose-document-type/choose-document-type.component.d.ts +21 -0
  30. package/document-management/lib/features/shared/components/file-viewer-popup/file-viewer-popup.component.d.ts +9 -0
  31. package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +179 -0
  32. package/document-management/lib/features/shared/components/index.d.ts +3 -0
  33. package/document-management/lib/features/shared/document-manager.service.d.ts +67 -55
  34. package/document-management/lib/features/shared/document-manager.types.d.ts +9 -3
  35. package/document-management/lib/features/shared/index.d.ts +1 -0
  36. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +171 -1
  37. package/document-management/lib/features/workflow/upload/upload.workflow.d.ts +17 -0
  38. package/fesm2022/{acorex-modules-application-management-module-designer.component-DPJ4qpK3.mjs → acorex-modules-application-management-module-designer.component-Dd_lmV6C.mjs} +3 -3
  39. package/fesm2022/{acorex-modules-application-management-module-designer.component-DPJ4qpK3.mjs.map → acorex-modules-application-management-module-designer.component-Dd_lmV6C.mjs.map} +1 -1
  40. package/fesm2022/acorex-modules-application-management.mjs +4 -4
  41. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  42. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DTje3YIv.mjs → acorex-modules-auth-acorex-modules-auth-DrcL7GCj.mjs} +16 -16
  43. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DrcL7GCj.mjs.map +1 -0
  44. package/fesm2022/{acorex-modules-auth-app-chooser.component-CZxX5-T_.mjs → acorex-modules-auth-app-chooser.component-CbJb1P_k.mjs} +3 -3
  45. package/fesm2022/{acorex-modules-auth-app-chooser.component-CZxX5-T_.mjs.map → acorex-modules-auth-app-chooser.component-CbJb1P_k.mjs.map} +1 -1
  46. package/fesm2022/{acorex-modules-auth-login.module-B9P2XpfQ.mjs → acorex-modules-auth-login.module-DFCB1l7W.mjs} +4 -4
  47. package/fesm2022/{acorex-modules-auth-login.module-B9P2XpfQ.mjs.map → acorex-modules-auth-login.module-DFCB1l7W.mjs.map} +1 -1
  48. package/fesm2022/acorex-modules-auth-master.layout-CuKXvY0o.mjs +23 -0
  49. package/fesm2022/acorex-modules-auth-master.layout-CuKXvY0o.mjs.map +1 -0
  50. package/fesm2022/{acorex-modules-auth-password.component-C7Yp-ioT.mjs → acorex-modules-auth-password.component-5gwz30CZ.mjs} +3 -3
  51. package/fesm2022/{acorex-modules-auth-password.component-C7Yp-ioT.mjs.map → acorex-modules-auth-password.component-5gwz30CZ.mjs.map} +1 -1
  52. package/fesm2022/acorex-modules-auth-password.component-DacOjakT.mjs +132 -0
  53. package/fesm2022/acorex-modules-auth-password.component-DacOjakT.mjs.map +1 -0
  54. package/fesm2022/{acorex-modules-auth-routes-Bu-xB4O6.mjs → acorex-modules-auth-routes-D018Lg-b.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-auth-routes-Bu-xB4O6.mjs.map → acorex-modules-auth-routes-D018Lg-b.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-CKsbiOUX.mjs → acorex-modules-auth-tenant-chooser.component-YZBKyJFH.mjs} +3 -3
  57. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-CKsbiOUX.mjs.map → acorex-modules-auth-tenant-chooser.component-YZBKyJFH.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-auth-two-factor-code.component-DrV3UBuT.mjs → acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs} +3 -3
  59. package/fesm2022/{acorex-modules-auth-two-factor-code.component-DrV3UBuT.mjs.map → acorex-modules-auth-two-factor-code.component-B2ZYJOrN.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-auth-two-factor.module-YRh6_YcG.mjs → acorex-modules-auth-two-factor.module-DiEB7VWl.mjs} +3 -3
  61. package/fesm2022/{acorex-modules-auth-two-factor.module-YRh6_YcG.mjs.map → acorex-modules-auth-two-factor.module-DiEB7VWl.mjs.map} +1 -1
  62. package/fesm2022/acorex-modules-auth.mjs +1 -1
  63. package/fesm2022/acorex-modules-common-index-B3u5feXf.mjs +507 -0
  64. package/fesm2022/acorex-modules-common-index-B3u5feXf.mjs.map +1 -0
  65. package/fesm2022/acorex-modules-common.mjs +5 -505
  66. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  67. package/fesm2022/acorex-modules-conversation.mjs +5 -5
  68. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  69. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C9ZCejjs.mjs → acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs} +1061 -322
  70. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs.map +1 -0
  71. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BnRaCq_Q.mjs → acorex-modules-document-management-create-folder-dialog.component-Cp26sAs9.mjs} +7 -7
  72. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-Cp26sAs9.mjs.map +1 -0
  73. package/fesm2022/acorex-modules-document-management-details-view.component-CZyOdjEl.mjs +24 -0
  74. package/fesm2022/acorex-modules-document-management-details-view.component-CZyOdjEl.mjs.map +1 -0
  75. package/fesm2022/acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs +163 -0
  76. package/fesm2022/acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs.map +1 -0
  77. package/fesm2022/acorex-modules-document-management-drive.component-CZR-optD.mjs +246 -0
  78. package/fesm2022/acorex-modules-document-management-drive.component-CZR-optD.mjs.map +1 -0
  79. package/fesm2022/acorex-modules-document-management-large-icons-view.component-C5pB5bc2.mjs +20 -0
  80. package/fesm2022/acorex-modules-document-management-large-icons-view.component-C5pB5bc2.mjs.map +1 -0
  81. package/fesm2022/acorex-modules-document-management-large-tiles-view.component-D9PFgzMQ.mjs +24 -0
  82. package/fesm2022/acorex-modules-document-management-large-tiles-view.component-D9PFgzMQ.mjs.map +1 -0
  83. package/fesm2022/acorex-modules-document-management-list-view.component-DjULM8Me.mjs +20 -0
  84. package/fesm2022/acorex-modules-document-management-list-view.component-DjULM8Me.mjs.map +1 -0
  85. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-EBf1XqU8.mjs → acorex-modules-document-management-rename-node-dialog.component-D3Cg9_5d.mjs} +6 -6
  86. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-D3Cg9_5d.mjs.map +1 -0
  87. package/fesm2022/acorex-modules-document-management-small-icons-view.component-4M8c_1Dt.mjs +20 -0
  88. package/fesm2022/acorex-modules-document-management-small-icons-view.component-4M8c_1Dt.mjs.map +1 -0
  89. package/fesm2022/acorex-modules-document-management-small-tiles-view.component-CXPXrH4g.mjs +24 -0
  90. package/fesm2022/acorex-modules-document-management-small-tiles-view.component-CXPXrH4g.mjs.map +1 -0
  91. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  92. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-szDh56Bk.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-CJYrDtq6.mjs} +10 -10
  93. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-szDh56Bk.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-CJYrDtq6.mjs.map} +1 -1
  94. package/fesm2022/{acorex-modules-form-template-management-category.entity-BZXqnhwK.mjs → acorex-modules-form-template-management-category.entity-BdiYytzK.mjs} +3 -3
  95. package/fesm2022/{acorex-modules-form-template-management-category.entity-BZXqnhwK.mjs.map → acorex-modules-form-template-management-category.entity-BdiYytzK.mjs.map} +1 -1
  96. package/fesm2022/{acorex-modules-form-template-management-setting.provider-o2_TSVfK.mjs → acorex-modules-form-template-management-setting.provider-CoETMkEC.mjs} +2 -2
  97. package/fesm2022/{acorex-modules-form-template-management-setting.provider-o2_TSVfK.mjs.map → acorex-modules-form-template-management-setting.provider-CoETMkEC.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BxOdV3y2.mjs → acorex-modules-form-template-management-template-picker.component-0JfGxdMv.mjs} +3 -3
  99. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BxOdV3y2.mjs.map → acorex-modules-form-template-management-template-picker.component-0JfGxdMv.mjs.map} +1 -1
  100. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component--MGoF75g.mjs → acorex-modules-form-template-management-template-widget-edit.component-BkJ3ieIg.mjs} +3 -3
  101. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component--MGoF75g.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BkJ3ieIg.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-form-template-management-template.entity-JvWcqjzi.mjs → acorex-modules-form-template-management-template.entity-ByE2p0Mu.mjs} +3 -3
  103. package/fesm2022/{acorex-modules-form-template-management-template.entity-JvWcqjzi.mjs.map → acorex-modules-form-template-management-template.entity-ByE2p0Mu.mjs.map} +1 -1
  104. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Bllb70Ih.mjs → acorex-modules-form-template-management-viewer-popup.component-CThcXWpt.mjs} +4 -4
  105. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Bllb70Ih.mjs.map → acorex-modules-form-template-management-viewer-popup.component-CThcXWpt.mjs.map} +1 -1
  106. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  107. package/fesm2022/acorex-modules-notification-management.mjs +4 -4
  108. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  109. package/fesm2022/{acorex-modules-organization-management-add-item.component-Y-i6xDkl.mjs → acorex-modules-organization-management-add-item.component-DW0TneoX.mjs} +3 -3
  110. package/fesm2022/{acorex-modules-organization-management-add-item.component-Y-i6xDkl.mjs.map → acorex-modules-organization-management-add-item.component-DW0TneoX.mjs.map} +1 -1
  111. package/fesm2022/{acorex-modules-organization-management-branch.entity-DhObzxhh.mjs → acorex-modules-organization-management-branch.entity-e5pFx82N.mjs} +2 -2
  112. package/fesm2022/{acorex-modules-organization-management-branch.entity-DhObzxhh.mjs.map → acorex-modules-organization-management-branch.entity-e5pFx82N.mjs.map} +1 -1
  113. package/fesm2022/{acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs → acorex-modules-organization-management-chart.entity-DnmNyyD2.mjs} +2 -2
  114. package/fesm2022/{acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs.map → acorex-modules-organization-management-chart.entity-DnmNyyD2.mjs.map} +1 -1
  115. package/fesm2022/{acorex-modules-organization-management-company.entity-d7GaCVei.mjs → acorex-modules-organization-management-company.entity-BRkEcDNt.mjs} +2 -2
  116. package/fesm2022/{acorex-modules-organization-management-company.entity-d7GaCVei.mjs.map → acorex-modules-organization-management-company.entity-BRkEcDNt.mjs.map} +1 -1
  117. package/fesm2022/{acorex-modules-organization-management-department.entity-BxyeK3lU.mjs → acorex-modules-organization-management-department.entity-ChJXNpXn.mjs} +2 -2
  118. package/fesm2022/{acorex-modules-organization-management-department.entity-BxyeK3lU.mjs.map → acorex-modules-organization-management-department.entity-ChJXNpXn.mjs.map} +1 -1
  119. package/fesm2022/{acorex-modules-organization-management-division.entity-Dh54R4es.mjs → acorex-modules-organization-management-division.entity-qyDyhl-q.mjs} +2 -2
  120. package/fesm2022/{acorex-modules-organization-management-division.entity-Dh54R4es.mjs.map → acorex-modules-organization-management-division.entity-qyDyhl-q.mjs.map} +1 -1
  121. package/fesm2022/{acorex-modules-organization-management-employee.entity-DcJCJN3R.mjs → acorex-modules-organization-management-employee.entity-Cp5TejzT.mjs} +2 -2
  122. package/fesm2022/{acorex-modules-organization-management-employee.entity-DcJCJN3R.mjs.map → acorex-modules-organization-management-employee.entity-Cp5TejzT.mjs.map} +1 -1
  123. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs → acorex-modules-organization-management-employment-type.entity-Ul10Mdwm.mjs} +2 -2
  124. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs.map → acorex-modules-organization-management-employment-type.entity-Ul10Mdwm.mjs.map} +1 -1
  125. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-D1tWlJqL.mjs +92 -0
  126. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-D1tWlJqL.mjs.map +1 -0
  127. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DXyAFXwE.mjs → acorex-modules-organization-management-org-chart.page-bzbCuF-w.mjs} +16 -16
  128. package/fesm2022/acorex-modules-organization-management-org-chart.page-bzbCuF-w.mjs.map +1 -0
  129. package/fesm2022/{acorex-modules-organization-management-position.entity-D17Yembh.mjs → acorex-modules-organization-management-position.entity-BpQbwW-x.mjs} +2 -2
  130. package/fesm2022/{acorex-modules-organization-management-position.entity-D17Yembh.mjs.map → acorex-modules-organization-management-position.entity-BpQbwW-x.mjs.map} +1 -1
  131. package/fesm2022/{acorex-modules-organization-management-role.entity-Cmbyle8P.mjs → acorex-modules-organization-management-role.entity-B9N4qA_E.mjs} +2 -2
  132. package/fesm2022/{acorex-modules-organization-management-role.entity-Cmbyle8P.mjs.map → acorex-modules-organization-management-role.entity-B9N4qA_E.mjs.map} +1 -1
  133. package/fesm2022/{acorex-modules-organization-management-setting.provider-CAU8Bve9.mjs → acorex-modules-organization-management-setting.provider-CMDpwkG2.mjs} +2 -2
  134. package/fesm2022/{acorex-modules-organization-management-setting.provider-CAU8Bve9.mjs.map → acorex-modules-organization-management-setting.provider-CMDpwkG2.mjs.map} +1 -1
  135. package/fesm2022/{acorex-modules-organization-management-team.entity-DcurAtLd.mjs → acorex-modules-organization-management-team.entity-7q6Eg74A.mjs} +2 -2
  136. package/fesm2022/{acorex-modules-organization-management-team.entity-DcurAtLd.mjs.map → acorex-modules-organization-management-team.entity-7q6Eg74A.mjs.map} +1 -1
  137. package/fesm2022/acorex-modules-organization-management.mjs +17 -15
  138. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  139. package/fesm2022/{acorex-modules-platform-management-list-version.component-CoZBz85x.mjs → acorex-modules-platform-management-list-version.component-C9764yzu.mjs} +3 -3
  140. package/fesm2022/{acorex-modules-platform-management-list-version.component-CoZBz85x.mjs.map → acorex-modules-platform-management-list-version.component-C9764yzu.mjs.map} +1 -1
  141. package/fesm2022/acorex-modules-platform-management.mjs +376 -21
  142. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  143. package/fesm2022/acorex-modules-scheduler-job-management.mjs +1 -1
  144. package/fesm2022/acorex-modules-security-management.mjs +1 -1
  145. package/fesm2022/acorex-modules-text-template-management.mjs +1 -1
  146. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +4 -0
  147. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +4 -0
  148. package/package.json +1 -1
  149. package/platform-management/lib/const.d.ts +6 -0
  150. package/platform-management/lib/entities/index.d.ts +1 -0
  151. package/platform-management/lib/entities/meta-data-definition/meta-data-definition.types.d.ts +1 -0
  152. package/platform-management/lib/entities/meta-data-definition-category/category.entity.d.ts +3 -0
  153. package/platform-management/lib/entities/meta-data-definition-category/category.service.d.ts +10 -0
  154. package/platform-management/lib/entities/meta-data-definition-category/category.types.d.ts +5 -0
  155. package/platform-management/lib/entities/meta-data-definition-category/index.d.ts +3 -0
  156. package/common/lib/entities/dashboard-widget-data/dashboard-widget-data.entity.d.ts +0 -3
  157. package/common/lib/entities/dashboard-widget-data/dashboard-widget-data.service.d.ts +0 -10
  158. package/common/lib/entities/dashboard-widget-data/dashboard-widget-data.types.d.ts +0 -9
  159. package/common/lib/entities/dashboard-widget-data/index.d.ts +0 -3
  160. package/common/lib/features/home/dashboard-home.d.ts +0 -5
  161. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DTje3YIv.mjs.map +0 -1
  162. package/fesm2022/acorex-modules-auth-master.layout-BYC0FYq1.mjs +0 -23
  163. package/fesm2022/acorex-modules-auth-master.layout-BYC0FYq1.mjs.map +0 -1
  164. package/fesm2022/acorex-modules-auth-password.component-DzrYH4yM.mjs +0 -127
  165. package/fesm2022/acorex-modules-auth-password.component-DzrYH4yM.mjs.map +0 -1
  166. package/fesm2022/acorex-modules-common-index-zaFxpV8u.mjs +0 -14
  167. package/fesm2022/acorex-modules-common-index-zaFxpV8u.mjs.map +0 -1
  168. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C9ZCejjs.mjs.map +0 -1
  169. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-BnRaCq_Q.mjs.map +0 -1
  170. package/fesm2022/acorex-modules-document-management-drive.component-Sz198sA6.mjs +0 -165
  171. package/fesm2022/acorex-modules-document-management-drive.component-Sz198sA6.mjs.map +0 -1
  172. package/fesm2022/acorex-modules-document-management-index--I8MGeDs.mjs +0 -2
  173. package/fesm2022/acorex-modules-document-management-index--I8MGeDs.mjs.map +0 -1
  174. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-EBf1XqU8.mjs.map +0 -1
  175. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DO8wSZqZ.mjs +0 -92
  176. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DO8wSZqZ.mjs.map +0 -1
  177. package/fesm2022/acorex-modules-organization-management-org-chart.page-DXyAFXwE.mjs.map +0 -1
  178. /package/common/lib/features/{home → dashboard-home}/index.d.ts +0 -0
@@ -0,0 +1,507 @@
1
+ import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
2
+ import * as i2 from '@acorex/components/button';
3
+ import { AXButtonModule } from '@acorex/components/button';
4
+ import * as i5 from '@acorex/components/decorators';
5
+ import { AXDecoratorModule } from '@acorex/components/decorators';
6
+ import * as i3 from '@acorex/components/dropdown';
7
+ import { AXDropdownModule } from '@acorex/components/dropdown';
8
+ import * as i4$1 from '@acorex/components/dropdown-button';
9
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
10
+ import * as i3$2 from '@acorex/components/grid-layout-builder';
11
+ import { AXGridLayoutBuilderModule } from '@acorex/components/grid-layout-builder';
12
+ import { AXTranslationService, AXTranslatorDirective } from '@acorex/core/translation';
13
+ import * as i1$1 from '@acorex/platform/layout/builder';
14
+ import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
15
+ import { AXPDesignerService } from '@acorex/platform/layout/designer';
16
+ import { AXPSimplePageLayout } from '@acorex/platform/themes/default';
17
+ import { AXPLayoutThemeService, AXPThemeLayoutBlockComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutActionsComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent } from '@acorex/platform/themes/shared';
18
+ import { AsyncPipe } from '@angular/common';
19
+ import * as i0 from '@angular/core';
20
+ import { output, input, ChangeDetectionStrategy, Component, model, afterNextRender, inject, Injectable, computed, signal } from '@angular/core';
21
+ import { ActivatedRoute } from '@angular/router';
22
+ import { RootConfig } from './acorex-modules-common.mjs';
23
+ import { AXDialogService } from '@acorex/components/dialog';
24
+ import { AXPDataGenerator } from '@acorex/platform/core';
25
+ import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
26
+ import { AXPopupService } from '@acorex/components/popup';
27
+ import * as i4 from '@acorex/components/label';
28
+ import { AXLabelModule } from '@acorex/components/label';
29
+ import { AXBasePageComponent } from '@acorex/components/page';
30
+ import * as i3$1 from '@acorex/components/text-box';
31
+ import { AXTextBoxModule } from '@acorex/components/text-box';
32
+ import * as i1 from '@angular/forms';
33
+ import { FormsModule } from '@angular/forms';
34
+
35
+ class AXCDashboardWidgetWrapperComponent {
36
+ constructor() {
37
+ this.onDelete = output();
38
+ this.hasOptions = input(true);
39
+ }
40
+ handleOnItemClick(event) {
41
+ console.log(event);
42
+ switch (event.item.data) {
43
+ case 'delete':
44
+ this.onDelete.emit();
45
+ break;
46
+ default:
47
+ break;
48
+ }
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCDashboardWidgetWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXCDashboardWidgetWrapperComponent, isStandalone: true, selector: "axc-dashboard-widget-wrapper", inputs: { hasOptions: { classPropertyName: "hasOptions", publicName: "hasOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDelete: "onDelete" }, ngImport: i0, template: "<section class=\"ax-relative ax-size-full ax-flex ax-justify-center ax-items-center ax-group\">\n @if(hasOptions()){\n <div class=\"ax-p-1 ax-absolute ax-top-0 ax-left-0 ax-z-[9999] ax-invisible group-hover:ax-visible\">\n <ax-button color=\"secondary\" class=\"ax-sm\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-ellipsis-h\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ng-container>\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event)\">\n <ax-button-item [data]=\"'delete'\" text=\"Delete\" color=\"danger\">\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 <ng-content></ng-content>\n</section>\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.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: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCDashboardWidgetWrapperComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'axc-dashboard-widget-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXButtonModule, AXDecoratorModule, AXDropdownModule], standalone: true, template: "<section class=\"ax-relative ax-size-full ax-flex ax-justify-center ax-items-center ax-group\">\n @if(hasOptions()){\n <div class=\"ax-p-1 ax-absolute ax-top-0 ax-left-0 ax-z-[9999] ax-invisible group-hover:ax-visible\">\n <ax-button color=\"secondary\" class=\"ax-sm\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-ellipsis-h\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ng-container>\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event)\">\n <ax-button-item [data]=\"'delete'\" text=\"Delete\" color=\"danger\">\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 <ng-content></ng-content>\n</section>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
56
+ }] });
57
+
58
+ class AXCAddDashboardPopup extends AXBasePageComponent {
59
+ constructor() {
60
+ super(...arguments);
61
+ this.title = model();
62
+ this.description = model();
63
+ this.#init = afterNextRender(() => {
64
+ this.title.set(this.data.title || '');
65
+ this.description.set(this.data.description || '');
66
+ });
67
+ }
68
+ #init;
69
+ async handleClose(isCanceled = false) {
70
+ this.close({
71
+ title: this.title(),
72
+ description: this.description(),
73
+ isCanceled,
74
+ });
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCAddDashboardPopup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: AXCAddDashboardPopup, 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: `
78
+ <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
79
+ <ax-label>Title</ax-label>
80
+ <ax-text-box [(ngModel)]="title" name="title"></ax-text-box>
81
+
82
+ <ax-label>Description</ax-label>
83
+ <ax-text-box [(ngModel)]="description" name="description"></ax-text-box>
84
+ </div>
85
+
86
+ <ax-footer>
87
+ <ax-prefix></ax-prefix>
88
+ <ax-suffix>
89
+ <ax-button text="Cancel" look="solid" (onClick)="handleClose(true)"></ax-button>
90
+ <ax-button text="Save" look="solid" color="primary" (onClick)="handleClose()">
91
+ <ax-icon class="fa-solid fa-save"></ax-icon>
92
+ </ax-button>
93
+ </ax-suffix>
94
+ </ax-footer>
95
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.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: "component", type: i4.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }] }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCAddDashboardPopup, decorators: [{
98
+ type: Component,
99
+ args: [{
100
+ template: `
101
+ <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
102
+ <ax-label>Title</ax-label>
103
+ <ax-text-box [(ngModel)]="title" name="title"></ax-text-box>
104
+
105
+ <ax-label>Description</ax-label>
106
+ <ax-text-box [(ngModel)]="description" name="description"></ax-text-box>
107
+ </div>
108
+
109
+ <ax-footer>
110
+ <ax-prefix></ax-prefix>
111
+ <ax-suffix>
112
+ <ax-button text="Cancel" look="solid" (onClick)="handleClose(true)"></ax-button>
113
+ <ax-button text="Save" look="solid" color="primary" (onClick)="handleClose()">
114
+ <ax-icon class="fa-solid fa-save"></ax-icon>
115
+ </ax-button>
116
+ </ax-suffix>
117
+ </ax-footer>
118
+ `,
119
+ imports: [FormsModule, AXButtonModule, AXTextBoxModule, AXLabelModule, AXButtonModule, AXDecoratorModule],
120
+ }]
121
+ }] });
122
+
123
+ class AXPDashboardPopupService {
124
+ constructor() {
125
+ this.popupService = inject(AXPopupService);
126
+ }
127
+ async generateDashboardLayout(data) {
128
+ const result = await this.popupService.open(AXCAddDashboardPopup, {
129
+ header: true,
130
+ size: 'fit',
131
+ draggable: true,
132
+ hasBackdrop: true,
133
+ title: 'Dashboard Layout Details',
134
+ data: { data },
135
+ });
136
+ const { isCanceled, ...rest } = result.data;
137
+ if (isCanceled) {
138
+ throw new Error('Process is Canceled by User!');
139
+ }
140
+ else {
141
+ return rest;
142
+ }
143
+ }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
145
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardPopupService, providedIn: 'root' }); }
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardPopupService, decorators: [{
148
+ type: Injectable,
149
+ args: [{ providedIn: 'root' }]
150
+ }] });
151
+
152
+ // Initial state
153
+ const initialDashboards = [
154
+ {
155
+ id: 'widget1',
156
+ title: 'Home',
157
+ widget: [
158
+ {
159
+ config: {
160
+ id: '1',
161
+ height: 5,
162
+ width: 6,
163
+ },
164
+ node: {
165
+ name: 'bar-chart',
166
+ path: 'bar-chart',
167
+ type: 'bar-chart',
168
+ defaultValue: {
169
+ data: [
170
+ { label: 'Category A', value: 30, color: 'green' },
171
+ { label: 'Category B', value: 80 },
172
+ { label: 'Category C', value: 45 },
173
+ { label: 'Category D', value: 10 },
174
+ { label: 'Category E', value: 100 },
175
+ ],
176
+ options: { width: 600, height: 400, color: ['red', 'yellow', 'blue'] },
177
+ },
178
+ },
179
+ },
180
+ {
181
+ config: {
182
+ id: '5',
183
+ height: 5,
184
+ width: 6,
185
+ },
186
+ node: {
187
+ name: 'map',
188
+ path: 'map',
189
+ type: 'map',
190
+ options: {
191
+ hasDraw: true,
192
+ zoomLevel: 5,
193
+ latitude: 32,
194
+ longitude: 53,
195
+ fitToDraw: true,
196
+ limitDraw: [
197
+ {
198
+ points: [
199
+ {
200
+ latitude: 33.8339199536547,
201
+ longitude: 51.16056693933671,
202
+ },
203
+ {
204
+ latitude: 32.37996146435729,
205
+ longitude: 50.017223524232904,
206
+ },
207
+ {
208
+ latitude: 31.034108344903512,
209
+ longitude: 51.402428046377885,
210
+ },
211
+ {
212
+ latitude: 31.690781806136822,
213
+ longitude: 53.24936740923793,
214
+ },
215
+ {
216
+ latitude: 33.211116472416855,
217
+ longitude: 53.18340528913575,
218
+ },
219
+ ],
220
+ color: 'blue',
221
+ },
222
+ ],
223
+ },
224
+ },
225
+ },
226
+ ],
227
+ },
228
+ {
229
+ id: 'widget2',
230
+ title: 'Work',
231
+ widget: [
232
+ {
233
+ config: {
234
+ id: '2',
235
+ height: 3,
236
+ width: 3,
237
+ },
238
+ node: {
239
+ name: 'sticky-note',
240
+ path: 'sticky-note',
241
+ type: 'sticky-note',
242
+ defaultValue: `test`,
243
+ options: {
244
+ hasOptions: false,
245
+ },
246
+ },
247
+ },
248
+ {
249
+ config: { id: '3', height: 4, width: 4 },
250
+ node: {
251
+ name: 'donut-chart',
252
+ path: 'donut-chart',
253
+ type: 'donut-chart',
254
+ defaultValue: {
255
+ data: [
256
+ { id: 'a', name: 'Apples', value: 40, color: '#E57373' },
257
+ { id: 'b', name: 'Bananas', value: 30, color: '#FFF176' },
258
+ { id: 'c', name: 'ta', value: 20, color: '#F06292' },
259
+ { id: 'd', name: 'Dates', value: 10, color: '#9575CD' },
260
+ ],
261
+ options: { width: 250, height: 250 },
262
+ },
263
+ },
264
+ },
265
+ {
266
+ config: { id: '4', height: 4, width: 3 },
267
+ node: {
268
+ name: 'gauge-chart',
269
+ path: 'gauge-chart',
270
+ type: 'gauge-chart',
271
+ defaultValue: {
272
+ data: {
273
+ id: 'gauge1',
274
+ name: 'System Load',
275
+ value: 65,
276
+ color: '#2196F3',
277
+ },
278
+ options: {
279
+ width: 250,
280
+ height: 250,
281
+ minValue: 0,
282
+ maxValue: 100,
283
+ // thresholds: [
284
+ // { range: 30, color: '#4CAF50' }, // Green for low values
285
+ // { range: 70, color: '#FFC107' }, // Yellow for medium values
286
+ // { range: 100, color: '#F44336' }, // Red for high values
287
+ // ],
288
+ label: 'CPU Usage',
289
+ animationDuration: 3000,
290
+ },
291
+ },
292
+ },
293
+ },
294
+ ],
295
+ },
296
+ ];
297
+ // Create the SignalStore
298
+ const AXCDashboardStore = signalStore({},
299
+ // Define the state
300
+ withState({
301
+ dashboards: initialDashboards,
302
+ currentDashboardId: initialDashboards[0].id,
303
+ dashboardsOption: { float: true, cellHeight: 100, gap: 20, minRow: 7, column: 12 },
304
+ }),
305
+ // Define computed properties
306
+ withComputed((state) => ({
307
+ currentDashboard: computed(() => {
308
+ return state.dashboards().find((dashboard) => dashboard.id === state.currentDashboardId()) || null;
309
+ }),
310
+ })),
311
+ // Define methods
312
+ withMethods((state, dashboardPopup = inject(AXPDashboardPopupService), dialogService = inject(AXDialogService), translationService = inject(AXTranslationService), designerService = inject(AXPDesignerService)) => ({
313
+ // Set current dashboard
314
+ setCurrentDashboard(dashboardId) {
315
+ patchState(state, { currentDashboardId: dashboardId });
316
+ },
317
+ // Add a new dashboard
318
+ async addDashboard() {
319
+ try {
320
+ const newDashboard = await dashboardPopup.generateDashboardLayout({});
321
+ newDashboard.id = AXPDataGenerator.uuid();
322
+ newDashboard.widget = [];
323
+ // newDashboard.widget = [
324
+ // {
325
+ // config: {
326
+ // h: 1,
327
+ // w: 1,
328
+ // id: AXPDataGenerator.uuid(),
329
+ // },
330
+ // },
331
+ // ];
332
+ const updatedDashboards = [...state.dashboards(), newDashboard];
333
+ patchState(state, {
334
+ dashboards: updatedDashboards,
335
+ currentDashboardId: newDashboard.id,
336
+ });
337
+ }
338
+ catch (error) {
339
+ console.error('Error adding dashboard:', error);
340
+ }
341
+ },
342
+ // Add a widget to the current dashboard
343
+ async addWidget() {
344
+ if (!state.currentDashboardId()) {
345
+ console.warn('No current dashboard selected');
346
+ return;
347
+ }
348
+ try {
349
+ // Step 1: Show the picker and get the selected widgets
350
+ const widgets = await designerService.showPicker({
351
+ name: 'page-layout',
352
+ type: 'page-layout',
353
+ children: [],
354
+ });
355
+ // Step 2: Convert the selected widgets into AXPDashboardWidgetData format
356
+ const convertedWidgets = widgets.map((widget) => ({
357
+ config: { height: 2, width: 2, id: AXPDataGenerator.uuid() },
358
+ node: widget,
359
+ }));
360
+ // Step 3: Update the dashboards
361
+ const updatedDashboards = state.dashboards().map((dashboard) => {
362
+ if (dashboard.id === state.currentDashboardId()) {
363
+ return {
364
+ ...dashboard,
365
+ widget: [...dashboard.widget, ...convertedWidgets],
366
+ };
367
+ }
368
+ return dashboard;
369
+ });
370
+ patchState(state, { dashboards: updatedDashboards });
371
+ }
372
+ catch (error) {
373
+ console.error('Error adding widget:', error);
374
+ }
375
+ },
376
+ // Remove a dashboard
377
+ async removeDashboard(id) {
378
+ if (!id) {
379
+ console.warn('No dashboard ID provided for removal');
380
+ return;
381
+ }
382
+ try {
383
+ const dialogResult = await dialogService.confirm(await translationService.translateAsync('workflow.warning'), await translationService.translateAsync('workflow.confirm-delete'), 'danger', 'horizontal');
384
+ if (dialogResult.result) {
385
+ // Remove the dashboard
386
+ const updatedDashboards = state.dashboards().filter((dashboard) => dashboard.id !== id);
387
+ // Update state
388
+ patchState(state, {
389
+ dashboards: updatedDashboards,
390
+ currentDashboardId: id === state.currentDashboardId()
391
+ ? updatedDashboards.length > 0
392
+ ? updatedDashboards[0].id
393
+ : null
394
+ : state.currentDashboardId(),
395
+ });
396
+ }
397
+ }
398
+ catch (error) {
399
+ console.error('Error removing dashboard:', error);
400
+ }
401
+ },
402
+ // Remove a widget from a dashboard
403
+ removeWidget(dashboardId, widgetId) {
404
+ const updatedDashboards = state.dashboards().map((dashboard) => {
405
+ if (dashboard.id === dashboardId) {
406
+ return {
407
+ ...dashboard,
408
+ widget: dashboard.widget.filter((widget) => widget.config.id !== widgetId),
409
+ };
410
+ }
411
+ return dashboard;
412
+ });
413
+ patchState(state, { dashboards: updatedDashboards });
414
+ },
415
+ // Handle configuration changes
416
+ handleConfigChange(dashboard) {
417
+ const updatedDashboards = state.dashboards().map((d) => (d.id === dashboard.id ? dashboard : d));
418
+ patchState(state, {
419
+ dashboards: updatedDashboards,
420
+ currentDashboardId: dashboard.id,
421
+ });
422
+ },
423
+ // Handle grid layout changes
424
+ onGridChange(event) {
425
+ if (!state.currentDashboard()) {
426
+ console.warn('No current dashboard for grid change');
427
+ return;
428
+ }
429
+ // Extract nodes from the event and remove the `element` property
430
+ const nodes = event.nodes.map(({ element, ...rest }) => rest);
431
+ // Update the current dashboard
432
+ const currentDashboard = state.currentDashboard();
433
+ const updatedWidgets = currentDashboard.widget.map((widget) => {
434
+ const updatedNode = nodes.find((node) => node.id === widget.config.id);
435
+ if (updatedNode) {
436
+ return {
437
+ ...widget,
438
+ config: updatedNode,
439
+ };
440
+ }
441
+ return widget;
442
+ });
443
+ const updatedDashboard = {
444
+ ...currentDashboard,
445
+ widget: updatedWidgets,
446
+ };
447
+ // Update the dashboards
448
+ const updatedDashboards = state
449
+ .dashboards()
450
+ .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));
451
+ patchState(state, { dashboards: updatedDashboards });
452
+ },
453
+ })));
454
+
455
+ class AXPDashboardHomeComponent {
456
+ constructor() {
457
+ this.activatedRoute = inject(ActivatedRoute);
458
+ this.layout = inject(AXPLayoutThemeService);
459
+ this.store = inject(AXCDashboardStore);
460
+ this.rootConfig = RootConfig;
461
+ this.isEdited = signal(false);
462
+ this.context = signal({});
463
+ }
464
+ toggleEdit() {
465
+ //(window as any).d = this.activatedRoute;
466
+ this.isEdited.update((i) => !i);
467
+ }
468
+ getGridBackground() {
469
+ if (!this.isEdited()) {
470
+ return null;
471
+ }
472
+ const gap = this.store.dashboardsOption().gap ?? 0; // Get the gap value, default to 0 if not provided
473
+ const columnWidth = `calc((100% - ${gap}px) / ${this.store.dashboardsOption().column ?? 12})`;
474
+ const cellHeight = this.store.dashboardsOption().cellHeight;
475
+ // Adjust the vertical lines to start at the gap value and end before the gap
476
+ const verticalLines = `linear-gradient(to right, #0000001c 1px, transparent 1px) ${gap}px 0 / ${columnWidth} 100%`;
477
+ // Adjust the horizontal lines to start at the gap value and end before the gap
478
+ const horizontalLines = `linear-gradient(to bottom, #0000001c 1px, transparent 1px) 0 ${gap}px / 100% ${cellHeight}px`;
479
+ return `${verticalLines}, ${horizontalLines}`;
480
+ }
481
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardHomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
482
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPDashboardHomeComponent, isStandalone: true, selector: "ng-component", providers: [AXPDesignerService, AXCDashboardStore], ngImport: i0, template: "<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-page-header>\n <axp-layout-title> {{ store.currentDashboard()?.title }} </axp-layout-title>\n\n <axp-layout-description> {{ store.currentDashboard()?.description }} </axp-layout-description>\n 1\n <axp-layout-breadcrumbs>\n <!-- <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward ax-text-xs\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [routerLink]=\"b.url\" class=\"!ax-text-xs\"> {{ b.title}} </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs> -->\n </axp-layout-breadcrumbs>\n\n <axp-layout-actions>\n <axp-layout-actions-primary>\n <ax-button [text]=\"t('create-new', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.addDashboard()\"\n [text]=\" (t('dashboard.dashboard', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-folder-plus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-divider></ax-divider>\n <ax-button-item\n (onClick)=\"store.addWidget()\"\n [text]=\" (t('dashboard.widget', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <ax-dropdown-button [text]=\"store.currentDashboard()?.title\" [color]=\"'primary'\">\n <ax-button-item-list>\n @for (dashboard of store.dashboards(); track dashboard.id) {\n <ax-button-item\n [text]=\"dashboard.title\"\n [selected]=\"dashboard.id === store.currentDashboard()?.id\"\n (onClick)=\"store.handleConfigChange(dashboard)\"\n >\n </ax-button-item>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-screen ax-bg-gray-50 ax-p-4\">\n <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Dashboards Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any dashboards yet. Create one to get started!\n </p>\n </div>\n }\n </ax-button-item-list>\n </ax-dropdown-button>\n </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item\n [disabled]=\"store.dashboards().length<=1\"\n [text]=\"(t('dashboard.delete-current-dashboard', { scope: rootConfig.config.i18n }) | async)!\"\n (onClick)=\"store.removeDashboard(store.currentDashboard()?.id!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-trash\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n </axp-layout-page-header>\n\n <axp-layout-page-content class=\"ax-relative\">\n <ax-grid-layout-container\n [style.background]=\"getGridBackground()\"\n #grid\n [options]=\"store.dashboardsOption()\"\n (onChange)=\"store.onGridChange($event)\"\n >\n @for(widget of store.currentDashboard()?.widget ; track widget.config.id) {\n <ax-grid-layout-widget [options]=\"widget.config\">\n <!-- <div class=\"ax-absolute ax-top-0 ax-size-3 ax-handler ax-bg-blue-500 ax-z-[999]\"></div> -->\n <axc-dashboard-widget-wrapper\n [hasOptions]=\"widget.node?.options?.['hasOptions'] ?? true\"\n (onDelete)=\"store.removeWidget(store.currentDashboard()?.id!,widget.config.id!)\"\n >\n @if(widget.node){\n <axp-widgets-container [context]=\"context()\">\n <ng-container axp-widget-renderer [node]=\"widget.node\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n }\n </axc-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 <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Widget Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any Widget yet. Create one to get started!\n </p>\n </div>\n }\n </ax-grid-layout-container>\n <div class=\"ax-p-4 ax-absolute ax-bottom-0 ax-right-0\">\n <ax-button\n [color]=\"'primary'\"\n class=\"ax-xl ax-rounded-full\"\n [disabled]=\"!store.currentDashboard()?.widget?.length\"\n (onClick)=\"toggleEdit()\"\n >\n <ax-prefix> <ax-icon class=\"fa-solid fa-pen\"> </ax-icon></ax-prefix>\n </ax-button>\n </div>\n </axp-layout-page-content>\n</axp-layout-simple-page>\n", styles: ["::ng-deep .placeholder-content{position:absolute}\n"], dependencies: [{ kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i1$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.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: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXGridLayoutBuilderModule }, { kind: "component", type: i3$2.AXGridLayoutContainerComponent, selector: "ax-grid-layout-container", inputs: ["options", "isEmpty"], outputs: ["onAdded", "onRemoved", "onWidgetChange", "onChange", "isLayoutRendered", "isEmptyChange"] }, { kind: "component", type: i3$2.AXGridLayoutWidgetComponent, selector: "ax-grid-layout-widget", inputs: ["options"] }, { kind: "component", type: AXPSimplePageLayout, selector: "axp-layout-simple-page" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title, axp-layout-nav-button, axp-layout-description, axp-layout-title-bar, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutPageHeaderComponent, selector: "axp-layout-page-header" }, { kind: "component", type: AXPThemeLayoutActionsComponent, selector: "axp-layout-actions" }, { kind: "component", type: AXPThemeLayoutPagePrimaryActionsComponent, selector: "axp-layout-actions-primary" }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i4$1.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: AXCDashboardWidgetWrapperComponent, selector: "axc-dashboard-widget-wrapper", inputs: ["hasOptions"], outputs: ["onDelete"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type: AXPThemeLayoutPageSecondaryActionsComponent, selector: "axp-layout-actions-secondary" }, { kind: "ngmodule", type: AXBreadcrumbsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
483
+ }
484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardHomeComponent, decorators: [{
485
+ type: Component,
486
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXPDesignerService, AXCDashboardStore], imports: [
487
+ AXPLayoutBuilderModule,
488
+ AXButtonModule,
489
+ AXGridLayoutBuilderModule,
490
+ AXPSimplePageLayout,
491
+ AXPThemeLayoutBlockComponent,
492
+ AXPThemeLayoutPageHeaderComponent,
493
+ AXPThemeLayoutActionsComponent,
494
+ AXPThemeLayoutPagePrimaryActionsComponent,
495
+ AXDropdownButtonModule,
496
+ AXCDashboardWidgetWrapperComponent,
497
+ AXDecoratorModule,
498
+ AXDropdownModule,
499
+ AsyncPipe,
500
+ AXTranslatorDirective,
501
+ AXPThemeLayoutPageSecondaryActionsComponent,
502
+ AXBreadcrumbsModule,
503
+ ], standalone: true, template: "<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-page-header>\n <axp-layout-title> {{ store.currentDashboard()?.title }} </axp-layout-title>\n\n <axp-layout-description> {{ store.currentDashboard()?.description }} </axp-layout-description>\n 1\n <axp-layout-breadcrumbs>\n <!-- <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward ax-text-xs\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [routerLink]=\"b.url\" class=\"!ax-text-xs\"> {{ b.title}} </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs> -->\n </axp-layout-breadcrumbs>\n\n <axp-layout-actions>\n <axp-layout-actions-primary>\n <ax-button [text]=\"t('create-new', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.addDashboard()\"\n [text]=\" (t('dashboard.dashboard', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-folder-plus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-divider></ax-divider>\n <ax-button-item\n (onClick)=\"store.addWidget()\"\n [text]=\" (t('dashboard.widget', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <ax-dropdown-button [text]=\"store.currentDashboard()?.title\" [color]=\"'primary'\">\n <ax-button-item-list>\n @for (dashboard of store.dashboards(); track dashboard.id) {\n <ax-button-item\n [text]=\"dashboard.title\"\n [selected]=\"dashboard.id === store.currentDashboard()?.id\"\n (onClick)=\"store.handleConfigChange(dashboard)\"\n >\n </ax-button-item>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-screen ax-bg-gray-50 ax-p-4\">\n <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Dashboards Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any dashboards yet. Create one to get started!\n </p>\n </div>\n }\n </ax-button-item-list>\n </ax-dropdown-button>\n </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item\n [disabled]=\"store.dashboards().length<=1\"\n [text]=\"(t('dashboard.delete-current-dashboard', { scope: rootConfig.config.i18n }) | async)!\"\n (onClick)=\"store.removeDashboard(store.currentDashboard()?.id!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-trash\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n </axp-layout-page-header>\n\n <axp-layout-page-content class=\"ax-relative\">\n <ax-grid-layout-container\n [style.background]=\"getGridBackground()\"\n #grid\n [options]=\"store.dashboardsOption()\"\n (onChange)=\"store.onGridChange($event)\"\n >\n @for(widget of store.currentDashboard()?.widget ; track widget.config.id) {\n <ax-grid-layout-widget [options]=\"widget.config\">\n <!-- <div class=\"ax-absolute ax-top-0 ax-size-3 ax-handler ax-bg-blue-500 ax-z-[999]\"></div> -->\n <axc-dashboard-widget-wrapper\n [hasOptions]=\"widget.node?.options?.['hasOptions'] ?? true\"\n (onDelete)=\"store.removeWidget(store.currentDashboard()?.id!,widget.config.id!)\"\n >\n @if(widget.node){\n <axp-widgets-container [context]=\"context()\">\n <ng-container axp-widget-renderer [node]=\"widget.node\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n }\n </axc-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 <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Widget Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any Widget yet. Create one to get started!\n </p>\n </div>\n }\n </ax-grid-layout-container>\n <div class=\"ax-p-4 ax-absolute ax-bottom-0 ax-right-0\">\n <ax-button\n [color]=\"'primary'\"\n class=\"ax-xl ax-rounded-full\"\n [disabled]=\"!store.currentDashboard()?.widget?.length\"\n (onClick)=\"toggleEdit()\"\n >\n <ax-prefix> <ax-icon class=\"fa-solid fa-pen\"> </ax-icon></ax-prefix>\n </ax-button>\n </div>\n </axp-layout-page-content>\n</axp-layout-simple-page>\n", styles: ["::ng-deep .placeholder-content{position:absolute}\n"] }]
504
+ }] });
505
+
506
+ export { AXPDashboardHomeComponent };
507
+ //# sourceMappingURL=acorex-modules-common-index-B3u5feXf.mjs.map