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

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 (408) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +5 -2
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +6 -2
  5. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  6. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  7. package/dist/components/auth/SolidOTPVerify.js +67 -0
  8. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  9. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  10. package/dist/components/common/AuthBanner.d.ts +3 -0
  11. package/dist/components/common/AuthBanner.d.ts.map +1 -0
  12. package/dist/components/common/AuthBanner.js +15 -0
  13. package/dist/components/common/AuthBanner.js.map +1 -0
  14. package/dist/components/common/AuthBanner.tsx +41 -0
  15. package/dist/components/common/SingleSelectAutoCompleteField.d.ts +2 -0
  16. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -0
  17. package/dist/components/common/SingleSelectAutoCompleteField.js +92 -0
  18. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -0
  19. package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
  20. package/dist/components/common/SolidExportStepper.d.ts +12 -0
  21. package/dist/components/common/SolidExportStepper.d.ts.map +1 -0
  22. package/dist/components/common/SolidExportStepper.js +30 -0
  23. package/dist/components/common/SolidExportStepper.js.map +1 -0
  24. package/dist/components/common/SolidExportStepper.tsx +135 -0
  25. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  26. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  27. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  28. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  29. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  30. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +2 -0
  31. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +1 -0
  32. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +16 -0
  33. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -0
  34. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
  35. package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
  36. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
  37. package/dist/components/core/dashboard/DashboardFilter.js +299 -0
  38. package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
  39. package/dist/components/core/dashboard/DashboardFilter.tsx +348 -0
  40. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
  41. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
  42. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
  43. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
  44. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
  45. package/dist/components/core/dashboard/SolidDashboard.d.ts +28 -0
  46. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -0
  47. package/dist/components/core/dashboard/SolidDashboard.js +183 -0
  48. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -0
  49. package/dist/components/core/dashboard/SolidDashboard.module.css +83 -0
  50. package/dist/components/core/dashboard/SolidDashboard.tsx +263 -0
  51. package/dist/components/core/dashboard/SolidDashboardBody.d.ts +24 -0
  52. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -0
  53. package/dist/components/core/dashboard/SolidDashboardBody.js +162 -0
  54. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -0
  55. package/dist/components/core/dashboard/SolidDashboardBody.tsx +168 -0
  56. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
  57. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
  58. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
  59. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
  60. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
  61. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +3 -0
  62. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +1 -0
  63. package/dist/components/core/dashboard/SolidDashboardHeader.js +6 -0
  64. package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -0
  65. package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
  66. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
  67. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
  68. package/dist/components/core/dashboard/SolidDashboardLoading.js +10 -0
  69. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
  70. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +61 -0
  71. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
  72. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
  73. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
  74. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
  75. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
  76. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
  77. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
  78. package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
  79. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
  80. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +28 -0
  81. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +19 -0
  82. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -0
  83. package/dist/components/core/dashboard/SolidDashboardVariable.js +171 -0
  84. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -0
  85. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +259 -0
  86. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +9 -0
  87. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -0
  88. package/dist/components/core/dashboard/SolidQuestionRenderer.js +42 -0
  89. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -0
  90. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +99 -0
  91. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +9 -0
  92. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -0
  93. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +35 -0
  94. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -0
  95. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +48 -0
  96. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +7 -0
  97. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -0
  98. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +22 -0
  99. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -0
  100. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +51 -0
  101. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +2 -0
  102. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +1 -0
  103. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +4 -0
  104. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -0
  105. package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
  106. package/dist/components/core/dashboard/dashboard-utils.d.ts +2 -0
  107. package/dist/components/core/dashboard/dashboard-utils.d.ts.map +1 -0
  108. package/dist/components/core/dashboard/dashboard-utils.js +38 -0
  109. package/dist/components/core/dashboard/dashboard-utils.js.map +1 -0
  110. package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
  111. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
  112. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
  113. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
  114. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
  115. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
  116. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
  117. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
  118. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
  119. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
  120. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
  121. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
  122. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
  123. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
  124. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
  125. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
  126. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +4 -0
  127. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +1 -0
  128. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +23 -0
  129. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -0
  130. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
  131. package/dist/components/core/form/SolidFormView.js +1 -1
  132. package/dist/components/core/form/SolidFormView.js.map +1 -1
  133. package/dist/components/core/form/SolidFormView.tsx +1 -1
  134. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  135. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +11 -1
  136. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  137. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +26 -19
  138. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  139. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +13 -5
  140. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  141. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +16 -9
  142. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
  143. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
  144. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
  145. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
  146. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
  147. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
  148. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
  149. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
  150. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
  151. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
  152. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +12 -0
  153. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
  154. package/dist/components/core/kanban/SolidKanbanViewFields.js +145 -0
  155. package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -0
  156. package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
  157. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +2 -0
  158. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -0
  159. package/dist/components/core/kanban/SolidManyToOneFilterElement.js +87 -0
  160. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -0
  161. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
  162. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +2 -0
  163. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
  164. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +73 -0
  165. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -0
  166. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
  167. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +2 -0
  168. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +1 -0
  169. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +20 -0
  170. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -0
  171. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
  172. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +12 -0
  173. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +1 -0
  174. package/dist/components/core/kanban/SolidVarInputsFilterElement.js +81 -0
  175. package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -0
  176. package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
  177. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +4 -0
  178. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +1 -0
  179. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +7 -0
  180. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -0
  181. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
  182. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +4 -0
  183. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +1 -0
  184. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +8 -0
  185. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -0
  186. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
  187. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +4 -0
  188. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +1 -0
  189. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +21 -0
  190. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -0
  191. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
  192. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +4 -0
  193. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +1 -0
  194. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +8 -0
  195. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -0
  196. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
  197. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +4 -0
  198. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +1 -0
  199. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +8 -0
  200. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -0
  201. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
  202. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +4 -0
  203. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +1 -0
  204. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +7 -0
  205. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -0
  206. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
  207. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +4 -0
  208. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +1 -0
  209. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +8 -0
  210. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -0
  211. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
  212. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +4 -0
  213. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +1 -0
  214. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +7 -0
  215. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -0
  216. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
  217. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +4 -0
  218. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +1 -0
  219. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +8 -0
  220. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -0
  221. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
  222. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +4 -0
  223. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +1 -0
  224. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +16 -0
  225. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -0
  226. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
  227. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +4 -0
  228. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +1 -0
  229. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +7 -0
  230. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -0
  231. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
  232. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +4 -0
  233. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -0
  234. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +56 -0
  235. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -0
  236. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
  237. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +4 -0
  238. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -0
  239. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +42 -0
  240. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -0
  241. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
  242. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +4 -0
  243. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +1 -0
  244. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +11 -0
  245. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -0
  246. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
  247. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +4 -0
  248. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +1 -0
  249. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +7 -0
  250. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -0
  251. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
  252. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +4 -0
  253. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +1 -0
  254. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +8 -0
  255. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -0
  256. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
  257. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +4 -0
  258. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +1 -0
  259. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +8 -0
  260. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -0
  261. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
  262. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +4 -0
  263. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -0
  264. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +37 -0
  265. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -0
  266. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
  267. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +4 -0
  268. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +1 -0
  269. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +8 -0
  270. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -0
  271. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
  272. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +4 -0
  273. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +1 -0
  274. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +8 -0
  275. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -0
  276. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
  277. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +4 -0
  278. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +1 -0
  279. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +7 -0
  280. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
  281. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
  282. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  283. package/dist/components/core/list/SolidDataTable.js +1 -1
  284. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  285. package/dist/components/core/list/SolidDataTable.tsx +1 -0
  286. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +2 -0
  287. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -0
  288. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +39 -0
  289. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -0
  290. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +40 -0
  291. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +12 -0
  292. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +1 -0
  293. package/dist/components/core/list/SolidVarInputsFilterElement.js +81 -0
  294. package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -0
  295. package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
  296. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
  297. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
  298. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
  299. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
  300. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
  301. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
  302. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
  303. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
  304. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
  305. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
  306. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
  307. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
  308. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
  309. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
  310. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
  311. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
  312. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  313. package/dist/components/core/model/FieldMetaDataForm.js +119 -102
  314. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  315. package/dist/components/core/model/FieldMetaDataForm.tsx +82 -39
  316. package/dist/components/core/model/FieldSelector.d.ts +5 -1
  317. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  318. package/dist/components/core/model/FieldSelector.js +25 -6
  319. package/dist/components/core/model/FieldSelector.js.map +1 -1
  320. package/dist/components/core/model/FieldSelector.tsx +50 -5
  321. package/dist/components/layout/DashboardHeader.d.ts +3 -0
  322. package/dist/components/layout/DashboardHeader.d.ts.map +1 -0
  323. package/dist/components/layout/DashboardHeader.js +20 -0
  324. package/dist/components/layout/DashboardHeader.js.map +1 -0
  325. package/dist/components/layout/DashboardHeader.tsx +94 -0
  326. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  327. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  328. package/dist/components/shad-cn-ui/SolidSelect.js +12 -4
  329. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  330. package/dist/components/shad-cn-ui/SolidSelect.tsx +13 -1
  331. package/dist/helpers/# no such endpoints exist, need to calle +3 -0
  332. package/dist/helpers/ToastContainer.d.ts +4 -0
  333. package/dist/helpers/ToastContainer.d.ts.map +1 -0
  334. package/dist/helpers/ToastContainer.js +49 -0
  335. package/dist/helpers/ToastContainer.js.map +1 -0
  336. package/dist/helpers/ToastContainer.tsx +94 -0
  337. package/dist/helpers/showToast.d.ts +5 -0
  338. package/dist/helpers/showToast.d.ts.map +1 -0
  339. package/dist/helpers/showToast.js +17 -0
  340. package/dist/helpers/showToast.js.map +1 -0
  341. package/dist/helpers/showToast.ts +13 -0
  342. package/dist/helpers/studioSandbox.d.ts +31 -0
  343. package/dist/helpers/studioSandbox.d.ts.map +1 -0
  344. package/dist/helpers/studioSandbox.js +104 -0
  345. package/dist/helpers/studioSandbox.js.map +1 -0
  346. package/dist/helpers/studioSandbox.ts +117 -0
  347. package/dist/nextAuth/authProviders.d.ts +4 -0
  348. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  349. package/dist/nextAuth/authProviders.js +198 -0
  350. package/dist/nextAuth/authProviders.js.map +1 -0
  351. package/dist/nextAuth/authProviders.tsx +232 -0
  352. package/dist/nextAuth/handleLogout.d.ts +2 -0
  353. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  354. package/dist/nextAuth/handleLogout.js +36 -0
  355. package/dist/nextAuth/handleLogout.js.map +1 -0
  356. package/dist/nextAuth/handleLogout.tsx +39 -0
  357. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  358. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  359. package/dist/nextAuth/refreshAccessToken.js +24 -0
  360. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  361. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  362. package/dist/redux/api/dashboardApi.d.ts +23 -0
  363. package/dist/redux/api/dashboardApi.d.ts.map +1 -0
  364. package/dist/redux/api/dashboardApi.js +35 -0
  365. package/dist/redux/api/dashboardApi.js.map +1 -0
  366. package/dist/redux/api/dashboardApi.ts +56 -0
  367. package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
  368. package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
  369. package/dist/redux/api/dashboardLayoutApi.js +34 -0
  370. package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
  371. package/dist/redux/api/dashboardLayoutApi.ts +55 -0
  372. package/dist/redux/api/dashboardQuestionApi.d.ts +5 -0
  373. package/dist/redux/api/dashboardQuestionApi.d.ts.map +1 -0
  374. package/dist/redux/api/dashboardQuestionApi.js +18 -0
  375. package/dist/redux/api/dashboardQuestionApi.js.map +1 -0
  376. package/dist/redux/api/dashboardQuestionApi.ts +17 -0
  377. package/dist/redux/api/datasourceIntrospectionApi.d.ts +1 -0
  378. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  379. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  380. package/dist/redux/api/datasourceIntrospectionApi.ts +1 -0
  381. package/dist/redux/features/settingsSlice.d.ts +20 -0
  382. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  383. package/dist/redux/features/settingsSlice.js +39 -0
  384. package/dist/redux/features/settingsSlice.js.map +1 -0
  385. package/dist/redux/features/settingsSlice.ts +60 -0
  386. package/dist/resources/images/Footerbg.png +0 -0
  387. package/dist/resources/images/LoginBanner.png +0 -0
  388. package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
  389. package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
  390. package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
  391. package/dist/resources/images/dashboard/image 5.svg +9 -0
  392. package/dist/resources/images/loginhero.png +0 -0
  393. package/dist/resources/images/logo.png +0 -0
  394. package/dist/resources/images/radix-logo-white.png +0 -0
  395. package/dist/resources/images/radix-logo.png +0 -0
  396. package/dist/resources/images/signupBanner.png +0 -0
  397. package/dist/resources/shadcn-base.css +16 -70
  398. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +12 -0
  399. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  400. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +160 -59
  401. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  402. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +293 -41
  403. package/package.json +1 -1
  404. package/dist/helpers/modulePackageResumeState.d.ts +0 -6
  405. package/dist/helpers/modulePackageResumeState.d.ts.map +0 -1
  406. package/dist/helpers/modulePackageResumeState.js +0 -46
  407. package/dist/helpers/modulePackageResumeState.js.map +0 -1
  408. package/dist/helpers/modulePackageResumeState.ts +0 -57
@@ -0,0 +1,348 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { SolidAutocomplete, SolidButton, SolidDatePicker, SolidDialog, SolidDivider, SolidSelect } from "../../shad-cn-ui";
3
+ import { SqlExpression } from "../../../types/solid-core";
4
+ import { DashboardVariableRecord } from "./SolidDashboard";
5
+ import { useLazyGetDashboardVariableSelectionDynamicValuesQuery } from "../../../redux/api/dashboardApi";
6
+ type AutoCompleteCompleteEvent = { query: string };
7
+
8
+ interface DashboardFilterProps {
9
+ dashboardVariables: DashboardVariableRecord[];
10
+ initialFilters: SqlExpression[];
11
+ onApply: (filters: SqlExpression[]) => void;
12
+ visible: boolean;
13
+ onHide: () => void;
14
+ }
15
+
16
+ const getNumberOfInputs = (matchMode: any): number | null => {
17
+ switch (matchMode) {
18
+ case '$between': return 2;
19
+ case '$in': case '$notIn': return null;
20
+ case '$startsWith': case '$contains': case '$notContains': case '$endsWith': case '$equals': case '$notEquals': case '$lt': case '$lte': case '$gt': case '$gte': return 1;
21
+ case '$null': case '$notNull': return 0;
22
+ default: return 1;
23
+ }
24
+ }
25
+
26
+ const dateFilterMatchModeOptions = [
27
+ { label: 'Equals', value: "$eq" },
28
+ { label: 'Not Equals', value: "$nei" },
29
+ { label: 'Less Than', value: "$lt" },
30
+ { label: 'Less Than Or Equal', value: "$lte" },
31
+ { label: 'Greater Than', value: "$gt" },
32
+ { label: 'Greater Than Or Equal', value: "$gte" },
33
+ { label: 'In', value: "$in" },
34
+ { label: 'Not In', value: "$notIn" },
35
+ { label: 'Between', value: "$between" }
36
+ ];
37
+
38
+ const selectionFilterMatchModeOptions = [
39
+ { label: 'In', value: "$in" },
40
+ { label: 'Not In', value: "$notIn" }
41
+ ];
42
+
43
+ const FilterValueInput = ({ rule, onChange }: any) => {
44
+ const numberOfInputs = getNumberOfInputs(rule.matchMode);
45
+
46
+ // Ensure values is an array properly sized immediately on render
47
+ let values = Array.isArray(rule.value) ? [...rule.value] : (rule.value ? [rule.value] : []);
48
+
49
+ if (numberOfInputs !== null && numberOfInputs > 0 && values.length !== numberOfInputs) {
50
+ if (values.length < numberOfInputs) {
51
+ values = [...values, ...Array(numberOfInputs - values.length).fill('')];
52
+ } else {
53
+ values = values.slice(0, numberOfInputs);
54
+ }
55
+ }
56
+ if (values.length === 0 && (numberOfInputs === null || numberOfInputs > 0)) {
57
+ values = [''];
58
+ }
59
+
60
+ const updateValue = (index: number, val: any) => {
61
+ const newValues = [...values];
62
+ newValues[index] = val;
63
+ onChange(rule.id, 'value', numberOfInputs === 1 ? newValues[0] : newValues);
64
+ };
65
+
66
+ const addInput = () => {
67
+ const newValues = [...values, ''];
68
+ onChange(rule.id, 'value', newValues);
69
+ };
70
+
71
+ const deleteInput = (index: number) => {
72
+ if (values.length > 1) {
73
+ const newValues = values.filter((_: any, i: number) => i !== index);
74
+ onChange(rule.id, 'value', newValues);
75
+ }
76
+ };
77
+
78
+ // Components for actual rendering
79
+ const renderDate = (val: any, index: number) => {
80
+ let dateVal = val ? new Date(val) : null;
81
+ if (isNaN(dateVal?.getTime() || 0)) dateVal = null;
82
+ return (
83
+ <SolidDatePicker
84
+ selected={dateVal || undefined}
85
+ onChange={(nextDate: Date | null) => {
86
+ const dateStr = nextDate ? nextDate.toISOString().split('T')[0] : '';
87
+ updateValue(index, dateStr);
88
+ }}
89
+ dateFormat="MM/dd/yyyy"
90
+ placeholderText="mm/dd/yyyy"
91
+ className="w-full"
92
+ inputClassName="w-full text-sm"
93
+ />
94
+ );
95
+ };
96
+
97
+ const SelectionStaticInput = ({ val, index, updateValue, dv }: any) => {
98
+ const [filteredItems, setFilteredItems] = useState<{ label: string, value: string }[]>([]);
99
+ const staticValues = JSON.parse(dv.selectionStaticValues || '[]') || [];
100
+ const staticValueItems = staticValues.map((v: any) => ({ value: v.split(':')[0], label: v.split(':')[1] }));
101
+
102
+ const search = (event: AutoCompleteCompleteEvent) => {
103
+ const query = event.query.toLowerCase();
104
+ const filtered = staticValueItems.filter((item: any) =>
105
+ item.label.toLowerCase().includes(query)
106
+ );
107
+ setFilteredItems(filtered);
108
+ };
109
+
110
+ return (
111
+ <SolidAutocomplete
112
+ value={val}
113
+ suggestions={filteredItems}
114
+ completeMethod={search}
115
+ onChange={(e) => updateValue(index, e.value)}
116
+ field="label"
117
+ dropdown
118
+ className="w-full"
119
+ inputClassName="w-full text-sm"
120
+ />
121
+ );
122
+ };
123
+
124
+ const SelectionDynamicInput = ({ val, index, updateValue, dv }: any) => {
125
+ const [filteredItems, setFilteredItems] = useState<{ label: string, value: string }[]>([]);
126
+ const [trigger] = useLazyGetDashboardVariableSelectionDynamicValuesQuery();
127
+
128
+ const search = async (event: AutoCompleteCompleteEvent) => {
129
+ const queryString = `variableId=${dv.id}&q=${event.query}`;
130
+ try {
131
+ const res = await trigger(queryString).unwrap();
132
+ const filtered = res.filter((item: any) =>
133
+ item.label.toLowerCase().includes(event.query.toLowerCase())
134
+ );
135
+ setFilteredItems(filtered);
136
+ } catch (error) {
137
+ console.error(error);
138
+ }
139
+ };
140
+
141
+ return (
142
+ <SolidAutocomplete
143
+ value={val}
144
+ suggestions={filteredItems}
145
+ completeMethod={search}
146
+ onChange={(e) => updateValue(index, e.value)}
147
+ field="label"
148
+ dropdown
149
+ className="w-full"
150
+ inputClassName="w-full text-sm"
151
+ />
152
+ );
153
+ };
154
+
155
+ if (numberOfInputs === 0) return <></>;
156
+
157
+ return (
158
+ <div className="flex flex-column gap-2">
159
+ {values.map((val: any, index: number) => (
160
+ <div key={index} className="flex gap-2">
161
+ <div className="flex-grow-1">
162
+ {rule.variable.variableType === 'date' && renderDate(val, index)}
163
+ {rule.variable.variableType === 'selectionStatic' && <SelectionStaticInput val={val} index={index} updateValue={updateValue} dv={rule.variable} />}
164
+ {rule.variable.variableType === 'selectionDynamic' && <SelectionDynamicInput val={val} index={index} updateValue={updateValue} dv={rule.variable} />}
165
+ </div>
166
+ {numberOfInputs === null && (
167
+ <div className="flex align-items-center">
168
+ <SolidButton type="button" text severity='secondary' icon="si si-plus" size='sm' onClick={addInput} className='p-0 mr-2 target-btn' style={{ width: 30, minWidth: 30 }} />
169
+ <SolidButton type="button" text severity='secondary' icon="si si-trash" size='sm' onClick={() => deleteInput(index)} className='p-0 target-btn' style={{ width: 30, minWidth: 30 }} disabled={values.length <= 1} />
170
+ </div>
171
+ )}
172
+ </div>
173
+ ))}
174
+ </div>
175
+ );
176
+ };
177
+
178
+ export const DashboardFilter: React.FC<DashboardFilterProps> = ({
179
+ dashboardVariables,
180
+ initialFilters,
181
+ onApply,
182
+ visible,
183
+ onHide,
184
+ }) => {
185
+ const [rules, setRules] = useState<any[]>([]);
186
+
187
+ useEffect(() => {
188
+ if (visible) {
189
+ // Initialize rules based on dashboardVariables
190
+ const newRules = dashboardVariables.map((dv, index) => {
191
+ const existingFilter = initialFilters.find((f: any) => f.variableName === dv.variableName);
192
+
193
+ const defaultOperator = dv.defaultOperator || (dv.variableType === 'date' ? '$between' : '$in');
194
+
195
+ let defaultValue = null;
196
+ if (existingFilter && existingFilter.value !== undefined) {
197
+ defaultValue = existingFilter.value;
198
+ } else if (dv.defaultValue) {
199
+ try {
200
+ defaultValue = JSON.parse(dv.defaultValue || '[]');
201
+ } catch (e) {
202
+ defaultValue = null;
203
+ }
204
+ }
205
+
206
+ return {
207
+ id: index + 1,
208
+ fieldName: dv.variableName,
209
+ matchMode: existingFilter ? existingFilter.operator : defaultOperator,
210
+ value: defaultValue,
211
+ variable: dv
212
+ };
213
+ });
214
+ setRules(newRules);
215
+ }
216
+ }, [visible, dashboardVariables, initialFilters]);
217
+
218
+ const handleChange = (id: number, key: string, value: any) => {
219
+ setRules((prev) =>
220
+ prev.map((rule) => {
221
+ if (rule.id === id) {
222
+ let newVal = rule.value;
223
+ // Immediate sync of values count when operator matches
224
+ if (key === 'matchMode') {
225
+ const newNum = getNumberOfInputs(value);
226
+ let currentValues = Array.isArray(rule.value) ? [...rule.value] : (rule.value ? [rule.value] : []);
227
+ if (newNum !== null && newNum > 0) {
228
+ if (currentValues.length < newNum) {
229
+ currentValues = [...currentValues, ...Array(newNum - currentValues.length).fill('')];
230
+ } else if (currentValues.length > newNum) {
231
+ currentValues = currentValues.slice(0, newNum);
232
+ }
233
+ } else if (newNum === null && currentValues.length === 0) {
234
+ currentValues = [''];
235
+ }
236
+ newVal = newNum === 1 && currentValues.length === 1 ? currentValues[0] : currentValues;
237
+ return { ...rule, [key]: value, value: newVal };
238
+ }
239
+ return { ...rule, [key]: value };
240
+ }
241
+ return rule;
242
+ })
243
+ );
244
+ };
245
+
246
+ const handleApply = () => {
247
+ const newFilters: SqlExpression[] = rules
248
+ .filter((rule) => {
249
+ if (['$null', '$notNull'].includes(rule.matchMode)) return true;
250
+
251
+ if (rule.value === null || rule.value === undefined) return false;
252
+ if (Array.isArray(rule.value)) {
253
+ const hasValidValue = rule.value.some((v: any) => v !== '' && v !== null);
254
+ if (!hasValidValue) return false;
255
+ } else {
256
+ if (rule.value === '') return false;
257
+ }
258
+ return true;
259
+ })
260
+ .map((rule) => {
261
+ let finalValue = rule.value;
262
+ const numberOfInputs = getNumberOfInputs(rule.matchMode);
263
+ // Clean array values or extract single values
264
+ if (Array.isArray(finalValue)) {
265
+ finalValue = finalValue.filter(v => v !== null && v !== '');
266
+ if (numberOfInputs === 1 && finalValue.length > 0) {
267
+ finalValue = finalValue[0];
268
+ }
269
+ }
270
+
271
+ // For selection static/dynamic, we might have selected an object {label, value} or string
272
+ // We need to extract the 'value' if it's an object from AutoComplete selection
273
+ if (Array.isArray(finalValue)) {
274
+ finalValue = finalValue.map(v => typeof v === 'object' && v !== null && 'value' in v ? v.value : v);
275
+ } else if (typeof finalValue === 'object' && finalValue !== null && 'value' in finalValue) {
276
+ finalValue = finalValue.value;
277
+ }
278
+
279
+ return {
280
+ variableName: rule.fieldName,
281
+ operator: rule.matchMode,
282
+ value: finalValue,
283
+ }
284
+ });
285
+
286
+ onApply(newFilters);
287
+ onHide();
288
+ };
289
+
290
+ const handleClear = () => {
291
+ onApply([]);
292
+ onHide();
293
+ };
294
+
295
+ return (
296
+
297
+
298
+ <SolidDialog showHeader={false} visible={visible} className="solid-global-search-filter solid-dialog-lg" onHide={onHide}>
299
+ <div className="flex align-items-center justify-content-between px-3">
300
+ <h5 className="solid-custom-title m-0">Add Dashboard Filter</h5>
301
+ <SolidButton icon="si si-times" rounded text aria-label="Cancel" type="reset" size="sm" onClick={onHide} />
302
+ </div>
303
+ <SolidDivider className="m-0" />
304
+ <div className="p-2 lg:p-2">
305
+ <div className='primary-filter-fieldset'>
306
+ <div className="flex flex-column gap-3 py-3">
307
+
308
+ {rules.map((rule) => (
309
+ <div key={rule.id} className="grid grid-nogutter align-items-start">
310
+ <div className="col-12 md:col-4 pr-2">
311
+ <div className="p-inputtext p-disabled w-full flex align-items-center mb-2 md:mb-0" style={{ minHeight: '38px' }}>
312
+ {rule.fieldName}
313
+ </div>
314
+ </div>
315
+ <div className="col-12 md:col-4 pr-2">
316
+ <SolidSelect
317
+ value={rule.matchMode}
318
+ onChange={(e: any) => handleChange(rule.id, 'matchMode', e.value)}
319
+ options={rule.variable.variableType === 'date' ? dateFilterMatchModeOptions : selectionFilterMatchModeOptions}
320
+ placeholder="Select Operator"
321
+ className="w-full"
322
+ />
323
+ </div>
324
+ <div className="col-12 md:col-4">
325
+ <FilterValueInput rule={rule} onChange={handleChange} />
326
+ </div>
327
+ </div>
328
+ ))}
329
+ {rules.length === 0 && (
330
+ <div className="text-color-secondary italic">No variables available for this dashboard.</div>
331
+ )}
332
+ </div>
333
+ </div>
334
+ {/* <div className="flex justify-content-between align-items-center mt-4">
335
+ <Button label="Clear Filters" icon="si si-filter-slash" severity="danger" text onClick={handleClear} />
336
+ <div className="flex gap-2">
337
+ </div>
338
+ </div> */}
339
+ <div className='flex gap-3 mt-3'>
340
+ <SolidButton label="Apply" size="sm" onClick={handleApply} autoFocus />
341
+ <SolidButton type='button' label='Cancel' outlined size='sm' onClick={onHide} />
342
+ </div>
343
+
344
+ </div>
345
+ </SolidDialog>
346
+
347
+ );
348
+ };
@@ -0,0 +1,3 @@
1
+ declare const PrimeDataTableWrapper: ({ question, filters }: any) => import("react/jsx-runtime").JSX.Element;
2
+ export default PrimeDataTableWrapper;
3
+ //# sourceMappingURL=PrimeDataTableWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimeDataTableWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/core/dashboard/PrimeDataTableWrapper.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,qBAAqB,0BAA2B,GAAG,4CA+BxD,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useGetDashboardQuestionDataByIdQuery } from '../../../redux/api/dashboardQuestionApi';
3
+ import PrimeReactDatatableRenderer from "./chart-renderers/PrimeReactDatatableRenderer";
4
+ import { SolidSpinner } from "../../shad-cn-ui";
5
+ import styles from './SolidDashboard.module.css';
6
+ import qs from 'qs';
7
+ var PrimeDataTableWrapper = function (_a) {
8
+ var _b, _c, _d;
9
+ var question = _a.question, filters = _a.filters;
10
+ var queryParams = qs.stringify({ isPreview: false, filters: filters }, { arrayFormat: 'brackets' });
11
+ var _e = useGetDashboardQuestionDataByIdQuery({
12
+ id: question.id,
13
+ qs: queryParams,
14
+ }), data = _e.data, isLoading = _e.isLoading;
15
+ if (isLoading)
16
+ return _jsx(SolidSpinner, {});
17
+ var textAlign = (_b = question === null || question === void 0 ? void 0 : question.textAlign) !== null && _b !== void 0 ? _b : 'start';
18
+ return (_jsxs("div", { className: "".concat(styles.SolidChartCardWrapper, " p-4"), style: { maxHeight: '40vh', overflowY: 'auto' }, children: [_jsx("div", { className: "font-medium text-".concat(textAlign), children: question.name }), _jsx("div", { className: "mt-2 font-bold text-3xl text-".concat(textAlign), children: (_c = data === null || data === void 0 ? void 0 : data.data) === null || _c === void 0 ? void 0 : _c.kpi }), _jsx(PrimeReactDatatableRenderer, { options: JSON.parse(question === null || question === void 0 ? void 0 : question.chartOptions), visualizationData: (_d = data === null || data === void 0 ? void 0 : data.data) === null || _d === void 0 ? void 0 : _d.visualizationData })] }));
19
+ };
20
+ export default PrimeDataTableWrapper;
21
+ //# sourceMappingURL=PrimeDataTableWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimeDataTableWrapper.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/PrimeDataTableWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,2BAA2B,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAChD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,IAAM,qBAAqB,GAAG,UAAC,EAA0B;;QAAxB,QAAQ,cAAA,EAAE,OAAO,aAAA;IAC9C,IAAM,WAAW,GAAG,EAAE,CAAC,SAAS,CAC5B,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,SAAA,EAAE,EAC7B,EAAE,WAAW,EAAE,UAAU,EAAE,CAC9B,CAAC;IAEI,IAAA,KAAsB,oCAAoC,CAAC;QAC7D,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,EAAE,EAAE,WAAW;KAClB,CAAC,EAHM,IAAI,UAAA,EAAE,SAAS,eAGrB,CAAC;IAEH,IAAI,SAAS;QAAE,OAAO,KAAC,YAAY,KAAG,CAAC;IAEvC,IAAM,SAAS,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,mCAAI,OAAO,CAAC;IAEjD,OAAO,CACH,eAAK,SAAS,EAAE,UAAG,MAAM,CAAC,qBAAqB,SAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAClG,cAAK,SAAS,EAAE,2BAAoB,SAAS,CAAE,YAC1C,QAAQ,CAAC,IAAI,GACZ,EAEN,cAAK,SAAS,EAAE,uCAAgC,SAAS,CAAE,YACtD,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,GAAG,GACd,EAEN,KAAC,2BAA2B,IACxB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAC,EAC3C,iBAAiB,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,iBAAiB,GAClD,IACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC","sourcesContent":["import { useGetDashboardQuestionDataByIdQuery } from '../../../redux/api/dashboardQuestionApi';\nimport PrimeReactDatatableRenderer from \"./chart-renderers/PrimeReactDatatableRenderer\";\nimport { SolidSpinner } from \"../../shad-cn-ui\";\nimport styles from './SolidDashboard.module.css'\nimport qs from 'qs';\n\nconst PrimeDataTableWrapper = ({ question, filters }: any) => {\n const queryParams = qs.stringify(\n { isPreview: false, filters },\n { arrayFormat: 'brackets' }\n );\n\n const { data, isLoading } = useGetDashboardQuestionDataByIdQuery({\n id: question.id,\n qs: queryParams,\n });\n\n if (isLoading) return <SolidSpinner />;\n\n const textAlign = question?.textAlign ?? 'start';\n\n return (\n <div className={`${styles.SolidChartCardWrapper} p-4`} style={{ maxHeight: '40vh', overflowY: 'auto' }}>\n <div className={`font-medium text-${textAlign}`}>\n {question.name}\n </div>\n\n <div className={`mt-2 font-bold text-3xl text-${textAlign}`}>\n {data?.data?.kpi}\n </div>\n\n <PrimeReactDatatableRenderer\n options={JSON.parse(question?.chartOptions)}\n visualizationData={data?.data?.visualizationData}\n />\n </div>\n );\n};\n\nexport default PrimeDataTableWrapper;\n"]}
@@ -0,0 +1,40 @@
1
+ import { useGetDashboardQuestionDataByIdQuery } from '../../../redux/api/dashboardQuestionApi';
2
+ import PrimeReactDatatableRenderer from "./chart-renderers/PrimeReactDatatableRenderer";
3
+ import { SolidSpinner } from "../../shad-cn-ui";
4
+ import styles from './SolidDashboard.module.css'
5
+ import qs from 'qs';
6
+
7
+ const PrimeDataTableWrapper = ({ question, filters }: any) => {
8
+ const queryParams = qs.stringify(
9
+ { isPreview: false, filters },
10
+ { arrayFormat: 'brackets' }
11
+ );
12
+
13
+ const { data, isLoading } = useGetDashboardQuestionDataByIdQuery({
14
+ id: question.id,
15
+ qs: queryParams,
16
+ });
17
+
18
+ if (isLoading) return <SolidSpinner />;
19
+
20
+ const textAlign = question?.textAlign ?? 'start';
21
+
22
+ return (
23
+ <div className={`${styles.SolidChartCardWrapper} p-4`} style={{ maxHeight: '40vh', overflowY: 'auto' }}>
24
+ <div className={`font-medium text-${textAlign}`}>
25
+ {question.name}
26
+ </div>
27
+
28
+ <div className={`mt-2 font-bold text-3xl text-${textAlign}`}>
29
+ {data?.data?.kpi}
30
+ </div>
31
+
32
+ <PrimeReactDatatableRenderer
33
+ options={JSON.parse(question?.chartOptions)}
34
+ visualizationData={data?.data?.visualizationData}
35
+ />
36
+ </div>
37
+ );
38
+ };
39
+
40
+ export default PrimeDataTableWrapper;
@@ -0,0 +1,28 @@
1
+ export declare enum DashboardVariableType {
2
+ DATE = "date",
3
+ SELECTION_STATIC = "selectionStatic",
4
+ SELECTION_DYNAMIC = "selectionDynamic"
5
+ }
6
+ declare enum SOURCE_TYPE {
7
+ SQL = "sql",
8
+ PROVIDER = "provider"
9
+ }
10
+ export interface DashboardVariableRecord {
11
+ id: number;
12
+ variableName: string;
13
+ variableType: DashboardVariableType;
14
+ selectionStaticValues?: string;
15
+ selectionDynamicSourceType?: SOURCE_TYPE;
16
+ selectionDynamicProviderName?: string;
17
+ selectionDynamicSQL?: string;
18
+ isMultiSelect?: boolean;
19
+ defaultValue?: string;
20
+ defaultOperator?: string;
21
+ }
22
+ type SolidDashboardViewProps = {
23
+ moduleName: string;
24
+ dashboardName?: string;
25
+ };
26
+ declare const SolidDashboard: (params: SolidDashboardViewProps) => import("react/jsx-runtime").JSX.Element;
27
+ export default SolidDashboard;
28
+ //# sourceMappingURL=SolidDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboard.tsx"],"names":[],"mappings":"AAmBA,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,gBAAgB,oBAAoB;IACpC,iBAAiB,qBAAqB;CACvC;AAED,aAAK,WAAW;IACd,GAAG,QAAQ;IACX,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,qBAAqB,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,WAAW,CAAC;IACzC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsED,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,cAAc,WAAY,uBAAuB,4CAgJtD,CAAA;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,183 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
38
+ import { useGetDashboardQuery } from '../../../redux/api/dashboardApi';
39
+ import { SolidButton, SolidIcon, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from '../../shad-cn-ui';
40
+ import qs from 'qs';
41
+ import { useEffect, useState } from 'react';
42
+ import styles from './SolidDashboard.module.css';
43
+ import SolidDashboardBody from './SolidDashboardBody';
44
+ import { DashboardFilter } from './DashboardFilter';
45
+ // import { SolidAiMainWrapper } from '../solid-ai/SolidAiMainWrapper'; // moved to SolidX Studio panel
46
+ import { SolidDashboardFilterRequired } from './SolidDashboardFilterRequired';
47
+ import { SolidDashboardLoading } from './SolidDashboardLoading';
48
+ import { SolidDashboardRenderError } from './SolidDashboardRenderError';
49
+ import { useDispatch, useSelector } from "react-redux";
50
+ import { showNavbar, toggleNavbar } from "../../../redux/features/navbarSlice";
51
+ import SolidDashboardNotAvailable from './SolidDashboardNotAvailable';
52
+ import { showToast } from '../../../redux/features/toastSlice';
53
+ import { ERROR_MESSAGES } from '../../../constants/error-messages';
54
+ import { useUpsertUserDashboardLayoutMutation } from '../../../redux/api/dashboardLayoutApi';
55
+ export var DashboardVariableType;
56
+ (function (DashboardVariableType) {
57
+ DashboardVariableType["DATE"] = "date";
58
+ DashboardVariableType["SELECTION_STATIC"] = "selectionStatic";
59
+ DashboardVariableType["SELECTION_DYNAMIC"] = "selectionDynamic";
60
+ })(DashboardVariableType || (DashboardVariableType = {}));
61
+ var SOURCE_TYPE;
62
+ (function (SOURCE_TYPE) {
63
+ SOURCE_TYPE["SQL"] = "sql";
64
+ SOURCE_TYPE["PROVIDER"] = "provider";
65
+ })(SOURCE_TYPE || (SOURCE_TYPE = {}));
66
+ function handleDashboardData(data, setDashboardVariables, setQuestions) {
67
+ var records = data.records, meta = data.meta;
68
+ if (records && records.length > 0) {
69
+ // Set the layout options for the dashboard body
70
+ var dashboardData = records[0]; // Assuming we want the first dashboard
71
+ // Set the dashboard variables
72
+ setDashboardVariables(dashboardData.dashboardVariables || []);
73
+ // Set the dashboard questions
74
+ setQuestions(dashboardData.questions);
75
+ }
76
+ }
77
+ function getQueryParams(moduleName, dashboardName) {
78
+ var filters = {
79
+ module: {
80
+ name: {
81
+ $eq: moduleName
82
+ }
83
+ }
84
+ };
85
+ if (dashboardName !== undefined) {
86
+ filters.name = { $eqi: dashboardName };
87
+ }
88
+ var query = {
89
+ filters: filters,
90
+ populate: ['dashboardVariables', 'questions']
91
+ };
92
+ var urlQuery = qs.stringify(query, {
93
+ encodeValuesOnly: true,
94
+ });
95
+ return urlQuery;
96
+ }
97
+ // Render the dashboard body only if:
98
+ // 1. There are dashboard questions
99
+ // AND
100
+ // (
101
+ // 1. There are dashboard variables and all dashboard variable filter rules have been applied i.e (all dashboard variables have been selected)
102
+ //. OR
103
+ // 2. There are no dashboard variables
104
+ // )
105
+ //
106
+ function isRenderDashboardBody(questions, dashboardVariables, filters) {
107
+ if (questions.length === 0) {
108
+ return false;
109
+ }
110
+ if (dashboardVariables.length === 0) {
111
+ return true;
112
+ }
113
+ // Check if all dashboard variables have corresponding filters applied
114
+ var allVariablesFiltered = dashboardVariables.every(function (variable) {
115
+ return filters.some(function (filter) { return filter.variableName === variable.variableName; });
116
+ });
117
+ return allVariablesFiltered;
118
+ }
119
+ var SolidDashboard = function (params) {
120
+ var _a, _b, _c, _d, _e, _f;
121
+ var _g = useGetDashboardQuery(getQueryParams(params.moduleName, params.dashboardName)), data = _g.data, isLoading = _g.isLoading, error = _g.error; // FIXME : error handling should be done properly
122
+ // Define a state called layoutOption and pass it after destructing the widgetOptions and dashboardOptions from layoutOption
123
+ // 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?
124
+ // 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
125
+ // TODO [HP]: This is fully CONFUSED
126
+ // const [layoutOption, setLayoutOption] = useState<SolidDashboardBodyProps>({
127
+ // filters: [],
128
+ // questions: [],
129
+ // });
130
+ // TODO [HP]: replace dashboardVariableFilterRules with filters everywhere...
131
+ // const [dashboardVariableFilterRules, setDashboardVariableFilterRules] = useState<ISolidDashboardVariableFilterRule[]>([]);
132
+ var dispatch = useDispatch();
133
+ var visibleNavbar = useSelector(function (state) { var _a; return (_a = state.navbarState) === null || _a === void 0 ? void 0 : _a.visibleNavbar; });
134
+ var _h = useState([]), filters = _h[0], setFilters = _h[1];
135
+ var _j = useState([]), questions = _j[0], setQuestions = _j[1];
136
+ var _k = useState([]), dashboardVariables = _k[0], setDashboardVariables = _k[1];
137
+ var _l = useState(false), isDashboardFilterVisible = _l[0], setIsDashboardFilterVisible = _l[1];
138
+ var upsertDashboardLayout = useUpsertUserDashboardLayoutMutation()[0];
139
+ var _m = useState([]), dashboardLayout = _m[0], setDashboardLayout = _m[1];
140
+ var updateUserDashboardLayout = function () { return __awaiter(void 0, void 0, void 0, function () {
141
+ var response, error_1;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ _a.trys.push([0, 2, , 3]);
146
+ return [4 /*yield*/, upsertDashboardLayout({
147
+ dashboardId: data === null || data === void 0 ? void 0 : data.records[0].id,
148
+ layout: JSON.stringify(dashboardLayout),
149
+ }).unwrap()];
150
+ case 1:
151
+ response = _a.sent();
152
+ if (response.statusCode === 200) {
153
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY }));
154
+ }
155
+ return [3 /*break*/, 3];
156
+ case 2:
157
+ error_1 = _a.sent();
158
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.LAYOUT, detail: ERROR_MESSAGES.DASHBOARD_LAYOUT_UPDATE_FAILED }));
159
+ return [3 /*break*/, 3];
160
+ case 3: return [2 /*return*/];
161
+ }
162
+ });
163
+ }); };
164
+ useEffect(function () {
165
+ // Invoke the dashboard api to fetch the dashboard data
166
+ // console.log('Dashboard Data testing:', isLoading, data, error);
167
+ if (!isLoading && data) {
168
+ // Assuming data contains the layout options
169
+ handleDashboardData(data, setDashboardVariables, setQuestions);
170
+ }
171
+ }, [isLoading, data]);
172
+ var toggleBothSidebars = function () {
173
+ if (visibleNavbar) {
174
+ dispatch(toggleNavbar()); // close both
175
+ }
176
+ else {
177
+ dispatch(showNavbar()); // open both
178
+ }
179
+ };
180
+ return (_jsx("div", { className: "h-screen surface-0 flex", children: _jsxs("div", { className: "h-full flex-grow-1 ".concat(styles.SolidDashboardPageContentWrapper), children: [isLoading && _jsx(SolidDashboardLoading, {}), error && _jsx(SolidDashboardRenderError, {}), !isLoading && !error && data && data.records.length === 0 && (_jsx(SolidDashboardNotAvailable, {})), !isLoading && !error && data && data.records.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "page-header", style: { borderBottom: '1px solid var(--primary-light-color)' }, children: [_jsxs("div", { className: 'flex align-items-center gap-2', children: [_jsx("div", { className: "apps-icon block md:hidden cursor-pointer", onClick: toggleBothSidebars, children: _jsx(SolidIcon, { name: "si-th-large", "aria-hidden": true }) }), _jsxs("p", { className: "view-title solid-text-wrapper flex align-items-center gap-1 ".concat(styles.SolidDashboardTitle), children: [((_a = data === null || data === void 0 ? void 0 : data.records[0]) === null || _a === void 0 ? void 0 : _a.displayName) ? (_b = data === null || data === void 0 ? void 0 : data.records[0]) === null || _b === void 0 ? void 0 : _b.displayName : (_c = data === null || data === void 0 ? void 0 : data.records[0]) === null || _c === void 0 ? void 0 : _c.name, ((_d = data === null || data === void 0 ? void 0 : data.records[0]) === null || _d === void 0 ? void 0 : _d.description) && (_jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx(SolidIcon, { name: "si-info-circle", className: "solid-field-tooltip-icon", "aria-hidden": true }) }), _jsx(SolidTooltipContent, { side: "right", children: (_e = data === null || data === void 0 ? void 0 : data.records[0]) === null || _e === void 0 ? void 0 : _e.description })] }))] })] }), dashboardVariables && dashboardVariables.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("div", { className: 'flex gap-2', children: [_jsx(SolidButton, { type: "button", icon: filters.length > 0 ? "si si-filter-fill" : "si si-filter", className: "lg:hidden solid-icon-button", size: 'sm', variant: 'secondary', onClick: function () { return setIsDashboardFilterVisible(true); } }), _jsx(SolidButton, { type: "button", icon: filters.length > 0 ? "si si-filter-fill" : "si si-filter", label: "Filter", className: "hidden lg:inline-flex", size: 'sm', variant: 'secondary', onClick: function () { return setIsDashboardFilterVisible(true); } }), filters.length > 0 && (_jsx(SolidButton, { type: "button", size: "sm", icon: "si si-filter-slash", severity: "secondary", className: "solid-icon-button ", outlined: true, onClick: function () { setFilters([]); setIsDashboardFilterVisible(false); } })), _jsx(SolidButton, { type: "button", size: "sm", icon: "si si-save", severity: "secondary", className: "solid-icon-button ", outlined: true, onClick: function () { return updateUserDashboardLayout(); } })] }), _jsx(DashboardFilter, { dashboardVariables: dashboardVariables, initialFilters: filters, onApply: setFilters, visible: isDashboardFilterVisible, onHide: function () { return setIsDashboardFilterVisible(false); } })] }))] }), !isRenderDashboardBody(questions, dashboardVariables, filters) && _jsx(SolidDashboardFilterRequired, {}), isRenderDashboardBody(questions, dashboardVariables, filters) && _jsx(SolidDashboardBody, { dashboardId: (_f = data === null || data === void 0 ? void 0 : data.records[0]) === null || _f === void 0 ? void 0 : _f.id, questions: questions, filters: filters, dashboardLayout: dashboardLayout, setDashboardLayout: setDashboardLayout })] }))] }) }));
181
+ };
182
+ export default SolidDashboard;
183
+ //# sourceMappingURL=SolidDashboard.js.map