@solidstarters/solid-core-ui 1.1.205 → 1.1.207

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 (515) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +8 -8
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  5. package/dist/components/auth/GoogleAuthChecking.js +14 -6
  6. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  7. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  8. package/dist/components/auth/SolidChangeForcePassword.js +14 -6
  9. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  10. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  11. package/dist/components/auth/SolidForgotPassword.js +14 -6
  12. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  13. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  14. package/dist/components/auth/SolidInitialLoginOtp.js +77 -31
  15. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  16. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  17. package/dist/components/auth/SolidInitiateRegisterOtp.js +14 -6
  18. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  19. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  20. package/dist/components/auth/SolidLogin.js +65 -22
  21. package/dist/components/auth/SolidLogin.js.map +1 -1
  22. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -1
  23. package/dist/components/auth/SolidOTPVerify.js +14 -6
  24. package/dist/components/auth/SolidOTPVerify.js.map +1 -1
  25. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  26. package/dist/components/auth/SolidRegister.js +9 -13
  27. package/dist/components/auth/SolidRegister.js.map +1 -1
  28. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  29. package/dist/components/auth/SolidResetPassword.js +14 -6
  30. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  31. package/dist/components/common/AutoCompleteField.d.ts.map +1 -1
  32. package/dist/components/common/AutoCompleteField.js +6 -1
  33. package/dist/components/common/AutoCompleteField.js.map +1 -1
  34. package/dist/components/common/BackButton.d.ts.map +1 -1
  35. package/dist/components/common/BackButton.js +25 -19
  36. package/dist/components/common/BackButton.js.map +1 -1
  37. package/dist/components/common/CancelButton.d.ts.map +1 -1
  38. package/dist/components/common/CancelButton.js +9 -2
  39. package/dist/components/common/CancelButton.js.map +1 -1
  40. package/dist/components/common/DropzonePlaceholder.js +1 -1
  41. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  42. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  43. package/dist/components/common/GeneralSettings.js +76 -83
  44. package/dist/components/common/GeneralSettings.js.map +1 -1
  45. package/dist/components/common/MultipleSelectAutoCompleteField.d.ts.map +1 -1
  46. package/dist/components/common/MultipleSelectAutoCompleteField.js +6 -1
  47. package/dist/components/common/MultipleSelectAutoCompleteField.js.map +1 -1
  48. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -1
  49. package/dist/components/common/SingleSelectAutoCompleteField.js +6 -1
  50. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
  51. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  52. package/dist/components/common/SolidBreadcrumb.js +0 -45
  53. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  54. package/dist/components/common/SolidExport.d.ts.map +1 -1
  55. package/dist/components/common/SolidExport.js +4 -4
  56. package/dist/components/common/SolidExport.js.map +1 -1
  57. package/dist/components/common/SolidFormHeader.d.ts +1 -0
  58. package/dist/components/common/SolidFormHeader.d.ts.map +1 -1
  59. package/dist/components/common/SolidFormHeader.js +1 -1
  60. package/dist/components/common/SolidFormHeader.js.map +1 -1
  61. package/dist/components/common/SolidFormStepper.d.ts +1 -0
  62. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  63. package/dist/components/common/SolidFormStepper.js +157 -27
  64. package/dist/components/common/SolidFormStepper.js.map +1 -1
  65. package/dist/components/common/SolidModuleHome.d.ts.map +1 -1
  66. package/dist/components/common/SolidModuleHome.js +14 -2
  67. package/dist/components/common/SolidModuleHome.js.map +1 -1
  68. package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
  69. package/dist/components/common/SolidPopupContainer.js +1 -1
  70. package/dist/components/common/SolidPopupContainer.js.map +1 -1
  71. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +1 -1
  72. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  73. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +1 -1
  74. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  75. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +1 -1
  76. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  77. package/dist/components/common/SolidSettings/SolidUploadedImage.d.ts +1 -1
  78. package/dist/components/common/SolidSettings/SolidUploadedImage.d.ts.map +1 -1
  79. package/dist/components/common/SolidSettings/SolidUploadedImage.js +2 -2
  80. package/dist/components/common/SolidSettings/SolidUploadedImage.js.map +1 -1
  81. package/dist/components/common/StepperArrows/ActiveArrowStep.d.ts +2 -0
  82. package/dist/components/common/StepperArrows/ActiveArrowStep.d.ts.map +1 -0
  83. package/dist/components/common/StepperArrows/ActiveArrowStep.js +6 -0
  84. package/dist/components/common/StepperArrows/ActiveArrowStep.js.map +1 -0
  85. package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.d.ts +2 -0
  86. package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.d.ts.map +1 -0
  87. package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.js +6 -0
  88. package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.js.map +1 -0
  89. package/dist/components/common/StepperArrows/InactiveStepArrow.d.ts +2 -0
  90. package/dist/components/common/StepperArrows/InactiveStepArrow.d.ts.map +1 -0
  91. package/dist/components/common/StepperArrows/InactiveStepArrow.js +6 -0
  92. package/dist/components/common/StepperArrows/InactiveStepArrow.js.map +1 -0
  93. package/dist/components/common/solid-export.css +13 -2
  94. package/dist/components/common/solidModuleHome.module.css +30 -0
  95. package/dist/components/core/chatter/SolidChatter.d.ts +2 -1
  96. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  97. package/dist/components/core/chatter/SolidChatter.js +16 -13
  98. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  99. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  100. package/dist/components/core/chatter/SolidChatterHeader.js +5 -3
  101. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  102. package/dist/components/core/common/DateFieldViewComponent.d.ts +8 -0
  103. package/dist/components/core/common/DateFieldViewComponent.d.ts.map +1 -0
  104. package/dist/components/core/common/DateFieldViewComponent.js +22 -0
  105. package/dist/components/core/common/DateFieldViewComponent.js.map +1 -0
  106. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  107. package/dist/components/core/common/FilterComponent.js +10 -5
  108. package/dist/components/core/common/FilterComponent.js.map +1 -1
  109. package/dist/components/core/common/PDFViewer.d.ts +4 -0
  110. package/dist/components/core/common/PDFViewer.d.ts.map +1 -0
  111. package/dist/components/core/common/PDFViewer.js +99 -0
  112. package/dist/components/core/common/PDFViewer.js.map +1 -0
  113. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  114. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +2 -2
  115. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  116. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +7 -0
  117. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  118. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +15 -7
  119. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  120. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  121. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +14 -6
  122. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  123. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  124. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +15 -7
  125. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  126. package/dist/components/core/common/SolidCreateButton.d.ts +1 -1
  127. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  128. package/dist/components/core/common/SolidCreateButton.js +10 -5
  129. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  130. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.d.ts.map +1 -1
  131. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js +1 -1
  132. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js.map +1 -1
  133. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  134. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +4 -7
  135. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  136. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts.map +1 -1
  137. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js +116 -2
  138. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js.map +1 -1
  139. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  140. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -10
  141. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  142. package/dist/components/core/common/SolidGlobalSearchElement.d.ts +1 -0
  143. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  144. package/dist/components/core/common/SolidGlobalSearchElement.js +606 -301
  145. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  146. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  147. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  148. package/dist/components/core/common/SolidViewLayoutManager.d.ts +152 -0
  149. package/dist/components/core/common/SolidViewLayoutManager.d.ts.map +1 -1
  150. package/dist/components/core/common/SolidViewLayoutManager.js +254 -7
  151. package/dist/components/core/common/SolidViewLayoutManager.js.map +1 -1
  152. package/dist/components/core/common/SolidXAiIframe.d.ts +7 -0
  153. package/dist/components/core/common/SolidXAiIframe.d.ts.map +1 -0
  154. package/dist/components/core/common/SolidXAiIframe.js +94 -0
  155. package/dist/components/core/common/SolidXAiIframe.js.map +1 -0
  156. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -1
  157. package/dist/components/core/dashboard/SolidDashboard.js +126 -4
  158. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
  159. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
  160. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
  161. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
  162. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
  163. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
  164. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
  165. package/dist/components/core/dashboard/SolidDashboardLoading.js +7 -0
  166. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
  167. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
  168. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
  169. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
  170. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
  171. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
  172. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
  173. package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
  174. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
  175. package/dist/components/core/dashboard/SolidDashboardVariable.js +3 -1
  176. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -1
  177. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts +8 -0
  178. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts.map +1 -0
  179. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js +7 -0
  180. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js.map +1 -0
  181. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  182. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +24 -29
  183. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  184. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  185. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -7
  186. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  187. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts +4 -0
  188. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -0
  189. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +133 -0
  190. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -0
  191. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  192. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +27 -9
  193. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  194. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +3 -3
  195. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  196. package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
  197. package/dist/components/core/field/FieldListViewData.js +1 -1
  198. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  199. package/dist/components/core/filter/SolidBooleanFilterElement.d.ts +2 -0
  200. package/dist/components/core/filter/SolidBooleanFilterElement.d.ts.map +1 -0
  201. package/dist/components/core/filter/SolidBooleanFilterElement.js +18 -0
  202. package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -0
  203. package/dist/components/core/filter/SolidFilterFields.d.ts.map +1 -1
  204. package/dist/components/core/filter/SolidFilterFields.js +3 -0
  205. package/dist/components/core/filter/SolidFilterFields.js.map +1 -1
  206. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +3 -1
  207. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
  208. package/dist/components/core/filter/SolidVarInputsFilterElement.js +20 -11
  209. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  210. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  211. package/dist/components/core/filter/fields/SolidBooleanField.js +10 -5
  212. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  213. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  214. package/dist/components/core/filter/fields/SolidDateField.js +6 -4
  215. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  216. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  217. package/dist/components/core/filter/fields/SolidDatetimeField.js +3 -3
  218. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  219. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  220. package/dist/components/core/filter/fields/SolidExternalIdField.js +5 -3
  221. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  222. package/dist/components/core/filter/fields/SolidIdField.js +1 -1
  223. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  224. package/dist/components/core/filter/fields/SolidIntField.js +7 -5
  225. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  226. package/dist/components/core/filter/fields/SolidManyToManyFilterElement.d.ts +2 -0
  227. package/dist/components/core/filter/fields/SolidManyToManyFilterElement.d.ts.map +1 -0
  228. package/dist/components/core/filter/fields/SolidManyToManyFilterElement.js +89 -0
  229. package/dist/components/core/filter/fields/SolidManyToManyFilterElement.js.map +1 -0
  230. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  231. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +6 -4
  232. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  233. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  234. package/dist/components/core/filter/fields/SolidMediaSingleField.js +6 -4
  235. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  236. package/dist/components/core/filter/fields/SolidRelationField.d.ts.map +1 -1
  237. package/dist/components/core/filter/fields/SolidRelationField.js +4 -0
  238. package/dist/components/core/filter/fields/SolidRelationField.js.map +1 -1
  239. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  240. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +5 -3
  241. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  242. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  243. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +5 -3
  244. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  245. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  246. package/dist/components/core/filter/fields/SolidShortTextField.js +6 -4
  247. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  248. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  249. package/dist/components/core/filter/fields/SolidTimeField.js +3 -3
  250. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  251. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  252. package/dist/components/core/filter/fields/SolidUuidField.js +5 -3
  253. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  254. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts +4 -0
  255. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -0
  256. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +28 -0
  257. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -0
  258. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  259. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +3 -3
  260. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  261. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  262. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  263. package/dist/components/core/form/SolidFormActionHeader.js +83 -84
  264. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  265. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  266. package/dist/components/core/form/SolidFormUserViewLayout.js +14 -6
  267. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  268. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  269. package/dist/components/core/form/SolidFormView.js +129 -55
  270. package/dist/components/core/form/SolidFormView.js.map +1 -1
  271. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  272. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +12 -10
  273. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  274. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  275. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +12 -10
  276. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  277. package/dist/components/core/form/SolidFormViewShimmerLoading.js +1 -1
  278. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  279. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  280. package/dist/components/core/form/fields/SolidBooleanField.js +61 -19
  281. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  282. package/dist/components/core/form/fields/SolidDateField.d.ts +3 -2
  283. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  284. package/dist/components/core/form/fields/SolidDateField.js +13 -4
  285. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  286. package/dist/components/core/form/fields/SolidDateTimeField.d.ts +1 -1
  287. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  288. package/dist/components/core/form/fields/SolidDateTimeField.js +6 -4
  289. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  290. package/dist/components/core/form/fields/SolidDecimalField.d.ts +1 -0
  291. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  292. package/dist/components/core/form/fields/SolidDecimalField.js +11 -2
  293. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  294. package/dist/components/core/form/fields/SolidEmailField.js +1 -1
  295. package/dist/components/core/form/fields/SolidIntegerField.d.ts +1 -0
  296. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  297. package/dist/components/core/form/fields/SolidIntegerField.js +17 -2
  298. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  299. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  300. package/dist/components/core/form/fields/SolidLongTextField.js +3 -3
  301. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  302. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  303. package/dist/components/core/form/fields/SolidMediaMultipleField.js +2 -2
  304. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  305. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  306. package/dist/components/core/form/fields/SolidMediaSingleField.js +2 -2
  307. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  308. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  309. package/dist/components/core/form/fields/SolidPasswordField.js +2 -2
  310. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  311. package/dist/components/core/form/fields/SolidRichTextField.js +1 -1
  312. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  313. package/dist/components/core/form/fields/SolidShortTextField.js +100 -27
  314. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  315. package/dist/components/core/form/fields/SolidTimeField.d.ts +1 -1
  316. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  317. package/dist/components/core/form/fields/SolidTimeField.js +19 -13
  318. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  319. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  320. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  321. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts +10 -1
  322. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  323. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +391 -28
  324. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  325. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts +16 -2
  326. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  327. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +141 -36
  328. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  329. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  330. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -1
  331. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  332. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.d.ts.map +1 -1
  333. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js +2 -1
  334. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  335. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.d.ts.map +1 -1
  336. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +3 -1
  337. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  338. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  339. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +6 -3
  340. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  341. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +7 -0
  342. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts.map +1 -0
  343. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +210 -0
  344. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -0
  345. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  346. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  347. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  348. package/dist/components/core/kanban/KanbanCard.js +6 -1
  349. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  350. package/dist/components/core/kanban/KanbanColumn.js +1 -1
  351. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  352. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  353. package/dist/components/core/kanban/KanbanUserViewLayout.js +14 -6
  354. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  355. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  356. package/dist/components/core/kanban/SolidKanbanView.js +117 -77
  357. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  358. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  359. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  360. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  361. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  362. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +3 -6
  363. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  364. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +2 -2
  365. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  366. package/dist/components/core/list/SolidListView.d.ts +1 -2
  367. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  368. package/dist/components/core/list/SolidListView.js +527 -316
  369. package/dist/components/core/list/SolidListView.js.map +1 -1
  370. package/dist/components/core/list/SolidListViewConfigure.d.ts +1 -1
  371. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  372. package/dist/components/core/list/SolidListViewConfigure.js +16 -10
  373. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  374. package/dist/components/core/list/SolidListViewHeaderButton.js +2 -2
  375. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  376. package/dist/components/core/list/SolidListViewShimmerLoading.d.ts.map +1 -1
  377. package/dist/components/core/list/SolidListViewShimmerLoading.js +1 -1
  378. package/dist/components/core/list/SolidListViewShimmerLoading.js.map +1 -1
  379. package/dist/components/core/list/SolidTableRowCell.d.ts.map +1 -1
  380. package/dist/components/core/list/SolidTableRowCell.js +6 -3
  381. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  382. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts +1 -1
  383. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  384. package/dist/components/core/list/columns/SolidBooleanColumn.js +5 -2
  385. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  386. package/dist/components/core/list/columns/SolidComputedColumn.d.ts.map +1 -1
  387. package/dist/components/core/list/columns/SolidComputedColumn.js +4 -0
  388. package/dist/components/core/list/columns/SolidComputedColumn.js.map +1 -1
  389. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  390. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -2
  391. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  392. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  393. package/dist/components/core/list/columns/SolidShortTextColumn.js +37 -1
  394. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  395. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts +2 -0
  396. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
  397. package/dist/components/core/locales/SolidChatterLocaleTabView.js +5 -5
  398. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  399. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  400. package/dist/components/core/locales/SolidLocale.js +9 -8
  401. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  402. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  403. package/dist/components/core/model/CreateModel.js +14 -6
  404. package/dist/components/core/model/CreateModel.js.map +1 -1
  405. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  406. package/dist/components/core/model/FieldMetaData.js +4 -4
  407. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  408. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  409. package/dist/components/core/model/FieldMetaDataForm.js +85 -74
  410. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  411. package/dist/components/core/model/FieldSelector.js +1 -1
  412. package/dist/components/core/model/FieldSelector.js.map +1 -1
  413. package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
  414. package/dist/components/core/model/ModelListViewData.js +1 -1
  415. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  416. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  417. package/dist/components/core/model/ModelMetaData.js +14 -7
  418. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  419. package/dist/components/core/module/CreateModule.js +6 -6
  420. package/dist/components/core/module/CreateModule.js.map +1 -1
  421. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  422. package/dist/components/core/module/ModuleListViewData.js +1 -1
  423. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  424. package/dist/components/core/solid-ai/SolidAiMainWrapper.d.ts +2 -0
  425. package/dist/components/core/solid-ai/SolidAiMainWrapper.d.ts.map +1 -0
  426. package/dist/components/core/solid-ai/SolidAiMainWrapper.js +8 -0
  427. package/dist/components/core/solid-ai/SolidAiMainWrapper.js.map +1 -0
  428. package/dist/components/core/solid-ai/SolidXAIInputBox.d.ts +3 -1
  429. package/dist/components/core/solid-ai/SolidXAIInputBox.d.ts.map +1 -1
  430. package/dist/components/core/solid-ai/SolidXAIInputBox.js +31 -14
  431. package/dist/components/core/solid-ai/SolidXAIInputBox.js.map +1 -1
  432. package/dist/components/core/solid-ai/SolidXAIModule.d.ts +1 -1
  433. package/dist/components/core/solid-ai/SolidXAIModule.d.ts.map +1 -1
  434. package/dist/components/core/solid-ai/SolidXAIModule.js +24 -33
  435. package/dist/components/core/solid-ai/SolidXAIModule.js.map +1 -1
  436. package/dist/components/core/solid-ai/SolidXAIResponse.d.ts.map +1 -1
  437. package/dist/components/core/solid-ai/SolidXAIResponse.js +5 -4
  438. package/dist/components/core/solid-ai/SolidXAIResponse.js.map +1 -1
  439. package/dist/components/core/solid-ai/SolidXAIThreadWrapper.d.ts +1 -0
  440. package/dist/components/core/solid-ai/SolidXAIThreadWrapper.d.ts.map +1 -1
  441. package/dist/components/core/solid-ai/SolidXAIThreadWrapper.js +140 -40
  442. package/dist/components/core/solid-ai/SolidXAIThreadWrapper.js.map +1 -1
  443. package/dist/components/core/solid-ai/SolidXAiJsonDisplay.d.ts.map +1 -1
  444. package/dist/components/core/solid-ai/SolidXAiJsonDisplay.js +16 -8
  445. package/dist/components/core/solid-ai/SolidXAiJsonDisplay.js.map +1 -1
  446. package/dist/components/core/solid-ai/SolidXAiPlainTextDisplay.js +9 -10
  447. package/dist/components/core/solid-ai/SolidXAiPlainTextDisplay.js.map +1 -1
  448. package/dist/components/core/solid-ai/SolidXAiStatusErrorDisplay.d.ts +7 -0
  449. package/dist/components/core/solid-ai/SolidXAiStatusErrorDisplay.d.ts.map +1 -0
  450. package/dist/components/core/solid-ai/SolidXAiStatusErrorDisplay.js +7 -0
  451. package/dist/components/core/solid-ai/SolidXAiStatusErrorDisplay.js.map +1 -0
  452. package/dist/components/core/solid-ai/SolidXUserPrompt.js +1 -1
  453. package/dist/components/core/solid-ai/SolidXUserPrompt.js.map +1 -1
  454. package/dist/components/core/users/CreateUser.js +6 -6
  455. package/dist/components/core/users/CreateUser.js.map +1 -1
  456. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  457. package/dist/components/core/users/UserListView.js +1 -1
  458. package/dist/components/core/users/UserListView.js.map +1 -1
  459. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  460. package/dist/components/layout/AdminLayout.js +11 -58
  461. package/dist/components/layout/AdminLayout.js.map +1 -1
  462. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  463. package/dist/components/layout/AppSidebar.js +11 -3
  464. package/dist/components/layout/AppSidebar.js.map +1 -1
  465. package/dist/components/layout/Layout.d.ts.map +1 -1
  466. package/dist/components/layout/Layout.js +7 -0
  467. package/dist/components/layout/Layout.js.map +1 -1
  468. package/dist/components/layout/user-profile-menu.js +1 -1
  469. package/dist/components/layout/user-profile-menu.js.map +1 -1
  470. package/dist/helpers/autoCompleteVirtualScroll.d.ts +11 -0
  471. package/dist/helpers/autoCompleteVirtualScroll.d.ts.map +1 -0
  472. package/dist/helpers/autoCompleteVirtualScroll.js +20 -0
  473. package/dist/helpers/autoCompleteVirtualScroll.js.map +1 -0
  474. package/dist/helpers/hydrateRelationRules.d.ts +3 -0
  475. package/dist/helpers/hydrateRelationRules.d.ts.map +1 -0
  476. package/dist/helpers/hydrateRelationRules.js +146 -0
  477. package/dist/helpers/hydrateRelationRules.js.map +1 -0
  478. package/dist/helpers/registry.d.ts.map +1 -1
  479. package/dist/helpers/registry.js +20 -5
  480. package/dist/helpers/registry.js.map +1 -1
  481. package/dist/nextAuth/authProviders.js +1 -1
  482. package/dist/nextAuth/authProviders.js.map +1 -1
  483. package/dist/redux/api/fieldApi.d.ts +2 -1
  484. package/dist/redux/api/fieldApi.d.ts.map +1 -1
  485. package/dist/redux/api/fieldApi.js +8 -1
  486. package/dist/redux/api/fieldApi.js.map +1 -1
  487. package/dist/redux/api/roleApi.js +1 -1
  488. package/dist/redux/api/roleApi.js.map +1 -1
  489. package/dist/redux/api/solidEntityApi.d.ts +2 -0
  490. package/dist/redux/api/solidEntityApi.d.ts.map +1 -1
  491. package/dist/redux/api/solidEntityApi.js +20 -0
  492. package/dist/redux/api/solidEntityApi.js.map +1 -1
  493. package/dist/redux/api/solidSettingsApi.d.ts +2 -1
  494. package/dist/redux/api/solidSettingsApi.d.ts.map +1 -1
  495. package/dist/redux/api/solidSettingsApi.js +4 -1
  496. package/dist/redux/api/solidSettingsApi.js.map +1 -1
  497. package/dist/redux/store/defaultStoreConfig.d.ts +20 -18
  498. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  499. package/dist/resources/globals.css +252 -18
  500. package/dist/resources/solid-primereact.css +5 -2
  501. package/dist/resources/solid-responsive.css +743 -1
  502. package/dist/resources/stylesheets/_content.scss +4 -0
  503. package/dist/resources/themes/solid-light-purple/theme.css +1 -1
  504. package/dist/types/solid-core.d.ts +33 -9
  505. package/package.json +6 -4
  506. package/src/components/common/solid-export.css +13 -2
  507. package/src/components/common/solidModuleHome.module.css +30 -0
  508. package/src/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +7 -0
  509. package/src/resources/globals.css +252 -18
  510. package/src/resources/solid-primereact.css +5 -2
  511. package/src/resources/solid-responsive.css +743 -1
  512. package/src/resources/stylesheets/_content.scss +4 -0
  513. package/src/resources/themes/solid-light-purple/theme.css +1 -1
  514. package/src/types/solid-core.d.ts +33 -9
  515. package/src/components/core/solid-ai/SolidXAI.module.css +0 -100
@@ -61,7 +61,7 @@ import { Dialog } from "primereact/dialog";
61
61
  import FilterComponent, { FilterOperator, FilterRuleType } from "../../../components/core/common/FilterComponent";
62
62
  import { Button } from "primereact/button";
63
63
  import { Divider } from "primereact/divider";
64
- import { useRouter, useSearchParams } from "next/navigation";
64
+ import { usePathname, useRouter, useSearchParams } from "next/navigation";
65
65
  import { queryStringToQueryObject } from "../list/SolidListView";
66
66
  import { InputText } from "primereact/inputtext";
67
67
  import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
@@ -69,11 +69,29 @@ import qs from "qs";
69
69
  import { useSelector } from "react-redux";
70
70
  import { SolidSaveCustomFilterForm } from "./SolidSaveCustomFilterForm";
71
71
  import { ERROR_MESSAGES } from "../../../constants/error-messages";
72
+ import { hydrateRelationRules } from "../../../helpers/hydrateRelationRules";
72
73
  var getRandomInt = function (min, max) {
73
74
  return Math.floor(Math.random() * (max - min + 1)) + min;
74
75
  };
76
+ var extractFields = function (nodes) {
77
+ if (nodes === void 0) { nodes = []; }
78
+ var result = [];
79
+ for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
80
+ var node = nodes_1[_i];
81
+ if ((node === null || node === void 0 ? void 0 : node.type) === "field") {
82
+ result.push(node);
83
+ }
84
+ if (Array.isArray(node === null || node === void 0 ? void 0 : node.children)) {
85
+ result.push.apply(result, extractFields(node.children));
86
+ }
87
+ }
88
+ return result;
89
+ };
75
90
  var transformFiltersToRules = function (filter, parentRule) {
76
91
  if (parentRule === void 0) { parentRule = null; }
92
+ if (!filter || typeof filter !== "object" || Object.keys(filter).length === 0) {
93
+ throw new Error("Invalid filter: expected a non-null object with properties");
94
+ }
77
95
  if (!filter || typeof filter !== "object") {
78
96
  throw new Error("Invalid filter: expected a non-null object");
79
97
  }
@@ -85,7 +103,16 @@ var transformFiltersToRules = function (filter, parentRule) {
85
103
  matchOperator: FilterOperator.OR,
86
104
  parentRule: parentRule,
87
105
  children: filter["$or"]
88
- .filter(function (sub) { return sub != null; }) // skip nulls
106
+ .filter(function (sub) {
107
+ // Filter out null, undefined, empty strings, and empty objects
108
+ if (sub == null)
109
+ return false;
110
+ if (typeof sub === "string" && sub.trim() === "")
111
+ return false;
112
+ if (typeof sub === "object" && Object.keys(sub).length === 0)
113
+ return false;
114
+ return true;
115
+ })
89
116
  .map(function (subFilter) { return transformFiltersToRules(subFilter, currentId); })
90
117
  };
91
118
  }
@@ -96,24 +123,51 @@ var transformFiltersToRules = function (filter, parentRule) {
96
123
  matchOperator: FilterOperator.AND,
97
124
  parentRule: parentRule,
98
125
  children: filter["$and"]
99
- .filter(function (sub) { return sub != null; })
126
+ .filter(function (sub) {
127
+ // Filter out null, undefined, empty strings, and empty objects
128
+ if (sub == null)
129
+ return false;
130
+ if (typeof sub === "string" && sub.trim() === "")
131
+ return false;
132
+ if (typeof sub === "object" && Object.keys(sub).length === 0)
133
+ return false;
134
+ return true;
135
+ })
100
136
  .map(function (subFilter) { return transformFiltersToRules(subFilter, currentId); })
101
137
  };
102
138
  }
103
139
  // Handle single rule condition
104
- for (var key in filter) {
105
- var condition = filter[key];
140
+ for (var fieldName in filter) {
141
+ var condition = filter[fieldName];
106
142
  if (!condition || typeof condition !== "object") {
107
- throw new Error("Invalid condition for field '".concat(key, "'"));
143
+ throw new Error("Invalid condition for field '".concat(fieldName, "'"));
108
144
  }
145
+ // CASE 1: relation filter → unwrap first
146
+ if ((condition === null || condition === void 0 ? void 0 : condition.id) && typeof (condition === null || condition === void 0 ? void 0 : condition.id) === "object") {
147
+ for (var matchMode in condition.id) {
148
+ var rawValue = condition.id[matchMode];
149
+ var mathcModeValue = matchMode;
150
+ return {
151
+ id: currentId,
152
+ type: FilterRuleType.RULE,
153
+ fieldName: fieldName,
154
+ matchMode: mathcModeValue,
155
+ value: Array.isArray(rawValue) ? rawValue : [rawValue],
156
+ parentRule: parentRule,
157
+ children: []
158
+ };
159
+ }
160
+ }
161
+ // CASE 2: normal field → loop stays
109
162
  for (var matchMode in condition) {
163
+ var rawValue = condition[matchMode];
164
+ var mathcModeValue = matchMode;
110
165
  return {
111
166
  id: currentId,
112
167
  type: FilterRuleType.RULE,
113
- fieldName: key,
114
- //@ts-ignore
115
- matchMode: matchMode,
116
- value: matchMode !== "$between" ? [condition[matchMode]] : condition[matchMode],
168
+ fieldName: fieldName,
169
+ matchMode: mathcModeValue,
170
+ value: Array.isArray(rawValue) ? rawValue : [rawValue],
117
171
  parentRule: parentRule,
118
172
  children: []
119
173
  };
@@ -123,27 +177,44 @@ var transformFiltersToRules = function (filter, parentRule) {
123
177
  };
124
178
  var idCounter = 1;
125
179
  var generateId = function () { return Date.now() + Math.floor(Math.random() * 1000); };
126
- var transformRulesToFilters = function (input) {
180
+ var transformRulesToFilters = function (input, viewData) {
127
181
  // Helper function to process individual rules
128
182
  var processRule = function (rule) {
129
- var _a, _b;
130
- if (rule.value && rule.value.length > 0) {
183
+ var _a, _b, _c, _d;
184
+ var _e, _f;
185
+ if (rule.value !== undefined && rule.value !== null) {
131
186
  // Ensure rule.value is always an array
132
187
  var values = typeof rule.value[0] === "object" ? rule.value.map(function (i) { return (i === null || i === void 0 ? void 0 : i.value) ? i === null || i === void 0 ? void 0 : i.value : i; }) : rule === null || rule === void 0 ? void 0 : rule.value;
133
- if (rule.matchMode !== '$in' && rule.matchMode !== '$notIn' && rule.matchMode !== '$between') {
188
+ if (rule.matchMode !== '$in' && rule.matchMode !== '$notIn' && rule.matchMode !== '$between' && rule.matchMode !== '$null' && rule.matchMode !== '$notNull') {
134
189
  values = values[0];
135
190
  }
136
- // Rule transformation
137
- var transformedRule = (_a = {},
138
- _a[rule.fieldName] = (_b = {},
139
- _b[rule.matchMode] = values // Assuming `value` is always an array with `value` and `label`
140
- ,
141
- _b),
142
- _a);
143
- // If the rule has children (which means it's a rule group), process them
191
+ var fieldMeta = (_f = (_e = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _e === void 0 ? void 0 : _e.solidFieldsMetadata) === null || _f === void 0 ? void 0 : _f[rule.fieldName];
192
+ var isManyToMany = (fieldMeta === null || fieldMeta === void 0 ? void 0 : fieldMeta.type) === 'relation' && (fieldMeta === null || fieldMeta === void 0 ? void 0 : fieldMeta.relationType) === 'many-to-many';
193
+ var transformedRule = void 0;
194
+ if (isManyToMany) {
195
+ // For many-to-many relations, always use array format for $in/$notIn
196
+ transformedRule = (_a = {},
197
+ _a[rule.fieldName] = {
198
+ id: (_b = {},
199
+ _b[rule.matchMode] = values // Keep as array
200
+ ,
201
+ _b)
202
+ },
203
+ _a);
204
+ }
205
+ else {
206
+ // Rule transformation
207
+ transformedRule = (_c = {},
208
+ _c[rule.fieldName] = (_d = {},
209
+ _d[rule.matchMode] = values // Assuming `value` is always an array with `value` and `label`
210
+ ,
211
+ _d),
212
+ _c);
213
+ }
144
214
  var processedFields = void 0;
145
215
  if (rule.children && rule.children.length > 0) {
146
- processedFields = rule.children.map(function (child) { return processRuleGroup(child); });
216
+ processedFields = rule.children.map(function (child) { return processRuleGroup(child); }).filter(function (child) { return child != null; });
217
+ ;
147
218
  }
148
219
  if (processedFields) {
149
220
  return __assign(__assign({}, transformedRule), { processedFields: processedFields });
@@ -164,13 +235,24 @@ var transformRulesToFilters = function (input) {
164
235
  // Process the rule group recursively
165
236
  return processRuleGroup(child);
166
237
  }
167
- });
238
+ }).filter(function (child) { return child != null; });
239
+ // If no valid children, return null
240
+ // if (children.length === 0) {
241
+ // return null;
242
+ // }
243
+ // If only one child, return it directly without wrapping in operator
244
+ // if (children.length === 1) {
245
+ // return children[0];
246
+ // }
168
247
  return _a = {},
169
248
  _a[operator] = children,
170
249
  _a;
171
250
  };
172
251
  // Start processing the root rule group
173
252
  var filterObject = processRuleGroup(input);
253
+ if (!filterObject) {
254
+ return {};
255
+ }
174
256
  function liftProcessedFields(filters) {
175
257
  if (!filters || typeof filters !== 'object')
176
258
  return filters;
@@ -291,6 +373,24 @@ export var mergeSearchAndCustomFilters = function (transformedFilter, newFilter,
291
373
  // Return the combined filters object
292
374
  return filters;
293
375
  };
376
+ export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilter, preDefinedFilter) {
377
+ var filters = {};
378
+ // Add only non-null filters
379
+ if (customFilter && Object.keys(customFilter).length > 0) {
380
+ filters["custom_filter_predicate"] = customFilter;
381
+ }
382
+ if (searchFilter && Object.keys(searchFilter).length > 0) {
383
+ filters["search_predicate"] = searchFilter;
384
+ }
385
+ if (savedFilter && Object.keys(savedFilter).length > 0) {
386
+ filters["saved_filter_predicate"] = savedFilter;
387
+ }
388
+ if (preDefinedFilter && Object.keys(preDefinedFilter).length > 0) {
389
+ filters["predefined_search_predicate"] = preDefinedFilter;
390
+ }
391
+ // Return the combined filters object
392
+ return filters;
393
+ };
294
394
  var SavedFilterList = function (_a) {
295
395
  var savedfilter = _a.savedfilter, activeSavedFilter = _a.activeSavedFilter, applySavedFilter = _a.applySavedFilter, openSavedCustomFilter = _a.openSavedCustomFilter, setSavedFilterTobeDeleted = _a.setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible = _a.setIsDeleteSQDialogVisible;
296
396
  return (_jsxs("div", { className: "flex align-items-center justify-content-between gap-2", children: [_jsxs("div", { children: [_jsx(Button, { text: true, size: "small", className: "text-base py-1 w-full", severity: Number(activeSavedFilter) == savedfilter.id ? "secondary" : "contrast", onClick: function () { return applySavedFilter(savedfilter); }, children: savedfilter.name }), (savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description) && _jsx("p", { className: "text-xs pl-3", children: savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description })] }), _jsxs("div", { className: "flex align-items-center gap-2", children: [_jsx(Button, { icon: "pi pi-pencil", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () { return openSavedCustomFilter(savedfilter); } }), _jsx(Button, { icon: "pi pi-trash", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () {
@@ -345,135 +445,186 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
345
445
  }
346
446
  ];
347
447
  var _b = useState(defaultState), initialState = _b[0], setInitialState = _b[1];
448
+ var pathname = usePathname();
348
449
  var searchParams = useSearchParams(); // Converts the query params to a string
349
450
  var activeSavedFilter = searchParams === null || searchParams === void 0 ? void 0 : searchParams.get("savedQuery");
350
451
  var router = useRouter();
351
452
  var chipsRef = useRef(null);
453
+ // filterRules is used to maintian the ui of custom filter
454
+ // customFilter is used to maintian the transformed filter object of custom filter
352
455
  var _c = useState(initialState), filterRules = _c[0], setFilterRules = _c[1];
353
- var _d = useState([]), fields = _d[0], setFields = _d[1];
354
- var _e = useState([]), searchableFields = _e[0], setSearchableFields = _e[1];
355
- var _f = useState([]), predefinedSearches = _f[0], setPredefinedSearches = _f[1];
356
- var _g = useState(false), showGlobalSearchElement = _g[0], setShowGlobalSearchElement = _g[1];
357
- var _h = useState(""), customChip = _h[0], setCustomChip = _h[1];
456
+ var _d = useState(null), customFilter = _d[0], setCustomFilter = _d[1];
457
+ var _e = useState([]), fields = _e[0], setFields = _e[1];
458
+ var _f = useState([]), searchableFields = _f[0], setSearchableFields = _f[1];
459
+ // used to show the list of predefined searches
460
+ var _g = useState([]), predefinedSearches = _g[0], setPredefinedSearches = _g[1];
461
+ // used to open / close the custom fitler popup
462
+ var _h = useState(false), showGlobalSearchElement = _h[0], setShowGlobalSearchElement = _h[1];
463
+ // searchChips maintain the ui to display searched query
464
+ // searchFilter maintain the transformed filter of the searched query
358
465
  var _j = useState([]), searchChips = _j[0], setSearchChips = _j[1];
359
- var _k = useState(null), predefinedSearchChip = _k[0], setPredefinedSearchChip = _k[1];
360
- var _l = useState(""), inputValue = _l[0], setInputValue = _l[1];
361
- var _m = useState(null), searchFilter = _m[0], setSearchFilter = _m[1];
362
- var _o = useState(null), customFilter = _o[0], setCustomFilter = _o[1];
363
- var _p = useState(false), hasSearched = _p[0], setHasSearched = _p[1];
364
- var _q = useState(), currentSavedFilterData = _q[0], setCurrentSavedFilterData = _q[1];
365
- var _r = useState(), savedFilterTobeDeleted = _r[0], setSavedFilterTobeDeleted = _r[1];
366
- var _s = useState(false), isDeleteSQDialogVisible = _s[0], setIsDeleteSQDialogVisible = _s[1];
367
- var _t = useState(), savedFilterQueryString = _t[0], setSavedFilterQueryString = _t[1];
368
- var _u = useState(false), showOverlay = _u[0], setShowOverlay = _u[1];
466
+ var _k = useState(null), searchFilter = _k[0], setSearchFilter = _k[1];
467
+ // predefinedSearchChip maintain the ui to display predefined searches query
468
+ var _l = useState(null), predefinedSearchChip = _l[0], setPredefinedSearchChip = _l[1];
469
+ // state to maintain the text typed in the search input box
470
+ var _m = useState(""), inputValue = _m[0], setInputValue = _m[1];
471
+ // flag to prevent un necessary re renders
472
+ var _o = useState(false), hasSearched = _o[0], setHasSearched = _o[1];
473
+ // currentSavedFilterData is used to save the whole object of saved filter
474
+ var _p = useState(), currentSavedFilterData = _p[0], setCurrentSavedFilterData = _p[1];
475
+ var _q = useState(), currentSavedFilterQuery = _q[0], setCurrentSavedFilterQuery = _q[1];
476
+ var _r = useState(), currentSavedFilterRules = _r[0], setCurrentSavedFilterRules = _r[1];
477
+ var _s = useState(false), showSavedFilterComponent = _s[0], setShowSavedFilterComponent = _s[1];
478
+ var _t = useState(), savedFilterTobeDeleted = _t[0], setSavedFilterTobeDeleted = _t[1];
479
+ var _u = useState(false), isDeleteSQDialogVisible = _u[0], setIsDeleteSQDialogVisible = _u[1];
480
+ var _v = useState(), savedFilterQueryString = _v[0], setSavedFilterQueryString = _v[1];
481
+ var _w = useState(false), showOverlay = _w[0], setShowOverlay = _w[1];
369
482
  var overlayRef = useRef(null);
370
483
  var user = useSelector(function (state) { return state.auth; }).user;
371
- var _v = useState([]), savedFilters = _v[0], setSavedFilters = _v[1];
484
+ var _x = useState(0), refreshKey = _x[0], setRefreshKey = _x[1];
485
+ var _y = useState(null), predefinedSearchBaseFilter = _y[0], setPredefinedSearchBaseFilter = _y[1];
486
+ var _z = useState([]), savedFilters = _z[0], setSavedFilters = _z[1];
487
+ var _0 = useState(false), savedFiltersLoaded = _0[0], setSavedFiltersLoaded = _0[1];
372
488
  var entityApi = createSolidEntityApi("savedFilters");
373
489
  var useCreateSolidEntityMutation = entityApi.useCreateSolidEntityMutation, useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation, useGetSolidEntityByIdQuery = entityApi.useGetSolidEntityByIdQuery, useUpdateSolidEntityMutation = entityApi.useUpdateSolidEntityMutation, useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery;
374
- var _w = useCreateSolidEntityMutation(), createEntity = _w[0], _x = _w[1], isEntityCreateSuccess = _x.isSuccess, isEntityCreateError = _x.isError, entityCreateError = _x.error;
375
- var _y = useUpdateSolidEntityMutation(), updateEntity = _y[0], _z = _y[1], isEntityUpdateSuceess = _z.isSuccess, isEntityUpdateError = _z.isError, entityUpdateError = _z.error;
376
- var _0 = useDeleteSolidEntityMutation(), deleteEntity = _0[0], _1 = _0[1], isEntityDeleteSuceess = _1.isSuccess, isEntityDeleteError = _1.isError, entityDeleteError = _1.error;
377
- var _2 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _2[0], _3 = _2[1], solidEntityListViewData = _3.data, isLoading = _3.isLoading, error = _3.error;
490
+ var _1 = useCreateSolidEntityMutation(), createEntity = _1[0], _2 = _1[1], isEntityCreateSuccess = _2.isSuccess, isEntityCreateError = _2.isError, entityCreateError = _2.error;
491
+ var _3 = useUpdateSolidEntityMutation(), updateEntity = _3[0], _4 = _3[1], isEntityUpdateSuceess = _4.isSuccess, isEntityUpdateError = _4.isError, entityUpdateError = _4.error;
492
+ var _5 = useDeleteSolidEntityMutation(), deleteEntity = _5[0], _6 = _5[1], isEntityDeleteSuceess = _6.isSuccess, isEntityDeleteError = _6.isError, entityDeleteError = _6.error;
493
+ var _7 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _7[0], _8 = _7[1], solidEntityListViewData = _8.data, isSavedFilterLoading = _8.isLoading, error = _8.error;
494
+ var _9 = useState(0), savedFilterFetchDataRefreshKey = _9[0], setSavedFilterFetchDataRefreshKey = _9[1];
378
495
  useEffect(function () {
379
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
380
- var filters = {
381
- $or: [
382
- {
383
- $and: [
384
- { model: { $in: [(_c = (_b = (_a = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.model) === null || _c === void 0 ? void 0 : _c.id] } },
385
- { view: { $in: [(_d = viewData === null || viewData === void 0 ? void 0 : viewData.solidView) === null || _d === void 0 ? void 0 : _d.id] } },
386
- { user: { $in: [(_e = user === null || user === void 0 ? void 0 : user.user) === null || _e === void 0 ? void 0 : _e.id] } },
387
- { isPrivate: { $eq: true } }
388
- ]
389
- },
390
- {
391
- $and: [
392
- { model: { $in: [(_h = (_g = (_f = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.model) === null || _h === void 0 ? void 0 : _h.id] } },
393
- { view: { $in: [(_j = viewData === null || viewData === void 0 ? void 0 : viewData.solidView) === null || _j === void 0 ? void 0 : _j.id] } },
394
- { isPrivate: { $eq: false } }
395
- ]
496
+ var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
497
+ var filters, queryData, queryString, savedFilter;
498
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
499
+ return __generator(this, function (_k) {
500
+ switch (_k.label) {
501
+ case 0:
502
+ setSavedFiltersLoaded(false);
503
+ filters = {
504
+ $or: [
505
+ {
506
+ $and: [
507
+ { model: { $in: [(_c = (_b = (_a = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.model) === null || _c === void 0 ? void 0 : _c.id] } },
508
+ { view: { $in: [(_d = viewData === null || viewData === void 0 ? void 0 : viewData.solidView) === null || _d === void 0 ? void 0 : _d.id] } },
509
+ { user: { $in: [(_e = user === null || user === void 0 ? void 0 : user.user) === null || _e === void 0 ? void 0 : _e.id] } },
510
+ { isPrivate: { $eq: true } }
511
+ ]
512
+ },
513
+ {
514
+ $and: [
515
+ { model: { $in: [(_h = (_g = (_f = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.model) === null || _h === void 0 ? void 0 : _h.id] } },
516
+ { view: { $in: [(_j = viewData === null || viewData === void 0 ? void 0 : viewData.solidView) === null || _j === void 0 ? void 0 : _j.id] } },
517
+ { isPrivate: { $eq: false } }
518
+ ]
519
+ }
520
+ ]
521
+ };
522
+ queryData = {
523
+ offset: 0,
524
+ limit: 10,
525
+ filters: filters,
526
+ populate: ["model", "view", "user"],
527
+ sort: ["id:desc"],
528
+ };
529
+ queryString = qs.stringify(queryData, { encodeValuesOnly: true });
530
+ setSavedFilterQueryString(queryString);
531
+ return [4 /*yield*/, triggerGetSolidEntities(queryString).unwrap()];
532
+ case 1:
533
+ savedFilter = _k.sent();
534
+ if (savedFilter) {
535
+ console.log("savedFilter", savedFilter);
536
+ setSavedFilters(savedFilter === null || savedFilter === void 0 ? void 0 : savedFilter.records);
537
+ setSavedFiltersLoaded(true);
538
+ }
539
+ return [2 /*return*/];
396
540
  }
397
- ]
398
- };
399
- var queryData = {
400
- offset: 0,
401
- limit: 10,
402
- filters: filters,
403
- populate: ["model", "view", "user"],
404
- sort: ["id:desc"],
405
- };
406
- var queryString = qs.stringify(queryData, { encodeValuesOnly: true });
407
- setSavedFilterQueryString(queryString);
408
- triggerGetSolidEntities(queryString);
409
- }, [searchParams]);
410
- useEffect(function () {
411
- if (solidEntityListViewData) {
412
- setSavedFilters(solidEntityListViewData.records);
413
- }
414
- }, [solidEntityListViewData]);
541
+ });
542
+ }); };
543
+ fn();
544
+ }, [activeSavedFilter, savedFilterFetchDataRefreshKey]);
415
545
  useImperativeHandle(ref, function () { return ({
416
546
  clearFilter: function () {
417
547
  setFilterRules(initialState);
418
548
  }
419
549
  }); });
420
550
  useEffect(function () {
421
- var searchChips;
422
- var customChips;
423
- var parsedSearchParams = searchParams;
424
- var savedQuery = parsedSearchParams === null || parsedSearchParams === void 0 ? void 0 : parsedSearchParams.get("savedQuery");
425
- if (savedQuery && savedFilters.length > 0) {
426
- var currentSavedFilterId_1 = Number(savedQuery);
427
- var currentSavedFilterData_1 = savedFilters.find(function (savedFilter) { return savedFilter.id === currentSavedFilterId_1; });
428
- setCurrentSavedFilterData(currentSavedFilterData_1);
429
- if (currentSavedFilterData_1) {
430
- var filterJson = JSON.parse(currentSavedFilterData_1 === null || currentSavedFilterData_1 === void 0 ? void 0 : currentSavedFilterData_1.filterQueryJson);
431
- if (filterJson) {
432
- searchChips = (filterJson === null || filterJson === void 0 ? void 0 : filterJson.s_filter) || null;
433
- customChips = (filterJson === null || filterJson === void 0 ? void 0 : filterJson.c_filter) || null;
551
+ var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
552
+ var searchChips, customChips, parsedSearchParams, queryObject, currentSavedFilterId_1, currentSavedFilterData_1, filterJson, finalSavedFilter, formattedChips, rules, hydratedRules;
553
+ return __generator(this, function (_a) {
554
+ switch (_a.label) {
555
+ case 0:
556
+ parsedSearchParams = searchParams;
557
+ if (!savedFiltersLoaded) return [3 /*break*/, 3];
558
+ if (activeSavedFilter && savedFilters.length === 0)
559
+ return [2 /*return*/];
560
+ queryObject = queryStringToQueryObject();
561
+ // const savedQuery = parsedSearchParams?.get("savedQuery");
562
+ if (activeSavedFilter) {
563
+ currentSavedFilterId_1 = Number(activeSavedFilter);
564
+ currentSavedFilterData_1 = savedFilters.find(function (savedFilter) { return savedFilter.id === currentSavedFilterId_1; });
565
+ setCurrentSavedFilterData(currentSavedFilterData_1);
566
+ if (currentSavedFilterData_1) {
567
+ filterJson = JSON.parse(currentSavedFilterData_1 === null || currentSavedFilterData_1 === void 0 ? void 0 : currentSavedFilterData_1.filterQueryJson);
568
+ if (filterJson) {
569
+ finalSavedFilter = filterJson;
570
+ setCurrentSavedFilterQuery(finalSavedFilter);
571
+ }
572
+ }
573
+ }
574
+ else {
575
+ setCurrentSavedFilterData(null);
576
+ setCurrentSavedFilterQuery(null);
577
+ }
578
+ if (queryObject) {
579
+ if (queryObject) {
580
+ searchChips = (queryObject === null || queryObject === void 0 ? void 0 : queryObject.search_predicate) || null;
581
+ customChips = (queryObject === null || queryObject === void 0 ? void 0 : queryObject.custom_filter_predicate) || null;
582
+ }
583
+ }
584
+ if (searchChips) {
585
+ formattedChips = searchChips === null || searchChips === void 0 ? void 0 : searchChips.$and.map(function (chip, key) {
586
+ var _a;
587
+ var chipKey = Object.keys(chip)[0]; // Get the key, e.g., "displayName"
588
+ var chipValue = (_a = chip[chipKey]) === null || _a === void 0 ? void 0 : _a.$containsi; // Get the value of "$containsi"
589
+ var chipdata = {
590
+ columnName: chipKey,
591
+ value: chipValue
592
+ };
593
+ return chipdata;
594
+ });
595
+ setSearchChips(formattedChips);
596
+ setSearchFilter(searchChips);
597
+ }
598
+ if (!(customChips && Object.keys(customChips).length !== 0)) return [3 /*break*/, 2];
599
+ setCustomFilter(customChips);
600
+ rules = transformFiltersToRules(customChips);
601
+ return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
602
+ case 1:
603
+ hydratedRules = _a.sent();
604
+ setFilterRules(hydratedRules);
605
+ _a.label = 2;
606
+ case 2:
607
+ setHasSearched(true);
608
+ setRefreshKey(function (prev) { return prev + 1; });
609
+ _a.label = 3;
610
+ case 3: return [2 /*return*/];
434
611
  }
435
- }
436
- }
437
- else {
438
- var queryObject = queryStringToQueryObject();
439
- if (queryObject) {
440
- searchChips = (queryObject === null || queryObject === void 0 ? void 0 : queryObject.s_filter) || null;
441
- customChips = (queryObject === null || queryObject === void 0 ? void 0 : queryObject.c_filter) || null;
442
- }
443
- }
444
- if (searchChips) {
445
- var formattedChips = searchChips === null || searchChips === void 0 ? void 0 : searchChips.$and.map(function (chip, key) {
446
- var _a;
447
- var chipKey = Object.keys(chip)[0]; // Get the key, e.g., "displayName"
448
- var chipValue = (_a = chip[chipKey]) === null || _a === void 0 ? void 0 : _a.$containsi; // Get the value of "$containsi"
449
- var chipdata = {
450
- columnName: chipKey,
451
- value: chipValue
452
- };
453
- return chipdata;
454
612
  });
455
- setSearchChips(formattedChips);
456
- setSearchFilter(searchChips);
457
- setHasSearched(true);
458
- }
459
- if (customChips) {
460
- setCustomFilter(customChips);
461
- var formatedCustomChips = transformFiltersToRules(customChips);
462
- setFilterRules([formatedCustomChips]);
463
- setHasSearched(true);
464
- }
465
- }, [searchParams, savedFilters]);
613
+ }); };
614
+ fn();
615
+ }, [activeSavedFilter, savedFilters, savedFiltersLoaded]);
466
616
  useEffect(function () {
467
617
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
468
618
  if ((_a = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _a === void 0 ? void 0 : _a.solidFieldsMetadata) {
469
619
  var fieldsData = (_b = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _b === void 0 ? void 0 : _b.solidFieldsMetadata;
470
620
  // console.log(`fiels data while rendering solid global search element: `);
471
621
  // console.log(fieldsData);
472
- var children_1 = (_f = (_e = (_d = (_c = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.children) !== null && _f !== void 0 ? _f : [];
622
+ var layoutChildren = (_f = (_e = (_d = (_c = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.children) !== null && _f !== void 0 ? _f : [];
623
+ var fieldElements_1 = extractFields(layoutChildren);
473
624
  var fieldsList = Object.entries(fieldsData !== null && fieldsData !== void 0 ? fieldsData : {}).map(function (_a) {
474
625
  var _b, _c, _d, _e, _f;
475
626
  var key = _a[0], value = _a[1];
476
- var viewFieldElement = children_1.find(function (f) { var _a; return ((_a = f === null || f === void 0 ? void 0 : f.attrs) === null || _a === void 0 ? void 0 : _a.name) === key; });
627
+ var viewFieldElement = fieldElements_1.find(function (f) { var _a; return ((_a = f === null || f === void 0 ? void 0 : f.attrs) === null || _a === void 0 ? void 0 : _a.name) === key; });
477
628
  return {
478
629
  name: value.displayName,
479
630
  value: key,
@@ -520,6 +671,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
520
671
  var predefinedSearchesList = ((_k = (_j = (_h = (_g = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _g === void 0 ? void 0 : _g.solidView) === null || _h === void 0 ? void 0 : _h.layout) === null || _j === void 0 ? void 0 : _j.attrs) === null || _k === void 0 ? void 0 : _k.predefinedSearches) || [];
521
672
  setPredefinedSearches(predefinedSearchesList);
522
673
  }
674
+ // used to open the
523
675
  }, []);
524
676
  useEffect(function () {
525
677
  if (chipsRef.current) {
@@ -531,15 +683,6 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
531
683
  }
532
684
  }
533
685
  }, []);
534
- // useEffect(() => {
535
- // // Get the last valid filter
536
- // const validFilters = filters?.$or?.filter((filter: any) => filter !== undefined) || [];
537
- // if (validFilters.length > 0) {
538
- // setCustomChip(validFilters.length.toString()); // Store only the number
539
- // } else {
540
- // setCustomChip(""); // Reset when no filters are present
541
- // }
542
- // }, [filters]);
543
686
  var handleAddChip = function (columnName) {
544
687
  if (inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim()) {
545
688
  var fallbackField = searchableFields[0]; // guaranteed object
@@ -555,65 +698,54 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
555
698
  setSearchChips(function (prev) { return __spreadArray(__spreadArray([], prev, true), [newChip_1], false); });
556
699
  setInputValue("");
557
700
  setHasSearched(true);
701
+ setRefreshKey(function (prev) { return prev + 1; });
558
702
  }
559
703
  };
560
704
  var clearCustomFilter = function () {
561
- var finalFilter = mergeSearchAndCustomFilters(null, searchFilter, "c_filter", "s_filter");
562
- handleApplyCustomFilter(finalFilter);
705
+ // handleApplyCustomFilter(finalFilter)
563
706
  setFilterRules(initialState);
564
707
  setCustomFilter(null);
565
- setPredefinedSearchChip(null);
566
- };
567
- var handleKeyDown = function (e) {
568
- if (e.key === "Enter" && (inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim())) {
569
- handleAddChip();
570
- e.preventDefault();
571
- setShowOverlay(false);
572
- }
573
- else if (e.key === "Backspace" && inputValue === "") {
574
- if (searchChips.length > 0) {
575
- // Remove last search chip only
576
- setSearchChips(function (prev) { return prev.slice(0, -1); });
577
- setHasSearched(true);
578
- }
579
- else if (predefinedSearchChip) {
580
- // Remove predefined search chip
581
- setPredefinedSearchChip(null);
582
- clearCustomFilter();
583
- }
584
- else if (customFilter) {
585
- // If no search chips, remove custom filter
586
- clearCustomFilter();
587
- }
588
- }
589
- };
590
- var mergeSearchAndCustomFilters = function (transformedFilter, newFilter, transformedFilterName, newFilterName) {
591
- var filters = {};
592
- // Add only non-null filters
593
- if (transformedFilter && Object.keys(transformedFilter).length > 0) {
594
- filters[transformedFilterName] = transformedFilter;
595
- }
596
- if (newFilter && Object.keys(newFilter).length > 0) {
597
- filters[newFilterName] = newFilter;
598
- }
599
- // Return the combined filters object
600
- return filters;
708
+ // setPredefinedSearchChip(null)
709
+ // setPredefinedSearchBaseFilter(null)
710
+ setHasSearched(true);
711
+ setRefreshKey(function (prev) { return prev + 1; });
601
712
  };
602
- var transformFilterRules = function (filterRules) {
603
- var transformedFilter = transformRulesToFilters(filterRules[0]);
604
- setCustomFilter(transformedFilter);
605
- if (predefinedSearchChip && transformedFilter) {
606
- setPredefinedSearchBaseFilter(null);
607
- }
608
- if (transformedFilter) {
609
- var finalFilter = mergeSearchAndCustomFilters(transformedFilter, searchFilter, "c_filter", "s_filter");
610
- handleApplyCustomFilter(finalFilter);
611
- }
713
+ var transformCustomFilterRules = function (filterRules) {
714
+ var transformedFilter = transformRulesToFilters(filterRules[0], viewData);
715
+ // If there's a predefined search, merge it with the new custom filter
716
+ var finalCustomFilter = transformedFilter;
717
+ // if (predefinedSearchChip && predefinedSearchBaseFilter) {
718
+ // // Combine predefined filter with new custom filter
719
+ // finalCustomFilter = {
720
+ // $and: [predefinedSearchBaseFilter, transformedFilter]
721
+ // };
722
+ // }
723
+ setCustomFilter(finalCustomFilter);
724
+ // handleApplyCustomFilter(finalFilter);
612
725
  setShowGlobalSearchElement(false);
726
+ setHasSearched(true);
727
+ setRefreshKey(function (prev) { return prev + 1; });
728
+ };
729
+ var transformSavedFilterRules = function (filterRules) {
730
+ var transformedFilter = transformRulesToFilters(filterRules[0], viewData);
731
+ // If there's a predefined search, merge it with the new custom filter
732
+ var finalCustomFilter = transformedFilter;
733
+ // if (predefinedSearchChip && predefinedSearchBaseFilter) {
734
+ // // Combine predefined filter with new custom filter
735
+ // finalCustomFilter = {
736
+ // $and: [predefinedSearchBaseFilter, transformedFilter]
737
+ // };
738
+ // }
739
+ setCurrentSavedFilterQuery(finalCustomFilter);
740
+ // handleApplyCustomFilter(finalFilter);
741
+ setShowSavedFilterComponent(false);
742
+ setHasSearched(true);
743
+ setRefreshKey(function (prev) { return prev + 1; });
613
744
  };
614
745
  useEffect(function () {
615
- if (hasSearched === true) {
616
- // console.log("searchChips", searchChips);
746
+ if (refreshKey > 0) {
747
+ console.log("refres", refreshKey);
748
+ console.log("hasSearched", hasSearched);
617
749
  var formattedChips = {
618
750
  $and: searchChips.map(function (chip) {
619
751
  var _a;
@@ -625,52 +757,21 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
625
757
  });
626
758
  })
627
759
  };
628
- // console.log("formattedChips", formattedChips);
629
- // if (formattedChips.$and.length > 0) {
630
- var transformedFilter = tranformSearchToFilters(formattedChips);
631
- setSearchFilter(transformedFilter);
632
- var finalFilter = mergeSearchAndCustomFilters(transformedFilter, customFilter, "s_filter", "c_filter");
760
+ var finalSearchFilter = tranformSearchToFilters(formattedChips);
761
+ setSearchFilter(finalSearchFilter);
762
+ var finalSavedFilter = currentSavedFilterQuery;
763
+ var finalPredefinedFilter = predefinedSearchBaseFilter;
764
+ var finalCustomFilter = customFilter;
765
+ console.log("finalCustomFilter", finalCustomFilter);
766
+ console.log("finalPredefinedFilter", finalPredefinedFilter);
767
+ console.log("finalSavedFilter", finalSavedFilter);
768
+ console.log("finalSearchFilter", finalSearchFilter);
769
+ var finalFilter = mergeAllDiffFilters(finalCustomFilter, finalSearchFilter, finalSavedFilter, finalPredefinedFilter);
633
770
  handleApplyCustomFilter(finalFilter);
634
771
  // }
635
772
  }
636
- }, [searchChips, hasSearched]);
637
- var _4 = useState(null), predefinedSearchBaseFilter = _4[0], setPredefinedSearchBaseFilter = _4[1];
773
+ }, [refreshKey]);
638
774
  // Handle predefined search selection
639
- var handlePredefinedSearch = function (predefinedSearch) {
640
- if (!(inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim()))
641
- return;
642
- if (!(predefinedSearch === null || predefinedSearch === void 0 ? void 0 : predefinedSearch.filters)) {
643
- console.error('Invalid predefined search: missing filters', predefinedSearch);
644
- return;
645
- }
646
- try {
647
- // Replace {{search}} placeholders with actual search value
648
- var processedFilter = replacePlaceholders(predefinedSearch.filters, inputValue.trim());
649
- // Clear all existing filters and searches
650
- setSearchChips([]);
651
- setSearchFilter(null);
652
- setFilterRules(initialState);
653
- // Set the predefined search chip
654
- setPredefinedSearchChip({
655
- name: predefinedSearch.name,
656
- value: inputValue.trim()
657
- });
658
- setPredefinedSearchBaseFilter(processedFilter);
659
- // Apply the predefined search filter as custom filter
660
- setCustomFilter(processedFilter);
661
- // Apply the filter
662
- var finalFilter = mergeSearchAndCustomFilters(processedFilter, null, "c_filter", "s_filter");
663
- handleApplyCustomFilter(finalFilter);
664
- // Clear input and close overlay
665
- setInputValue("");
666
- setShowOverlay(false);
667
- setHasSearched(true);
668
- }
669
- catch (error) {
670
- console.error('Error applying predefined search:', error);
671
- // Optionally show user-friendly error message
672
- }
673
- };
674
775
  var hasCustomFilterChanged = function () {
675
776
  if (!predefinedSearchChip || !customFilter || !predefinedSearchBaseFilter) {
676
777
  return false;
@@ -678,49 +779,90 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
678
779
  // Deep comparison to check if filter has changed
679
780
  return JSON.stringify(customFilter) !== JSON.stringify(predefinedSearchBaseFilter);
680
781
  };
681
- // Saved Filter related
682
- var applySavedFilter = function (savedfilter) {
683
- // push the savedQuery=1 in url
684
- if (savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.id) {
685
- router.push("?savedQuery=".concat(savedfilter.id));
686
- }
687
- else {
688
- console.error(ERROR_MESSAGES.SAVE_FILTER_UNDEFINED_NULL);
689
- }
690
- };
691
- var openSavedCustomFilter = function (savedfilter) {
692
- //Open custom filter popup
693
- router.push("?savedQuery=".concat(savedfilter.id));
694
- setShowGlobalSearchElement(true);
695
- // dont refetch the data yet
696
- var customFilter = JSON.parse(savedfilter.filterQueryJson).c_filter;
697
- setCustomFilter(customFilter ? customFilter : null);
698
- if (customFilter) {
699
- var formatedCustomChips = transformFiltersToRules(customFilter ? customFilter : null);
700
- setFilterRules(formatedCustomChips ? [formatedCustomChips] : initialState);
701
- }
702
- };
703
- var deleteSavedFilter = function () {
704
- // delte the saved filter with id
705
- deleteEntity(savedFilterTobeDeleted);
706
- triggerGetSolidEntities(savedFilterQueryString);
707
- setIsDeleteSQDialogVisible(false);
708
- var parsedSearchParams = searchParams;
709
- var savedQuery = parsedSearchParams === null || parsedSearchParams === void 0 ? void 0 : parsedSearchParams.get("savedQuery");
710
- if (savedFilterTobeDeleted === savedQuery) {
711
- var urlParams = new URLSearchParams(window.location.search);
712
- urlParams.delete("savedQuery");
713
- router.push("?".concat(urlParams.toString()));
714
- }
715
- };
782
+ var openSavedCustomFilter = function (savedfilter) { return __awaiter(void 0, void 0, void 0, function () {
783
+ var savedfilterId_1, currentSavedFilterData_2, filterJson, finalSavedFilter, rules, hydratedRules;
784
+ return __generator(this, function (_a) {
785
+ switch (_a.label) {
786
+ case 0:
787
+ //Open custom filter popup
788
+ // router.push(`?savedQuery=${savedfilter.id}`);
789
+ // setShowGlobalSearchElement(true);
790
+ // // dont refetch the data yet
791
+ // const customFilter = JSON.parse(savedfilter.filterQueryJson);
792
+ // setCustomFilter(customFilter ? customFilter : null);
793
+ // if (customFilter) {
794
+ // const formatedCustomChips: FilterRule = transformFiltersToRules(customFilter ? customFilter : null);
795
+ // setFilterRules(formatedCustomChips ? [formatedCustomChips] : initialState);
796
+ // }
797
+ setSearchChips([]);
798
+ setSearchFilter(null);
799
+ setFilterRules(initialState);
800
+ setCustomFilter(null);
801
+ setPredefinedSearchChip(null);
802
+ setPredefinedSearchBaseFilter(null);
803
+ if (!(savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.id)) return [3 /*break*/, 3];
804
+ savedfilterId_1 = savedfilter.id;
805
+ // router.push(`?savedQuery=${savedfilter.id}`);
806
+ setShowOverlay(false);
807
+ currentSavedFilterData_2 = savedFilters.find(function (savedFilter) { return savedFilter.id === savedfilterId_1; });
808
+ setCurrentSavedFilterData(currentSavedFilterData_2);
809
+ if (!currentSavedFilterData_2) return [3 /*break*/, 2];
810
+ filterJson = JSON.parse(currentSavedFilterData_2 === null || currentSavedFilterData_2 === void 0 ? void 0 : currentSavedFilterData_2.filterQueryJson);
811
+ if (!filterJson) return [3 /*break*/, 2];
812
+ finalSavedFilter = filterJson;
813
+ setCurrentSavedFilterQuery(finalSavedFilter);
814
+ rules = transformFiltersToRules(finalSavedFilter ? finalSavedFilter : null);
815
+ return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
816
+ case 1:
817
+ hydratedRules = _a.sent();
818
+ setCurrentSavedFilterRules(hydratedRules ? hydratedRules : initialState);
819
+ setShowSavedFilterComponent(true);
820
+ _a.label = 2;
821
+ case 2: return [3 /*break*/, 4];
822
+ case 3:
823
+ console.error(ERROR_MESSAGES.SAVE_FILTER_UNDEFINED_NULL);
824
+ _a.label = 4;
825
+ case 4: return [2 /*return*/];
826
+ }
827
+ });
828
+ }); };
829
+ var deleteSavedFilter = function () { return __awaiter(void 0, void 0, void 0, function () {
830
+ var parsedSearchParams, savedQuery, urlParams;
831
+ return __generator(this, function (_a) {
832
+ switch (_a.label) {
833
+ case 0:
834
+ // delte the saved filter with id
835
+ return [4 /*yield*/, deleteEntity(savedFilterTobeDeleted)];
836
+ case 1:
837
+ // delte the saved filter with id
838
+ _a.sent();
839
+ parsedSearchParams = searchParams;
840
+ savedQuery = parsedSearchParams === null || parsedSearchParams === void 0 ? void 0 : parsedSearchParams.get("savedQuery");
841
+ if (savedFilterTobeDeleted == savedQuery) {
842
+ urlParams = new URLSearchParams(window.location.search);
843
+ urlParams.delete("savedQuery");
844
+ router.push("?".concat(urlParams.toString()));
845
+ }
846
+ setIsDeleteSQDialogVisible(false);
847
+ setTimeout(function () {
848
+ setSavedFilterFetchDataRefreshKey(function (prev) { return prev + 1; });
849
+ }, 500);
850
+ return [2 /*return*/];
851
+ }
852
+ });
853
+ }); };
716
854
  var handleSaveFilter = function (formValues) { return __awaiter(void 0, void 0, void 0, function () {
717
- var filterJson, formData, result;
718
- var _a, _b, _c, _d, _e, _f;
719
- return __generator(this, function (_g) {
720
- switch (_g.label) {
855
+ var filterJson, formData, currentPageUrl, filterJson, formData, result_1, currentPageUrl, error_1;
856
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
857
+ return __generator(this, function (_o) {
858
+ switch (_o.label) {
721
859
  case 0:
722
- filterJson = mergeSearchAndCustomFilters(customFilter, searchFilter, "c_filter", "s_filter");
723
860
  setShowSaveFilterPopup(false);
861
+ _o.label = 1;
862
+ case 1:
863
+ _o.trys.push([1, 6, , 7]);
864
+ if (!formValues.id) return [3 /*break*/, 3];
865
+ filterJson = currentSavedFilterQuery;
724
866
  formData = new FormData();
725
867
  formData.append("name", formValues.name);
726
868
  formData.append("filterQueryJson", JSON.stringify(filterJson, null, 2));
@@ -728,37 +870,53 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
728
870
  formData.append("viewId", (_e = (_d = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _d === void 0 ? void 0 : _d.solidView) === null || _e === void 0 ? void 0 : _e.id);
729
871
  formData.append("isPrivate", formValues.isPrivate);
730
872
  formData.append("userId", (_f = user === null || user === void 0 ? void 0 : user.user) === null || _f === void 0 ? void 0 : _f.id);
731
- if (!formValues.id) return [3 /*break*/, 2];
732
873
  return [4 /*yield*/, updateEntity({ id: +formValues.id, data: formData }).unwrap()];
733
- case 1:
734
- _g.sent();
735
- router.push("?savedQuery=".concat(formValues.id));
736
- return [3 /*break*/, 4];
737
- case 2: return [4 /*yield*/, createEntity(formData).unwrap()];
874
+ case 2:
875
+ _o.sent();
876
+ setSearchChips([]);
877
+ setSearchFilter(null);
878
+ setFilterRules(initialState);
879
+ setCustomFilter(null);
880
+ setPredefinedSearchChip(null);
881
+ currentPageUrl = window.location.pathname;
882
+ localStorage.removeItem(currentPageUrl); // Store in local storage with the URL as the key
883
+ setPredefinedSearchBaseFilter(null);
884
+ setTimeout(function () {
885
+ router.push("?savedQuery=".concat(formValues.id));
886
+ }, 500);
887
+ return [3 /*break*/, 5];
738
888
  case 3:
739
- result = _g.sent();
740
- // localStorage.setItem(window.location.pathname, result.data.id);
741
- router.push("?savedQuery=".concat(result.data.id));
742
- _g.label = 4;
743
- case 4: return [2 /*return*/];
889
+ filterJson = customFilter;
890
+ formData = new FormData();
891
+ formData.append("name", formValues.name);
892
+ formData.append("filterQueryJson", JSON.stringify(filterJson, null, 2));
893
+ formData.append("modelId", (_j = (_h = (_g = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _g === void 0 ? void 0 : _g.solidView) === null || _h === void 0 ? void 0 : _h.model) === null || _j === void 0 ? void 0 : _j.id);
894
+ formData.append("viewId", (_l = (_k = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _k === void 0 ? void 0 : _k.solidView) === null || _l === void 0 ? void 0 : _l.id);
895
+ formData.append("isPrivate", formValues.isPrivate);
896
+ formData.append("userId", (_m = user === null || user === void 0 ? void 0 : user.user) === null || _m === void 0 ? void 0 : _m.id);
897
+ return [4 /*yield*/, createEntity(formData).unwrap()];
898
+ case 4:
899
+ result_1 = _o.sent();
900
+ setSearchChips([]);
901
+ setSearchFilter(null);
902
+ setFilterRules(initialState);
903
+ setCustomFilter(null);
904
+ setPredefinedSearchChip(null);
905
+ setPredefinedSearchBaseFilter(null);
906
+ currentPageUrl = window.location.pathname;
907
+ localStorage.removeItem(currentPageUrl); // Store in local storage with the URL as the key
908
+ setTimeout(function () {
909
+ router.push("?savedQuery=".concat(result_1.data.id));
910
+ }, 500);
911
+ _o.label = 5;
912
+ case 5: return [3 /*break*/, 7];
913
+ case 6:
914
+ error_1 = _o.sent();
915
+ return [3 /*break*/, 7];
916
+ case 7: return [2 /*return*/];
744
917
  }
745
918
  });
746
919
  }); };
747
- var groupedSearchChips = searchChips.reduce(function (acc, chip) {
748
- var key = chip.columnName;
749
- if (!key)
750
- return acc; // skip if undefined
751
- if (!acc[key]) {
752
- acc[key] = [];
753
- }
754
- acc[key].push(chip.value);
755
- return acc;
756
- }, {});
757
- var handleRemoveChipGroup = function (columnName) {
758
- var updatedChips = searchChips.filter(function (chip) { return chip.columnName !== columnName; });
759
- setSearchChips(updatedChips);
760
- setHasSearched(true);
761
- };
762
920
  useEffect(function () {
763
921
  // Explicitly type the event as a MouseEvent
764
922
  function handleClickOutside(event) {
@@ -774,8 +932,111 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
774
932
  };
775
933
  }, [showOverlay]);
776
934
  var CustomChip = function () {
777
- var _a, _b;
778
- return (_jsx("li", { children: _jsxs("div", { className: "custom-filter-chip-type", children: [_jsxs("div", { className: "flex align-items-center gap-2 text-base", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", onClick: function () { return setShowGlobalSearchElement(true); }, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsxs("span", { children: [_jsx("strong", { children: (customFilter === null || customFilter === void 0 ? void 0 : customFilter.$or) && ((_a = customFilter === null || customFilter === void 0 ? void 0 : customFilter.$or) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "".concat((_b = customFilter === null || customFilter === void 0 ? void 0 : customFilter.$or) === null || _b === void 0 ? void 0 : _b.length) : customFilter.$and.length }), " rules applied"] })] }), _jsx("a", { onClick: clearCustomFilter, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
935
+ var _a, _b, _c, _d;
936
+ console.log("customFilter", customFilter);
937
+ var ruleCount = (_d = (_b = (_a = customFilter === null || customFilter === void 0 ? void 0 : customFilter.$or) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : (_c = customFilter === null || customFilter === void 0 ? void 0 : customFilter.$and) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : Object.keys(customFilter || {}).length;
938
+ return (_jsx("li", { children: _jsxs("div", { className: "custom-filter-chip-type", children: [_jsxs("div", { className: "flex align-items-center gap-2 text-base", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", onClick: function () {
939
+ setShowGlobalSearchElement(true);
940
+ }, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsxs("span", { children: [_jsx("strong", { children: ruleCount }), " rules applied"] })] }), _jsx("a", { onClick: clearCustomFilter, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
941
+ };
942
+ //saved filter related code start
943
+ var applySavedFilter = function (savedfilter) {
944
+ setSearchChips([]);
945
+ setSearchFilter(null);
946
+ setFilterRules(initialState);
947
+ setCustomFilter(null);
948
+ setPredefinedSearchChip(null);
949
+ setPredefinedSearchBaseFilter(null);
950
+ var currentPageUrl = window.location.pathname; // Get the current page URL
951
+ localStorage.removeItem(currentPageUrl); // Store in local storage with the URL as the key
952
+ // push the savedQuery=1 in url
953
+ if (savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.id) {
954
+ router.push("?savedQuery=".concat(savedfilter.id));
955
+ setShowOverlay(false);
956
+ }
957
+ else {
958
+ console.error(ERROR_MESSAGES.SAVE_FILTER_UNDEFINED_NULL);
959
+ }
960
+ };
961
+ var removeSavedFilter = function () {
962
+ var params = new URLSearchParams(searchParams.toString());
963
+ setCurrentSavedFilterData(null);
964
+ setCurrentSavedFilterQuery(null);
965
+ if (params.has("savedQuery")) {
966
+ params.delete("savedQuery");
967
+ var newUrl = params.toString()
968
+ ? "".concat(pathname, "?").concat(params.toString())
969
+ : pathname;
970
+ router.push(newUrl);
971
+ }
972
+ };
973
+ var SavedFiltersChip = function () {
974
+ return (_jsx("li", { children: _jsxs("div", { className: "custom-filter-chip-type", children: [_jsxs("div", { className: "flex align-items-center gap-2 text-base", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", onClick: function () {
975
+ var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
976
+ var rules, hydratedRules;
977
+ return __generator(this, function (_a) {
978
+ switch (_a.label) {
979
+ case 0:
980
+ if (!currentSavedFilterQuery) return [3 /*break*/, 2];
981
+ rules = transformFiltersToRules(currentSavedFilterQuery ? currentSavedFilterQuery : null);
982
+ return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
983
+ case 1:
984
+ hydratedRules = _a.sent();
985
+ setCurrentSavedFilterRules(hydratedRules ? hydratedRules : initialState);
986
+ setShowSavedFilterComponent(true);
987
+ _a.label = 2;
988
+ case 2: return [2 /*return*/];
989
+ }
990
+ });
991
+ }); };
992
+ fn();
993
+ }, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsx("span", { children: _jsx("strong", { children: currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name }) })] }), _jsx("a", { onClick: removeSavedFilter, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
994
+ };
995
+ //saved filter related code end
996
+ // search related code start
997
+ var handleRemoveChipGroup = function (columnName) {
998
+ var updatedChips = searchChips.filter(function (chip) { return chip.columnName !== columnName; });
999
+ setSearchChips(updatedChips);
1000
+ setHasSearched(true);
1001
+ setRefreshKey(function (prev) { return prev + 1; });
1002
+ };
1003
+ var groupedSearchChips = searchChips.reduce(function (acc, chip) {
1004
+ var key = chip.columnName;
1005
+ if (!key)
1006
+ return acc; // skip if undefined
1007
+ if (!acc[key]) {
1008
+ acc[key] = [];
1009
+ }
1010
+ acc[key].push(chip.value);
1011
+ return acc;
1012
+ }, {});
1013
+ var handleKeyDown = function (e) {
1014
+ if (e.key === "Enter" && (inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim())) {
1015
+ handleAddChip();
1016
+ e.preventDefault();
1017
+ setShowOverlay(false);
1018
+ }
1019
+ else if (e.key === "Backspace" && inputValue === "") {
1020
+ if (searchChips.length > 0) {
1021
+ setSearchChips(function (prev) { return prev.slice(0, -1); });
1022
+ }
1023
+ else if (customFilter) {
1024
+ setCustomFilter(null);
1025
+ setFilterRules(initialState);
1026
+ }
1027
+ else if (predefinedSearchChip) {
1028
+ setPredefinedSearchChip(null);
1029
+ setPredefinedSearchBaseFilter(null);
1030
+ }
1031
+ else if (activeSavedFilter) {
1032
+ removeSavedFilter();
1033
+ }
1034
+ else if (activeSavedFilter) {
1035
+ clearCustomFilter();
1036
+ }
1037
+ setHasSearched(true);
1038
+ setRefreshKey(function (prev) { return prev + 1; });
1039
+ }
779
1040
  };
780
1041
  var SearchChip = function () { return (_jsx(_Fragment, { children: Object.entries(groupedSearchChips).map(function (_a) {
781
1042
  var column = _a[0], values = _a[1];
@@ -784,15 +1045,56 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
784
1045
  return (_jsx("li", { children: _jsxs("div", { className: "search-filter-chip-type", children: [_jsx("div", { children: columnDisplayName }), values.map(function (value, index) { return (_jsxs(React.Fragment, { children: [_jsx("span", { className: "custom-chip-value", children: value }, index), index < values.length - 1 &&
785
1046
  _jsx("span", { className: "custom-chip-or", children: "or" })] })); }), _jsx("i", { className: "pi pi-times ml-1", style: { cursor: "pointer" }, onClick: function () { return handleRemoveChipGroup(column); } })] }) }, column));
786
1047
  }) })); };
1048
+ // search related code end
1049
+ // predefinedfilter related code start
1050
+ var handlePredefinedSearch = function (predefinedSearch) {
1051
+ if (!(inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim()))
1052
+ return;
1053
+ if (!(predefinedSearch === null || predefinedSearch === void 0 ? void 0 : predefinedSearch.filters)) {
1054
+ console.error('Invalid predefined search: missing filters', predefinedSearch);
1055
+ return;
1056
+ }
1057
+ try {
1058
+ // Replace {{search}} placeholders with actual search value
1059
+ var processedFilter = replacePlaceholders(predefinedSearch.filters, inputValue.trim());
1060
+ // Clear all existing filters and searches
1061
+ // setSearchChips([]);
1062
+ // setSearchFilter(null);
1063
+ // setFilterRules(initialState);
1064
+ // setCustomFilter(null)
1065
+ // removeSavedFilter();
1066
+ // Set the predefined search chip
1067
+ setPredefinedSearchChip({
1068
+ name: predefinedSearch.name,
1069
+ value: inputValue.trim()
1070
+ });
1071
+ setPredefinedSearchBaseFilter(processedFilter);
1072
+ // Apply the predefined search filter as custom filter
1073
+ // setCustomFilter(processedFilter);
1074
+ // Apply the filter
1075
+ // handleApplyCustomFilter(finalFilter);
1076
+ // Clear input and close overlay
1077
+ setInputValue("");
1078
+ setShowOverlay(false);
1079
+ setHasSearched(true);
1080
+ setRefreshKey(function (prev) { return prev + 1; });
1081
+ }
1082
+ catch (error) {
1083
+ console.error('Error applying predefined search:', error);
1084
+ // Optionally show user-friendly error message
1085
+ }
1086
+ };
787
1087
  var removePredefinedSearchChip = function () {
788
1088
  setPredefinedSearchChip(null);
1089
+ setPredefinedSearchBaseFilter(null);
789
1090
  setCustomFilter(null);
790
- var finalFilter = mergeSearchAndCustomFilters(null, searchFilter, "c_filter", "s_filter");
791
- handleApplyCustomFilter(finalFilter);
1091
+ // handleApplyCustomFilter(finalFilter);
792
1092
  setHasSearched(true);
1093
+ setRefreshKey(function (prev) { return prev + 1; });
793
1094
  };
794
1095
  var PredefinedSearchChip = function () { return (_jsx("li", { children: _jsxs("div", { className: "search-filter-chip-type", children: [_jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("strong", { children: [predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.name, ":"] }), _jsx("span", { className: "custom-chip-value", children: predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.value })] }), _jsx("i", { className: "pi pi-times ml-1", style: { cursor: "pointer" }, onClick: removePredefinedSearchChip })] }) })); };
795
- return (_jsx(_Fragment, { children: _jsxs("div", { className: "flex justify-content-center solid-custom-filter-wrapper relative", children: [_jsx("div", { className: "solid-global-search-element", children: _jsxs("ul", { className: "", children: [predefinedSearchChip && _jsx(PredefinedSearchChip, {}), customFilter && (!predefinedSearchChip || hasCustomFilterChanged()) && _jsx(CustomChip, {}), _jsx(SearchChip, {}), _jsx("li", { ref: chipsRef, children: _jsxs("div", { className: "relative", children: [_jsx(InputText, { value: inputValue || "", placeholder: "Search...", onChange: function (e) {
1096
+ // predefinedfilter related code end
1097
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: "flex justify-content-center solid-custom-filter-wrapper relative", children: [_jsx("div", { className: "solid-global-search-element", children: _jsxs("ul", { className: "", children: [currentSavedFilterData && _jsx(SavedFiltersChip, {}), predefinedSearchChip && _jsx(PredefinedSearchChip, {}), customFilter && _jsx(CustomChip, {}), _jsx(SearchChip, {}), _jsx("li", { ref: chipsRef, children: _jsxs("div", { className: "relative solid-global-search-element-wrapper", children: [_jsx(InputText, { value: inputValue || "", placeholder: "Search...", onChange: function (e) {
796
1098
  setInputValue(e.target.value);
797
1099
  setShowOverlay(true);
798
1100
  }, onFocus: function () {
@@ -801,7 +1103,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
801
1103
  }, onBlur: function () {
802
1104
  // Delay so you can click buttons inside overlay
803
1105
  setTimeout(function () { return setShowOverlay(false); }, 150);
804
- }, onKeyDown: handleKeyDown }), _jsx(Button, { icon: "pi pi-search", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () { return setShowOverlay(true); }, className: "custom-filter-button" })] }) })] }) }), showOverlay && (_jsxs("div", { ref: overlayRef, className: "absolute w-full z-5 surface-0 border-round border-1 border-300 shadow-2", style: { top: 35 }, children: [inputValue ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "custom-filter-search-options px-3 py-2 flex flex-column", children: [_jsx("h6", { className: "my-1 font-bold", children: "Search By Fields" }), searchableFields.map(function (value, index) {
1106
+ }, onKeyDown: handleKeyDown }), _jsx(Button, { icon: "pi pi-search", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () { return setShowOverlay(true); }, className: "custom-filter-button" })] }) })] }) }), showOverlay && (_jsxs("div", { ref: overlayRef, className: "absolute w-full z-5 surface-0 border-round border-1 border-300 shadow-2 solid-search-overlay-pannel", style: { top: 35 }, children: [inputValue ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "custom-filter-search-options px-3 py-2 flex flex-column", children: [_jsx("h6", { className: "my-1 font-bold", children: "Search By Fields" }), searchableFields.map(function (value, index) {
805
1107
  // console.log("value", value);
806
1108
  return (_jsxs(Button, { className: "p-2 flex gap-1 text-color",
807
1109
  // onClick={() => handleAddChip(value)}
@@ -819,6 +1121,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
819
1121
  }], false); });
820
1122
  setInputValue("");
821
1123
  setHasSearched(true);
1124
+ setRefreshKey(function (prev) { return prev + 1; });
822
1125
  setShowOverlay(false);
823
1126
  }
824
1127
  }, text: true, severity: "secondary", size: "small", children: ["Search ", _jsx("strong", { children: value.displayName }), " for: ", _jsx("span", { className: "font-bold text-color", children: inputValue })] }, index));
@@ -829,9 +1132,11 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
829
1132
  _jsxs(_Fragment, { children: [_jsx("div", { className: "p-3 text-base", children: "Search Here..." }), _jsx(Divider, { className: "m-0" })] }), savedFilters.length > 0 &&
830
1133
  _jsxs(_Fragment, { children: [_jsxs("div", { className: "p-3", children: [_jsx("p", { className: "font-medium", children: "Saved Filters" }), _jsx("div", { className: "flex flex-column gap-2", children: savedFilters.map(function (savedfilter) {
831
1134
  return _jsx(SavedFilterList, { savedfilter: savedfilter, activeSavedFilter: activeSavedFilter, applySavedFilter: applySavedFilter, openSavedCustomFilter: openSavedCustomFilter, setSavedFilterTobeDeleted: setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible: setIsDeleteSQDialogVisible });
832
- }) })] }), _jsx(Divider, { className: "m-0" })] }), _jsx("div", { className: "px-2 py-1", children: _jsx(Button, { text: true, size: "small", label: "Custom Filter", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGlobalSearchElement(true); }, className: "font-bold" }) })] })), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGlobalSearchElement, style: { width: '65vw' }, onHide: function () { if (!showGlobalSearchElement)
833
- return; setShowGlobalSearchElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Custom Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGlobalSearchElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-4", children: fields.length > 0 &&
834
- _jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: filterRules, setFilterRules: setFilterRules, transformFilterRules: transformFilterRules, closeDialog: function () { return setShowGlobalSearchElement(false); } }) })] }), _jsx(Dialog, { header: "Save Custom Filter", visible: showSaveFilterPopup, style: { width: 500 }, onHide: function () { if (!showSaveFilterPopup)
835
- return; setShowSaveFilterPopup(false); }, children: _jsx(SolidSaveCustomFilterForm, { currentSavedFilterData: currentSavedFilterData, handleSaveFilter: handleSaveFilter, closeDialog: setShowSaveFilterPopup }) }), _jsx(Dialog, { visible: isDeleteSQDialogVisible, header: "Confirm Delete", modal: true, footer: function () { return (_jsxs("div", { className: "flex justify-content-center", children: [_jsx(Button, { label: "Yes", icon: "pi pi-check", className: 'small-button', severity: "danger", autoFocus: true, onClick: deleteSavedFilter }), _jsx(Button, { label: "No", icon: "pi pi-times", className: 'small-button', onClick: function () { return setIsDeleteSQDialogVisible(false); } })] })); }, onHide: function () { return setIsDeleteSQDialogVisible(false); }, children: _jsxs("p", { children: ["Are you sure you want to delete the ", currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name, " saved query?"] }) })] }) }));
1135
+ }) })] }), _jsx(Divider, { className: "m-0" })] }), _jsx("div", { className: "px-2 py-1", children: _jsx(Button, { text: true, size: "small", label: "Custom Filter", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGlobalSearchElement(true); }, className: "font-bold" }) })] })), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGlobalSearchElement, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showGlobalSearchElement)
1136
+ return; setShowGlobalSearchElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Custom Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGlobalSearchElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-3 lg:p-4", children: fields.length > 0 &&
1137
+ _jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: filterRules, setFilterRules: setFilterRules, transformFilterRules: transformCustomFilterRules, closeDialog: function () { return setShowGlobalSearchElement(false); } }) })] }), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showSavedFilterComponent, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showSavedFilterComponent)
1138
+ return; setShowSavedFilterComponent(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Saved Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowSavedFilterComponent(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-3 lg:p-4", children: fields.length > 0 &&
1139
+ _jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: currentSavedFilterRules, setFilterRules: setCurrentSavedFilterRules, transformFilterRules: transformSavedFilterRules, closeDialog: function () { return setShowSavedFilterComponent(false); } }) })] }), _jsx(Dialog, { header: "Save Custom Filter", className: "solid-custom-filter-dialog", visible: showSaveFilterPopup, style: { width: 500 }, onHide: function () { if (!showSaveFilterPopup)
1140
+ return; setShowSaveFilterPopup(false); }, children: _jsx(SolidSaveCustomFilterForm, { currentSavedFilterData: currentSavedFilterData, handleSaveFilter: handleSaveFilter, closeDialog: setShowSaveFilterPopup }) }), _jsx(Dialog, { visible: isDeleteSQDialogVisible, header: "Confirm Delete", modal: true, className: "solid-confirm-dialog", footer: function () { return (_jsxs("div", { className: "flex justify-content-center", children: [_jsx(Button, { label: "Yes", icon: "pi pi-check", className: 'small-button', severity: "danger", autoFocus: true, onClick: deleteSavedFilter }), _jsx(Button, { label: "No", icon: "pi pi-times", className: 'small-button', onClick: function () { return setIsDeleteSQDialogVisible(false); } })] })); }, onHide: function () { return setIsDeleteSQDialogVisible(false); }, children: _jsxs("p", { children: ["Are you sure you want to delete the ", currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name, " saved query?"] }) })] }) }));
836
1141
  });
837
1142
  //# sourceMappingURL=SolidGlobalSearchElement.js.map