@acorex/modules 19.3.0 → 19.3.2

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 (204) hide show
  1. package/common/lib/common.module.d.ts +2 -1
  2. package/dashboard-management/index.d.ts +1 -0
  3. package/dashboard-management/lib/dashboard-management.module.d.ts +2 -2
  4. package/dashboard-management/lib/entities/dashboard/dashboard.types.d.ts +2 -2
  5. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +7 -7
  6. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.store.d.ts +6 -6
  7. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.type.d.ts +3 -3
  8. package/dashboard-management/lib/features/home-dashboard/dashboard-popups/add-dashboard-popup.d.ts +3 -3
  9. package/dashboard-management/lib/features/home-dashboard/dashboard-popups/configuration-popup.d.ts +3 -3
  10. package/dashboard-management/lib/features/home-dashboard/dashboard-popups/dashboard-popup.service.d.ts +5 -5
  11. package/dashboard-management/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.d.ts +4 -3
  12. package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart-widget.component.d.ts +17 -0
  13. package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart-widget.config.d.ts +7 -0
  14. package/dashboard-management/lib/features/shared/widgets/bar-chart/index.d.ts +2 -0
  15. package/dashboard-management/lib/features/shared/widgets/chart.type.d.ts +3 -0
  16. package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar-widget.component.d.ts +39 -0
  17. package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar-widget.config.d.ts +7 -0
  18. package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar.types.d.ts +50 -0
  19. package/dashboard-management/lib/features/shared/widgets/clock-calendar/index.d.ts +3 -0
  20. package/dashboard-management/lib/features/shared/widgets/dashboard-shortcut/index.d.ts +2 -0
  21. package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart-widget.component.d.ts +17 -0
  22. package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart-widget.config.d.ts +7 -0
  23. package/dashboard-management/lib/features/shared/widgets/donut-chart/index.d.ts +2 -0
  24. package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart-widget.component.d.ts +16 -0
  25. package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart-widget.config.d.ts +7 -0
  26. package/dashboard-management/lib/features/shared/widgets/gauge-chart/index.d.ts +2 -0
  27. package/dashboard-management/lib/features/shared/widgets/index.d.ts +9 -0
  28. package/dashboard-management/lib/features/shared/widgets/line-chart/index.d.ts +2 -0
  29. package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart-widget.component.d.ts +17 -0
  30. package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart-widget.config.d.ts +7 -0
  31. package/dashboard-management/lib/features/shared/widgets/sticky-note/index.d.ts +2 -0
  32. package/dashboard-management/lib/features/shared/widgets/sticky-note/sticky-note-widget.component.d.ts +21 -0
  33. package/dashboard-management/lib/features/shared/widgets/sticky-note/sticky-note-widget.config.d.ts +7 -0
  34. package/dashboard-management/lib/features/shared/widgets/tasklist/index.d.ts +3 -0
  35. package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist-widget.component.d.ts +34 -0
  36. package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist-widget.config.d.ts +7 -0
  37. package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist.type.d.ts +36 -0
  38. package/dashboard-management/lib/features/shared/widgets/weather/index.d.ts +3 -0
  39. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/index.d.ts +3 -0
  40. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.abstract.d.ts +174 -0
  41. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.key.d.ts +2 -0
  42. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.mock.service.d.ts +47 -0
  43. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.service.d.ts +48 -0
  44. package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.component.d.ts +109 -0
  45. package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.config.d.ts +14 -0
  46. package/fesm2022/acorex-modules-application-management.mjs +2 -2
  47. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  48. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B1HTJdsE.mjs → acorex-modules-auth-acorex-modules-auth-DJZcD1j3.mjs} +23 -83
  49. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DJZcD1j3.mjs.map +1 -0
  50. package/fesm2022/acorex-modules-auth-app-chooser.component-DlYxDGQr.mjs +65 -0
  51. package/fesm2022/acorex-modules-auth-app-chooser.component-DlYxDGQr.mjs.map +1 -0
  52. package/fesm2022/{acorex-modules-auth-login.module-TtdNj0aL.mjs → acorex-modules-auth-login.module-D-XgzifC.mjs} +4 -4
  53. package/fesm2022/{acorex-modules-auth-login.module-TtdNj0aL.mjs.map → acorex-modules-auth-login.module-D-XgzifC.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-auth-master.layout-CtVrY1hn.mjs → acorex-modules-auth-master.layout-ZaCb3CED.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-auth-master.layout-CtVrY1hn.mjs.map → acorex-modules-auth-master.layout-ZaCb3CED.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-auth-password.component-Dmj9zZSI.mjs → acorex-modules-auth-password.component-C-xRIhrM.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-auth-password.component-Dmj9zZSI.mjs.map → acorex-modules-auth-password.component-C-xRIhrM.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-auth-password.component-BXm2NAaN.mjs → acorex-modules-auth-password.component-CLTZoufP.mjs} +2 -2
  59. package/fesm2022/{acorex-modules-auth-password.component-BXm2NAaN.mjs.map → acorex-modules-auth-password.component-CLTZoufP.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-auth-routes-DkgsKi3a.mjs → acorex-modules-auth-routes-4T5jq7su.mjs} +2 -2
  61. package/fesm2022/{acorex-modules-auth-routes-DkgsKi3a.mjs.map → acorex-modules-auth-routes-4T5jq7su.mjs.map} +1 -1
  62. package/fesm2022/acorex-modules-auth-tenant-chooser.component-Ow7QtAWc.mjs +98 -0
  63. package/fesm2022/acorex-modules-auth-tenant-chooser.component-Ow7QtAWc.mjs.map +1 -0
  64. package/fesm2022/{acorex-modules-auth-two-factor.module-DDOSqjYs.mjs → acorex-modules-auth-two-factor.module-D72KIpvA.mjs} +2 -2
  65. package/fesm2022/{acorex-modules-auth-two-factor.module-DDOSqjYs.mjs.map → acorex-modules-auth-two-factor.module-D72KIpvA.mjs.map} +1 -1
  66. package/fesm2022/{acorex-modules-auth-user-sessions.component-B3i44VC5.mjs → acorex-modules-auth-user-sessions.component-Btnu_Oeq.mjs} +2 -2
  67. package/fesm2022/{acorex-modules-auth-user-sessions.component-B3i44VC5.mjs.map → acorex-modules-auth-user-sessions.component-Btnu_Oeq.mjs.map} +1 -1
  68. package/fesm2022/acorex-modules-auth.mjs +1 -1
  69. package/fesm2022/acorex-modules-common.mjs +3 -5
  70. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  71. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-VORBD1g-.mjs +3755 -0
  72. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-VORBD1g-.mjs.map +1 -0
  73. package/fesm2022/{acorex-modules-dashboard-management-index-Br6L5KMu.mjs → acorex-modules-dashboard-management-home-dashboard-DiPn_RhH.mjs} +48 -47
  74. package/fesm2022/acorex-modules-dashboard-management-home-dashboard-DiPn_RhH.mjs.map +1 -0
  75. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  76. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-DO18V9JK.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-Cv92x_9Z.mjs} +11 -11
  77. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-Cv92x_9Z.mjs.map +1 -0
  78. package/fesm2022/{acorex-modules-form-template-management-category.entity-nErIyYxr.mjs → acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs} +2 -2
  79. package/fesm2022/{acorex-modules-form-template-management-category.entity-nErIyYxr.mjs.map → acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CROST06h.mjs → acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs} +2 -2
  81. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CROST06h.mjs.map → acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs.map} +1 -1
  82. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-0GHf41xy.mjs → acorex-modules-form-template-management-template-widget-edit.component-BkR3x74p.mjs} +2 -2
  83. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-0GHf41xy.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BkR3x74p.mjs.map} +1 -1
  84. package/fesm2022/{acorex-modules-form-template-management-template.entity-HSE5R67l.mjs → acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs} +2 -2
  85. package/fesm2022/{acorex-modules-form-template-management-template.entity-HSE5R67l.mjs.map → acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-pi15hXWY.mjs → acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs} +2 -2
  87. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-pi15hXWY.mjs.map → acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs.map} +1 -1
  88. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  89. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs → acorex-modules-issue-management-acorex-modules-issue-management-U5EJyG5e.mjs} +44 -43
  90. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-U5EJyG5e.mjs.map +1 -0
  91. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs → acorex-modules-issue-management-capture-screen.component-3ZAOJBfn.mjs} +2 -2
  92. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs.map → acorex-modules-issue-management-capture-screen.component-3ZAOJBfn.mjs.map} +1 -1
  93. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  94. package/fesm2022/acorex-modules-notification-management.mjs +623 -53
  95. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  96. package/fesm2022/{acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs → acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs} +3 -3
  97. package/fesm2022/acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs.map +1 -0
  98. package/fesm2022/acorex-modules-organization-management.mjs +2 -2
  99. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs → acorex-modules-platform-management-acorex-modules-platform-management-5lToZD6T.mjs} +59 -6
  100. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-5lToZD6T.mjs.map +1 -0
  101. package/fesm2022/{acorex-modules-platform-management-list-version.component-DgDjbODD.mjs → acorex-modules-platform-management-list-version.component-BElZjmXr.mjs} +2 -2
  102. package/fesm2022/{acorex-modules-platform-management-list-version.component-DgDjbODD.mjs.map → acorex-modules-platform-management-list-version.component-BElZjmXr.mjs.map} +1 -1
  103. package/fesm2022/{acorex-modules-platform-management-settings.provider-W71pfOmi.mjs → acorex-modules-platform-management-settings.provider-CemrvnbH.mjs} +2 -2
  104. package/fesm2022/{acorex-modules-platform-management-settings.provider-W71pfOmi.mjs.map → acorex-modules-platform-management-settings.provider-CemrvnbH.mjs.map} +1 -1
  105. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  106. package/fesm2022/acorex-modules-project-management.mjs +218 -155
  107. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  108. package/fesm2022/acorex-modules-security-management.mjs +472 -787
  109. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  110. package/fesm2022/acorex-modules-training-management.mjs +5574 -0
  111. package/fesm2022/acorex-modules-training-management.mjs.map +1 -0
  112. package/notification-management/index.d.ts +1 -0
  113. package/notification-management/lib/entities/notification/notification.service.d.ts +6 -6
  114. package/notification-management/lib/features/components/admin-notification-panel/admin-notification-panel.component.d.ts +13 -7
  115. package/notification-management/lib/features/dashboard/widgets/my-notification/index.d.ts +2 -0
  116. package/notification-management/lib/features/dashboard/widgets/my-notification/notification-widget.component.d.ts +82 -0
  117. package/notification-management/lib/features/dashboard/widgets/my-notification/notification-widget.config.d.ts +5 -0
  118. package/notification-management/lib/features/shared/notification-connector.service.d.ts +57 -0
  119. package/notification-management/lib/notification-management.module.d.ts +2 -1
  120. package/notification-management/lib/notification-management.type.d.ts +3 -0
  121. package/package.json +5 -1
  122. package/security-management/lib/entities/index.d.ts +1 -2
  123. package/security-management/lib/entities/profile/index.d.ts +0 -1
  124. package/security-management/lib/entities/users/users.service.d.ts +2 -2
  125. package/security-management/lib/entities/users/users.types.d.ts +2 -2
  126. package/security-management/lib/user-avatar.provider.d.ts +5 -0
  127. package/training-management/README.md +3 -0
  128. package/training-management/index.d.ts +7 -0
  129. package/training-management/lib/const.d.ts +85 -0
  130. package/training-management/lib/entities/certificate/certificate.entity.d.ts +3 -0
  131. package/training-management/lib/entities/certificate/certificate.service.d.ts +10 -0
  132. package/training-management/lib/entities/certificate/certificate.types.d.ts +12 -0
  133. package/training-management/lib/entities/certificate/index.d.ts +3 -0
  134. package/training-management/lib/entities/course/course.entity.d.ts +3 -0
  135. package/training-management/lib/entities/course/course.service.d.ts +10 -0
  136. package/training-management/lib/entities/course/course.types.d.ts +8 -0
  137. package/training-management/lib/entities/course/index.d.ts +3 -0
  138. package/training-management/lib/entities/course-location/course-location.entity.d.ts +3 -0
  139. package/training-management/lib/entities/course-location/course-location.service.d.ts +10 -0
  140. package/training-management/lib/entities/course-location/course-location.types.d.ts +6 -0
  141. package/training-management/lib/entities/course-location/index.d.ts +3 -0
  142. package/training-management/lib/entities/course-period/course-period.entity.d.ts +3 -0
  143. package/training-management/lib/entities/course-period/course-period.service.d.ts +10 -0
  144. package/training-management/lib/entities/course-period/course-period.types.d.ts +6 -0
  145. package/training-management/lib/entities/course-period/index.d.ts +3 -0
  146. package/training-management/lib/entities/course-type/course-type.entity.d.ts +3 -0
  147. package/training-management/lib/entities/course-type/course-type.service.d.ts +10 -0
  148. package/training-management/lib/entities/course-type/course-type.types.d.ts +5 -0
  149. package/training-management/lib/entities/course-type/index.d.ts +3 -0
  150. package/training-management/lib/entities/facilitator-type/facilitator-type.entity.d.ts +3 -0
  151. package/training-management/lib/entities/facilitator-type/facilitator-type.service.d.ts +10 -0
  152. package/training-management/lib/entities/facilitator-type/facilitator-type.types.d.ts +6 -0
  153. package/training-management/lib/entities/facilitator-type/index.d.ts +3 -0
  154. package/training-management/lib/entities/index.d.ts +12 -0
  155. package/training-management/lib/entities/location/index.d.ts +3 -0
  156. package/training-management/lib/entities/location/location.entity.d.ts +3 -0
  157. package/training-management/lib/entities/location/location.service.d.ts +10 -0
  158. package/training-management/lib/entities/location/location.types.d.ts +7 -0
  159. package/training-management/lib/entities/period/index.d.ts +3 -0
  160. package/training-management/lib/entities/period/period.entity.d.ts +3 -0
  161. package/training-management/lib/entities/period/period.service.d.ts +10 -0
  162. package/training-management/lib/entities/period/period.types.d.ts +6 -0
  163. package/training-management/lib/entities/training/index.d.ts +3 -0
  164. package/training-management/lib/entities/training/training.entity.d.ts +3 -0
  165. package/training-management/lib/entities/training/training.service.d.ts +10 -0
  166. package/training-management/lib/entities/training/training.types.d.ts +13 -0
  167. package/training-management/lib/entities/training-facilitator/index.d.ts +3 -0
  168. package/training-management/lib/entities/training-facilitator/training-facilitator.entity.d.ts +3 -0
  169. package/training-management/lib/entities/training-facilitator/training-facilitator.service.d.ts +10 -0
  170. package/training-management/lib/entities/training-facilitator/training-facilitator.types.d.ts +7 -0
  171. package/training-management/lib/entities/training-participant/index.d.ts +3 -0
  172. package/training-management/lib/entities/training-participant/training-participant.entity.d.ts +3 -0
  173. package/training-management/lib/entities/training-participant/training-participant.service.d.ts +10 -0
  174. package/training-management/lib/entities/training-participant/training-participant.types.d.ts +7 -0
  175. package/training-management/lib/entities/training-type/index.d.ts +3 -0
  176. package/training-management/lib/entities/training-type/training-type.entity.d.ts +3 -0
  177. package/training-management/lib/entities/training-type/training-type.service.d.ts +10 -0
  178. package/training-management/lib/entities/training-type/training-type.types.d.ts +7 -0
  179. package/training-management/lib/entity.provider.d.ts +10 -0
  180. package/training-management/lib/menu.provider.d.ts +5 -0
  181. package/training-management/lib/permission-definition.provider.d.ts +4 -0
  182. package/training-management/lib/search-command.provider.d.ts +4 -0
  183. package/training-management/lib/setting.provider.d.ts +4 -0
  184. package/training-management/lib/training-management.module.d.ts +6 -0
  185. package/auth/lib/pages/account/avatar/avatar.component.d.ts +0 -20
  186. package/dashboard-management/lib/features/home-dashboard/home-dashboard.module.d.ts +0 -7
  187. package/fesm2022/acorex-modules-auth-acorex-modules-auth-B1HTJdsE.mjs.map +0 -1
  188. package/fesm2022/acorex-modules-auth-app-chooser.component-Ct-vco0y.mjs +0 -64
  189. package/fesm2022/acorex-modules-auth-app-chooser.component-Ct-vco0y.mjs.map +0 -1
  190. package/fesm2022/acorex-modules-auth-tenant-chooser.component-D9C6LCjn.mjs +0 -97
  191. package/fesm2022/acorex-modules-auth-tenant-chooser.component-D9C6LCjn.mjs.map +0 -1
  192. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs +0 -568
  193. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs.map +0 -1
  194. package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs +0 -139
  195. package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map +0 -1
  196. package/fesm2022/acorex-modules-dashboard-management-index-Br6L5KMu.mjs.map +0 -1
  197. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DO18V9JK.mjs.map +0 -1
  198. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs.map +0 -1
  199. package/fesm2022/acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs.map +0 -1
  200. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs.map +0 -1
  201. package/security-management/lib/entities/profile/profile.service.d.ts +0 -13
  202. /package/dashboard-management/lib/features/{home-dashboard → shared}/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.d.ts +0 -0
  203. /package/dashboard-management/lib/features/{home-dashboard → shared}/widgets/dashboard-shortcut/dashboard-shortcut-widget.config.d.ts +0 -0
  204. /package/dashboard-management/lib/{features/home-dashboard/setrting.keys.d.ts → settings.keys.d.ts} +0 -0
@@ -1,139 +0,0 @@
1
- import { AXPopupService } from '@acorex/components/popup';
2
- import * as i2 from '@acorex/core/translation';
3
- import { AXTranslationModule } from '@acorex/core/translation';
4
- import { AXPDataGenerator } from '@acorex/platform/core';
5
- import { AXPLayoutWidgetComponent } from '@acorex/platform/layout/builder';
6
- import { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '@acorex/platform/layout/search';
7
- import { AXPWorkflowService } from '@acorex/platform/workflow';
8
- import * as i1 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
- import * as i0 from '@angular/core';
11
- import { inject, computed, HostBinding, ChangeDetectionStrategy, Component } from '@angular/core';
12
-
13
- class AXPDashboardShortcutWidgetViewComponent extends AXPLayoutWidgetComponent {
14
- constructor() {
15
- super(...arguments);
16
- this.popupService = inject(AXPopupService);
17
- this.workflow = inject(AXPWorkflowService);
18
- this.searchConfig = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);
19
- this.item = computed(() => this.options()['item']);
20
- this.color = computed(() => this.options()['color']);
21
- }
22
- ngOnInit() {
23
- super.ngOnInit();
24
- if (!this.color()) {
25
- this.setOptions({
26
- color: AXPDataGenerator.color()
27
- });
28
- }
29
- }
30
- async executeCommand() {
31
- if (this.item()?.command) {
32
- await this.workflow.execute(this.item().command.name, this.item().command.options);
33
- }
34
- }
35
- async setCommand() {
36
- const component = await this.searchConfig.window();
37
- const popup = await this.popupService.open(component, {
38
- title: 'Choose command...',
39
- size: 'fit',
40
- closeOnBackdropClick: true,
41
- header: false,
42
- });
43
- if (popup.data) {
44
- const result = popup.data;
45
- if (result && result.command) {
46
- this.setOptions({
47
- item: {
48
- name: result.name,
49
- title: result.title,
50
- description: result.description,
51
- icon: result.icon,
52
- command: result.command
53
- }
54
- });
55
- }
56
- }
57
- }
58
- get __style() {
59
- const cls = {};
60
- cls[`background-color`] = this.color();
61
- return cls;
62
- }
63
- get __class() {
64
- const cls = {};
65
- cls[`ax-flex`] = true;
66
- cls[`ax-flex-col`] = true;
67
- cls[`ax-items-center`] = true;
68
- cls[`ax-justify-center`] = true;
69
- cls[`ax-w-full`] = true;
70
- cls[`ax-h-full`] = true;
71
- cls[`ax-text-center`] = true;
72
- cls[`ax-overflow-hidden`] = true;
73
- cls[`ax-cursor-pointer`] = true;
74
- cls[`ax-text-white`] = true;
75
- return cls;
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardShortcutWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPDashboardShortcutWidgetViewComponent, isStandalone: true, selector: "ng-component", host: { properties: { "style": "this.__style", "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
79
- @if(item()) {
80
- <div
81
- 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 "
82
- (click)="executeCommand()">
83
- <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/10 ax-transition-opacity"></div>
84
- <i [class]="item().icon + ' ax-text-3xl'"></i>
85
- <span class="ax-text-xl ax-font-semibold">{{ item().title | translate | async }}</span>
86
- @if(item().description) {
87
- <span class="ax-text-sm ax-opacity-90 ax-text-center ax-px-2">{{ item().description! | translate | async }}</span>
88
- }
89
- </div>
90
- } @else {
91
- <div
92
- (click)="setCommand()"
93
- 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">
94
- <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/5 ax-transition-opacity"></div>
95
- <i class="fa-light fa-plus ax-text-3xl"></i>
96
- <span class="ax-text-xl ax-font-semibold">Add Shortcut</span>
97
- </div>
98
- }
99
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
- }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDashboardShortcutWidgetViewComponent, decorators: [{
102
- type: Component,
103
- args: [{
104
- template: `
105
- @if(item()) {
106
- <div
107
- 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 "
108
- (click)="executeCommand()">
109
- <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/10 ax-transition-opacity"></div>
110
- <i [class]="item().icon + ' ax-text-3xl'"></i>
111
- <span class="ax-text-xl ax-font-semibold">{{ item().title | translate | async }}</span>
112
- @if(item().description) {
113
- <span class="ax-text-sm ax-opacity-90 ax-text-center ax-px-2">{{ item().description! | translate | async }}</span>
114
- }
115
- </div>
116
- } @else {
117
- <div
118
- (click)="setCommand()"
119
- 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">
120
- <div class="ax-absolute ax-inset-0 ax-bg-black/0 hover:ax-bg-black/5 ax-transition-opacity"></div>
121
- <i class="fa-light fa-plus ax-text-3xl"></i>
122
- <span class="ax-text-xl ax-font-semibold">Add Shortcut</span>
123
- </div>
124
- }
125
- `,
126
- standalone: true,
127
- changeDetection: ChangeDetectionStrategy.OnPush,
128
- imports: [CommonModule, AXTranslationModule]
129
- }]
130
- }], propDecorators: { __style: [{
131
- type: HostBinding,
132
- args: ['style']
133
- }], __class: [{
134
- type: HostBinding,
135
- args: ['class']
136
- }] } });
137
-
138
- export { AXPDashboardShortcutWidgetViewComponent };
139
- //# sourceMappingURL=acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs","sources":["../../../../libs/modules/dashboard-management/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-dashboard-management-index-Br6L5KMu.mjs","sources":["../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.ts","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.html","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/dashboard-popups/add-dashboard-popup.ts","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/dashboard-popups/configuration-popup.ts","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/dashboard-popups/dashboard-popup.service.ts","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/setrting.keys.ts","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/dashboard-home/home-dashboard.store.ts","../../../../libs/modules/dashboard-management/src/lib/features/home-dashboard/dashboard-home/home-dashboard.ts","../../../../libs/modules/dashboard-management/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: {\n float: true,\n cellHeight: 75,\n gap: 5,\n minRow: 9,\n column: 12,\n responsiveLayout: [\n { column: 12, width: 2048 },\n { column: 6, width: 768 },\n { column: 1, width: 480 },\n ],\n } 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 const randomId = AXPDataGenerator.uuid();\n widget.name = widget?.type + '-' + randomId;\n widget.path = widget?.type + '-' + randomId;\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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-form-template-management-acorex-modules-form-template-management-DO18V9JK.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/const.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/category/category.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.service.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.module.ts","../../../../libs/modules/form-template-management/src/lib/entities/template/template.types.ts","../../../../libs/modules/form-template-management/src/lib/entity.provider.ts","../../../../libs/modules/form-template-management/src/lib/menu.provider.ts","../../../../libs/modules/form-template-management/src/lib/search-command.provider.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/designer-connector.service.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/workflows/create-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/workflows/design-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-picker/template.provider.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template/template-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template/template-widget-designer.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template/template-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-designer/template-designer-widget-view.component.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/widgets/template-designer/template-designer-widget.config.ts","../../../../libs/modules/form-template-management/src/lib/features/viewer/workflows/open-template.workflow.ts","../../../../libs/modules/form-template-management/src/lib/features/viewer/viewer-connector.service.ts","../../../../libs/modules/form-template-management/src/lib/features/designer/workflows/workflow.actions.ts","../../../../libs/modules/form-template-management/src/lib/form-template-management.module.ts","../../../../libs/modules/form-template-management/src/acorex-modules-form-template-management.ts"],"sourcesContent":["const config = {\n i18n: 'form-template-management',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'form-template-management',\n name: 'FormTemplateManagement',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice'\n },\n entities: {\n category: {\n name: 'TemplateCategory',\n title: 't(\"category\", { scope: \"common\" })',\n icon: 'fa-light fa-list'\n },\n template: {\n name: 'Template',\n title: `t(\"template\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-code'\n }\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateCategoryEntityModel } from './category.types';\n\nexport abstract class AXMFormTemplateManagementCategoryEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateCategoryEntityModel\n> { }\n\n@Injectable()\nexport class AXMFormTemplateManagementCategoryEntityServiceImpl extends AXMFormTemplateManagementCategoryEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.category.name}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementCategoryEntityService, AXMFormTemplateManagementCategoryEntityServiceImpl } from './category.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementCategoryEntityService,\n useClass: AXMFormTemplateManagementCategoryEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementCategoryEntityModule {\n}\n ","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMCreateFormTemplateDto, AXMFormTemplateDetailDto, AXMFormTemplateListItemDto, AXMUpdateFormTemplateDto } from './template.types';\n\nexport abstract class AXMFormTemplateManagementTemplateEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMFormTemplateDetailDto,\n AXMFormTemplateListItemDto,\n AXMCreateFormTemplateDto,\n AXMUpdateFormTemplateDto\n> { }\n\n@Injectable()\nexport class AXMFormTemplateManagementTemplateEntityServiceImpl extends AXMFormTemplateManagementTemplateEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.template.name}`);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateManagementTemplateEntityServiceImpl } from './template.service';\n\n@NgModule({\nimports: [],\nexports: [],\ndeclarations: [],\n providers: [\n {\n provide: AXMFormTemplateManagementTemplateEntityService,\n useClass: AXMFormTemplateManagementTemplateEntityServiceImpl,\n },\n ],\n})\nexport class AXMFormTemplateManagementTemplateEntityModule {\n}\n ","import { AXPEntityCreateDto, AXPEntityDetailDto, AXPEntityListItemDto, AXPEntityUpdateDto } from '@acorex/platform/layout/entity';\n\n\nexport interface AXMCreateFormTemplateDto extends AXPEntityCreateDto {\n templateId: string;\n title: string;\n description?: string;\n typeId: number;\n categoryIds: string[];\n}\n\nexport interface AXMUpdateFormTemplateDto extends AXPEntityUpdateDto<string> {\n title: string;\n description?: string;\n typeId: number;\n template?: string;\n categoryIds: string[];\n}\n\nexport interface AXMFormTemplateDetailDto extends AXPEntityDetailDto<string> {\n title: string;\n description?: string;\n typeId: number;\n type: number;\n template: string | null;\n categoryIds: string[];\n categories: { id: string, title: string }[];\n}\n\nexport interface AXMFormTemplateListItemDto extends AXPEntityListItemDto<string> {\n title: string;\n description?: string;\n typeId: number;\n type: number;\n categoryIds: string[];\n categories: { id: string, title: string }[];\n}\n\n\nexport const AXMFormTemplateTypes = {\n Form: { id: 10, title: 'Form Template' },\n Widget: { id: 20, title: 'Widget Template' },\n Report: { id: 30, title: 'Report Template' },\n};\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.category.name:\n return (await import('./entities/category/category.entity')).factory(this.injector);\n case RootConfig.entities.template.name:\n return (await import('./entities/template/template.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { firstValueFrom } from 'rxjs';\nimport { AXPSessionService } from '@acorex/platform/auth';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('root-menu', {scope:\"${scope}\"})`,\n icon: module.icon,\n data: {\n requiredPermission: ['forms:management']\n },\n children: [\n {\n text: `t(\"categories\", {scope: \"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.category.name),\n icon: RootConfig.entities.category.icon,\n priority: 1,\n data: {\n requiredPermission: ['forms:categories:edit']\n },\n },\n {\n text: `t('templates', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.template.name),\n icon: RootConfig.entities.template.icon,\n priority: 2,\n data: {\n requiredPermission: ['forms:templates:edit']\n },\n },\n ],\n },\n ]);\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult } from '@acorex/platform/common';\nimport { RootConfig } from './const';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n group: 'command',\n title: 'New Form Template',\n icon: RootConfig.entities.template.icon,\n description: 'Create a new form template for designing reusable forms.', // Added description\n command: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n name: 'create-entity',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`\n }\n },\n },\n {\n group: 'command',\n title: 'New Form Template Category',\n icon: RootConfig.entities.category.icon,\n description: 'Create a new category to organize form templates.', // Added description\n command: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n // },\n name: 'create-entity',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`\n }\n },\n },\n ];\n}\n","import { AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXPQueryRequest } from '@acorex/platform/core';\nimport { inject } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXMFormTemplateManagementTemplateEntityService } from '../../entities/template';\nimport { AXPTemplateWidgetItem, AXPTemplateWidgetListItem, AXPTemplateWidgetProvider } from './widgets/template';\n\nexport class AXPTemplateWidgetProviderImpl implements AXPTemplateWidgetProvider {\n private service = inject(AXMFormTemplateManagementTemplateEntityService);\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n const result = (await this.service.query(query)).items.map(\n (c) =>\n ({\n id: c.id,\n title: c.title,\n group: {\n name: c.categoryIds[0],\n order: 2,\n title: get(c, 'category.title') ?? 'Custom',\n },\n description: c.description,\n } as AXPTemplateWidgetListItem)\n );\n return result;\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n const item = await this.service.getOne(id);\n if (item) {\n const document = JSON.parse(item.template!) as AXPWidgetNode;\n const page = document?.children?.[0];\n\n return {\n id: item.id as string,\n nodes: page?.children ?? [],\n title: item.title,\n };\n } else {\n throw Error('Invalid Id');\n }\n }\n}\n","import { AXPDesignerConnector, AXPDesignerContent } from '@acorex/platform/layout/designer';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementCategoryEntityService } from '../../entities/category';\nimport { AXMFormTemplateManagementTemplateEntityService, AXMFormTemplateTypes } from '../../entities/template';\n@Injectable()\nexport class AXPDesignerConnectorImpl extends AXPDesignerConnector {\n\n\n private workflow = inject(AXPWorkflowService);\n private templateEntityService = inject(AXMFormTemplateManagementTemplateEntityService)\n private categoryEntityService = inject(AXMFormTemplateManagementCategoryEntityService)\n\n //#region Save and load Widgets\n\n public override async save(id: string, content: AXPDesignerContent): Promise<boolean> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n await this.templateEntityService.updateOne(id, { template: content.json })\n return true;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n public override async saveAs(content: AXPDesignerContent): Promise<boolean> {\n const result = await this.workflow.execute('create-entity', {\n redirect: false,\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n canCreateNewOne: false,\n data: {\n name: AXPDataGenerator.alphanumeric(10),\n type: AXMFormTemplateTypes.Widget,\n template: content.json,\n categoryId: (await this.categoryEntityService.query()).items[0]?.id\n }\n });\n return result.getOutput('result');\n }\n\n public override async load(id: string): Promise<string | null> {\n const item = await this.templateEntityService.getOne(id)\n if (item) {\n return item.template;\n }\n else {\n throw Error(\"Invalid Id\");\n }\n }\n\n //#endregion\n}\n","import { AXPWorkflow } from \"@acorex/platform/workflow\";\nimport { RootConfig } from \"../../../const\";\n\nexport const AXMCreateFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'create-form-template',\n steps: {\n \"create-form-template\": {\n action: 'start-workflow',\n input: {\n workflow: \"create-entity\",\n context: {\n redirect: true,\n entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n },\n options: {\n process: {\n redirect: false,\n }\n }\n },\n // nextSteps: [\n // {\n // conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n // nextStepId: 'get-template-confirmaton',\n // },\n // ],\n },\n \"get-template-confirmaton\": {\n action: 'show-prompt-dialog',\n input: {\n title: 'Confirm Action',\n message: `Would you like to proceed with starting template design?`,\n type: 'primary',\n },\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'template-design',\n },\n ],\n },\n \"template-design\": {\n action: 'open-form-template-designer',\n },\n },\n};\n\n\n","import { AXPWorkflow } from \"@acorex/platform/workflow\";\n\nexport const AXMDesignFormTemplateWorkflow: AXPWorkflow = {\n startStepId: 'open',\n steps: {\n \"open\": {\n action: 'decide',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: ' context.getVariable(\"embedded\") == true' }],\n nextStepId: 'embedded',\n },\n {\n conditions: [{ type: 'SINGLE', expression: ' !context.getVariable(\"embedded\")' }],\n nextStepId: 'form',\n },\n ],\n },\n 'embedded': {\n action: 'open-embedded-template-designer',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: ' context.getOutput(\"result\") == true' }],\n nextStepId: 'save-embedded',\n },\n ],\n },\n 'form': {\n action: 'open-form-template-designer',\n },\n 'save-embedded': {\n action: 'save-embedded-template-designer',\n },\n },\n};\n\n\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWidgetCategory, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { AXPQueryRequest } from '@acorex/platform/core';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { sortBy } from 'lodash-es';\nimport { AXMFormTemplateManagementCategoryEntityService } from '../../../../entities/category';\n\nexport interface AXPTemplateWidgetListItem {\n id: string;\n title: string;\n description?: string;\n icon?: string;\n group: AXPWidgetCategory;\n}\n\nexport interface AXPTemplateWidgetItem {\n id: string;\n title: string;\n nodes: AXPWidgetNode[];\n}\n\nexport interface AXPTemplateWidgetProvider {\n items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]>;\n get(id: string): Promise<AXPTemplateWidgetItem | null>;\n}\n\nexport const AXP_TEMPLATE_WIDGET_PROVIDER = new InjectionToken<AXPTemplateWidgetProvider[]>(\n 'AXP_TEMPLATE_WIDGET_PROVIDER'\n);\n\n@Injectable({ providedIn: 'root' })\nexport class AXPTemplateWidgetProviderService implements AXPTemplateWidgetProvider {\n private popupService = inject(AXPopupService);\n\n private categoryEntityService = inject(AXMFormTemplateManagementCategoryEntityService);\n\n private providers = inject(AXP_TEMPLATE_WIDGET_PROVIDER, { optional: true });\n\n async items(query?: AXPQueryRequest): Promise<AXPTemplateWidgetListItem[]> {\n if (Array.isArray(this.providers)) {\n const result: AXPTemplateWidgetListItem[] = [];\n for (const provider of this.providers) {\n const items = await provider.items(query);\n if (items) {\n result.push(...items);\n }\n }\n return result;\n } else {\n return [];\n }\n }\n\n async get(id: string): Promise<AXPTemplateWidgetItem | null> {\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n const node = await provider.get(id);\n if (node) {\n return node;\n }\n }\n }\n return null;\n }\n\n async chooseTemplate(): Promise<AXPTemplateWidgetListItem | null> {\n const com = await import('./template-picker.component').then((c) => c.AXPTemplateWidgetPickerComponent);\n const widgets = await this.items({\n skip: 0,\n take: 100,\n filter: {\n field: 'type.id',\n value: 20,\n operator: {\n type: 'equal',\n },\n },\n });\n\n const categories = (await this.categoryEntityService.query({ skip: 0, take: 100 })).items;\n const result = await this.popupService.open(com, {\n title: 'Widget Template Gallery',\n size: 'md',\n closeButton: true,\n data: {\n widgets: sortBy(widgets, (c) => c.title),\n categories,\n },\n });\n if (result.data) {\n const selected = result.data?.widgets as AXPTemplateWidgetListItem[];\n return selected[0];\n }\n return null;\n }\n}\n","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\n\n@Component({\n selector: 'axp-template-widget-view',\n template: `\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-renderer\n [node]=\"node\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n >\n </ng-container>\n }\n @empty {\n <span class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 ax-text-gray-400\">\n {{ 'empty-template' | translate : { scope: 'form-template-management' } | async }}\n </span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXTranslationModule]\n})\nexport class AXPTemplateWidgetViewComponent extends AXPValueWidgetComponent {\n private metaKey = '__meta__';\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n const value = this.getValue();\n const templateId = get(value, `${this.metaKey}.templateId`) ?? this.templateId();\n if (templateId) {\n const item = await this.templateProvider.get(templateId);\n if (item) {\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n}\n","import { AXPLayoutBuilderModule, AXPLayoutWidgetComponent, AXPWidgetNode, AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPDesignerService,\n AXPDesignerWidgetComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, inject, signal } from '@angular/core';\nimport { AXPTemplateWidgetProviderService } from '../template-picker/template.provider';\nimport { AXMenuItem } from '@acorex/components/menu';\n\nexport const AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU: AXMenuItem = {\n text: 'Choose Template',\n name: 'choose',\n icon: 'fa-solid fa-folder-open',\n};\n\n\n@Component({\n selector: 'axp-template-widget-designer',\n template: `\n @if(nodes().length) {\n <div class=\"ax-relative ax-block ax-w-full ax-pointer-events-none\">\n @for (node of nodes(); track $index) {\n <ng-container axp-widget-designer-renderer [locked]=\"true\" [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n <div\n class=\"ax-absolute ax-top-0 ax-bottom-0 ax-left-0 ax-right-0 ax-bg-blue-400 ax-opacity-30 ax-flex ax-justify-center ax-items-center ax-z-[400]\"\n >\n <span class=\"ax-capitalize ax-font-semibold ax-text-primary-700\"> {{ title() }}</span>\n </div>\n </div>\n } @else {\n <axp-designer-add-widget-mini-button\n class=\"ax-flex-1 ax-self-center ax-place-self-end\"\n (onClick)=\"handleChooseWidget()\"\n >\n </axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPLayoutWidgetComponent,\n useExisting: AXPTemplateWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPTemplateWidgetDesignerComponent extends AXPValueWidgetComponent<any> implements AXPDesignerWidgetComponent {\n private templateProvider = inject(AXPTemplateWidgetProviderService);\n private designerService = inject(AXPDesignerService);\n\n protected templateId = computed<string>(() => this.options()['templateId'] as string);\n protected nodes = signal<AXPWidgetNode[]>([]);\n protected title = signal<string | null>(null);\n\n constructor() {\n super();\n //\n effect(\n async () => {\n this.nodes.set([]);\n if (this.templateId()) {\n const item = await this.templateProvider.get(this.templateId());\n if (item && item.nodes?.length > 0) {\n this.title.set(item.title);\n this.nodes.set(item.nodes);\n }\n }\n }\n );\n }\n\n async handleChooseWidget() {\n const result = await this.templateProvider.chooseTemplate();\n if (result) {\n this.designerService.update({\n mode: 'update',\n values: { options: { templateId: result.id } },\n widget: this.node,\n });\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n cls[`ax-widget-outline`] = true;\n //\n cls[`ax-block`] = true;\n return cls;\n }\n\n onContextMenu(context: { items: AXMenuItem[]; }): void {\n const items: AXMenuItem[] = [\n AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU\n ]\n items[items.length - 1].break = true;\n context.items.unshift(...items)\n }\n\n async executeCommand(command: { name: string; data?: any; handled: boolean; }): Promise<void> {\n switch (command.name) {\n case AXP_DESIGNER_TEMPLATE_WIDGET_CHOOSE_MENU.name:\n await this.handleChooseWidget();\n break;\n }\n return Promise.resolve();\n }\n}\n","import { AXP_WIDGETS_ADVANCE_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum, createStringProperty } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'template',\n title: 'Template',\n type: 'container',\n icon: 'fa-light fa-file-invoice',\n categories: [AXP_WIDGETS_ADVANCE_CATEGORY],\n groups: [AXPWidgetGroupEnum.FormElement],\n designer: {\n canInsert: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n createStringProperty({\n name: 'options.templateId',\n title: 'Template',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n visible: false,\n }),\n ],\n components: {\n view: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-widget-edit.component').then((c) => c.AXPTemplateWidgetEditComponent),\n },\n print: {\n component: () => import('./template-widget-view.component').then((c) => c.AXPTemplateWidgetViewComponent),\n },\n designer: {\n component: () => import('./template-widget-designer.component').then((c) => c.AXPTemplateWidgetDesignerComponent),\n },\n },\n};\n\nexport type AXPBlockWidgetConfigType = {\n type: 'container';\n};\n","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <span\n class=\"ax-underline ax-decoration-dotted ax-underline-offset-8 hover:ax-text-primary-500 ax-cursor-pointer\"\n (click)=\"handleClick()\" *translate=\"let t\"\n >\n {{ t(\"edit-template\",{ scope:\"form-template-management\" }) | async }}\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule]\n})\nexport class AXPTemplateDesignerWidgetViewComponent extends AXPValueWidgetComponent<any> {\n\n private workflow = inject(AXPWorkflowService);\n\n protected embedded = computed<string | null>(() => this.options()['embedded'] ?? false);\n\n protected async handleClick() {\n if (this.embedded()) {\n const context = await this.workflow.execute('design-form-template', { embedded: true, content: this.getValue() });\n const content = context.getVariable('content');\n this.setValue(content);\n }\n else {\n const id = this.extractValue('id');\n const context = await this.workflow.execute('design-form-template', { id });\n }\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPTemplateDesignerWidget: AXPWidgetConfig = {\n name: \"template-designer\",\n title: \"Template Designer\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n },\n edit: {\n component: () => import('./template-designer-widget-view.component').then((c) => c.AXPTemplateDesignerWidgetViewComponent),\n }\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n templateDesigner: 'template-designer';\n }\n}","import { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\n\n\n@Injectable()\nexport class AXMOpenFormTemplateViewerAction extends AXPWorkflowAction {\n\n private popupService = inject(AXPopupService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { id } = context.getVariable('data');\n const metadata = context.getVariable('metadata');\n const comp = await import('../viewer-popup.component').then(x => x.AXPFormTemplateViewerPopupComponent);\n const result = await this.popupService.open(comp, {\n title: 'Form Template Viewer',\n data: {\n templateId: id,\n metadata\n }\n })\n context.setOutput('result', result.data != null);\n if (result.data?.context) {\n context.setOutput('form-context', result.data?.context);\n }\n }\n}\n\n\nexport const AXMOpenFormTemplateViewerWorkflow: AXPWorkflow = {\n startStepId: 'open-form',\n steps: {\n \"open-form\": {\n action: 'open-form-template-viewer',\n },\n },\n};\n\n\n","import { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementTemplateEntityService } from '../../entities/template';\nimport { AXPMetaData } from '@acorex/platform/core';\n\nexport abstract class AXPFormTemplateViewerConnector {\n abstract submit(id: string, context: any, metadeta?: AXPMetaData): Promise<boolean>;\n abstract load(id: string): Promise<string | null>;\n}\n\n@Injectable()\nexport class AXPFormTemplateViewerConnectorImpl extends AXPFormTemplateViewerConnector {\n private templateEntityService = inject(AXMFormTemplateManagementTemplateEntityService);\n\n //#region Save and load Widgets\n\n public override async submit(id: string, context: any, metadeta?: AXPMetaData): Promise<boolean> {\n console.log(id, context, metadeta);\n return Promise.resolve(true);\n }\n\n public override async load(id: string): Promise<string | null> {\n const item = await this.templateEntityService.getOne(id);\n if (item) {\n return item.template;\n } else {\n throw Error('Invalid Id');\n }\n }\n\n //#endregion\n}\n","import { AXToastService } from \"@acorex/components/toast\";\nimport { AXPWorkflowNavigateAction } from \"@acorex/platform/common\";\nimport { AXPBroadcastEventService, AXPDataGenerator } from \"@acorex/platform/core\";\nimport { AXPDesignerMessageKeys, AXPDesignerSaveFormMessage } from \"@acorex/platform/layout/designer\";\nimport { AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { Injectable, inject } from \"@angular/core\";\n\n@Injectable()\nexport class AXMOpenFormTemplateDesignerAction extends AXPWorkflowAction {\n\n private navigation = inject(AXPWorkflowNavigateAction);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const id = context.getVariable('id') ?? context.getVariable('data.id') ?? AXPDataGenerator.uuid();\n context.setVariable('payload', {\n commands: `forms/designer?id=${id}`,\n target: 'blank'\n });\n await this.navigation.execute(context);\n }\n}\n\n\nInjectable()\nexport class AXMOpenEmbeddedTemplateDesignerAction extends AXPWorkflowAction {\n\n private navigation = inject(AXPWorkflowNavigateAction);\n private broadcastService = inject(AXPBroadcastEventService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const id = context.getVariable('id') ?? context.getVariable('data.id') ?? AXPDataGenerator.uuid();\n\n context.setVariable('payload', {\n commands: `forms/designer?id=${id}&strategy=Broadcast`,\n target: 'blank'\n });\n await this.navigation.execute(context);\n\n console.log(`Form opened for ID: ${id}. Waiting for user to close the form...`);\n\n return new Promise((resolve, reject) => {\n this.broadcastService.listen<{ formId: string }>(AXPDesignerMessageKeys.RequestFormContent).subscribe(async (event) => {\n if (event.requestId && event.data.formId == id) {\n const content: string | null = context.getVariable('content') ?? null;\n this.broadcastService.respondToRequest(event.requestId, content);\n context.setOutput(\"result\", true);\n resolve();\n } else {\n context.setOutput(\"result\", false);\n reject('No valid requestId found in the event.');\n }\n });\n\n })\n }\n}\n\nInjectable()\nexport class AXMSaveEmbeddedTemplateDesignerAction extends AXPWorkflowAction {\n private broadcastService = inject(AXPBroadcastEventService);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n debugger\n return new Promise((resolve, reject) => {\n this.broadcastService.listen<AXPDesignerSaveFormMessage>(AXPDesignerMessageKeys.SaveForm).subscribe(async (event) => {\n debugger\n if (event.data.success) {\n this.broadcastService.respondToRequest(event.requestId!, { success: true });\n context.setVariable('content', event.data.content);\n context.setOutput('result', true)\n }\n else {\n context.setOutput('result', false)\n }\n resolve();\n });\n });\n }\n\n}","import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerConnector } from '@acorex/platform/layout/designer';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { AXMFormTemplateManagementCategoryEntityModule } from './entities/category';\nimport { AXMFormTemplateManagementTemplateEntityModule } from './entities/template';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\n\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXPTemplateWidgetProviderImpl } from './features/designer/template.provider';\nimport { AXPDesignerConnectorImpl } from './features/designer/designer-connector.service';\nimport { AXMCreateFormTemplateWorkflow, AXMDesignFormTemplateWorkflow, AXP_TEMPLATE_WIDGET_PROVIDER, AXPTemplateDesignerWidget, AXPTemplateWidget } from './features';\nimport { AXMOpenFormTemplateViewerAction, AXMOpenFormTemplateViewerWorkflow } from './features/viewer/workflows/open-template.workflow';\nimport { AXPFormTemplateViewerConnector, AXPFormTemplateViewerConnectorImpl } from './features/viewer/viewer-connector.service';\nimport { AXMOpenEmbeddedTemplateDesignerAction, AXMOpenFormTemplateDesignerAction, AXMSaveEmbeddedTemplateDesignerAction } from './features/designer/workflows/workflow.actions';\n\nfunction routesFacory() {\n const routes: Routes = [\n {\n path: 'forms',\n children: [\n {\n path: 'designer',\n loadComponent: () =>\n import('./features/designer/designer.page').then((c) => c.AXMFormTemplateManagementModuleDesignerPage),\n },\n {\n path: 'preview',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewComponent),\n },\n {\n path: 'viewer',\n loadComponent: () =>\n import('@acorex/platform/layout/designer').then((c) => c.AXPLayoutDesignerPreviewViewerComponent),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n AXPWidgetsModule,\n AXMFormTemplateManagementCategoryEntityModule,\n AXMFormTemplateManagementTemplateEntityModule,\n AXPLayoutBuilderModule.forChild({\n widgets: [AXPTemplateDesignerWidget, AXPTemplateWidget],\n }),\n AXPWorkflowModule.forChild({\n actions: {\n 'open-form-template-viewer': AXMOpenFormTemplateViewerAction,\n //\n 'open-form-template-designer': AXMOpenFormTemplateDesignerAction,\n 'open-embedded-template-designer': AXMOpenEmbeddedTemplateDesignerAction,\n //\n 'save-embedded-template-designer': AXMSaveEmbeddedTemplateDesignerAction\n },\n workflows: {\n 'create-form-template': AXMCreateFormTemplateWorkflow,\n 'design-form-template': AXMDesignFormTemplateWorkflow,\n 'open-form-template': AXMOpenFormTemplateViewerWorkflow\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXPDesignerConnector,\n useClass: AXPDesignerConnectorImpl,\n },\n {\n provide: AXPFormTemplateViewerConnector,\n useClass: AXPFormTemplateViewerConnectorImpl,\n },\n {\n provide: AXP_TEMPLATE_WIDGET_PROVIDER,\n useClass: AXPTemplateWidgetProviderImpl,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n } ,\n multi: true,\n },\n ],\n})\nexport class AXMFormTemplateManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","AXPDataGenerator","i1"],"mappings":"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"}