@acorex/modules 19.3.0-next.5 → 19.3.0

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 (241) hide show
  1. package/auth/lib/pages/account/app-chooser/app-chooser-slot.component.d.ts +1 -1
  2. package/auth/lib/pages/login/password/password.component.d.ts +1 -0
  3. package/common/index.d.ts +0 -1
  4. package/common/lib/common.module.d.ts +1 -2
  5. package/common/lib/const.d.ts +1 -14
  6. package/dashboard-management/README.md +3 -0
  7. package/dashboard-management/index.d.ts +2 -0
  8. package/dashboard-management/lib/const.d.ts +19 -0
  9. package/dashboard-management/lib/dashboard-management.module.d.ts +7 -0
  10. package/dashboard-management/lib/entity.provider.d.ts +10 -0
  11. package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +0 -6
  12. package/dashboard-management/lib/menu.provider.d.ts +5 -0
  13. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +3 -1
  14. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs → acorex-modules-auth-acorex-modules-auth-B1HTJdsE.mjs} +22 -27
  15. package/fesm2022/acorex-modules-auth-acorex-modules-auth-B1HTJdsE.mjs.map +1 -0
  16. package/fesm2022/acorex-modules-auth-app-chooser.component-Ct-vco0y.mjs +64 -0
  17. package/fesm2022/acorex-modules-auth-app-chooser.component-Ct-vco0y.mjs.map +1 -0
  18. package/fesm2022/{acorex-modules-auth-login.module-BgTtZuTg.mjs → acorex-modules-auth-login.module-TtdNj0aL.mjs} +4 -4
  19. package/fesm2022/{acorex-modules-auth-login.module-BgTtZuTg.mjs.map → acorex-modules-auth-login.module-TtdNj0aL.mjs.map} +1 -1
  20. package/fesm2022/acorex-modules-auth-master.layout-CtVrY1hn.mjs +23 -0
  21. package/fesm2022/acorex-modules-auth-master.layout-CtVrY1hn.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-auth-password.component-U16w7Rq4.mjs → acorex-modules-auth-password.component-BXm2NAaN.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-auth-password.component-U16w7Rq4.mjs.map → acorex-modules-auth-password.component-BXm2NAaN.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-password.component-_ceO6nyb.mjs → acorex-modules-auth-password.component-Dmj9zZSI.mjs} +5 -3
  25. package/fesm2022/acorex-modules-auth-password.component-Dmj9zZSI.mjs.map +1 -0
  26. package/fesm2022/{acorex-modules-auth-routes-CSGjcpD8.mjs → acorex-modules-auth-routes-DkgsKi3a.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-auth-routes-CSGjcpD8.mjs.map → acorex-modules-auth-routes-DkgsKi3a.mjs.map} +1 -1
  28. package/fesm2022/acorex-modules-auth-tenant-chooser.component-D9C6LCjn.mjs +97 -0
  29. package/fesm2022/acorex-modules-auth-tenant-chooser.component-D9C6LCjn.mjs.map +1 -0
  30. package/fesm2022/{acorex-modules-auth-two-factor.module-B9UV3Nxb.mjs → acorex-modules-auth-two-factor.module-DDOSqjYs.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-auth-two-factor.module-B9UV3Nxb.mjs.map → acorex-modules-auth-two-factor.module-DDOSqjYs.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-auth-user-sessions.component-Dx0zd4Nj.mjs → acorex-modules-auth-user-sessions.component-B3i44VC5.mjs} +2 -2
  33. package/fesm2022/{acorex-modules-auth-user-sessions.component-Dx0zd4Nj.mjs.map → acorex-modules-auth-user-sessions.component-B3i44VC5.mjs.map} +1 -1
  34. package/fesm2022/acorex-modules-auth.mjs +1 -1
  35. package/fesm2022/acorex-modules-common.mjs +11 -481
  36. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  37. package/fesm2022/acorex-modules-conversation.mjs +3 -3
  38. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  39. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs +568 -0
  40. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs → acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs} +1 -1
  42. package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-common-index-Dt3vRkkx.mjs → acorex-modules-dashboard-management-index-Br6L5KMu.mjs} +17 -4
  44. package/fesm2022/acorex-modules-dashboard-management-index-Br6L5KMu.mjs.map +1 -0
  45. package/fesm2022/acorex-modules-dashboard-management.mjs +2 -0
  46. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-CdZ56kDQ.mjs → acorex-modules-document-management-acorex-modules-document-management-vYaqbxKs.mjs} +39 -25
  48. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-vYaqbxKs.mjs.map +1 -0
  49. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CetsgMOJ.mjs → acorex-modules-document-management-create-folder-dialog.component-Bc_IX3gT.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CetsgMOJ.mjs.map → acorex-modules-document-management-create-folder-dialog.component-Bc_IX3gT.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-document-management-details-view.component-CeOqGjR9.mjs → acorex-modules-document-management-details-view.component-_9f5TQJi.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-document-management-details-view.component-CeOqGjR9.mjs.map → acorex-modules-document-management-details-view.component-_9f5TQJi.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DmKUj3Jr.mjs → acorex-modules-document-management-drive-choose.component-CFOb0_MF.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DmKUj3Jr.mjs.map → acorex-modules-document-management-drive-choose.component-CFOb0_MF.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-7iqPb1Xn.mjs → acorex-modules-document-management-large-icons-view.component-D9es4CBl.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-7iqPb1Xn.mjs.map → acorex-modules-document-management-large-icons-view.component-D9es4CBl.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-C9jalviV.mjs → acorex-modules-document-management-large-tiles-view.component-Q1Sjg47F.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-C9jalviV.mjs.map → acorex-modules-document-management-large-tiles-view.component-Q1Sjg47F.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-document-management-list-view.component-Bdb0uAm0.mjs → acorex-modules-document-management-list-view.component-BUu5vrul.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-document-management-list-view.component-Bdb0uAm0.mjs.map → acorex-modules-document-management-list-view.component-BUu5vrul.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Do61g5Sb.mjs → acorex-modules-document-management-rename-node-dialog.component-BMRmdslE.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Do61g5Sb.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BMRmdslE.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BSPp5gmT.mjs → acorex-modules-document-management-small-icons-view.component-ChSS7z9z.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BSPp5gmT.mjs.map → acorex-modules-document-management-small-icons-view.component-ChSS7z9z.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-77-_bfSe.mjs → acorex-modules-document-management-small-tiles-view.component-Ci33qbBY.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-77-_bfSe.mjs.map → acorex-modules-document-management-small-tiles-view.component-Ci33qbBY.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  68. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs +2486 -0
  69. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs.map +1 -0
  70. package/fesm2022/{acorex-modules-platform-management-capture-screen.component-DN1Jnp7_.mjs → acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs} +6 -6
  71. package/fesm2022/acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs.map +1 -0
  72. package/fesm2022/acorex-modules-issue-management.mjs +2 -0
  73. package/fesm2022/acorex-modules-issue-management.mjs.map +1 -0
  74. package/fesm2022/acorex-modules-log-management.mjs +128 -77
  75. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  76. package/fesm2022/acorex-modules-notification-management.mjs +4 -4
  77. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  78. package/fesm2022/{acorex-modules-organization-management-branch.entity-fs_iKM4S.mjs → acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs} +4 -2
  79. package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +1 -0
  80. package/fesm2022/{acorex-modules-organization-management-department.entity-DI9QpZ1d.mjs → acorex-modules-organization-management-department.entity-BMojk26d.mjs} +4 -2
  81. package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +1 -0
  82. package/fesm2022/{acorex-modules-organization-management-division.entity-4Gxc1dGd.mjs → acorex-modules-organization-management-division.entity-BnWpX4US.mjs} +4 -2
  83. package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +1 -0
  84. package/fesm2022/{acorex-modules-organization-management-employee.entity-DSvtxcC3.mjs → acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs} +2 -2
  85. package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +1 -0
  86. package/fesm2022/{acorex-modules-organization-management-team.entity-DZqK-yLT.mjs → acorex-modules-organization-management-team.entity-mYPhrc2l.mjs} +8 -3
  87. package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +1 -0
  88. package/fesm2022/acorex-modules-organization-management.mjs +6 -6
  89. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  90. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-pKyqsPS6.mjs → acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs} +423 -2319
  91. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs.map +1 -0
  92. package/fesm2022/{acorex-modules-platform-management-list-version.component-SLcO7Tof.mjs → acorex-modules-platform-management-list-version.component-DgDjbODD.mjs} +6 -6
  93. package/fesm2022/{acorex-modules-platform-management-list-version.component-SLcO7Tof.mjs.map → acorex-modules-platform-management-list-version.component-DgDjbODD.mjs.map} +1 -1
  94. package/fesm2022/acorex-modules-platform-management-settings.provider-W71pfOmi.mjs +463 -0
  95. package/fesm2022/acorex-modules-platform-management-settings.provider-W71pfOmi.mjs.map +1 -0
  96. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  97. package/fesm2022/acorex-modules-project-management.mjs +6259 -0
  98. package/fesm2022/acorex-modules-project-management.mjs.map +1 -0
  99. package/fesm2022/acorex-modules-security-management.mjs +54 -24
  100. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  101. package/issue-management/README.md +3 -0
  102. package/issue-management/index.d.ts +6 -0
  103. package/{platform-management/lib/features/support → issue-management/lib/components}/capture-screen/components/capture-screen-component/capture-screen.component.d.ts +5 -5
  104. package/{platform-management/lib/features/support → issue-management/lib/components}/capture-screen/services/capture-screen.service.d.ts +3 -3
  105. package/issue-management/lib/const.d.ts +37 -0
  106. package/issue-management/lib/entities/index.d.ts +3 -0
  107. package/{platform-management → issue-management}/lib/entities/issue-type/issue-type.service.d.ts +2 -2
  108. package/{platform-management → issue-management}/lib/entities/issue-type/issue-type.types.d.ts +1 -1
  109. package/{platform-management → issue-management}/lib/entities/my-reported-issues/my-reported-issues.service.d.ts +2 -2
  110. package/issue-management/lib/entities/my-reported-issues/my-reported-issues.types.d.ts +5 -0
  111. package/{platform-management → issue-management}/lib/entities/reported-issues/reported-issues.service.d.ts +2 -2
  112. package/{platform-management → issue-management}/lib/entities/reported-issues/reported-issues.types.d.ts +2 -3
  113. package/issue-management/lib/entity.provider.d.ts +10 -0
  114. package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/components/report-new-issue/report-new-issue.component.d.ts +16 -5
  115. package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/report-issue.types.d.ts +6 -1
  116. package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/services/report-new-issue.viewmodel.d.ts +6 -4
  117. package/issue-management/lib/issue-management.module.d.ts +7 -0
  118. package/issue-management/lib/menu.provider.d.ts +5 -0
  119. package/issue-management/lib/setting.provider.d.ts +4 -0
  120. package/package.json +13 -1
  121. package/platform-management/index.d.ts +1 -2
  122. package/platform-management/lib/const.d.ts +1 -19
  123. package/platform-management/lib/entities/glossary/glossary.entity.d.ts +3 -0
  124. package/platform-management/lib/entities/glossary/glossary.service.d.ts +10 -0
  125. package/platform-management/lib/entities/glossary/glossary.types.d.ts +4 -0
  126. package/platform-management/lib/entities/glossary/index.d.ts +3 -0
  127. package/platform-management/lib/entities/index.d.ts +1 -3
  128. package/platform-management/lib/features/common/common.module.d.ts +1 -1
  129. package/platform-management/lib/features/common/index.d.ts +0 -1
  130. package/platform-management/lib/features/common/regional/language-slot/language-slot.component.d.ts +7 -3
  131. package/platform-management/lib/features/common/regional/regional-store.service.d.ts +5 -1
  132. package/platform-management/lib/features/common/regional/settings.keys.d.ts +8 -3
  133. package/platform-management/lib/features/common/regional/settings.provider.d.ts +1 -0
  134. package/project-management/README.md +3 -0
  135. package/project-management/index.d.ts +7 -0
  136. package/project-management/lib/const.d.ts +85 -0
  137. package/project-management/lib/entities/client/client.entity.d.ts +3 -0
  138. package/project-management/lib/entities/client/client.service.d.ts +10 -0
  139. package/project-management/lib/entities/client/client.types.d.ts +7 -0
  140. package/project-management/lib/entities/client/index.d.ts +3 -0
  141. package/project-management/lib/entities/index.d.ts +12 -0
  142. package/project-management/lib/entities/project/index.d.ts +3 -0
  143. package/project-management/lib/entities/project/project.entity.d.ts +3 -0
  144. package/project-management/lib/entities/project/project.service.d.ts +10 -0
  145. package/project-management/lib/entities/project/project.types.d.ts +11 -0
  146. package/project-management/lib/entities/project-memeber/index.d.ts +3 -0
  147. package/project-management/lib/entities/project-memeber/project-memeber.entity.d.ts +3 -0
  148. package/project-management/lib/entities/project-memeber/project-memeber.service.d.ts +10 -0
  149. package/project-management/lib/entities/project-memeber/project-memeber.types.d.ts +7 -0
  150. package/project-management/lib/entities/project-role-member/index.d.ts +3 -0
  151. package/project-management/lib/entities/project-role-member/project-role-member.entity.d.ts +3 -0
  152. package/project-management/lib/entities/project-role-member/project-role-member.service.d.ts +10 -0
  153. package/{platform-management/lib/entities/my-reported-issues/my-reported-issues.types.d.ts → project-management/lib/entities/project-role-member/project-role-member.types.d.ts} +2 -2
  154. package/project-management/lib/entities/project-type/index.d.ts +3 -0
  155. package/project-management/lib/entities/project-type/project-type.entity.d.ts +3 -0
  156. package/project-management/lib/entities/project-type/project-type.service.d.ts +10 -0
  157. package/project-management/lib/entities/project-type/project-type.types.d.ts +4 -0
  158. package/project-management/lib/entities/sprint/index.d.ts +3 -0
  159. package/project-management/lib/entities/sprint/sprint.entity.d.ts +3 -0
  160. package/project-management/lib/entities/sprint/sprint.service.d.ts +10 -0
  161. package/project-management/lib/entities/sprint/sprint.types.d.ts +8 -0
  162. package/project-management/lib/entities/sprint-task/index.d.ts +3 -0
  163. package/project-management/lib/entities/sprint-task/sprint-task.entity.d.ts +3 -0
  164. package/project-management/lib/entities/sprint-task/sprint-task.service.d.ts +10 -0
  165. package/project-management/lib/entities/sprint-task/sprint-task.types.d.ts +5 -0
  166. package/project-management/lib/entities/task/index.d.ts +3 -0
  167. package/project-management/lib/entities/task/task.entity.d.ts +3 -0
  168. package/project-management/lib/entities/task/task.service.d.ts +10 -0
  169. package/project-management/lib/entities/task/task.types.d.ts +19 -0
  170. package/project-management/lib/entities/task-history/index.d.ts +3 -0
  171. package/project-management/lib/entities/task-history/task-history.entity.d.ts +3 -0
  172. package/project-management/lib/entities/task-history/task-history.service.d.ts +10 -0
  173. package/project-management/lib/entities/task-history/task-history.types.d.ts +8 -0
  174. package/project-management/lib/entities/task-type/index.d.ts +3 -0
  175. package/project-management/lib/entities/task-type/task-type.entity.d.ts +3 -0
  176. package/project-management/lib/entities/task-type/task-type.service.d.ts +10 -0
  177. package/project-management/lib/entities/task-type/task-type.types.d.ts +6 -0
  178. package/project-management/lib/entities/time-sheet/index.d.ts +3 -0
  179. package/project-management/lib/entities/time-sheet/time-sheet.entity.d.ts +3 -0
  180. package/project-management/lib/entities/time-sheet/time-sheet.service.d.ts +10 -0
  181. package/project-management/lib/entities/time-sheet/time-sheet.types.d.ts +8 -0
  182. package/project-management/lib/entities/work-site/index.d.ts +3 -0
  183. package/project-management/lib/entities/work-site/work-site.entity.d.ts +3 -0
  184. package/project-management/lib/entities/work-site/work-site.service.d.ts +10 -0
  185. package/project-management/lib/entities/work-site/work-site.types.d.ts +8 -0
  186. package/project-management/lib/entity.provider.d.ts +10 -0
  187. package/project-management/lib/menu.provider.d.ts +5 -0
  188. package/project-management/lib/project-management.module.d.ts +6 -0
  189. package/project-management/lib/search-command.provider.d.ts +4 -0
  190. package/project-management/lib/setting.provider.d.ts +4 -0
  191. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs.map +0 -1
  192. package/fesm2022/acorex-modules-auth-app-chooser.component-rr25Ry55.mjs +0 -64
  193. package/fesm2022/acorex-modules-auth-app-chooser.component-rr25Ry55.mjs.map +0 -1
  194. package/fesm2022/acorex-modules-auth-master.layout-he9vVKsC.mjs +0 -23
  195. package/fesm2022/acorex-modules-auth-master.layout-he9vVKsC.mjs.map +0 -1
  196. package/fesm2022/acorex-modules-auth-password.component-_ceO6nyb.mjs.map +0 -1
  197. package/fesm2022/acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs +0 -97
  198. package/fesm2022/acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs.map +0 -1
  199. package/fesm2022/acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map +0 -1
  200. package/fesm2022/acorex-modules-common-index-Dt3vRkkx.mjs.map +0 -1
  201. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CdZ56kDQ.mjs.map +0 -1
  202. package/fesm2022/acorex-modules-organization-management-branch.entity-fs_iKM4S.mjs.map +0 -1
  203. package/fesm2022/acorex-modules-organization-management-department.entity-DI9QpZ1d.mjs.map +0 -1
  204. package/fesm2022/acorex-modules-organization-management-division.entity-4Gxc1dGd.mjs.map +0 -1
  205. package/fesm2022/acorex-modules-organization-management-employee.entity-DSvtxcC3.mjs.map +0 -1
  206. package/fesm2022/acorex-modules-organization-management-team.entity-DZqK-yLT.mjs.map +0 -1
  207. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-pKyqsPS6.mjs.map +0 -1
  208. package/fesm2022/acorex-modules-platform-management-capture-screen.component-DN1Jnp7_.mjs.map +0 -1
  209. package/fesm2022/acorex-modules-platform-management-settings.provider-CsrDpQQi.mjs +0 -351
  210. package/fesm2022/acorex-modules-platform-management-settings.provider-CsrDpQQi.mjs.map +0 -1
  211. package/platform-management/lib/features/common/entity.provider.d.ts +0 -9
  212. package/platform-management/lib/features/index.d.ts +0 -1
  213. package/platform-management/lib/features/support/index.d.ts +0 -2
  214. /package/{common → dashboard-management}/lib/entities/dashboard/dashboard.entity.d.ts +0 -0
  215. /package/{common → dashboard-management}/lib/entities/dashboard/dashboard.service.d.ts +0 -0
  216. /package/{common → dashboard-management}/lib/entities/dashboard/dashboard.types.d.ts +0 -0
  217. /package/{common → dashboard-management}/lib/entities/dashboard/index.d.ts +0 -0
  218. /package/{common → dashboard-management}/lib/entities/index.d.ts +0 -0
  219. /package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-home/home-dashboard.store.d.ts +0 -0
  220. /package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-home/home-dashboard.type.d.ts +0 -0
  221. /package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-home/index.d.ts +0 -0
  222. /package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-popups/add-dashboard-popup.d.ts +0 -0
  223. /package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-popups/configuration-popup.d.ts +0 -0
  224. /package/{common → dashboard-management}/lib/features/home-dashboard/dashboard-popups/dashboard-popup.service.d.ts +0 -0
  225. /package/{common → dashboard-management}/lib/features/home-dashboard/home-dashboard.module.d.ts +0 -0
  226. /package/{common → dashboard-management}/lib/features/home-dashboard/setrting.keys.d.ts +0 -0
  227. /package/{common → dashboard-management}/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.d.ts +0 -0
  228. /package/{common → dashboard-management}/lib/features/home-dashboard/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.d.ts +0 -0
  229. /package/{common → dashboard-management}/lib/features/home-dashboard/widgets/dashboard-shortcut/dashboard-shortcut-widget.config.d.ts +0 -0
  230. /package/{platform-management/lib/features/support → issue-management/lib/components}/capture-screen/capture-screen.types.d.ts +0 -0
  231. /package/{platform-management/lib/features/support → issue-management/lib/components}/capture-screen/index.d.ts +0 -0
  232. /package/{platform-management → issue-management}/lib/entities/issue-type/index.d.ts +0 -0
  233. /package/{platform-management → issue-management}/lib/entities/issue-type/issue-type.entity.d.ts +0 -0
  234. /package/{platform-management → issue-management}/lib/entities/my-reported-issues/index.d.ts +0 -0
  235. /package/{platform-management → issue-management}/lib/entities/my-reported-issues/my-reported-issues.entity.d.ts +0 -0
  236. /package/{platform-management → issue-management}/lib/entities/reported-issues/index.d.ts +0 -0
  237. /package/{platform-management → issue-management}/lib/entities/reported-issues/reported-issues.entity.d.ts +0 -0
  238. /package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/components/index.d.ts +0 -0
  239. /package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/index.d.ts +0 -0
  240. /package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/workflows/index.d.ts +0 -0
  241. /package/{platform-management/lib/features/support → issue-management/lib/features}/report-issue/workflows/show-report-issue.workflow.d.ts +0 -0
@@ -1,64 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewEncapsulation, Component } from '@angular/core';
3
- import * as i2 from '@acorex/components/avatar';
4
- import { AXAvatarModule } from '@acorex/components/avatar';
5
- import { AXButtonModule } from '@acorex/components/button';
6
- import { AXCheckBoxModule } from '@acorex/components/check-box';
7
- import { AXDecoratorModule } from '@acorex/components/decorators';
8
- import { AXFormModule } from '@acorex/components/form';
9
- import * as i3 from '@acorex/components/image';
10
- import { AXImageModule } from '@acorex/components/image';
11
- import { AXLabelModule } from '@acorex/components/label';
12
- import { AXLoadingModule } from '@acorex/components/loading';
13
- import { AXTextBoxModule } from '@acorex/components/text-box';
14
- import * as i6 from '@acorex/core/translation';
15
- import { AXTranslationModule } from '@acorex/core/translation';
16
- import { AXPSessionService } from '@acorex/platform/auth';
17
- import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent } from '@acorex/platform/common';
18
- import * as i1 from '@angular/common';
19
- import { CommonModule } from '@angular/common';
20
- import { Router } from '@angular/router';
21
- import { b as AXPTenantChooserDropdownComponent, c as AXPAppChooserListComponent } from './acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs';
22
- import { of } from 'rxjs';
23
-
24
- class AXPAuthAppChooserComponent {
25
- constructor() {
26
- this.router = inject(Router);
27
- this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
28
- this.sessionService = inject(AXPSessionService);
29
- this.user = this.sessionService.user;
30
- this.tenants$ = of([]); //this.sessionService.tenants$;
31
- this.tenant = this.sessionService.tenant;
32
- }
33
- tenantChooser() {
34
- this.router.navigate(['/auth/account/tenant-chooser']);
35
- }
36
- async handleSignout() {
37
- await this.sessionService.signout();
38
- this.router.navigate(['/auth/login']);
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthAppChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAuthAppChooserComponent, isStandalone: true, selector: "axp-auth-app-chooser", ngImport: i0, template: "<main\n *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\"\n>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('application-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('application-chooser.footer', { scope: 'auth' }) | async }}\n <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length > 1){\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ t('application-chooser.backCompany', { scope: 'auth' }) | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n }\n </ng-container>\n </p>\n </section>\n</main>\n", styles: [".gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i2.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i3.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type: AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }], encapsulation: i0.ViewEncapsulation.None }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthAppChooserComponent, decorators: [{
44
- type: Component,
45
- args: [{ selector: 'axp-auth-app-chooser', imports: [
46
- CommonModule,
47
- AXFormModule,
48
- AXTextBoxModule,
49
- AXButtonModule,
50
- AXLabelModule,
51
- AXCheckBoxModule,
52
- AXAvatarModule,
53
- AXImageModule,
54
- AXDecoratorModule,
55
- AXPLogoComponent,
56
- AXLoadingModule,
57
- AXTranslationModule,
58
- AXPTenantChooserDropdownComponent,
59
- AXPAppChooserListComponent
60
- ], encapsulation: ViewEncapsulation.None, template: "<main\n *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\"\n>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('application-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('application-chooser.footer', { scope: 'auth' }) | async }}\n <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length > 1){\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ t('application-chooser.backCompany', { scope: 'auth' }) | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n }\n </ng-container>\n </p>\n </section>\n</main>\n", styles: [".gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
61
- }] });
62
-
63
- export { AXPAuthAppChooserComponent };
64
- //# sourceMappingURL=acorex-modules-auth-app-chooser.component-rr25Ry55.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-app-chooser.component-rr25Ry55.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.component.html"],"sourcesContent":["import { Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'axp-auth-app-chooser',\n templateUrl: './app-chooser.component.html',\n styleUrls: ['./app-chooser.component.scss'],\n imports: [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXPTenantChooserDropdownComponent,\n AXPAppChooserListComponent\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthAppChooserComponent {\n\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n protected user = this.sessionService.user;\n protected tenants$ = of([])//this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n\n tenantChooser() {\n this.router.navigate(['/auth/account/tenant-chooser']);\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n\n\n}\n","<main\n *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\"\n>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('application-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('application-chooser.footer', { scope: 'auth' }) | async }}\n <ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length > 1){\n <a (click)=\"tenantChooser()\" class=\"ax-text-primary-500 ax-cursor-pointer ax-font-medium hover:ax-underline\">\n {{ t('application-chooser.backCompany', { scope: 'auth' }) | async }}\n </a>\n } @else {\n <a (click)=\"handleSignout()\" class=\"ax-text-primary-500 ax-font-medium ax-cursor-pointer hover:ax-underline\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n }\n </ng-container>\n </p>\n </section>\n</main>\n"],"names":["i4"],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import * as i1 from '@acorex/platform/common';
2
- import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent, AXPComponentSlotModule } from '@acorex/platform/common';
3
- import * as i0 from '@angular/core';
4
- import { inject, ViewEncapsulation, Component } from '@angular/core';
5
- import * as i2 from '@angular/router';
6
- import { RouterModule } from '@angular/router';
7
- import { A as AXM_AUTH_CONFIG_TOKEN } from './acorex-modules-auth-acorex-modules-auth-DWcYgyZA.mjs';
8
-
9
- class AXPAuthMasterLayoutComponent {
10
- constructor() {
11
- this.authConfig = inject(AXM_AUTH_CONFIG_TOKEN);
12
- this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthMasterLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAuthMasterLayoutComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-lighter ax-text-on-lighter dark:ax-bg-darkest dark:ax-text-on-darkest ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-text-primary-on-surface ax-text-on-brand ax-flex-1 axp-auth-bk\">\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div class=\"ax-text-primary-on-dark dark:ax-text-primary-on-darkest\">\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">\n {{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>", styles: [".auth-footer-links{gap:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.auth-footer-links a{color:rgba(var(--ax-sys-color-primary-surface));cursor:pointer}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links a:visited{color:rgba(var(--ax-sys-color-primary-darker))}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthMasterLayoutComponent, decorators: [{
18
- type: Component,
19
- args: [{ imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-lighter ax-text-on-lighter dark:ax-bg-darkest dark:ax-text-on-darkest ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-text-primary-on-surface ax-text-on-brand ax-flex-1 axp-auth-bk\">\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div class=\"ax-text-primary-on-dark dark:ax-text-primary-on-darkest\">\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">\n {{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>", styles: [".auth-footer-links{gap:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.auth-footer-links a{color:rgba(var(--ax-sys-color-primary-surface));cursor:pointer}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links a:visited{color:rgba(var(--ax-sys-color-primary-darker))}\n"] }]
20
- }] });
21
-
22
- export { AXPAuthMasterLayoutComponent };
23
- //# sourceMappingURL=acorex-modules-auth-master.layout-he9vVKsC.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-master.layout-he9vVKsC.mjs","sources":["../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.ts","../../../../libs/modules/auth/src/lib/shared/layouts/master/master.layout.html"],"sourcesContent":["import { AXPComponentSlotModule, AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\n\n@Component({\n templateUrl: 'master.layout.html',\n styleUrls: ['master.layout.scss'],\n imports: [RouterModule, AXPLogoComponent, AXPComponentSlotModule],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPAuthMasterLayoutComponent {\n protected authConfig = inject(AXM_AUTH_CONFIG_TOKEN);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n}\n","<div class=\"ax-w-full ax-h-full ax-flex\">\n <div\n class=\"ax-flex-1 ax-bg-lighter ax-text-on-lighter dark:ax-bg-darkest dark:ax-text-on-darkest ax-flex ax-flex-col ax-items-center ax-justify-between ax-py-12\">\n <router-outlet></router-outlet>\n <div class=\"ax-flex ax-justify-between\">\n <div class=\"auth-footer-links\">\n <axp-component-slot name=\"auth-footer-links\"></axp-component-slot>\n </div>\n </div>\n </div>\n <div class=\"ax-hidden lg:ax-flex ax-bg-primary-500 ax-text-primary-on-surface ax-text-on-brand ax-flex-1 axp-auth-bk\">\n <div class=\"ax-flex ax-w-full ax-flex-col ax-justify-between ax-px-48 ax-py-20 ax-text-center\">\n <div>\n <axp-logo [source]=\"platformConfig.logo?.colored\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div class=\"ax-text-primary-on-dark dark:ax-text-primary-on-darkest\">\n <p class=\"ax-font-black ax-text-4xl ax-mb-4\">\n {{authConfig.signinPage?.slogan}}</p>\n <p>{{authConfig.signinPage?.description}}</p>\n </div>\n </div>\n </div>\n</div>"],"names":["i1","i2"],"mappings":";;;;;;;;MAWa,4BAA4B,CAAA;AANzC,IAAA,WAAA,GAAA;AAOY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC7D;8GAHY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,wECXzC,+nCAuBM,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfQ,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,wEAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGvD,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;8BAGG,CAAC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,aAAA,EAClD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+nCAAA,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-password.component-_ceO6nyb.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/login/password/password.component.ts","../../../../libs/modules/auth/src/lib/pages/login/password/password.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, OnInit, ViewChild, inject } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\n\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { FormsModule } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport { AXMAuthConfigs, AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN } from '../../../auth.config';\n\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXTextBoxModule,\n AXPasswordBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXTranslationModule,\n AXTranslationModule,\n AXLoadingModule,\n RouterModule,\n AXValidationModule,\n];\n\n@Component({\n templateUrl: './password.component.html',\n imports: [...MODULES],\n})\nexport class AXPLoginPasswordComponent implements OnInit {\n protected configs: AXMAuthConfigs = inject<AXMAuthConfigs>(AXM_AUTH_CONFIG_TOKEN);\n protected l1!: string;\n protected l2!: string;\n\n protected v1 = '';\n protected v2: string | null = '';\n\n protected isLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n protected submitText = 'signin.submit';\n private dialogService = inject(AXDialogService);\n private sessionService = inject(AXPSessionService);\n private activateRoute = inject(ActivatedRoute);\n\n @ViewChild(AXFormComponent)\n private form!: AXFormComponent;\n\n private router = inject(Router);\n\n protected isKeepLogin: boolean = false;\n\n ngOnInit(): void {\n this.l2 = 'password';\n switch (this.configs.type) {\n case AXMAuthenticationTypes.EmailPassword:\n this.l1 = 'email';\n break;\n case AXMAuthenticationTypes.MobilePassword:\n this.l1 = 'mobile';\n break;\n case AXMAuthenticationTypes.UsernameEmailPassword:\n this.l1 = 'username-email';\n break;\n case AXMAuthenticationTypes.UsernamePassword:\n default:\n this.l1 = 'username';\n }\n }\n\n protected handleForgotOnClick() {\n this.router.navigate(['/auth/forgot']);\n }\n\n protected handleRegisterOnClick() {\n this.router.navigate([this.configs.signup?.url || '/auth/register']);\n }\n\n protected handleLoginClick() {\n const redirectUrl = this.activateRoute.snapshot.queryParams['redirectUrl'];\n this.form.validate().then(async (form) => {\n if (form.result) {\n this.isLoading$.next(true);\n this.submitText = 'processing';\n this.submitText = 'redirecting';\n try {\n await this.sessionService.signin({\n strategy: 'user-pass',\n username: this.v1,\n password: this.v2!,\n });\n await this.sessionService.signInComplete();\n\n if (this.sessionService.tenant?.id == null) {\n this.router.navigate(['/auth/account/tenant-chooser']);\n } else if (this.sessionService.application?.id == null) {\n this.router.navigate(['/auth/account/app-chooser']);\n } else if (redirectUrl) {\n this.router.navigate([redirectUrl]);\n } else {\n this.router.navigate([`/${this.sessionService.application.name}/home`]);\n }\n } catch (error: any) {\n console.log({ error });\n this.submitText = 'signin.submit';\n this.v2 = null;\n this.isLoading$.next(false);\n }\n }\n });\n }\n}\n","<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-4\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('signin.title', { scope: 'auth' }) | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600\">\n {{ t('signin.hint', { scope: 'auth' }) | async }}\n </p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label>{{ t(l1, { scope: 'auth' }) | async }}</ax-label>\n <ax-text-box [name]=\"'username'\" [autoComplete]=\"'username'\" [(value)]=\"v1\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t(l2, { scope: 'auth' }) | async }}</ax-label>\n <ax-password-box [name]=\"'password'\" [autoComplete]=\"'current-password'\" [(value)]=\"v2\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-password-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <ax-check-box [(ngModel)]=\"isKeepLogin\">\n <ax-label class=\"ax-mb-0\">{{ t('signin.remember', { scope: 'auth' }) | async }}</ax-label>\n </ax-check-box>\n <ax-button\n color=\"primary\"\n class=\"ax-sm\"\n [text]=\"t('forgot.password', { scope: 'auth' }) | async\"\n look=\"blank\"\n (onClick)=\"handleForgotOnClick()\"\n >\n </ax-button>\n </div>\n </div>\n <ax-button\n color=\"primary\"\n class=\"ax-mt-6 ax-w-full\"\n [text]=\"t(submitText, { scope: 'auth' }) | async\"\n (onClick)=\"handleLoginClick()\"\n [disabled]=\"isLoading$ | async\"\n [type]=\"'submit'\"\n >\n <ax-loading *ngIf=\"isLoading$ | async\"></ax-loading>\n </ax-button>\n @if(configs.signin_google ||configs.signin_apple ||configs.signup?.enable){\n <div class=\"ax-heading ax-heading-center !ax-my-8\">\n <span>{{ t('signin.or', { scope: 'auth' }) | async }}</span>\n </div>\n }\n <div class=\"ax-flex ax-flex-col ax-gap-2 lg:ax-flex-row ax-justify-between ax-mt-6\">\n @if(configs.signin_google){\n <ax-button text=\"{{ 'authentication.with-google' | translate | async }}\" [color]=\"'default'\">\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-brands fa-google fa-lg ax-text-danger-500\"></i>\n </ax-icon>\n </ax-prefix> </ax-button\n >} @if(configs.signin_apple){\n\n <ax-button text=\"{{ 'authentication.with-apple' | translate | async }}\" [color]=\"'default'\">\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-brands fa-apple fa-xl\"></i>\n </ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </ax-form>\n @if(configs.signup?.enable){\n <ax-button\n class=\"ax-w-full ax-mt-2\"\n (onClick)=\"handleRegisterOnClick()\"\n text=\"{{ t('register', { scope: 'auth' }) | async }}\"\n [color]=\"'default'\"\n >\n </ax-button>\n }\n </div>\n</ng-container>\n"],"names":["i3","i6","i8","i10","i11"],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewEncapsulation, Component } from '@angular/core';
3
- import * as i2$1 from '@acorex/components/avatar';
4
- import { AXAvatarModule } from '@acorex/components/avatar';
5
- import * as i3 from '@acorex/components/button';
6
- import { AXButtonModule } from '@acorex/components/button';
7
- import { AXCheckBoxModule } from '@acorex/components/check-box';
8
- import * as i1$1 from '@acorex/components/decorators';
9
- import { AXDecoratorModule } from '@acorex/components/decorators';
10
- import { AXFormModule } from '@acorex/components/form';
11
- import * as i3$1 from '@acorex/components/image';
12
- import { AXImageModule } from '@acorex/components/image';
13
- import { AXLabelModule } from '@acorex/components/label';
14
- import * as i3$2 from '@acorex/components/loading';
15
- import { AXLoadingModule } from '@acorex/components/loading';
16
- import * as i9 from '@acorex/components/search-box';
17
- import { AXSearchBoxModule } from '@acorex/components/search-box';
18
- import { AXTextBoxModule } from '@acorex/components/text-box';
19
- import * as i6 from '@acorex/core/translation';
20
- import { AXTranslationModule } from '@acorex/core/translation';
21
- import { AXPSessionService } from '@acorex/platform/auth';
22
- import { AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent } from '@acorex/platform/common';
23
- import * as i1 from '@angular/common';
24
- import { CommonModule } from '@angular/common';
25
- import * as i2 from '@angular/forms';
26
- import { FormsModule } from '@angular/forms';
27
- import { Router } from '@angular/router';
28
- import { Subscription, first } from 'rxjs';
29
-
30
- class AXPAuthTenantChooserComponent {
31
- constructor() {
32
- this.router = inject(Router);
33
- this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
34
- this.sessionService = inject(AXPSessionService);
35
- this.subscription = new Subscription();
36
- this.user = this.sessionService.user;
37
- this.searchValue = '';
38
- this.showAll = false;
39
- this.selectedTenant = null;
40
- this.displayedTenants = [];
41
- }
42
- async handleChooseTenant(item) {
43
- this.selectedTenant = item;
44
- await this.sessionService.setTenant(item);
45
- this.router.navigate(['/auth/account/app-chooser']);
46
- }
47
- ngOnInit() {
48
- this.sessionService.tenants$.pipe(first()).subscribe((tenants) => {
49
- this.displayedTenants = tenants.slice(0, 4);
50
- this.allTenants = tenants;
51
- });
52
- }
53
- filterTenants(tenants) {
54
- return tenants.filter((tenant) => tenant.title.toLowerCase().includes(this.searchValue.toLowerCase()));
55
- }
56
- handleSearch(event) {
57
- if (event != undefined) {
58
- this.searchValue = event;
59
- this.displayedTenants = this.filterTenants(this.allTenants);
60
- }
61
- }
62
- showAllTenants() {
63
- this.showAll = !this.showAll;
64
- this.displayedTenants = this.filterTenants(this.showAll ? this.allTenants : this.allTenants.slice(0, 4));
65
- }
66
- async handleSignout() {
67
- await this.sessionService.signout();
68
- this.router.navigate(['/auth/login']);
69
- }
70
- ngOnDestroy() {
71
- this.subscription.unsubscribe();
72
- }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthTenantChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAuthTenantChooserComponent, isStandalone: true, selector: "axp-auth-tenant-chooser", ngImport: i0, template: "<main\n *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\"\n>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('tenant-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @if(allTenants && allTenants.length > 4){\n <ax-search-box\n [placeholder]=\"'search' | translate | async\"\n [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n } @for(tenant of displayedTenants; track $index){\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"handleChooseTenant(tenant)\"\n >\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-size-12 ax-min-w-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\n @if(allTenants && allTenants.length>4){\n <div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"ax-w-full\"\n look=\"outline\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"\n ></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('tenant-chooser.footer', { scope: 'auth' }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n </p>\n </section>\n</main>\n", styles: [":host{display:contents}.gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.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: AXLabelModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i2$1.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i3$1.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3$2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i9.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], encapsulation: i0.ViewEncapsulation.None }); }
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAuthTenantChooserComponent, decorators: [{
77
- type: Component,
78
- args: [{ selector: 'axp-auth-tenant-chooser', imports: [
79
- CommonModule,
80
- FormsModule,
81
- AXFormModule,
82
- AXTextBoxModule,
83
- AXButtonModule,
84
- AXLabelModule,
85
- AXCheckBoxModule,
86
- AXAvatarModule,
87
- AXImageModule,
88
- AXDecoratorModule,
89
- AXPLogoComponent,
90
- AXLoadingModule,
91
- AXTranslationModule,
92
- AXSearchBoxModule,
93
- ], encapsulation: ViewEncapsulation.None, template: "<main\n *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\"\n>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('tenant-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @if(allTenants && allTenants.length > 4){\n <ax-search-box\n [placeholder]=\"'search' | translate | async\"\n [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n } @for(tenant of displayedTenants; track $index){\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"handleChooseTenant(tenant)\"\n >\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-size-12 ax-min-w-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\n @if(allTenants && allTenants.length>4){\n <div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"ax-w-full\"\n look=\"outline\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"\n ></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('tenant-chooser.footer', { scope: 'auth' }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n </p>\n </section>\n</main>\n", styles: [":host{display:contents}.gradient{background:-webkit-linear-gradient(var(--ax-current-v1),var(--ax-current-v2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
94
- }] });
95
-
96
- export { AXPAuthTenantChooserComponent };
97
- //# sourceMappingURL=acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-auth-tenant-chooser.component-B5VHdItj.mjs","sources":["../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.component.html"],"sourcesContent":["import { Component, OnDestroy, OnInit, ViewEncapsulation, inject } from '@angular/core';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService, AXPTenant } from '@acorex/platform/auth';\nimport { AXPLogoComponent, AXP_PLATFORM_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Subscription, first } from 'rxjs';\n\n@Component({\n selector: 'axp-auth-tenant-chooser',\n templateUrl: './tenant-chooser.component.html',\n styleUrls: ['./tenant-chooser.component.scss'],\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXAvatarModule,\n AXImageModule,\n AXDecoratorModule,\n AXPLogoComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXSearchBoxModule,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPAuthTenantChooserComponent implements OnInit, OnDestroy {\n private router = inject(Router);\n protected platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);\n private sessionService = inject(AXPSessionService);\n\n private subscription = new Subscription();\n\n protected user = this.sessionService.user;\n\n protected searchValue = '';\n protected showAll = false;\n protected selectedTenant: AXPTenant | null = null;\n protected displayedTenants: AXPTenant[] = [];\n protected allTenants!: AXPTenant[];\n\n protected async handleChooseTenant(item: AXPTenant) {\n this.selectedTenant = item;\n await this.sessionService.setTenant(item);\n this.router.navigate(['/auth/account/app-chooser']);\n }\n\n ngOnInit(): void {\n this.sessionService.tenants$.pipe(first()).subscribe((tenants) => {\n this.displayedTenants = tenants.slice(0, 4);\n this.allTenants = tenants;\n });\n }\n\n filterTenants(tenants: AXPTenant[]): AXPTenant[] {\n return tenants.filter((tenant) => tenant.title.toLowerCase().includes(this.searchValue.toLowerCase()));\n }\n\n handleSearch(event: string) {\n if (event != undefined) {\n this.searchValue = event;\n this.displayedTenants = this.filterTenants(this.allTenants);\n }\n }\n\n showAllTenants() {\n this.showAll = !this.showAll;\n this.displayedTenants = this.filterTenants(this.showAll ? this.allTenants : this.allTenants.slice(0, 4));\n }\n\n async handleSignout() {\n await this.sessionService.signout();\n this.router.navigate(['/auth/login']);\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","<main\n *translate=\"let t\"\n class=\"ax-w-full ax-space-y-10 ax-h-[100vh] ax-flex ax-flex-col ax-items-center ax-justify-center ax-bg-lightest md:ax-bg-default\"\n>\n <section>\n <axp-logo\n [source]=\"platformConfig.logo?.colored\"\n [attr.alt]=\"platformConfig.title\"\n class=\"ax-w-36 ax-mx-auto ax-text-2xl ax-font-bold\"\n ></axp-logo>\n </section>\n <section class=\"ax-flex ax-justify-center\">\n <div\n class=\"ax-flex ax-gap-2 ax-justify-center ax-text-center ax-flex-col ax-items-center ax-border ax-rounded-lg ax-shadow-lg ax-p-6 md:ax-w-96 ax-w-80\"\n >\n <ax-avatar class=\"ax-rounded-full\" [size]=\"72\">\n @if(user?.avatar){\n <ax-image [src]=\"user?.avatar\"></ax-image>\n }\n </ax-avatar>\n <h2 class=\"md:ax-text-lg ax-font-medium\">{{ t('welcome') | async }}, {{ user?.title }}</h2>\n <p class=\"ax-text-neutral-500 ax-text-sm md:ax-text-base ax-font-medium\">\n {{ t('tenant-chooser.description', { scope: 'auth' }) | async }}\n </p>\n <div class=\"ax-mt-3 ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @if(allTenants && allTenants.length > 4){\n <ax-search-box\n [placeholder]=\"'search' | translate | async\"\n [ngModel]=\"searchValue\"\n (ngModelChange)=\"handleSearch($event)\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n } @for(tenant of displayedTenants; track $index){\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-center ax-cursor-pointer\"\n (click)=\"handleChooseTenant(tenant)\"\n >\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-size-12 ax-min-w-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n </div>\n <span class=\"md:ax-text-base ax-text-sm ax-text-start\">{{ tenant.title }} </span>\n </div>\n @if(tenant.name===selectedTenant?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n }\n </div>\n @if(allTenants && allTenants.length>4){\n <div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"ax-w-full\"\n look=\"outline\"\n [text]=\"showAll ? (t('viewLess') | async) : (t('viewAll') | async)\"\n ></ax-button>\n </div>\n }\n </div>\n </section>\n <section>\n <p class=\"ax-text-neutral-400 ax-text-sm\">\n {{ t('tenant-chooser.footer', { scope: 'auth' }) | async }}\n <a (click)=\"handleSignout()\" class=\"ax-text-primary ax-cursor-pointer hover:ax-underline ax-font-medium\">\n {{ t('backLogin', { scope: 'auth' }) | async }}\n </a>\n </p>\n </section>\n</main>\n"],"names":["i4","i5","i6","i7"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-common-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs","sources":["../../../../libs/modules/common/src/lib/features/home-dashboard/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.ts"],"sourcesContent":["import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSearchDisplayResult } from '@acorex/platform/common';\nimport { AXPDataGenerator, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXPLayoutWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '@acorex/platform/layout/search';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n\nexport interface AXPShortcutItem {\n name: string;\n title: string;\n description?: string;\n icon: string;\n command: AXPExecuteCommand;\n}\n\n\n@Component({\n template: `\n @if(item()) {\n <div \n class=\"ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden \"\n (click)=\"executeCommand()\">\n <div class=\"ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/10 ax-transition-opacity\"></div>\n <i [class]=\"item().icon + ' ax-text-3xl'\"></i>\n <span class=\"ax-text-xl ax-font-semibold\">{{ item().title | translate | async }}</span>\n @if(item().description) {\n <span class=\"ax-text-sm ax-opacity-90 ax-text-center ax-px-2\">{{ item().description! | translate | async }}</span>\n }\n </div>\n } @else {\n <div \n (click)=\"setCommand()\" \n class=\"ax-group ax-flex ax-flex-col ax-items-center ax-justify-center ax-p-3 ax-w-full ax-h-full ax-relative ax-overflow-hidden\">\n <div class=\"ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/5 ax-transition-opacity\"></div>\n <i class=\"fa-light fa-plus ax-text-3xl\"></i>\n <span class=\"ax-text-xl ax-font-semibold\">Add Shortcut</span>\n </div>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule]\n})\nexport class AXPDashboardShortcutWidgetViewComponent extends AXPLayoutWidgetComponent {\n\n private popupService = inject(AXPopupService);\n private workflow = inject(AXPWorkflowService);\n private searchConfig = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n\n protected item = computed<AXPShortcutItem>(() => this.options()['item'] as AXPShortcutItem);\n protected color = computed<string>(() => this.options()['color'] as string);\n\n override ngOnInit(): void {\n super.ngOnInit();\n if (!this.color()) {\n this.setOptions({\n color: AXPDataGenerator.color()\n });\n }\n }\n\n protected async executeCommand() {\n if (this.item()?.command) {\n await this.workflow.execute(this.item().command.name, this.item().command.options);\n }\n }\n\n protected async setCommand() {\n const component = await this.searchConfig.window();\n const popup = await this.popupService.open(component, {\n title: 'Choose command...',\n size: 'fit',\n closeOnBackdropClick: true,\n header: false,\n });\n if (popup.data) {\n const result = popup.data as AXPSearchDisplayResult;\n if (result && result.command) {\n this.setOptions({\n item: {\n name: result.name,\n title: result.title,\n description: result.description,\n icon: result.icon,\n command: result.command\n } as AXPShortcutItem\n });\n }\n }\n }\n\n @HostBinding('style')\n private get __style() {\n const cls: any = {};\n cls[`background-color`] = this.color();\n return cls;\n }\n\n @HostBinding('class')\n private get __class() {\n const cls: any = {};\n cls[`ax-flex`] = true;\n cls[`ax-flex-col`] = true;\n cls[`ax-items-center`] = true;\n cls[`ax-justify-center`] = true;\n cls[`ax-w-full`] = true;\n cls[`ax-h-full`] = true;\n cls[`ax-text-center`] = true;\n cls[`ax-overflow-hidden`] = true;\n cls[`ax-cursor-pointer`] = true;\n cls[`ax-text-white`] = true;\n return cls;\n }\n}"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-common-index-Dt3vRkkx.mjs","sources":["../../../../libs/modules/common/src/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.html","../../../../libs/modules/common/src/lib/features/home-dashboard/dashboard-popups/add-dashboard-popup.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/dashboard-popups/configuration-popup.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/dashboard-popups/dashboard-popup.service.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/setrting.keys.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/dashboard-home/home-dashboard.store.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/dashboard-home/home-dashboard.ts","../../../../libs/modules/common/src/lib/features/home-dashboard/dashboard-home/home-dashboard.html"],"sourcesContent":["import { AXButtonItemComponent, AXButtonModule } from '@acorex/components/button';\nimport { AXEvent, AXItemClickEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetRendererDirective } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n input,\n output,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'axc-dashboard-widget-wrapper',\n templateUrl: './dashboard-widget-wrapper.html',\n styleUrls: ['./dashboard-widget-wrapper.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule, CommonModule],\n standalone: true,\n})\nexport class AXCDashboardWidgetWrapperComponent {\n onDelete = output<void>();\n onConfiguration = output<void>();\n onValueChanged = output<unknown>();\n onOptionsChanged = output<unknown>();\n\n widget = contentChild(AXPWidgetRendererDirective);\n\n #init = afterNextRender(() => {\n this.widget()?.onOptionsChanged.subscribe((c) => {\n this.onOptionsChanged.emit(c.widget.options());\n });\n this.widget()?.onValueChanged.subscribe((c) => {\n this.onValueChanged.emit(c.widget.getValue());\n });\n });\n\n hasConfiguration = input<boolean>(true);\n isDropdownOpen = signal(false);\n\n handleOnItemClick(event: AXItemClickEvent<AXButtonItemComponent>) {\n switch (event.item.data) {\n case 'delete':\n this.onDelete.emit();\n break;\n case 'configuration':\n this.onConfiguration.emit();\n break;\n default:\n break;\n }\n this.isDropdownOpen.set(false);\n }\n log(event: AXEvent) {\n console.log('Dropdown event:', event);\n }\n}\n","<section class=\"ax-relative ax-size-full ax-flex ax-justify-center ax-items-center ax-group\">\n <div\n class=\"ax-p-1 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 <ng-content></ng-content>\n</section>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { Component, model, OnInit } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPDashboardLayout } from '../dashboard-home';\n\ninterface AddDashboardPopupResult extends Partial<AXPDashboardLayout> {\n isCanceled: boolean;\n}\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Title</ax-label>\n <ax-text-box [(ngModel)]=\"title\" name=\"title\" placeholder=\"Enter dashboard title\"> </ax-text-box>\n\n <ax-label>Description</ax-label>\n <ax-text-box [(ngModel)]=\"description\" name=\"description\" placeholder=\"Enter dashboard description\">\n </ax-text-box>\n </div>\n\n <ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"> </ax-button>\n <ax-button text=\"Save\" look=\"solid\" color=\"primary\" [disabled]=\"!isValid\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-save\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n imports: [FormsModule, AXButtonModule, AXTextBoxModule, AXLabelModule, AXDecoratorModule],\n})\nexport class AXCAddDashboardPopup extends AXBasePageComponent implements OnInit {\n private readonly data: Partial<AXPDashboardLayout>;\n\n protected readonly title = model<string>('');\n protected readonly description = model<string>('');\n\n protected get isValid(): boolean {\n return !!this.title()?.trim();\n }\n\n override ngOnInit(): void {\n this.title.set(this.data?.title || '');\n this.description.set(this.data?.description || '');\n }\n\n protected async handleClose(isCanceled = false): Promise<void> {\n this.close({\n title: this.title()?.trim(),\n description: this.description()?.trim(),\n isCanceled,\n });\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyViewerComponent } from '@acorex/platform/layout/designer';\nimport { Component, OnInit, signal } from '@angular/core';\n\ninterface ConfigurationPopupResult {\n isCanceled: boolean;\n widget: AXPWidgetNode | null;\n}\n\n@Component({\n template: `\n @if(widget) {\n <div class=\"ax-px-1\">\n <axp-widget-property-viewer (onChanged)=\"handlePropertyChange($event)\" [widget]=\"widget\">\n </axp-widget-property-viewer>\n </div>\n }\n <ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"> </ax-button>\n <ax-button text=\"Save\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-save\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n imports: [AXButtonModule, AXDecoratorModule, AXPWidgetPropertyViewerComponent],\n})\nexport class AXCConfigurationPopup extends AXBasePageComponent implements OnInit {\n widget!: AXPWidgetNode;\n protected readonly widgetData = signal<AXPWidgetNode | null>(null);\n\n override ngOnInit(): void {\n this.widgetData.set(this.widget);\n }\n\n protected async handleClose(isCanceled = false): Promise<void> {\n this.close({\n isCanceled,\n widget: this.widgetData(),\n });\n }\n\n protected handlePropertyChange(event: AXPWidgetPropertiesChangedEvent): void {\n this.widgetData.set(event.values);\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDashboardLayout } from '../dashboard-home';\nimport { AXCAddDashboardPopup } from './add-dashboard-popup';\nimport { AXCConfigurationPopup } from './configuration-popup';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPDashboardPopupService {\n private readonly popupService = inject(AXPopupService);\n\n async generateDashboardLayout(data: Partial<AXPDashboardLayout>): Promise<AXPDashboardLayout | void> {\n const result = await this.popupService.open(AXCAddDashboardPopup, {\n header: true,\n size: 'fit',\n draggable: true,\n hasBackdrop: true,\n title: 'Dashboard Layout Details',\n data: { data },\n });\n\n if (!result.data) {\n return;\n }\n\n const { isCanceled, ...rest } = result.data;\n if (isCanceled) {\n return;\n }\n\n return rest as AXPDashboardLayout;\n }\n\n async handlePopupConfiguration(widget: AXPWidgetNode): Promise<AXPWidgetNode | void> {\n const result = await this.popupService.open(AXCConfigurationPopup, {\n header: true,\n size: 'sm',\n draggable: true,\n hasBackdrop: true,\n title: 'Widget Configuration',\n data: { widget },\n });\n\n if (!result.data) {\n return;\n }\n\n const { isCanceled, ...rest } = result.data;\n if (isCanceled) {\n return;\n }\n\n return rest.widget as AXPWidgetNode;\n }\n}\n","const path = 'home:dashboard:';\nexport enum AXPHomeDashboardSetting {\n CurrentDashboard = `${path}current-dashboard`,\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXGridLayoutEvent, AXGridLayoutOptions } from '@acorex/components/grid-layout-builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPDataGenerator, AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPWidgetGroupEnum, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXPWidgetPickerService } from '@acorex/platform/layout/designer';\nimport { computed, effect, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { AXMDashboardService } from '../../../entities/dashboard/dashboard.service';\nimport { AXMCommonDashboardEntityModel } from '../../../entities/dashboard/dashboard.types';\nimport { AXPDashboardPopupService } from '../dashboard-popups/dashboard-popup.service';\nimport { AXPHomeDashboardSetting } from '../setrting.keys';\nimport { AXPDashboardLayout, AXPDashboardWidgetData } from './home-dashboard.type';\n\n// Create the SignalStore\nexport const AXCDashboardStore = signalStore(\n { providedIn: 'root' },\n\n // Initial State Definition\n withState(() => {\n // Define initial empty state\n const state = {\n dashboards: [] as AXPDashboardLayout[],\n currentDashboardId: null as string | null,\n dashboardsOption: { float: true, cellHeight: 75, gap: 5, minRow: 9, column: 12 } as AXGridLayoutOptions,\n isLoading: false,\n };\n\n return state;\n }),\n\n // Computed Properties\n withComputed((state) => ({\n currentDashboard: computed(() => {\n return state.dashboards().find((dashboard) => dashboard.id === state.currentDashboardId()) || null;\n }),\n })),\n\n // Methods for State Management\n withMethods(\n (\n store,\n dashboardPopup = inject(AXPDashboardPopupService),\n dialogService = inject(AXDialogService),\n translationService = inject(AXTranslationService),\n widgetPickerService = inject(AXPWidgetPickerService),\n dashboardService = inject(AXMDashboardService),\n settingService = inject(AXPSettingService)\n ) => {\n // Load dashboards from service - runs on init via effect\n effect(() => {\n loadDashboards();\n });\n\n // Load dashboards from service\n async function loadDashboards(): Promise<void> {\n try {\n patchState(store, { isLoading: true });\n\n // Get dashboards from service using query method\n const result = await dashboardService.query({ skip: 0, take: 100 });\n const dashboardModels = result.items || [];\n\n // Convert dashboard models to AXPDashboardLayout\n const dashboards = dashboardModels.map(modelToDashboardLayout);\n\n // Get current dashboard from settings\n const currentDashboardId = await settingService\n .scope(AXPPlatformScope.User)\n .get(AXPHomeDashboardSetting.CurrentDashboard);\n\n let newCurrentDashboardId = null;\n\n if (dashboards.length > 0) {\n // Check if currentDashboardId exists and is valid\n const dashboardExists = currentDashboardId && dashboards.some((d) => d.id === currentDashboardId);\n\n if (dashboardExists) {\n newCurrentDashboardId = currentDashboardId as string;\n } else {\n // If current dashboard is not valid or not set, use the first one\n newCurrentDashboardId = dashboards[0].id;\n // Save to user settings\n settingService\n .scope(AXPPlatformScope.User)\n .set(AXPHomeDashboardSetting.CurrentDashboard, newCurrentDashboardId);\n }\n }\n\n patchState(store, {\n dashboards,\n isLoading: false,\n currentDashboardId: newCurrentDashboardId,\n });\n } catch (error) {\n console.error('Error loading dashboards:', error);\n patchState(store, { isLoading: false });\n }\n }\n\n // Convert entity model to dashboard layout\n function modelToDashboardLayout(model: AXMCommonDashboardEntityModel): AXPDashboardLayout {\n return {\n id: model.id || '',\n title: model.title,\n description: model.description,\n widgets: model.widgets || [],\n };\n }\n\n // Convert dashboard layout to entity model\n function dashboardLayoutToModel(layout: AXPDashboardLayout): AXMCommonDashboardEntityModel {\n return {\n id: layout.id,\n name: layout.title,\n title: layout.title,\n description: layout.description || '',\n widgets: layout.widgets,\n };\n }\n\n return {\n // Set current dashboard\n setCurrentDashboard(dashboardId: string): void {\n patchState(store, { currentDashboardId: dashboardId });\n settingService.scope(AXPPlatformScope.User).set(AXPHomeDashboardSetting.CurrentDashboard, dashboardId);\n },\n\n // Add a new dashboard\n async addDashboard(): Promise<void> {\n try {\n const newDashboard = await dashboardPopup.generateDashboardLayout({});\n if (!newDashboard) return;\n\n // Create dashboard model and save to service\n const dashboardModel = dashboardLayoutToModel(newDashboard);\n const createdDashboardId = await dashboardService.insertOne(dashboardModel);\n\n newDashboard.id = createdDashboardId;\n newDashboard.widgets = [];\n\n // Update local state\n const updatedDashboards = [...store.dashboards(), newDashboard];\n\n patchState(store, {\n dashboards: updatedDashboards,\n currentDashboardId: newDashboard.id,\n });\n\n // Save current dashboard to settings\n settingService.scope(AXPPlatformScope.User).set(AXPHomeDashboardSetting.CurrentDashboard, newDashboard.id);\n } catch (error) {\n console.error('Error adding dashboard:', error);\n }\n },\n\n // Add a widget to the current dashboard\n async addWidget(): Promise<void> {\n if (!store.currentDashboardId()) {\n console.warn('No current dashboard selected');\n return;\n }\n\n try {\n const widgets = await widgetPickerService.showPicker({\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n });\n\n //remove meta from widgets //TODO TEMPORARY FIX\n const filteredWidgets = (widgets as any[]).map(({ __meta__, ...rest }) => rest);\n if (filteredWidgets[0]?.type === 'sticky-note') {\n if (!filteredWidgets[0].options) {\n filteredWidgets[0].options = {};\n }\n filteredWidgets[0].options.hasConfiguration = false;\n }\n filteredWidgets.forEach((widget) => {\n widget.path = widget?.type + '-' + widget?.name;\n });\n\n // Step 2: Convert the selected widgets into AXPDashboardWidgetData format\n const convertedWidgets: AXPDashboardWidgetData[] = filteredWidgets.map((widget) => {\n const id = AXPDataGenerator.uuid();\n return {\n config: {\n height: widget?.meta?.dimensions?.height ?? 2,\n width: widget?.meta?.dimensions?.width ?? 2,\n minHeight: widget?.meta?.dimensions?.minHeight,\n minWidth: widget?.meta?.dimensions?.minWidth,\n maxHeight: widget?.meta?.dimensions?.maxHeight,\n maxWidth: widget?.meta?.dimensions?.maxWidth,\n id,\n },\n node: { ...widget, name: id },\n };\n });\n\n // Step 3: Update the dashboards\n const updatedDashboards = store.dashboards().map((dashboard) => {\n if (dashboard.id === store.currentDashboardId()) {\n return {\n ...dashboard,\n widgets: [...dashboard.widgets, ...convertedWidgets],\n };\n }\n return dashboard;\n });\n\n // Step 4: Save the updated dashboard to the service\n const currentDashboard = updatedDashboards.find((d) => d.id === store.currentDashboardId());\n if (currentDashboard) {\n await dashboardService.updateOne(currentDashboard.id, dashboardLayoutToModel(currentDashboard));\n }\n\n patchState(store, { dashboards: updatedDashboards });\n } catch (error) {\n console.error('Error adding widget:', error);\n }\n },\n\n // Remove a dashboard\n async removeDashboard(id: string): Promise<void> {\n if (!id) {\n console.warn('No dashboard ID provided for removal');\n return;\n }\n\n try {\n const dialogResult = await dialogService.confirm(\n await translationService.translateAsync('workflow.warning'),\n await translationService.translateAsync('workflow.confirm-delete'),\n 'danger',\n 'horizontal'\n );\n\n if (dialogResult.result) {\n // Delete from service\n await dashboardService.deleteOne(id);\n\n // Remove the dashboard from local state\n const updatedDashboards = store.dashboards().filter((dashboard) => dashboard.id !== id);\n\n // Update state and select a new current dashboard if needed\n let newCurrentDashboardId = store.currentDashboardId();\n\n if (id === store.currentDashboardId()) {\n newCurrentDashboardId =\n updatedDashboards.length > 0 ? updatedDashboards[updatedDashboards.length - 1].id : null;\n\n // Save to settings if we changed the current dashboard\n if (newCurrentDashboardId) {\n settingService\n .scope(AXPPlatformScope.User)\n .set(AXPHomeDashboardSetting.CurrentDashboard, newCurrentDashboardId);\n }\n }\n\n patchState(store, {\n dashboards: updatedDashboards,\n currentDashboardId: newCurrentDashboardId,\n });\n }\n } catch (error) {\n console.error('Error removing dashboard:', error);\n }\n },\n\n // Remove a widget from a dashboard\n async removeWidget(dashboardId: string, widgetId: string): Promise<void> {\n const currentDashboard = store.dashboards().find((d) => d.id === dashboardId);\n if (!currentDashboard) return;\n\n const updatedDashboard = {\n ...currentDashboard,\n widgets: currentDashboard.widgets.filter((widget) => widget.config.id !== widgetId),\n };\n\n // Save to service\n await dashboardService.updateOne(dashboardId, dashboardLayoutToModel(updatedDashboard));\n\n // Update local state\n const updatedDashboards = store\n .dashboards()\n .map((dashboard) => (dashboard.id === dashboardId ? updatedDashboard : dashboard));\n\n patchState(store, { dashboards: updatedDashboards });\n },\n\n // Handle configuration changes\n async handleConfigChange(dashboard: AXPDashboardLayout): Promise<void> {\n // Save to service\n await dashboardService.updateOne(dashboard.id, dashboardLayoutToModel(dashboard));\n\n // Update local state\n const updatedDashboards = store.dashboards().map((d) => (d.id === dashboard.id ? dashboard : d));\n\n patchState(store, {\n dashboards: updatedDashboards,\n currentDashboardId: dashboard.id,\n });\n\n // Save current dashboard to settings\n settingService.scope(AXPPlatformScope.User).set(AXPHomeDashboardSetting.CurrentDashboard, dashboard.id);\n },\n\n // Handle grid layout changes\n async onGridChange(event: AXGridLayoutEvent): Promise<void> {\n if (!store.currentDashboard()) {\n console.warn('No current dashboard for grid change');\n return;\n }\n\n // Extract nodes from the event and remove the `element` property\n const nodes = event.nodes.map(({ element, ...rest }) => rest);\n\n // Update the current dashboard\n const currentDashboard = store.currentDashboard()!;\n const updatedWidgets = currentDashboard.widgets.map((widget) => {\n const updatedNode = nodes.find((node) => node.id === widget.config.id);\n if (updatedNode) {\n return {\n ...widget,\n config: updatedNode,\n };\n }\n return widget;\n });\n\n const updatedDashboard = {\n ...currentDashboard,\n widgets: updatedWidgets,\n };\n\n // Save to service\n await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));\n\n // Update the dashboards\n const updatedDashboards = store\n .dashboards()\n .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));\n\n patchState(store, { dashboards: updatedDashboards });\n },\n\n // Handle widget configuration\n async handlePopupConfiguration(widgetNode: AXPWidgetNode): Promise<void> {\n if (!store.currentDashboard()) {\n console.warn('No current dashboard selected');\n return;\n }\n\n try {\n const updatedNode = await dashboardPopup.handlePopupConfiguration(widgetNode);\n\n if (!updatedNode) {\n return;\n }\n\n // Update the current dashboard's widget with the new configuration\n const currentDashboard = store.currentDashboard()!;\n const updatedWidgets = currentDashboard.widgets.map((widget) => {\n if (widget.node?.name === widgetNode.name && widget.node?.path === widgetNode.path) {\n return {\n ...widget,\n node: updatedNode,\n };\n }\n return widget;\n });\n\n const updatedDashboard = {\n ...currentDashboard,\n widgets: updatedWidgets,\n };\n\n // Save to service\n await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));\n\n // Update the dashboards state\n const updatedDashboards = store\n .dashboards()\n .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));\n\n patchState(store, { dashboards: updatedDashboards });\n } catch (error) {\n console.error('Error handling widget configuration:', error);\n }\n },\n\n // Handle widget value changes\n async handleValueChanged(widgetNode: AXPWidgetNode, data: unknown): Promise<void> {\n if (!store.currentDashboard()) {\n console.warn('No current dashboard selected');\n return;\n }\n\n try {\n // Update the current dashboard's widget with the new value\n const currentDashboard = store.currentDashboard()!;\n const updatedWidgets = currentDashboard.widgets.map((widget) => {\n if (widget.node && widget.node.name === widgetNode.name && widget.node.path === widgetNode.path) {\n return {\n ...widget,\n node: {\n ...widget.node,\n defaultValue: data,\n },\n } as AXPDashboardWidgetData;\n }\n return widget;\n });\n\n const updatedDashboard = {\n ...currentDashboard,\n widgets: updatedWidgets,\n };\n\n // Save to service\n await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));\n\n // Update the dashboards state\n const updatedDashboards = store\n .dashboards()\n .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));\n\n // patchState(store, { dashboards: updatedDashboards });\n } catch (error) {\n console.error('Error handling widget value change:', error);\n }\n },\n\n // Handle widget options changes\n async handleOptionsChanged(widgetNode: AXPWidgetNode, data: unknown): Promise<void> {\n if (!store.currentDashboard()) {\n console.warn('No current dashboard selected');\n return;\n }\n\n try {\n // Update the current dashboard's widget with the new options\n const currentDashboard = store.currentDashboard()!;\n const updatedWidgets = currentDashboard.widgets.map((widget) => {\n if (widget.node && widget.node.name === widgetNode.name && widget.node.path === widgetNode.path) {\n return {\n ...widget,\n node: {\n ...widget.node,\n options: {\n ...(widget.node.options || {}),\n ...(data as object),\n },\n },\n } as AXPDashboardWidgetData;\n }\n return widget;\n });\n\n const updatedDashboard = {\n ...currentDashboard,\n widgets: updatedWidgets,\n };\n\n // Save to service\n await dashboardService.updateOne(updatedDashboard.id, dashboardLayoutToModel(updatedDashboard));\n\n // Update the dashboards state\n const updatedDashboards = store\n .dashboards()\n .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));\n\n patchState(store, { dashboards: updatedDashboards });\n } catch (error) {\n console.error('Error handling widget options change:', error);\n }\n },\n\n // Reload dashboards from service\n async refreshDashboards(): Promise<void> {\n await loadDashboards();\n },\n };\n }\n )\n);\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXGridLayoutBuilderModule } from '@acorex/components/grid-layout-builder';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';\nimport { AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { AXPBasePage, AXPBasePageComponent, AXPPageLayoutComponent } from '@acorex/platform/themes/default';\nimport { AXPLayoutThemeService, AXPThemeLayoutBlockComponent } from '@acorex/platform/themes/shared';\n\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';\nimport { RootConfig } from '../../../const';\nimport { AXCDashboardWidgetWrapperComponent } from '../widget-wrapper/dashboard-widget-wrapper';\nimport { AXCDashboardStore } from './home-dashboard.store';\n\n@Component({\n selector: 'axp-dashboard-home',\n templateUrl: './home-dashboard.html',\n styleUrls: ['./home-dashboard.scss'],\n standalone: true,\n imports: [\n CommonModule,\n AXLoadingModule,\n AXPLayoutBuilderModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXGridLayoutBuilderModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXBreadcrumbsModule,\n AXCDashboardWidgetWrapperComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXPDesignerService,\n AXCDashboardStore,\n {\n provide: AXPBasePage,\n useExisting: AXPDashboardHomeComponent,\n },\n ],\n})\nexport class AXPDashboardHomeComponent extends AXPBasePageComponent implements OnInit {\n //#region ---------------- Services & Dependencies ----------------\n\n protected readonly rootConfig = RootConfig;\n protected readonly popupService = inject(AXPopupService);\n protected readonly dialogService = inject(AXDialogService);\n protected readonly store = inject(AXCDashboardStore);\n protected readonly router = inject(Router);\n protected readonly activatedRoute = inject(ActivatedRoute);\n protected override layoutService = inject(AXPLayoutThemeService);\n\n //#endregion\n\n //#region ---------------- View Properties ----------------\n\n protected readonly isEdited = signal(false);\n protected readonly context = signal({});\n\n //#endregion\n\n //#region ---------------- Effects ----------------\n\n #loadingEffect = effect(() => {\n const isLoading = false; // Since store doesn't have isLoading, we'll default to false\n this.layoutService.setNavigationLoading(isLoading);\n });\n\n //#endregion\n\n //#region ---------------- Event Handlers ----------------\n\n protected toggleEdit(): void {\n this.isEdited.update((value) => !value);\n }\n\n protected async confirmWidgetDelete(dashboardId: string, widgetId: string): Promise<void> {\n try {\n const dialogResult = await this.dialogService.confirm(\n await this.translateService.translateAsync('workflow.warning'),\n await this.translateService.translateAsync('workflow.confirm-delete'),\n 'danger',\n 'horizontal'\n );\n\n if (dialogResult.result) {\n this.store.removeWidget(dashboardId, widgetId);\n }\n } catch (error) {\n console.error('Error confirming widget deletion:', error);\n }\n }\n\n //#endregion\n\n override getPageTitle(): string {\n return this.store.currentDashboard()?.title || 'Dashboard';\n }\n\n override async getPageDescription(): Promise<string> {\n return this.store.currentDashboard()?.description || '';\n }\n\n protected override getTitleActions(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n return [\n ...this.store.dashboards().map((i) => ({\n title: i.title,\n command: { name: i.id, metadata: { isDashboard: true, dashboard: i } },\n icon: i.id === this.store.currentDashboardId() ? 'fa-solid fa-check' : '',\n })),\n ];\n }\n\n override async getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n const scope = this.rootConfig.config.i18n;\n return [\n {\n title: 't(\"add-item\")',\n icon: 'fa-light fa-square-plus',\n color: 'primary',\n items: [\n {\n title: await this.translateService.translateAsync('dashboard', { scope: 'dashboard' }),\n icon: 'fa-light fa-gauge-high',\n break: true,\n command: {\n name: 'new-dashboard',\n },\n },\n {\n title: await this.translateService.translateAsync('widget', { scope: 'dashboard' }),\n icon: 'fa-light fa-window-restore',\n command: {\n name: 'new-widget',\n },\n },\n ],\n },\n ];\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n const scope = this.rootConfig.config.i18n;\n return [\n {\n title: await this.translateService.translateAsync('delete-current-dashboard', { scope: 'dashboard' }),\n icon: 'fa-light fa-trash-can',\n color: 'danger',\n disabled: this.store.dashboards().length <= 1,\n command: {\n name: 'delete',\n },\n },\n ];\n }\n\n override async execute(command: AXPExecuteCommand): Promise<void> {\n if (command.metadata?.['isDashboard']) {\n this.store.handleConfigChange(command.metadata?.['dashboard']);\n this.recompute();\n } else {\n switch (command.name) {\n case 'new-dashboard':\n await this.store.addDashboard();\n this.recompute();\n break;\n case 'new-widget':\n await this.store.addWidget();\n this.recompute();\n break;\n case 'delete':\n await this.store.removeDashboard(this.store.currentDashboard()?.id!);\n this.recompute();\n break;\n }\n }\n }\n\n // #af = afterNextRender(() => {\n // this.store.refreshDashboards();\n // });\n log(event: AXPLayoutContextChangeEvent) {\n console.log(event);\n }\n\n //#endregion\n}\n","<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 <axc-dashboard-widget-wrapper\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 </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 <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"],"names":["i5","i2","i3","i1","i4","i6"],"mappings":"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"}