@solidxai/core-ui 0.1.12-beta.3 → 0.1.12-beta.5

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 (423) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +7 -3
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +9 -2
  5. package/dist/components/auth/AuthSettingsContext.js +1 -1
  6. package/dist/components/auth/AuthSettingsContext.js.map +1 -1
  7. package/dist/components/auth/AuthSettingsContext.tsx +1 -1
  8. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  9. package/dist/components/core/chatter/SolidChatterHeader.js +18 -4
  10. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  11. package/dist/components/core/chatter/SolidChatterHeader.tsx +17 -3
  12. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  13. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +12 -2
  14. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  15. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +12 -1
  16. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +2 -0
  17. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -1
  18. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +4 -2
  19. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -1
  20. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +11 -3
  21. package/dist/components/core/json/SolidJsonEditor.css +7 -0
  22. package/dist/components/core/list/SolidDataTable.js +1 -1
  23. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  24. package/dist/components/core/list/SolidDataTable.tsx +1 -1
  25. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  26. package/dist/components/core/list/SolidListView.js +58 -58
  27. package/dist/components/core/list/SolidListView.js.map +1 -1
  28. package/dist/components/core/list/SolidListView.tsx +5 -4
  29. package/dist/components/core/module/CreateModule.css +60 -6
  30. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  31. package/dist/components/core/module/CreateModule.js +2 -2
  32. package/dist/components/core/module/CreateModule.js.map +1 -1
  33. package/dist/components/core/module/CreateModule.tsx +56 -37
  34. package/dist/components/layout/AdminTopHeader.js +1 -1
  35. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  36. package/dist/components/layout/AdminTopHeader.tsx +2 -2
  37. package/dist/helpers/modelViewPersistence.d.ts.map +1 -1
  38. package/dist/helpers/modelViewPersistence.js +3 -2
  39. package/dist/helpers/modelViewPersistence.js.map +1 -1
  40. package/dist/helpers/modelViewPersistence.ts +3 -2
  41. package/dist/helpers/modulePackageResumeState.d.ts +6 -0
  42. package/dist/helpers/modulePackageResumeState.d.ts.map +1 -0
  43. package/dist/helpers/modulePackageResumeState.js +46 -0
  44. package/dist/helpers/modulePackageResumeState.js.map +1 -0
  45. package/dist/helpers/modulePackageResumeState.ts +57 -0
  46. package/dist/redux/api/datasourceIntrospectionApi.d.ts +42 -1
  47. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  48. package/dist/redux/api/datasourceIntrospectionApi.js +34 -1
  49. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  50. package/dist/redux/api/datasourceIntrospectionApi.ts +60 -0
  51. package/dist/redux/store/defaultStoreConfig.d.ts +11 -0
  52. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  53. package/dist/resources/shadcn-base.css +70 -16
  54. package/dist/resources/solid-custom.css +3 -86
  55. package/dist/resources/solid-tailwind-generated.css +1 -1
  56. package/dist/resources/themes/solid-dark-purple/theme-variables.css +226 -0
  57. package/dist/resources/themes/solid-dark-purple/theme.css +1 -185
  58. package/dist/resources/themes/solid-light-purple/theme-variables.css +237 -0
  59. package/dist/resources/themes/solid-light-purple/theme.css +1 -206
  60. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +384 -31
  61. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  62. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +577 -150
  63. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  64. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1088 -423
  65. package/package.json +1 -1
  66. package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
  67. package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
  68. package/dist/components/auth/SolidOTPVerify.js +0 -67
  69. package/dist/components/auth/SolidOTPVerify.js.map +0 -1
  70. package/dist/components/auth/SolidOTPVerify.tsx +0 -133
  71. package/dist/components/common/AuthBanner.d.ts +0 -3
  72. package/dist/components/common/AuthBanner.d.ts.map +0 -1
  73. package/dist/components/common/AuthBanner.js +0 -15
  74. package/dist/components/common/AuthBanner.js.map +0 -1
  75. package/dist/components/common/AuthBanner.tsx +0 -41
  76. package/dist/components/common/SingleSelectAutoCompleteField.d.ts +0 -2
  77. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +0 -1
  78. package/dist/components/common/SingleSelectAutoCompleteField.js +0 -92
  79. package/dist/components/common/SingleSelectAutoCompleteField.js.map +0 -1
  80. package/dist/components/common/SingleSelectAutoCompleteField.tsx +0 -73
  81. package/dist/components/common/SolidExportStepper.d.ts +0 -12
  82. package/dist/components/common/SolidExportStepper.d.ts.map +0 -1
  83. package/dist/components/common/SolidExportStepper.js +0 -30
  84. package/dist/components/common/SolidExportStepper.js.map +0 -1
  85. package/dist/components/common/SolidExportStepper.tsx +0 -135
  86. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
  87. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
  88. package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
  89. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
  90. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
  91. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +0 -2
  92. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +0 -1
  93. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +0 -16
  94. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +0 -1
  95. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +0 -29
  96. package/dist/components/core/dashboard/DashboardFilter.d.ts +0 -13
  97. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +0 -1
  98. package/dist/components/core/dashboard/DashboardFilter.js +0 -299
  99. package/dist/components/core/dashboard/DashboardFilter.js.map +0 -1
  100. package/dist/components/core/dashboard/DashboardFilter.tsx +0 -348
  101. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +0 -3
  102. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +0 -1
  103. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +0 -21
  104. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +0 -1
  105. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +0 -40
  106. package/dist/components/core/dashboard/SolidDashboard.d.ts +0 -28
  107. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +0 -1
  108. package/dist/components/core/dashboard/SolidDashboard.js +0 -183
  109. package/dist/components/core/dashboard/SolidDashboard.js.map +0 -1
  110. package/dist/components/core/dashboard/SolidDashboard.module.css +0 -83
  111. package/dist/components/core/dashboard/SolidDashboard.tsx +0 -263
  112. package/dist/components/core/dashboard/SolidDashboardBody.d.ts +0 -24
  113. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +0 -1
  114. package/dist/components/core/dashboard/SolidDashboardBody.js +0 -162
  115. package/dist/components/core/dashboard/SolidDashboardBody.js.map +0 -1
  116. package/dist/components/core/dashboard/SolidDashboardBody.tsx +0 -168
  117. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +0 -2
  118. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +0 -1
  119. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +0 -11
  120. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +0 -1
  121. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +0 -28
  122. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +0 -3
  123. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +0 -1
  124. package/dist/components/core/dashboard/SolidDashboardHeader.js +0 -6
  125. package/dist/components/core/dashboard/SolidDashboardHeader.js.map +0 -1
  126. package/dist/components/core/dashboard/SolidDashboardHeader.tsx +0 -10
  127. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +0 -2
  128. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +0 -1
  129. package/dist/components/core/dashboard/SolidDashboardLoading.js +0 -10
  130. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +0 -1
  131. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +0 -61
  132. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +0 -3
  133. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +0 -1
  134. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +0 -12
  135. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +0 -1
  136. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +0 -32
  137. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +0 -2
  138. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +0 -1
  139. package/dist/components/core/dashboard/SolidDashboardRenderError.js +0 -11
  140. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +0 -1
  141. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +0 -28
  142. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +0 -19
  143. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +0 -1
  144. package/dist/components/core/dashboard/SolidDashboardVariable.js +0 -171
  145. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +0 -1
  146. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +0 -259
  147. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +0 -9
  148. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +0 -1
  149. package/dist/components/core/dashboard/SolidQuestionRenderer.js +0 -42
  150. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +0 -1
  151. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +0 -99
  152. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +0 -9
  153. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +0 -1
  154. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +0 -35
  155. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +0 -1
  156. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +0 -48
  157. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +0 -7
  158. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +0 -1
  159. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +0 -22
  160. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +0 -1
  161. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +0 -51
  162. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +0 -2
  163. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +0 -1
  164. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +0 -4
  165. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +0 -1
  166. package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +0 -25
  167. package/dist/components/core/dashboard/dashboard-utils.d.ts +0 -2
  168. package/dist/components/core/dashboard/dashboard-utils.d.ts.map +0 -1
  169. package/dist/components/core/dashboard/dashboard-utils.js +0 -38
  170. package/dist/components/core/dashboard/dashboard-utils.js.map +0 -1
  171. package/dist/components/core/dashboard/dashboard-utils.ts +0 -39
  172. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +0 -10
  173. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +0 -1
  174. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +0 -16
  175. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +0 -1
  176. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +0 -19
  177. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +0 -8
  178. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +0 -1
  179. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +0 -64
  180. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +0 -1
  181. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +0 -30
  182. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +0 -8
  183. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +0 -1
  184. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +0 -62
  185. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +0 -1
  186. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +0 -29
  187. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +0 -4
  188. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +0 -1
  189. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +0 -23
  190. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +0 -1
  191. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +0 -36
  192. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +0 -3
  193. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +0 -1
  194. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +0 -92
  195. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +0 -1
  196. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +0 -68
  197. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +0 -3
  198. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +0 -1
  199. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +0 -111
  200. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +0 -1
  201. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +0 -122
  202. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +0 -12
  203. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +0 -1
  204. package/dist/components/core/kanban/SolidKanbanViewFields.js +0 -145
  205. package/dist/components/core/kanban/SolidKanbanViewFields.js.map +0 -1
  206. package/dist/components/core/kanban/SolidKanbanViewFields.tsx +0 -164
  207. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +0 -2
  208. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +0 -1
  209. package/dist/components/core/kanban/SolidManyToOneFilterElement.js +0 -87
  210. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +0 -1
  211. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +0 -59
  212. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +0 -2
  213. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +0 -1
  214. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +0 -73
  215. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +0 -1
  216. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +0 -50
  217. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +0 -2
  218. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +0 -1
  219. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +0 -20
  220. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +0 -1
  221. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +0 -32
  222. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +0 -12
  223. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +0 -1
  224. package/dist/components/core/kanban/SolidVarInputsFilterElement.js +0 -81
  225. package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +0 -1
  226. package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +0 -184
  227. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +0 -4
  228. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +0 -1
  229. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +0 -7
  230. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +0 -1
  231. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +0 -9
  232. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +0 -4
  233. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +0 -1
  234. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +0 -8
  235. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +0 -1
  236. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +0 -16
  237. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +0 -4
  238. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +0 -1
  239. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +0 -21
  240. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +0 -1
  241. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +0 -23
  242. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +0 -4
  243. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +0 -1
  244. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +0 -8
  245. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +0 -1
  246. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +0 -14
  247. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +0 -4
  248. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +0 -1
  249. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +0 -8
  250. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +0 -1
  251. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +0 -13
  252. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +0 -4
  253. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +0 -1
  254. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +0 -7
  255. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +0 -1
  256. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +0 -9
  257. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +0 -4
  258. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +0 -1
  259. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +0 -8
  260. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +0 -1
  261. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +0 -12
  262. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +0 -4
  263. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +0 -1
  264. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +0 -7
  265. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +0 -1
  266. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +0 -9
  267. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +0 -4
  268. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +0 -1
  269. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +0 -8
  270. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +0 -1
  271. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +0 -14
  272. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +0 -4
  273. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +0 -1
  274. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +0 -16
  275. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +0 -1
  276. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +0 -20
  277. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +0 -4
  278. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +0 -1
  279. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +0 -7
  280. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +0 -1
  281. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +0 -9
  282. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +0 -4
  283. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +0 -1
  284. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +0 -56
  285. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +0 -1
  286. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +0 -140
  287. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +0 -4
  288. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +0 -1
  289. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +0 -42
  290. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +0 -1
  291. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +0 -164
  292. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +0 -4
  293. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +0 -1
  294. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +0 -11
  295. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +0 -1
  296. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +0 -13
  297. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +0 -4
  298. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +0 -1
  299. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +0 -7
  300. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +0 -1
  301. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +0 -9
  302. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +0 -4
  303. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +0 -1
  304. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +0 -8
  305. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +0 -1
  306. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +0 -14
  307. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +0 -4
  308. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +0 -1
  309. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +0 -8
  310. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +0 -1
  311. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +0 -14
  312. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +0 -4
  313. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +0 -1
  314. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +0 -37
  315. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +0 -1
  316. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +0 -121
  317. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +0 -4
  318. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +0 -1
  319. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +0 -8
  320. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +0 -1
  321. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +0 -12
  322. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +0 -4
  323. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +0 -1
  324. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +0 -8
  325. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +0 -1
  326. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +0 -13
  327. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +0 -4
  328. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +0 -1
  329. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +0 -7
  330. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +0 -1
  331. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +0 -16
  332. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +0 -2
  333. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +0 -1
  334. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +0 -39
  335. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +0 -1
  336. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +0 -40
  337. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +0 -12
  338. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +0 -1
  339. package/dist/components/core/list/SolidVarInputsFilterElement.js +0 -81
  340. package/dist/components/core/list/SolidVarInputsFilterElement.js.map +0 -1
  341. package/dist/components/core/list/SolidVarInputsFilterElement.tsx +0 -184
  342. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +0 -3
  343. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +0 -1
  344. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +0 -87
  345. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +0 -1
  346. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +0 -70
  347. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +0 -3
  348. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +0 -1
  349. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +0 -33
  350. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +0 -1
  351. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +0 -50
  352. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +0 -3
  353. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +0 -1
  354. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +0 -158
  355. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +0 -1
  356. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +0 -185
  357. package/dist/components/layout/DashboardHeader.d.ts +0 -3
  358. package/dist/components/layout/DashboardHeader.d.ts.map +0 -1
  359. package/dist/components/layout/DashboardHeader.js +0 -20
  360. package/dist/components/layout/DashboardHeader.js.map +0 -1
  361. package/dist/components/layout/DashboardHeader.tsx +0 -94
  362. package/dist/helpers/# no such endpoints exist, need to calle +0 -3
  363. package/dist/helpers/ToastContainer.d.ts +0 -4
  364. package/dist/helpers/ToastContainer.d.ts.map +0 -1
  365. package/dist/helpers/ToastContainer.js +0 -49
  366. package/dist/helpers/ToastContainer.js.map +0 -1
  367. package/dist/helpers/ToastContainer.tsx +0 -94
  368. package/dist/helpers/showToast.d.ts +0 -5
  369. package/dist/helpers/showToast.d.ts.map +0 -1
  370. package/dist/helpers/showToast.js +0 -17
  371. package/dist/helpers/showToast.js.map +0 -1
  372. package/dist/helpers/showToast.ts +0 -13
  373. package/dist/helpers/studioSandbox.d.ts +0 -31
  374. package/dist/helpers/studioSandbox.d.ts.map +0 -1
  375. package/dist/helpers/studioSandbox.js +0 -104
  376. package/dist/helpers/studioSandbox.js.map +0 -1
  377. package/dist/helpers/studioSandbox.ts +0 -117
  378. package/dist/nextAuth/authProviders.d.ts +0 -4
  379. package/dist/nextAuth/authProviders.d.ts.map +0 -1
  380. package/dist/nextAuth/authProviders.js +0 -198
  381. package/dist/nextAuth/authProviders.js.map +0 -1
  382. package/dist/nextAuth/authProviders.tsx +0 -232
  383. package/dist/nextAuth/handleLogout.d.ts +0 -2
  384. package/dist/nextAuth/handleLogout.d.ts.map +0 -1
  385. package/dist/nextAuth/handleLogout.js +0 -36
  386. package/dist/nextAuth/handleLogout.js.map +0 -1
  387. package/dist/nextAuth/handleLogout.tsx +0 -39
  388. package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
  389. package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
  390. package/dist/nextAuth/refreshAccessToken.js +0 -24
  391. package/dist/nextAuth/refreshAccessToken.js.map +0 -1
  392. package/dist/nextAuth/refreshAccessToken.tsx +0 -28
  393. package/dist/redux/api/dashboardApi.d.ts +0 -23
  394. package/dist/redux/api/dashboardApi.d.ts.map +0 -1
  395. package/dist/redux/api/dashboardApi.js +0 -35
  396. package/dist/redux/api/dashboardApi.js.map +0 -1
  397. package/dist/redux/api/dashboardApi.ts +0 -56
  398. package/dist/redux/api/dashboardLayoutApi.d.ts +0 -24
  399. package/dist/redux/api/dashboardLayoutApi.d.ts.map +0 -1
  400. package/dist/redux/api/dashboardLayoutApi.js +0 -34
  401. package/dist/redux/api/dashboardLayoutApi.js.map +0 -1
  402. package/dist/redux/api/dashboardLayoutApi.ts +0 -55
  403. package/dist/redux/api/dashboardQuestionApi.d.ts +0 -5
  404. package/dist/redux/api/dashboardQuestionApi.d.ts.map +0 -1
  405. package/dist/redux/api/dashboardQuestionApi.js +0 -18
  406. package/dist/redux/api/dashboardQuestionApi.js.map +0 -1
  407. package/dist/redux/api/dashboardQuestionApi.ts +0 -17
  408. package/dist/redux/features/settingsSlice.d.ts +0 -20
  409. package/dist/redux/features/settingsSlice.d.ts.map +0 -1
  410. package/dist/redux/features/settingsSlice.js +0 -39
  411. package/dist/redux/features/settingsSlice.js.map +0 -1
  412. package/dist/redux/features/settingsSlice.ts +0 -60
  413. package/dist/resources/images/Footerbg.png +0 -0
  414. package/dist/resources/images/LoginBanner.png +0 -0
  415. package/dist/resources/images/dashboard/Ellipse 1.svg +0 -10
  416. package/dist/resources/images/dashboard/Rectangle 17.svg +0 -10
  417. package/dist/resources/images/dashboard/Rectangle 25.svg +0 -11
  418. package/dist/resources/images/dashboard/image 5.svg +0 -9
  419. package/dist/resources/images/loginhero.png +0 -0
  420. package/dist/resources/images/logo.png +0 -0
  421. package/dist/resources/images/radix-logo-white.png +0 -0
  422. package/dist/resources/images/radix-logo.png +0 -0
  423. package/dist/resources/images/signupBanner.png +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidDashboard.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboard.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DashboardResponse, useGetDashboardQuery } from '../../../redux/api/dashboardApi';\nimport { SqlExpression } from '../../../types/solid-core';\nimport { SolidButton, SolidIcon, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from '../../shad-cn-ui';\nimport qs from 'qs';\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport styles from './SolidDashboard.module.css';\nimport SolidDashboardBody, { GridItem } from './SolidDashboardBody';\nimport { DashboardFilter } from './DashboardFilter';\n// import { SolidAiMainWrapper } from '../solid-ai/SolidAiMainWrapper'; // moved to SolidX Studio panel\nimport { SolidDashboardFilterRequired } from './SolidDashboardFilterRequired';\nimport { SolidDashboardLoading } from './SolidDashboardLoading';\nimport { SolidDashboardRenderError } from './SolidDashboardRenderError';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showNavbar, toggleNavbar } from \"../../../redux/features/navbarSlice\";\nimport SolidDashboardNotAvailable from './SolidDashboardNotAvailable';\nimport { showToast } from '../../../redux/features/toastSlice';\nimport { ERROR_MESSAGES } from '../../../constants/error-messages';\nimport { useUpsertUserDashboardLayoutMutation } from '../../../redux/api/dashboardLayoutApi';\n\nexport enum DashboardVariableType {\n DATE = 'date',\n SELECTION_STATIC = 'selectionStatic',\n SELECTION_DYNAMIC = 'selectionDynamic',\n}\n\nenum SOURCE_TYPE {\n SQL = 'sql',\n PROVIDER = 'provider',\n}\n\nexport interface DashboardVariableRecord {\n id: number;\n variableName: string;\n variableType: DashboardVariableType;\n selectionStaticValues?: string;\n selectionDynamicSourceType?: SOURCE_TYPE;\n selectionDynamicProviderName?: string;\n selectionDynamicSQL?: string;\n isMultiSelect?: boolean;\n defaultValue?: string;\n defaultOperator?: string;\n}\n\nfunction handleDashboardData(\n data: DashboardResponse,\n setDashboardVariables: Dispatch<SetStateAction<DashboardVariableRecord[]>>,\n setQuestions: Dispatch<SetStateAction<any[]>>,\n) {\n const { records, meta } = data;\n if (records && records.length > 0) {\n // Set the layout options for the dashboard body\n const dashboardData = records[0]; // Assuming we want the first dashboard\n\n // Set the dashboard variables\n setDashboardVariables(dashboardData.dashboardVariables || []);\n\n // Set the dashboard questions\n setQuestions(dashboardData.questions)\n\n }\n}\n\nfunction getQueryParams(moduleName: string, dashboardName?: string) {\n const filters: any = {\n module: {\n name: {\n $eq: moduleName\n }\n }\n };\n\n if (dashboardName !== undefined) {\n filters.name = { $eqi: dashboardName };\n }\n\n const query = {\n filters,\n populate: ['dashboardVariables', 'questions']\n };\n const urlQuery = qs.stringify(query, {\n encodeValuesOnly: true,\n });\n return urlQuery;\n}\n\n// Render the dashboard body only if:\n// 1. There are dashboard questions\n// AND\n// (\n// 1. There are dashboard variables and all dashboard variable filter rules have been applied i.e (all dashboard variables have been selected)\n//. OR\n// 2. There are no dashboard variables\n// )\n// \nfunction isRenderDashboardBody(questions: any[], dashboardVariables: DashboardVariableRecord[], filters: SqlExpression[]) {\n if (questions.length === 0) {\n return false;\n }\n\n if (dashboardVariables.length === 0) {\n return true;\n }\n\n // Check if all dashboard variables have corresponding filters applied\n const allVariablesFiltered = dashboardVariables.every(variable =>\n filters.some(filter => filter.variableName === variable.variableName)\n );\n\n return allVariablesFiltered;\n}\n\ntype SolidDashboardViewProps = {\n moduleName: string;\n dashboardName?: string;\n};\n\nconst SolidDashboard = (params: SolidDashboardViewProps) => {\n const { data, isLoading, error } = useGetDashboardQuery(getQueryParams(params.moduleName, params.dashboardName)) // FIXME : error handling should be done properly\n // Define a state called layoutOption and pass it after destructing the widgetOptions and dashboardOptions from layoutOption\n // TODO [HP]: Shouldn't the type of this state variable be something different? Why are we muddling this with layout but calling it body props? \n // TODO [HP]: Body props should be clearly made up of Gridstack layout options, the questions that make up the body & the filter[] which is an array of SqlExpressions\n // TODO [HP]: This is fully CONFUSED\n // const [layoutOption, setLayoutOption] = useState<SolidDashboardBodyProps>({\n // filters: [],\n // questions: [],\n // });\n\n // TODO [HP]: replace dashboardVariableFilterRules with filters everywhere...\n // const [dashboardVariableFilterRules, setDashboardVariableFilterRules] = useState<ISolidDashboardVariableFilterRule[]>([]);\n const dispatch = useDispatch();\n\n const visibleNavbar = useSelector((state: any) => state.navbarState?.visibleNavbar);\n const [filters, setFilters] = useState<SqlExpression[]>([]);\n const [questions, setQuestions] = useState<any[]>([]);\n const [dashboardVariables, setDashboardVariables] = useState<DashboardVariableRecord[]>([]);\n const [isDashboardFilterVisible, setIsDashboardFilterVisible] = useState(false);\n\n const [upsertDashboardLayout] = useUpsertUserDashboardLayoutMutation();\n\n const [dashboardLayout, setDashboardLayout] = useState<GridItem[]>([]);\n\n const updateUserDashboardLayout = async () => {\n try {\n const response = await upsertDashboardLayout({\n dashboardId: data?.records[0].id,\n layout: JSON.stringify(dashboardLayout),\n }).unwrap();\n if (response.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY }));\n }\n } catch (error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.DASHBOARD_LAYOUT_UPDATE_FAILED }));\n }\n }\n\n useEffect(() => {\n // Invoke the dashboard api to fetch the dashboard data\n // console.log('Dashboard Data testing:', isLoading, data, error);\n if (!isLoading && data) {\n // Assuming data contains the layout options\n handleDashboardData(data, setDashboardVariables, setQuestions);\n }\n }, [isLoading, data]);\n\n const toggleBothSidebars = () => {\n if (visibleNavbar) {\n dispatch(toggleNavbar()); // close both\n } else {\n dispatch(showNavbar()); // open both\n }\n };\n\n\n\n return (\n <div className={`h-screen surface-0 flex`}>\n\n <div className={`h-full flex-grow-1 ${styles.SolidDashboardPageContentWrapper}`}>\n {isLoading && <SolidDashboardLoading />}\n {error && <SolidDashboardRenderError />}\n {!isLoading && !error && data && data.records.length === 0 && (\n <SolidDashboardNotAvailable />\n )}\n {!isLoading && !error && data && data.records.length > 0 && (\n <>\n <div className=\"page-header\" style={{ borderBottom: '1px solid var(--primary-light-color)' }}>\n <div className='flex align-items-center gap-2'>\n <div className=\"apps-icon block md:hidden cursor-pointer\" onClick={toggleBothSidebars}>\n <SolidIcon name=\"si-th-large\" aria-hidden />\n </div>\n <p className={`view-title solid-text-wrapper flex align-items-center gap-1 ${styles.SolidDashboardTitle}`}>\n {data?.records[0]?.displayName ? data?.records[0]?.displayName : data?.records[0]?.name}\n {data?.records[0]?.description && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidIcon name=\"si-info-circle\" className=\"solid-field-tooltip-icon\" aria-hidden />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"right\">{data?.records[0]?.description}</SolidTooltipContent>\n </SolidTooltip>\n )}\n </p>\n </div>\n {dashboardVariables && dashboardVariables.length > 0 && (\n <>\n <div className='flex gap-2'>\n <SolidButton\n type=\"button\"\n icon={filters.length > 0 ? \"si si-filter-fill\" : \"si si-filter\"}\n className=\"lg:hidden solid-icon-button\"\n size='sm'\n variant='secondary'\n onClick={() => setIsDashboardFilterVisible(true)}\n />\n\n <SolidButton\n type=\"button\"\n icon={filters.length > 0 ? \"si si-filter-fill\" : \"si si-filter\"}\n label={\"Filter\"}\n className=\"hidden lg:inline-flex\"\n size='sm'\n variant='secondary'\n onClick={() => setIsDashboardFilterVisible(true)}\n />\n {filters.length > 0 && (\n <SolidButton\n type=\"button\"\n size=\"sm\"\n icon=\"si si-filter-slash\"\n severity=\"secondary\"\n className=\"solid-icon-button \"\n outlined\n onClick={() => { setFilters([]); setIsDashboardFilterVisible(false); }}\n />\n )}\n <SolidButton\n type=\"button\"\n size=\"sm\"\n icon=\"si si-save\"\n severity=\"secondary\"\n className=\"solid-icon-button \"\n outlined\n onClick={() => updateUserDashboardLayout()} />\n </div>\n <DashboardFilter\n dashboardVariables={dashboardVariables}\n initialFilters={filters}\n onApply={setFilters}\n visible={isDashboardFilterVisible}\n onHide={() => setIsDashboardFilterVisible(false)}\n />\n </>\n )}\n </div>\n {!isRenderDashboardBody(questions, dashboardVariables, filters) && <SolidDashboardFilterRequired />}\n {isRenderDashboardBody(questions, dashboardVariables, filters) && <SolidDashboardBody dashboardId={data?.records[0]?.id} questions={questions} filters={filters} dashboardLayout={dashboardLayout} setDashboardLayout={setDashboardLayout} />}\n </>\n )}\n </div>\n </div>\n );\n}\n\nexport default SolidDashboard;\n"]}
@@ -1,83 +0,0 @@
1
- .SolidDashboardTitle {
2
- margin: 4.3px 0 !important
3
- }
4
-
5
- .SolidDashboardContentWrapper {
6
- background-color: var(--hightlight-bg-secondary);
7
- height: calc(100vh - 64px) !important;
8
- }
9
-
10
- .SolidChartCardWrapper {
11
- /* box-shadow: 0px 6px 15px 1px rgb(0 0 0 / 6%); */
12
- border: 1px solid #e4e3e3;
13
- border-radius: 12px;
14
- background-color: var(--surface-card);
15
- height: 100%;
16
- display: flex;
17
- flex-direction: column;
18
- }
19
-
20
- .SolidChartTitle {
21
- color: var(--solid-dark-title);
22
- }
23
-
24
- .SolidDashboardDateRangeFilterWrapper {
25
- border: 1px solid var(--gray-300);
26
- border-radius: 6px;
27
- }
28
-
29
- .SolidDashboardDateRangeFilter input {
30
- border: none !important;
31
- }
32
-
33
-
34
- .SolidDashboardPageContentWrapper {
35
- transition: width 0.3s ease;
36
- min-width: 0;
37
- border-right: 1px solid var(--primary-light-color);
38
- }
39
-
40
- .SolidXAIFloatingBtn {
41
- position: absolute;
42
- top: 50%;
43
- right: -1px;
44
- /* transform: translateY(-50%) rotate(-90deg); */
45
- z-index: 1000;
46
- font-size: 0.875rem;
47
- background-color: #eff1f4;
48
- color: var(--secondary-dark-color);
49
- white-space: nowrap;
50
- padding: 0.75rem 0.5rem;
51
- border-radius: 4px 4px 4px 0;
52
- border-top: 1px solid var(--primary-light-color);
53
- border-right: 1px solid var(--primary-light-color);
54
- border-bottom: 1px solid var(--primary-light-color);
55
- border-left: none;
56
- display: inline-block;
57
- writing-mode: vertical-rl;
58
- transform: rotate(180deg);
59
- width: 30px;
60
- transition: right 0.3s;
61
- margin-top: -50px;
62
- cursor: pointer;
63
- box-shadow:
64
- 0 -4px 6px -4px rgba(0, 0, 0, 0.1),
65
- 4px 0 6px -4px rgba(0, 0, 0, 0.1),
66
- 0 4px 6px -4px rgba(0, 0, 0, 0.1);
67
- }
68
-
69
- .SolidXAIListPanel {
70
- position: fixed !important;
71
- top: 0;
72
- right: -700px;
73
- /* Hidden by default */
74
- width: 700px;
75
- height: 100vh;
76
- transition: right 0.3s ease;
77
- z-index: 999;
78
- border-left: 1px solid var(--primary-light-color);
79
- }
80
-
81
- .SolidXAIListPanelOpen {
82
- right: 0;
83
- }
@@ -1,263 +0,0 @@
1
- import { DashboardResponse, useGetDashboardQuery } from '../../../redux/api/dashboardApi';
2
- import { SqlExpression } from '../../../types/solid-core';
3
- import { SolidButton, SolidIcon, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from '../../shad-cn-ui';
4
- import qs from 'qs';
5
- import { Dispatch, SetStateAction, useEffect, useState } from 'react';
6
- import styles from './SolidDashboard.module.css';
7
- import SolidDashboardBody, { GridItem } from './SolidDashboardBody';
8
- import { DashboardFilter } from './DashboardFilter';
9
- // import { SolidAiMainWrapper } from '../solid-ai/SolidAiMainWrapper'; // moved to SolidX Studio panel
10
- import { SolidDashboardFilterRequired } from './SolidDashboardFilterRequired';
11
- import { SolidDashboardLoading } from './SolidDashboardLoading';
12
- import { SolidDashboardRenderError } from './SolidDashboardRenderError';
13
- import { useDispatch, useSelector } from "react-redux";
14
- import { showNavbar, toggleNavbar } from "../../../redux/features/navbarSlice";
15
- import SolidDashboardNotAvailable from './SolidDashboardNotAvailable';
16
- import { showToast } from '../../../redux/features/toastSlice';
17
- import { ERROR_MESSAGES } from '../../../constants/error-messages';
18
- import { useUpsertUserDashboardLayoutMutation } from '../../../redux/api/dashboardLayoutApi';
19
-
20
- export enum DashboardVariableType {
21
- DATE = 'date',
22
- SELECTION_STATIC = 'selectionStatic',
23
- SELECTION_DYNAMIC = 'selectionDynamic',
24
- }
25
-
26
- enum SOURCE_TYPE {
27
- SQL = 'sql',
28
- PROVIDER = 'provider',
29
- }
30
-
31
- export interface DashboardVariableRecord {
32
- id: number;
33
- variableName: string;
34
- variableType: DashboardVariableType;
35
- selectionStaticValues?: string;
36
- selectionDynamicSourceType?: SOURCE_TYPE;
37
- selectionDynamicProviderName?: string;
38
- selectionDynamicSQL?: string;
39
- isMultiSelect?: boolean;
40
- defaultValue?: string;
41
- defaultOperator?: string;
42
- }
43
-
44
- function handleDashboardData(
45
- data: DashboardResponse,
46
- setDashboardVariables: Dispatch<SetStateAction<DashboardVariableRecord[]>>,
47
- setQuestions: Dispatch<SetStateAction<any[]>>,
48
- ) {
49
- const { records, meta } = data;
50
- if (records && records.length > 0) {
51
- // Set the layout options for the dashboard body
52
- const dashboardData = records[0]; // Assuming we want the first dashboard
53
-
54
- // Set the dashboard variables
55
- setDashboardVariables(dashboardData.dashboardVariables || []);
56
-
57
- // Set the dashboard questions
58
- setQuestions(dashboardData.questions)
59
-
60
- }
61
- }
62
-
63
- function getQueryParams(moduleName: string, dashboardName?: string) {
64
- const filters: any = {
65
- module: {
66
- name: {
67
- $eq: moduleName
68
- }
69
- }
70
- };
71
-
72
- if (dashboardName !== undefined) {
73
- filters.name = { $eqi: dashboardName };
74
- }
75
-
76
- const query = {
77
- filters,
78
- populate: ['dashboardVariables', 'questions']
79
- };
80
- const urlQuery = qs.stringify(query, {
81
- encodeValuesOnly: true,
82
- });
83
- return urlQuery;
84
- }
85
-
86
- // Render the dashboard body only if:
87
- // 1. There are dashboard questions
88
- // AND
89
- // (
90
- // 1. There are dashboard variables and all dashboard variable filter rules have been applied i.e (all dashboard variables have been selected)
91
- //. OR
92
- // 2. There are no dashboard variables
93
- // )
94
- //
95
- function isRenderDashboardBody(questions: any[], dashboardVariables: DashboardVariableRecord[], filters: SqlExpression[]) {
96
- if (questions.length === 0) {
97
- return false;
98
- }
99
-
100
- if (dashboardVariables.length === 0) {
101
- return true;
102
- }
103
-
104
- // Check if all dashboard variables have corresponding filters applied
105
- const allVariablesFiltered = dashboardVariables.every(variable =>
106
- filters.some(filter => filter.variableName === variable.variableName)
107
- );
108
-
109
- return allVariablesFiltered;
110
- }
111
-
112
- type SolidDashboardViewProps = {
113
- moduleName: string;
114
- dashboardName?: string;
115
- };
116
-
117
- const SolidDashboard = (params: SolidDashboardViewProps) => {
118
- const { data, isLoading, error } = useGetDashboardQuery(getQueryParams(params.moduleName, params.dashboardName)) // FIXME : error handling should be done properly
119
- // Define a state called layoutOption and pass it after destructing the widgetOptions and dashboardOptions from layoutOption
120
- // TODO [HP]: Shouldn't the type of this state variable be something different? Why are we muddling this with layout but calling it body props?
121
- // TODO [HP]: Body props should be clearly made up of Gridstack layout options, the questions that make up the body & the filter[] which is an array of SqlExpressions
122
- // TODO [HP]: This is fully CONFUSED
123
- // const [layoutOption, setLayoutOption] = useState<SolidDashboardBodyProps>({
124
- // filters: [],
125
- // questions: [],
126
- // });
127
-
128
- // TODO [HP]: replace dashboardVariableFilterRules with filters everywhere...
129
- // const [dashboardVariableFilterRules, setDashboardVariableFilterRules] = useState<ISolidDashboardVariableFilterRule[]>([]);
130
- const dispatch = useDispatch();
131
-
132
- const visibleNavbar = useSelector((state: any) => state.navbarState?.visibleNavbar);
133
- const [filters, setFilters] = useState<SqlExpression[]>([]);
134
- const [questions, setQuestions] = useState<any[]>([]);
135
- const [dashboardVariables, setDashboardVariables] = useState<DashboardVariableRecord[]>([]);
136
- const [isDashboardFilterVisible, setIsDashboardFilterVisible] = useState(false);
137
-
138
- const [upsertDashboardLayout] = useUpsertUserDashboardLayoutMutation();
139
-
140
- const [dashboardLayout, setDashboardLayout] = useState<GridItem[]>([]);
141
-
142
- const updateUserDashboardLayout = async () => {
143
- try {
144
- const response = await upsertDashboardLayout({
145
- dashboardId: data?.records[0].id,
146
- layout: JSON.stringify(dashboardLayout),
147
- }).unwrap();
148
- if (response.statusCode === 200) {
149
- dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY }));
150
- }
151
- } catch (error) {
152
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.DASHBOARD_LAYOUT_UPDATE_FAILED }));
153
- }
154
- }
155
-
156
- useEffect(() => {
157
- // Invoke the dashboard api to fetch the dashboard data
158
- // console.log('Dashboard Data testing:', isLoading, data, error);
159
- if (!isLoading && data) {
160
- // Assuming data contains the layout options
161
- handleDashboardData(data, setDashboardVariables, setQuestions);
162
- }
163
- }, [isLoading, data]);
164
-
165
- const toggleBothSidebars = () => {
166
- if (visibleNavbar) {
167
- dispatch(toggleNavbar()); // close both
168
- } else {
169
- dispatch(showNavbar()); // open both
170
- }
171
- };
172
-
173
-
174
-
175
- return (
176
- <div className={`h-screen surface-0 flex`}>
177
-
178
- <div className={`h-full flex-grow-1 ${styles.SolidDashboardPageContentWrapper}`}>
179
- {isLoading && <SolidDashboardLoading />}
180
- {error && <SolidDashboardRenderError />}
181
- {!isLoading && !error && data && data.records.length === 0 && (
182
- <SolidDashboardNotAvailable />
183
- )}
184
- {!isLoading && !error && data && data.records.length > 0 && (
185
- <>
186
- <div className="page-header" style={{ borderBottom: '1px solid var(--primary-light-color)' }}>
187
- <div className='flex align-items-center gap-2'>
188
- <div className="apps-icon block md:hidden cursor-pointer" onClick={toggleBothSidebars}>
189
- <SolidIcon name="si-th-large" aria-hidden />
190
- </div>
191
- <p className={`view-title solid-text-wrapper flex align-items-center gap-1 ${styles.SolidDashboardTitle}`}>
192
- {data?.records[0]?.displayName ? data?.records[0]?.displayName : data?.records[0]?.name}
193
- {data?.records[0]?.description && (
194
- <SolidTooltip>
195
- <SolidTooltipTrigger asChild>
196
- <SolidIcon name="si-info-circle" className="solid-field-tooltip-icon" aria-hidden />
197
- </SolidTooltipTrigger>
198
- <SolidTooltipContent side="right">{data?.records[0]?.description}</SolidTooltipContent>
199
- </SolidTooltip>
200
- )}
201
- </p>
202
- </div>
203
- {dashboardVariables && dashboardVariables.length > 0 && (
204
- <>
205
- <div className='flex gap-2'>
206
- <SolidButton
207
- type="button"
208
- icon={filters.length > 0 ? "si si-filter-fill" : "si si-filter"}
209
- className="lg:hidden solid-icon-button"
210
- size='sm'
211
- variant='secondary'
212
- onClick={() => setIsDashboardFilterVisible(true)}
213
- />
214
-
215
- <SolidButton
216
- type="button"
217
- icon={filters.length > 0 ? "si si-filter-fill" : "si si-filter"}
218
- label={"Filter"}
219
- className="hidden lg:inline-flex"
220
- size='sm'
221
- variant='secondary'
222
- onClick={() => setIsDashboardFilterVisible(true)}
223
- />
224
- {filters.length > 0 && (
225
- <SolidButton
226
- type="button"
227
- size="sm"
228
- icon="si si-filter-slash"
229
- severity="secondary"
230
- className="solid-icon-button "
231
- outlined
232
- onClick={() => { setFilters([]); setIsDashboardFilterVisible(false); }}
233
- />
234
- )}
235
- <SolidButton
236
- type="button"
237
- size="sm"
238
- icon="si si-save"
239
- severity="secondary"
240
- className="solid-icon-button "
241
- outlined
242
- onClick={() => updateUserDashboardLayout()} />
243
- </div>
244
- <DashboardFilter
245
- dashboardVariables={dashboardVariables}
246
- initialFilters={filters}
247
- onApply={setFilters}
248
- visible={isDashboardFilterVisible}
249
- onHide={() => setIsDashboardFilterVisible(false)}
250
- />
251
- </>
252
- )}
253
- </div>
254
- {!isRenderDashboardBody(questions, dashboardVariables, filters) && <SolidDashboardFilterRequired />}
255
- {isRenderDashboardBody(questions, dashboardVariables, filters) && <SolidDashboardBody dashboardId={data?.records[0]?.id} questions={questions} filters={filters} dashboardLayout={dashboardLayout} setDashboardLayout={setDashboardLayout} />}
256
- </>
257
- )}
258
- </div>
259
- </div>
260
- );
261
- }
262
-
263
- export default SolidDashboard;
@@ -1,24 +0,0 @@
1
- import 'gridstack/dist/gridstack.min.css';
2
- import { GridStackOptions, GridStackWidget } from 'gridstack';
3
- import { SqlExpression } from '../../../types/solid-core';
4
- import 'react-grid-layout/css/styles.css';
5
- import 'react-resizable/css/styles.css';
6
- export interface SolidDashboardBodyProps {
7
- dashboardOptions?: GridStackOptions;
8
- widgetOptions?: GridStackWidget[];
9
- dashboardId: string;
10
- questions: any[];
11
- filters: SqlExpression[];
12
- dashboardLayout: GridItem[];
13
- setDashboardLayout: (dashboardLayout: GridItem[]) => void;
14
- }
15
- export type GridItem = {
16
- i: string;
17
- x: number;
18
- y: number;
19
- w: number;
20
- h: number;
21
- };
22
- declare const SolidDashboardBody: ({ dashboardId, questions, filters, dashboardLayout, setDashboardLayout }: SolidDashboardBodyProps) => import("react/jsx-runtime").JSX.Element;
23
- export default SolidDashboardBody;
24
- //# sourceMappingURL=SolidDashboardBody.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidDashboardBody.d.ts","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardBody.tsx"],"names":[],"mappings":"AACA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AAMxC,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAElC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAqBF,QAAA,MAAM,kBAAkB,6EAAmF,uBAAuB,4CA+GjI,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,162 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
- if (ar || !(i in from)) {
51
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
- ar[i] = from[i];
53
- }
54
- }
55
- return to.concat(ar || Array.prototype.slice.call(from));
56
- };
57
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
58
- import 'gridstack/dist/gridstack.min.css';
59
- import styles from './SolidDashboard.module.css';
60
- import { SolidQuestionRenderer } from './SolidQuestionRenderer';
61
- import ReactGridLayout, { useContainerWidth } from "react-grid-layout";
62
- import { useEffect, useRef } from 'react';
63
- import PrimeDataTableWrapper from './PrimeDataTableWrapper';
64
- import 'react-grid-layout/css/styles.css';
65
- import 'react-resizable/css/styles.css';
66
- import { useLazyGetUserDashboardLayoutByDashboardIdQuery } from '../../../redux/api/dashboardLayoutApi';
67
- import { ERROR_MESSAGES } from '../../../constants/error-messages';
68
- import { useDispatch } from 'react-redux';
69
- import { showToast } from '../../../redux/features/toastSlice';
70
- var generateDefaultLayout = function (questions) {
71
- return questions.map(function (q, index) {
72
- var col = index % 3;
73
- var row = Math.floor(index / 3);
74
- return {
75
- i: String(q.name),
76
- x: col * 4,
77
- y: row * 4,
78
- w: 4,
79
- h: 4,
80
- };
81
- });
82
- };
83
- var SolidDashboardBody = function (_a) {
84
- var dashboardId = _a.dashboardId, questions = _a.questions, _b = _a.filters, filters = _b === void 0 ? [] : _b, dashboardLayout = _a.dashboardLayout, setDashboardLayout = _a.setDashboardLayout;
85
- var dispatch = useDispatch();
86
- var sortedQuestions = __spreadArray([], questions, true).map(function (q, index) { return (__assign(__assign({}, q), { defaultIndex: index + 1 })); })
87
- .sort(function (a, b) { var _a, _b; return ((_a = a.sequenceNumber) !== null && _a !== void 0 ? _a : a.defaultIndex) - ((_b = b.sequenceNumber) !== null && _b !== void 0 ? _b : b.defaultIndex); });
88
- var _c = useContainerWidth(), width = _c.width, containerRef = _c.containerRef, mounted = _c.mounted;
89
- var isLayoutReady = useRef(false);
90
- var _d = useLazyGetUserDashboardLayoutByDashboardIdQuery(), fetchUserLayout = _d[0], _e = _d[1], userLayoutData = _e.data, isSuccess = _e.isSuccess, isLoading = _e.isLoading;
91
- useEffect(function () {
92
- if (!dashboardId || questions.length === 0)
93
- return;
94
- var loadLayout = function () { return __awaiter(void 0, void 0, void 0, function () {
95
- var response, raw, savedLayout_1, layout, error_1;
96
- var _a;
97
- return __generator(this, function (_b) {
98
- switch (_b.label) {
99
- case 0:
100
- _b.trys.push([0, 2, , 3]);
101
- return [4 /*yield*/, fetchUserLayout(dashboardId).unwrap()];
102
- case 1:
103
- response = _b.sent();
104
- raw = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.layout;
105
- savedLayout_1 = typeof raw === 'string' ? JSON.parse(raw) : raw;
106
- layout = savedLayout_1
107
- ? sortedQuestions.map(function (q) {
108
- var saved = savedLayout_1.find(function (s) { return s.i === String(q.name); });
109
- return saved !== null && saved !== void 0 ? saved : generateDefaultLayout([q])[0];
110
- })
111
- : generateDefaultLayout(sortedQuestions);
112
- setDashboardLayout(layout);
113
- setTimeout(function () { isLayoutReady.current = true; }, 100);
114
- return [3 /*break*/, 3];
115
- case 2:
116
- error_1 = _b.sent();
117
- if (error_1.status === 403) {
118
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FORBIDDEN_ERROR, detail: ERROR_MESSAGES.FORBIDDEN_ERROR, sticky: true }));
119
- }
120
- else {
121
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SOMETHING_WRONG, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
122
- }
123
- return [3 /*break*/, 3];
124
- case 3: return [2 /*return*/];
125
- }
126
- });
127
- }); };
128
- loadLayout();
129
- }, [questions, dashboardId]);
130
- // useEffect(() => {
131
- // if (questions.length === 0) return;
132
- // const saved = getSavedLayout();
133
- // setDashboardLayout(generateLayout(sortedQuestions, saved));
134
- // // Delay the ready flag so onLayoutChange doesn't fire before we're set
135
- // setTimeout(() => { isLayoutReady.current = true; }, 100);
136
- // }, [questions]);
137
- var handleLayoutChange = function (newLayout) {
138
- if (!isLayoutReady.current)
139
- return;
140
- // v2 passes LayoutItem[] at runtime despite the type saying Layout
141
- var layoutArray = newLayout;
142
- var updated = layoutArray.map(function (item) { return ({
143
- i: item.i,
144
- x: item.x,
145
- y: item.y,
146
- w: item.w,
147
- h: item.h,
148
- }); });
149
- setDashboardLayout(updated);
150
- // saving is handled by the parent/caller
151
- };
152
- return (_jsx(_Fragment, { children: _jsx("div", { ref: containerRef, className: "p-4 ".concat(styles.SolidDashboardContentWrapper), style: { width: '100%', overflowY: 'auto', minHeight: 0 }, children: mounted && dashboardLayout.length > 0 && (_jsx(ReactGridLayout, { width: width, layout: dashboardLayout, gridConfig: {
153
- cols: 12,
154
- rowHeight: 120,
155
- }, dragConfig: {
156
- handle: ".drag-handle",
157
- }, resizeConfig: {
158
- enabled: true,
159
- }, onLayoutChange: handleLayoutChange, children: sortedQuestions.map(function (question) { return (_jsx("div", { className: "drag-handle cursor-move rounded shadow p-2 overflow-hidden", style: { backgroundColor: 'transparent' }, children: question.visualisedAs === "prime-datatable" ? (_jsx(PrimeDataTableWrapper, { question: question, filters: filters })) : (_jsx(SolidQuestionRenderer, { question: question, filters: filters, isPreview: false })) }, String(question.name))); }) })) }) }));
160
- };
161
- export default SolidDashboardBody;
162
- //# sourceMappingURL=SolidDashboardBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidDashboardBody.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardBody.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport 'gridstack/dist/gridstack.min.css';\nimport { GridStackOptions, GridStackWidget } from 'gridstack';\nimport styles from './SolidDashboard.module.css'\nimport { SolidQuestionRenderer } from './SolidQuestionRenderer';\nimport { SqlExpression } from '../../../types/solid-core';\nimport ReactGridLayout, { useContainerWidth, Layout, LayoutItem } from \"react-grid-layout\";\nimport { useEffect, useRef, useState } from 'react';\nimport PrimeDataTableWrapper from './PrimeDataTableWrapper';\nimport 'react-grid-layout/css/styles.css';\nimport 'react-resizable/css/styles.css';\nimport { useLazyGetUserDashboardLayoutByDashboardIdQuery } from '../../../redux/api/dashboardLayoutApi';\nimport { ERROR_MESSAGES } from '../../../constants/error-messages';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../redux/features/toastSlice';\n\nexport interface SolidDashboardBodyProps {\n dashboardOptions?: GridStackOptions;\n widgetOptions?: GridStackWidget[];\n // Replace `any` with a proper `Question` type when available\n dashboardId: string;\n questions: any[];\n filters: SqlExpression[];\n dashboardLayout: GridItem[];\n setDashboardLayout: (dashboardLayout: GridItem[]) => void;\n}\n\nexport type GridItem = {\n i: string;\n x: number;\n y: number;\n w: number;\n h: number;\n};\n\n// Layout is Layout[] at runtime in v2 — the type definition is misleading\ntype LayoutArray = LayoutItem[];\n\n\nconst generateDefaultLayout = (questions: any[]): GridItem[] => {\n return questions.map((q, index) => {\n const col = index % 3;\n const row = Math.floor(index / 3);\n return {\n i: String(q.name),\n x: col * 4, // 0, 4, 8 in a 12-col grid\n y: row * 4,\n w: 4,\n h: 4,\n };\n });\n};\n\n\nconst SolidDashboardBody = ({ dashboardId, questions, filters = [], dashboardLayout, setDashboardLayout }: SolidDashboardBodyProps) => {\n const dispatch = useDispatch();\n\n const sortedQuestions = [...questions]\n .map((q, index) => ({ ...q, defaultIndex: index + 1 }))\n .sort((a, b) => (a.sequenceNumber ?? a.defaultIndex) - (b.sequenceNumber ?? b.defaultIndex));\n\n const { width, containerRef, mounted } = useContainerWidth();\n const isLayoutReady = useRef(false);\n\n const [fetchUserLayout, { data: userLayoutData, isSuccess, isLoading }] =\n useLazyGetUserDashboardLayoutByDashboardIdQuery();\n\n useEffect(() => {\n if (!dashboardId || questions.length === 0) return;\n const loadLayout = async () => {\n try {\n const response = await fetchUserLayout(dashboardId).unwrap();\n const raw = response?.data?.layout;\n const savedLayout = typeof raw === 'string' ? JSON.parse(raw) : raw;\n\n const layout = savedLayout\n ? sortedQuestions.map((q) => {\n const saved = (savedLayout as GridItem[]).find(s => s.i === String(q.name));\n return saved ?? generateDefaultLayout([q])[0];\n })\n : generateDefaultLayout(sortedQuestions);\n\n setDashboardLayout(layout);\n setTimeout(() => { isLayoutReady.current = true; }, 100);\n } catch (error: any) {\n if (error.status === 403) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FORBIDDEN_ERROR, detail: ERROR_MESSAGES.FORBIDDEN_ERROR, sticky: true }));\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SOMETHING_WRONG, detail: ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n }\n };\n\n loadLayout();\n }, [questions, dashboardId]);\n\n\n // useEffect(() => {\n // if (questions.length === 0) return;\n // const saved = getSavedLayout();\n // setDashboardLayout(generateLayout(sortedQuestions, saved));\n // // Delay the ready flag so onLayoutChange doesn't fire before we're set\n // setTimeout(() => { isLayoutReady.current = true; }, 100);\n // }, [questions]);\n\n\n const handleLayoutChange = (newLayout: Layout) => {\n if (!isLayoutReady.current) return;\n\n // v2 passes LayoutItem[] at runtime despite the type saying Layout\n const layoutArray = newLayout as unknown as LayoutItem[];\n\n const updated: GridItem[] = layoutArray.map(item => ({\n i: item.i,\n x: item.x,\n y: item.y,\n w: item.w,\n h: item.h,\n }));\n\n setDashboardLayout(updated);\n // saving is handled by the parent/caller\n };\n\n return (\n <>\n <div\n ref={containerRef as React.RefObject<HTMLDivElement>}\n className={`p-4 ${styles.SolidDashboardContentWrapper}`}\n style={{ width: '100%', overflowY: 'auto', minHeight: 0 }}\n\n >\n {mounted && dashboardLayout.length > 0 && (\n <ReactGridLayout\n width={width}\n layout={dashboardLayout}\n gridConfig={{\n cols: 12,\n rowHeight: 120,\n }}\n dragConfig={{\n handle: \".drag-handle\",\n }}\n resizeConfig={{\n enabled: true,\n }}\n onLayoutChange={handleLayoutChange}\n >\n {sortedQuestions.map((question: any) => (\n <div key={String(question.name)} className=\"drag-handle cursor-move rounded shadow p-2 overflow-hidden\" style={{ backgroundColor: 'transparent' }}>\n {/* <div className=\" mb-2 font-bold\">\n {question.name}\n </div> */}\n {question.visualisedAs === \"prime-datatable\" ? (\n <PrimeDataTableWrapper question={question} filters={filters} />\n ) : (\n <SolidQuestionRenderer question={question} filters={filters} isPreview={false} />\n )}\n </div>\n ))}\n </ReactGridLayout>\n )}\n </div>\n </>\n );\n};\n\nexport default SolidDashboardBody;\n"]}