@solidxai/core-ui 0.1.9-beta.17 → 0.1.9-beta.19

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 (258) hide show
  1. package/dist/adapters/auth/handleLogout.d.ts +1 -1
  2. package/dist/adapters/auth/handleLogout.d.ts.map +1 -1
  3. package/dist/adapters/auth/handleLogout.js +20 -32
  4. package/dist/adapters/auth/handleLogout.js.map +1 -1
  5. package/dist/adapters/auth/handleLogout.ts +7 -14
  6. package/dist/components/auth/SolidLogin.js +2 -2
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +2 -2
  9. package/dist/components/auth/SolidRegister.js +1 -1
  10. package/dist/components/auth/SolidRegister.js.map +1 -1
  11. package/dist/components/auth/SolidRegister.tsx +1 -1
  12. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  13. package/dist/components/common/SettingsComponent.js +3 -0
  14. package/dist/components/common/SettingsComponent.js.map +1 -1
  15. package/dist/components/common/SettingsComponent.tsx +3 -0
  16. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  17. package/dist/components/common/SocialMediaLogin.js +1 -1
  18. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  19. package/dist/components/common/SocialMediaLogin.tsx +4 -0
  20. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  21. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  22. package/dist/components/common/SolidFaviconProvider.js +102 -0
  23. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  24. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  25. package/dist/components/core/card/SolidCardView.js +1 -1
  26. package/dist/components/core/card/SolidCardView.js.map +1 -1
  27. package/dist/components/core/card/SolidCardView.tsx +1 -1
  28. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  29. package/dist/components/core/chatter/SolidMessageComposer.js +2 -1
  30. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  31. package/dist/components/core/chatter/SolidMessageComposer.tsx +2 -0
  32. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  33. package/dist/components/core/common/FilterComponent.js +4 -2
  34. package/dist/components/core/common/FilterComponent.js.map +1 -1
  35. package/dist/components/core/common/FilterComponent.tsx +5 -2
  36. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  37. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  38. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  39. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  40. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  41. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  42. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  43. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  44. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +1 -1
  45. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  46. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +2 -0
  47. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  48. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +2 -0
  49. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  50. package/dist/components/core/common/SolidGlobalSearchElement.js +47 -13
  51. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  52. package/dist/components/core/common/SolidGlobalSearchElement.tsx +38 -4
  53. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  54. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  55. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  56. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  57. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  58. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  59. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  60. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  61. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  62. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  63. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  64. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  65. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  66. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  67. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  68. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  69. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  70. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  71. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  72. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  73. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  74. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  75. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  76. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  77. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  78. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  79. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  80. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  81. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  82. package/dist/components/core/form/SolidFormView.js +1 -1
  83. package/dist/components/core/form/SolidFormView.js.map +1 -1
  84. package/dist/components/core/form/SolidFormView.tsx +1 -1
  85. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  86. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +12 -3
  87. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  88. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +21 -16
  89. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  90. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +15 -5
  91. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  92. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +21 -9
  93. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +12 -0
  94. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  95. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +168 -0
  96. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  97. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +241 -0
  98. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  99. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  100. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  101. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  102. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  103. package/dist/components/core/list/SolidListView.js +102 -87
  104. package/dist/components/core/list/SolidListView.js.map +1 -1
  105. package/dist/components/core/list/SolidListView.tsx +38 -19
  106. package/dist/components/core/list/SolidListViewColumn.d.ts +1 -0
  107. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  108. package/dist/components/core/list/SolidListViewColumn.js +25 -0
  109. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  110. package/dist/components/core/list/SolidListViewColumn.tsx +12 -0
  111. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  112. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  113. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  114. package/dist/components/core/list/SolidListViewConfigure.tsx +4 -2
  115. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  116. package/dist/components/core/list/SolidListViewHeaderButton.js +9 -3
  117. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  118. package/dist/components/core/list/SolidListViewHeaderButton.tsx +12 -7
  119. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  120. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  121. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  122. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  123. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  124. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  125. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  126. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  127. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  128. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  129. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  130. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  131. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  132. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  133. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  134. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  135. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  136. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +3 -2
  137. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  138. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +3 -2
  139. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  140. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -2
  141. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  142. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +3 -2
  143. package/dist/components/core/model/CreateModel.css +48 -0
  144. package/dist/components/core/model/CreateModel.d.ts +1 -0
  145. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  146. package/dist/components/core/model/CreateModel.js +69 -104
  147. package/dist/components/core/model/CreateModel.js.map +1 -1
  148. package/dist/components/core/model/CreateModel.tsx +92 -204
  149. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  150. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  151. package/dist/components/core/model/FieldMetaData.js +6 -22
  152. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  153. package/dist/components/core/model/FieldMetaData.tsx +6 -45
  154. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  155. package/dist/components/core/model/FieldMetaDataForm.js +196 -222
  156. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  157. package/dist/components/core/model/FieldMetaDataForm.tsx +0 -72
  158. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  159. package/dist/components/core/model/ModelMetaData.js +7 -7
  160. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  161. package/dist/components/core/model/ModelMetaData.tsx +7 -0
  162. package/dist/components/core/module/CreateModule.css +44 -0
  163. package/dist/components/core/module/CreateModule.d.ts +1 -0
  164. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  165. package/dist/components/core/module/CreateModule.js +40 -43
  166. package/dist/components/core/module/CreateModule.js.map +1 -1
  167. package/dist/components/core/module/CreateModule.tsx +243 -247
  168. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  169. package/dist/components/core/module/ModuleListViewData.js +47 -7
  170. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  171. package/dist/components/core/module/ModuleListViewData.tsx +58 -0
  172. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  173. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  174. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  175. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  176. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  177. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  178. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  179. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  180. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  181. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  182. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  183. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  184. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  185. package/dist/components/layout/AdminTopHeader.js +1 -1
  186. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  187. package/dist/components/layout/AdminTopHeader.tsx +2 -1
  188. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  189. package/dist/components/layout/user-profile-menu.js +57 -33
  190. package/dist/components/layout/user-profile-menu.js.map +1 -1
  191. package/dist/components/layout/user-profile-menu.tsx +11 -59
  192. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  193. package/dist/components/shad-cn-ui/SolidAutocomplete.js +15 -0
  194. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  195. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +13 -0
  196. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  197. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  198. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  199. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  200. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  201. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  202. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  203. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  204. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  205. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  206. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  207. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  208. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  209. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  210. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  211. package/dist/helpers/buttonEnvironment.js +30 -0
  212. package/dist/helpers/buttonEnvironment.js.map +1 -0
  213. package/dist/helpers/buttonEnvironment.ts +35 -0
  214. package/dist/helpers/buttonPresentation.d.ts +24 -0
  215. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  216. package/dist/helpers/buttonPresentation.js +28 -0
  217. package/dist/helpers/buttonPresentation.js.map +1 -0
  218. package/dist/helpers/buttonPresentation.ts +53 -0
  219. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  220. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  221. package/dist/helpers/fileTypeIcon.js +37 -0
  222. package/dist/helpers/fileTypeIcon.js.map +1 -0
  223. package/dist/helpers/fileTypeIcon.tsx +65 -0
  224. package/dist/helpers/registry.d.ts.map +1 -1
  225. package/dist/helpers/registry.js +10 -0
  226. package/dist/helpers/registry.js.map +1 -1
  227. package/dist/helpers/registry.ts +10 -0
  228. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  229. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  230. package/dist/helpers/waitForBackendAvailability.js +86 -0
  231. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  232. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  233. package/dist/index.d.ts +3 -1
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +3 -1
  236. package/dist/index.js.map +1 -1
  237. package/dist/index.ts +19 -0
  238. package/dist/redux/api/moduleApi.d.ts +26 -1
  239. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  240. package/dist/redux/api/moduleApi.js +237 -1
  241. package/dist/redux/api/moduleApi.js.map +1 -1
  242. package/dist/redux/api/moduleApi.ts +181 -1
  243. package/dist/redux/store/defaultStoreConfig.d.ts +22 -0
  244. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  245. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  246. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  247. package/dist/redux/store/solidEntityApiPool.js +4 -0
  248. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  249. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  250. package/dist/resources/globals.css +56 -0
  251. package/dist/resources/shadcn-base.css +29 -4
  252. package/dist/routes/AppEventListener.d.ts.map +1 -1
  253. package/dist/routes/AppEventListener.js +58 -8
  254. package/dist/routes/AppEventListener.js.map +1 -1
  255. package/dist/routes/AppEventListener.tsx +69 -8
  256. package/dist/types/index.d.ts +1 -0
  257. package/dist/types/jsoneditor.d.ts +4 -0
  258. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FilterComponent.js","sourceRoot":"","sources":["../../../../src/components/core/common/FilterComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React, { useState } from 'react';\nimport { SolidFilterFields } from '../filter/SolidFilterFields';\nimport { FolderPlus, Plus, Trash2 } from 'lucide-react';\nimport { SolidButton } from '../../shad-cn-ui/SolidButton';\nimport { SolidAutocomplete } from '../../shad-cn-ui/SolidAutocomplete';\nimport { SolidInput } from '../../shad-cn-ui/SolidInput';\nimport { SolidSelect } from '../../shad-cn-ui/SolidSelect';\nimport { FilterMatchMode, type FilterMatchModeValue } from '../filter/filterMatchMode';\n\nexport enum FilterRuleType {\n RULE = 'rule',\n RULE_GROUP = 'rule_group'\n}\n\nexport enum FilterOperator {\n AND = 'and',\n OR = 'or'\n}\n\nexport interface FilterRule {\n id: number;\n type: FilterRuleType;\n matchOperator?: FilterOperator;\n fieldName?: string | null;\n matchMode?: FilterMatchModeValue | null;\n value?: any;\n parentRule: number | null;\n children?: FilterRule[];\n}\n\nexport interface Field {\n name: string;\n type: 'string' | 'number' | 'date';\n}\n\n// const fields: Field[] = [\n// { name: 'name', type: 'string' },\n// { name: 'dob', type: 'date' },\n// { name: 'lastName', type: 'string' },\n// { name: 'amount', type: 'number' }\n// ];\n\nconst operatorOptions = {\n // string: [FilterMatchMode.CONTAINS, FilterMatchMode.EQUALS],\n // date: [FilterMatchMode.EQUALS, FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n // number: [FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n id: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n int: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n bigint: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n float: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n decimal: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n shortText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n longText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n richText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n boolean: [FilterMatchMode.EQUALS],\n date: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN,],\n datetime: [FilterMatchMode.EQUALS],\n time: [FilterMatchMode.EQUALS],\n relation: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n mediaSingle: [],\n mediaMultiple: [],\n selectionStatic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n selectionDynamic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n computed: [],\n externalId: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n uuid: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\n// Component to render a single filter rule\nconst FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n // const applicableOperators = rule.fieldName ? operatorOptions[fields.find(f => f.name === rule.fieldName)?.value.type].map(e => { return { name: e } }) : [];\n // const applicableInputField = rule.fieldName ? fields.find(f => f.name === rule.fieldName)?.type : \"\";\n\n const [fieldName, setFieldName] = useState({ name: rule.fieldName });\n const [matchMode, setMatchMode] = useState({ name: rule.matchMode });\n\n const [filteredFields, setFilteredFields] = useState<any[]>([]);\n\n const searchFields = (event: any) => {\n const query = event.query.toLowerCase();\n const filtered = !query\n ? fields\n : fields.filter((item: any) =>\n item.name.toLowerCase().startsWith(query)\n );\n setFilteredFields(filtered);\n };\n return (\n <div className='solid-filter-rule-row'>\n <div className='solid-filter-rule-main'>\n <div className='solid-filter-rule-field'>\n <div className='solid-filter-control-wrap'>\n <SolidAutocomplete\n value={fieldName.name}\n suggestions={filteredFields}\n completeMethod={searchFields}\n field=\"name\"\n dropdown\n forceSelection // only values from list\n placeholder=\"Select Field\"\n className=\"w-full solid-filter-auto-complete-field solid-filter-compact-control\"\n onChange={(e) => {\n setFieldName({ name: e.value }); // e.value will be an object or null\n if (e.value && typeof e.value === \"object\" && e.value.value) {\n onChange(rule.id, 'fieldName', e.value.value); // send value to parent\n } else {\n onChange(rule.id, 'fieldName', '');\n }\n }}\n />\n </div>\n </div>\n <div className='solid-filter-rule-value'>\n <div className='solid-filter-control-wrap'>\n {rule.fieldName ?\n <SolidFilterFields viewData={viewData} fieldMetadata={viewData.data.solidFieldsMetadata[rule.fieldName]} onChange={onChange} index={rule.id} rule={rule}></SolidFilterFields>\n : <div className='solid-filter-empty-pair'>\n <SolidInput\n disabled\n value={rule.value || ''}\n placeholder=\"Operator\"\n className='w-full solid-filter-compact-control'\n />\n <SolidInput\n disabled\n value={rule.value || ''}\n placeholder=\"Value\"\n className='w-full solid-filter-compact-control'\n />\n </div>\n }\n </div>\n </div>\n </div>\n <div className='solid-filter-rule-actions'>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(rule.parentRule)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <Plus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddGroup(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <FolderPlus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onDelete(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn is-danger'>\n <Trash2 size={14} />\n </SolidButton>\n </div>\n\n {rule.children && rule.children.map(nestedRule => (\n <div className='nested-custom-filter' key={nestedRule.id}>\n {nestedRule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={nestedRule.id} viewData={viewData} fields={fields} rule={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={nestedRule.id} viewData={viewData} fields={fields} group={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n }\n </div>\n ))}\n </div>\n );\n};\n\n// Component to render a group of filter rules\nconst FilterGroupComponent = ({ viewData, fields, group, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n return (\n <div className='primary-filter-fieldset solid-filter-group-shell'>\n <div className=\"solid-filter-group-operator-wrap\">\n <SolidSelect\n value={group.matchOperator}\n options={[\n { label: \"OR\", value: FilterOperator.OR },\n { label: \"AND\", value: FilterOperator.AND },\n ]}\n placeholder=\"Operator\"\n className=\"solid-filter-group-operator-select\"\n onChange={(event) => onChange(group.id, 'matchOperator', event.value)}\n />\n </div>\n {group.children && group.children.map(rule => (\n rule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={rule.id} viewData={viewData} fields={fields} rule={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={rule.id} viewData={viewData} fields={fields} group={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n ))}\n {/* Add Condition Button to add parent rule */}\n {level === 0 &&\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(group.id)} className='px-0 mt-2 solid-filter-add-condition-btn'>\n <Plus size={14} />\n Add Condition\n </SolidButton>\n }\n </div>\n );\n};\n\n// Main Filter component\nconst FilterComponent = ({ viewData, fields, filterRules, setFilterRules, transformFilterRules, closeDialog }) => {\n // const initialState: FilterRule[] = [\n // {\n // id: 1,\n // type: FilterRuleType.RULE_GROUP,\n // matchOperator: FilterOperator.OR,\n // parentRule: null,\n // children: [\n // {\n // id: Date.now() + getRandomInt(1, 500),\n // type: FilterRuleType.RULE,\n // fieldName: null,\n // matchMode: null,\n // value: null,\n // parentRule: 1,\n // children: []\n // }\n // ]\n // }\n // ];\n\n // const [filterRules, setFilterRules] = useState<FilterRule[]>(initialState);\n const [printedState, setPrintedState] = useState<string>('');\n\n const addChild = (rules, parentId, newChild) => {\n return rules.map(rule => {\n if (rule.id === parentId) {\n return {\n ...rule,\n children: [...(rule.children || []), newChild]\n };\n } else if (rule.children) {\n return {\n ...rule,\n children: addChild(rule.children, parentId, newChild)\n };\n }\n return rule;\n });\n };\n\n const handleChange = (id, key, value) => {\n const updateRuleRecursively = (rules) => {\n return rules.map(rule => {\n if (rule.id === id) {\n return { ...rule, [key]: value };\n } else if (rule.children) {\n return {\n ...rule,\n children: updateRuleRecursively(rule.children)\n };\n }\n return rule;\n });\n };\n setFilterRules(prev => updateRuleRecursively(prev));\n };\n\n const handleAddRule = (parentGroupId) => {\n const newRule: FilterRule = {\n id: Date.now(),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: parentGroupId,\n children: []\n };\n setFilterRules(prev => addChild(prev, parentGroupId, newRule));\n };\n\n const handleAddGroup = (parentRuleId) => {\n const newGroupId = Date.now();\n const newGroup: FilterRule = {\n id: newGroupId,\n type: FilterRuleType.RULE_GROUP,\n matchOperator: FilterOperator.AND,\n parentRule: parentRuleId,\n children: [\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n },\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n }\n ]\n };\n setFilterRules(prev => addChild(prev, parentRuleId, newGroup));\n };\n\n // const handleDeleteRule = (id) => {\n // const deleteRecursively = (rules, id) => {\n // return rules.filter(rule => rule.id !== id).map(rule => {\n // if (rule.children) {\n // return {\n // ...rule,\n // children: deleteRecursively(rule.children, id)\n // };\n // }\n // return rule;\n // });\n // };\n // setFilterRules(prev => deleteRecursively(prev, id));\n // };\n\n\n const removeEmptyGroups = (rule) => {\n if (rule.type === \"rule_group\" && rule.children.length === 0) {\n return null;\n }\n\n rule.children = rule.children\n .map(removeEmptyGroups) // Recursively process children\n .filter(child => child !== null); // Remove null values\n\n return rule;\n };\n\n\n const handleDeleteRule = (id) => {\n if (filterRules[0].children.length === 1 && filterRules[0].children[0].id === id) {\n return\n }\n const deleteRecursively = (rules, id, isRoot = false) => {\n const mappedData = rules\n .map(rule => {\n if (rule.id === id) {\n return null; // Remove the target rule\n }\n\n if (rule.children) {\n const updatedChildren = deleteRecursively(rule.children, id);\n\n // If this rule had children and now has none, keep it but set children to []\n if (rule.children.length > 0 && updatedChildren.length === 0) {\n return { ...rule, children: [] };\n }\n\n return { ...rule, children: updatedChildren };\n }\n\n return rule;\n })\n .filter(rule => rule !== null); // Remove null values\n\n return mappedData\n };\n\n setFilterRules(prevRules => [removeEmptyGroups(deleteRecursively(prevRules, id, true)[0])]);\n };\n\n\n\n\n\n // const handlePrintState = () => {\n // // setPrintedState(JSON.stringify(filterRules, null, 2)); // Pretty format the state\n // transformFilterRules(filterRules)\n // };\n\n\n\n\n return (\n <div className='solid-filter-builder'>\n {filterRules.map(rule => (\n <FilterGroupComponent\n key={rule.id}\n viewData={viewData}\n fields={fields}\n group={rule}\n onChange={handleChange}\n onAddRule={handleAddRule}\n onAddGroup={handleAddGroup}\n onDelete={handleDeleteRule}\n level={0} // Top-level group\n />\n ))}\n <div className='solid-filter-builder-actions'>\n <SolidButton variant=\"primary\" size=\"sm\" onClick={() => transformFilterRules(filterRules)} type=\"submit\" className=\"solid-filter-submit-btn\">Apply</SolidButton>\n <SolidButton type='button' variant=\"outline\" size='sm' onClick={closeDialog} className=\"solid-filter-cancel-btn\">Cancel</SolidButton>\n {/* \n <br></br>\n <textarea value={printedState} readOnly rows={20} cols={100} style={{ marginTop: '20px' }} /> */}\n </div>\n </div>\n );\n};\n\nexport default FilterComponent;\n"]}
1
+ {"version":3,"file":"FilterComponent.js","sourceRoot":"","sources":["../../../../src/components/core/common/FilterComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React, { useState } from 'react';\nimport { SolidFilterFields } from '../filter/SolidFilterFields';\nimport { FolderPlus, Plus, Trash2 } from 'lucide-react';\nimport { SolidButton } from '../../shad-cn-ui/SolidButton';\nimport { SolidAutocomplete } from '../../shad-cn-ui/SolidAutocomplete';\nimport { SolidInput } from '../../shad-cn-ui/SolidInput';\nimport { SolidSelect } from '../../shad-cn-ui/SolidSelect';\nimport { FilterMatchMode, type FilterMatchModeValue } from '../filter/filterMatchMode';\n\nexport enum FilterRuleType {\n RULE = 'rule',\n RULE_GROUP = 'rule_group'\n}\n\nexport enum FilterOperator {\n AND = 'and',\n OR = 'or'\n}\n\nexport interface FilterRule {\n id: number;\n type: FilterRuleType;\n matchOperator?: FilterOperator;\n fieldName?: string | null;\n matchMode?: FilterMatchModeValue | null;\n value?: any;\n parentRule: number | null;\n children?: FilterRule[];\n}\n\nexport interface Field {\n name: string;\n type: 'string' | 'number' | 'date';\n}\n\n// const fields: Field[] = [\n// { name: 'name', type: 'string' },\n// { name: 'dob', type: 'date' },\n// { name: 'lastName', type: 'string' },\n// { name: 'amount', type: 'number' }\n// ];\n\nconst operatorOptions = {\n // string: [FilterMatchMode.CONTAINS, FilterMatchMode.EQUALS],\n // date: [FilterMatchMode.EQUALS, FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n // number: [FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n id: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n int: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n bigint: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n float: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n decimal: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n shortText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n longText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n richText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n boolean: [FilterMatchMode.EQUALS],\n date: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN,],\n datetime: [FilterMatchMode.EQUALS],\n time: [FilterMatchMode.EQUALS],\n relation: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n mediaSingle: [],\n mediaMultiple: [],\n selectionStatic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n selectionDynamic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n computed: [],\n externalId: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n uuid: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\n// Component to render a single filter rule\nconst FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n // const applicableOperators = rule.fieldName ? operatorOptions[fields.find(f => f.name === rule.fieldName)?.value.type].map(e => { return { name: e } }) : [];\n // const applicableInputField = rule.fieldName ? fields.find(f => f.name === rule.fieldName)?.type : \"\";\n\n const [fieldName, setFieldName] = useState({ name: rule.fieldName });\n const [matchMode, setMatchMode] = useState({ name: rule.matchMode });\n\n const [filteredFields, setFilteredFields] = useState<any[]>([]);\n\n const searchFields = (event: any) => {\n const query = event.query.toLowerCase();\n const filtered = !query\n ? fields\n : fields.filter((item: any) =>\n item.name.toLowerCase().startsWith(query)\n );\n setFilteredFields(filtered);\n };\n return (\n <div className='solid-filter-rule-row'>\n <div className='solid-filter-rule-main'>\n <div className='solid-filter-rule-field'>\n <div className='solid-filter-control-wrap'>\n <SolidAutocomplete\n value={fieldName.name}\n suggestions={filteredFields}\n completeMethod={searchFields}\n field=\"name\"\n dropdown\n portal\n forceSelection // only values from list\n placeholder=\"Select Field\"\n className=\"w-full solid-filter-auto-complete-field solid-filter-compact-control\"\n onChange={(e) => {\n setFieldName({ name: e.value }); // e.value will be an object or null\n if (e.value && typeof e.value === \"object\" && e.value.value) {\n onChange(rule.id, 'fieldName', e.value.value); // send value to parent\n } else {\n onChange(rule.id, 'fieldName', '');\n onChange(rule.id, 'matchMode', null);\n onChange(rule.id, 'value', '');\n }\n }}\n />\n </div>\n </div>\n <div className='solid-filter-rule-value'>\n <div className='solid-filter-control-wrap'>\n {rule.fieldName ?\n <SolidFilterFields viewData={viewData} fieldMetadata={viewData.data.solidFieldsMetadata[rule.fieldName]} onChange={onChange} index={rule.id} rule={rule}></SolidFilterFields>\n : <div className='solid-filter-empty-pair'>\n <SolidInput\n disabled\n value=\"\"\n placeholder=\"Operator\"\n className='w-full solid-filter-compact-control'\n />\n <SolidInput\n disabled\n value=\"\"\n placeholder=\"Value\"\n className='w-full solid-filter-compact-control'\n />\n </div>\n }\n </div>\n </div>\n </div>\n <div className='solid-filter-rule-actions'>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(rule.parentRule)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <Plus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddGroup(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <FolderPlus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onDelete(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn is-danger'>\n <Trash2 size={14} />\n </SolidButton>\n </div>\n\n {rule.children && rule.children.map(nestedRule => (\n <div className='nested-custom-filter' key={nestedRule.id}>\n {nestedRule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={nestedRule.id} viewData={viewData} fields={fields} rule={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={nestedRule.id} viewData={viewData} fields={fields} group={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n }\n </div>\n ))}\n </div>\n );\n};\n\n// Component to render a group of filter rules\nconst FilterGroupComponent = ({ viewData, fields, group, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n return (\n <div className='primary-filter-fieldset solid-filter-group-shell'>\n <div className=\"solid-filter-group-operator-wrap\">\n <SolidSelect\n value={group.matchOperator}\n options={[\n { label: \"OR\", value: FilterOperator.OR },\n { label: \"AND\", value: FilterOperator.AND },\n ]}\n placeholder=\"Operator\"\n className=\"solid-filter-group-operator-select\"\n onChange={(event) => onChange(group.id, 'matchOperator', event.value)}\n />\n </div>\n {group.children && group.children.map(rule => (\n rule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={rule.id} viewData={viewData} fields={fields} rule={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={rule.id} viewData={viewData} fields={fields} group={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n ))}\n {/* Add Condition Button to add parent rule */}\n {level === 0 &&\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(group.id)} className='px-0 mt-2 solid-filter-add-condition-btn'>\n <Plus size={14} />\n Add Condition\n </SolidButton>\n }\n </div>\n );\n};\n\n// Main Filter component\nconst FilterComponent = ({ viewData, fields, filterRules, setFilterRules, transformFilterRules, closeDialog }) => {\n // const initialState: FilterRule[] = [\n // {\n // id: 1,\n // type: FilterRuleType.RULE_GROUP,\n // matchOperator: FilterOperator.OR,\n // parentRule: null,\n // children: [\n // {\n // id: Date.now() + getRandomInt(1, 500),\n // type: FilterRuleType.RULE,\n // fieldName: null,\n // matchMode: null,\n // value: null,\n // parentRule: 1,\n // children: []\n // }\n // ]\n // }\n // ];\n\n // const [filterRules, setFilterRules] = useState<FilterRule[]>(initialState);\n const [printedState, setPrintedState] = useState<string>('');\n\n const addChild = (rules, parentId, newChild) => {\n return rules.map(rule => {\n if (rule.id === parentId) {\n return {\n ...rule,\n children: [...(rule.children || []), newChild]\n };\n } else if (rule.children) {\n return {\n ...rule,\n children: addChild(rule.children, parentId, newChild)\n };\n }\n return rule;\n });\n };\n\n const handleChange = (id, key, value) => {\n const updateRuleRecursively = (rules) => {\n return rules.map(rule => {\n if (rule.id === id) {\n return { ...rule, [key]: value };\n } else if (rule.children) {\n return {\n ...rule,\n children: updateRuleRecursively(rule.children)\n };\n }\n return rule;\n });\n };\n setFilterRules(prev => updateRuleRecursively(prev));\n };\n\n const handleAddRule = (parentGroupId) => {\n const newRule: FilterRule = {\n id: Date.now(),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: parentGroupId,\n children: []\n };\n setFilterRules(prev => addChild(prev, parentGroupId, newRule));\n };\n\n const handleAddGroup = (parentRuleId) => {\n const newGroupId = Date.now();\n const newGroup: FilterRule = {\n id: newGroupId,\n type: FilterRuleType.RULE_GROUP,\n matchOperator: FilterOperator.AND,\n parentRule: parentRuleId,\n children: [\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n },\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n }\n ]\n };\n setFilterRules(prev => addChild(prev, parentRuleId, newGroup));\n };\n\n // const handleDeleteRule = (id) => {\n // const deleteRecursively = (rules, id) => {\n // return rules.filter(rule => rule.id !== id).map(rule => {\n // if (rule.children) {\n // return {\n // ...rule,\n // children: deleteRecursively(rule.children, id)\n // };\n // }\n // return rule;\n // });\n // };\n // setFilterRules(prev => deleteRecursively(prev, id));\n // };\n\n\n const removeEmptyGroups = (rule) => {\n if (rule.type === \"rule_group\" && rule.children.length === 0) {\n return null;\n }\n\n rule.children = rule.children\n .map(removeEmptyGroups) // Recursively process children\n .filter(child => child !== null); // Remove null values\n\n return rule;\n };\n\n\n const handleDeleteRule = (id) => {\n if (filterRules[0].children.length === 1 && filterRules[0].children[0].id === id) {\n return\n }\n const deleteRecursively = (rules, id, isRoot = false) => {\n const mappedData = rules\n .map(rule => {\n if (rule.id === id) {\n return null; // Remove the target rule\n }\n\n if (rule.children) {\n const updatedChildren = deleteRecursively(rule.children, id);\n\n // If this rule had children and now has none, keep it but set children to []\n if (rule.children.length > 0 && updatedChildren.length === 0) {\n return { ...rule, children: [] };\n }\n\n return { ...rule, children: updatedChildren };\n }\n\n return rule;\n })\n .filter(rule => rule !== null); // Remove null values\n\n return mappedData\n };\n\n setFilterRules(prevRules => [removeEmptyGroups(deleteRecursively(prevRules, id, true)[0])]);\n };\n\n\n\n\n\n // const handlePrintState = () => {\n // // setPrintedState(JSON.stringify(filterRules, null, 2)); // Pretty format the state\n // transformFilterRules(filterRules)\n // };\n\n\n\n\n return (\n <div className='solid-filter-builder'>\n {filterRules.map(rule => (\n <FilterGroupComponent\n key={rule.id}\n viewData={viewData}\n fields={fields}\n group={rule}\n onChange={handleChange}\n onAddRule={handleAddRule}\n onAddGroup={handleAddGroup}\n onDelete={handleDeleteRule}\n level={0} // Top-level group\n />\n ))}\n <div className='solid-filter-builder-actions'>\n <SolidButton variant=\"primary\" size=\"sm\" onClick={() => transformFilterRules(filterRules)} type=\"submit\" className=\"solid-filter-submit-btn\">Apply</SolidButton>\n <SolidButton type='button' variant=\"outline\" size='sm' onClick={closeDialog} className=\"solid-filter-cancel-btn\">Cancel</SolidButton>\n {/* \n <br></br>\n <textarea value={printedState} readOnly rows={20} cols={100} style={{ marginTop: '20px' }} /> */}\n </div>\n </div>\n );\n};\n\nexport default FilterComponent;\n"]}
@@ -102,6 +102,7 @@ const FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAd
102
102
  completeMethod={searchFields}
103
103
  field="name"
104
104
  dropdown
105
+ portal
105
106
  forceSelection // only values from list
106
107
  placeholder="Select Field"
107
108
  className="w-full solid-filter-auto-complete-field solid-filter-compact-control"
@@ -111,6 +112,8 @@ const FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAd
111
112
  onChange(rule.id, 'fieldName', e.value.value); // send value to parent
112
113
  } else {
113
114
  onChange(rule.id, 'fieldName', '');
115
+ onChange(rule.id, 'matchMode', null);
116
+ onChange(rule.id, 'value', '');
114
117
  }
115
118
  }}
116
119
  />
@@ -123,13 +126,13 @@ const FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAd
123
126
  : <div className='solid-filter-empty-pair'>
124
127
  <SolidInput
125
128
  disabled
126
- value={rule.value || ''}
129
+ value=""
127
130
  placeholder="Operator"
128
131
  className='w-full solid-filter-compact-control'
129
132
  />
130
133
  <SolidInput
131
134
  disabled
132
- value={rule.value || ''}
135
+ value=""
133
136
  placeholder="Value"
134
137
  className='w-full solid-filter-compact-control'
135
138
  />
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAqFA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,4CAkK7D,CAAC"}
1
+ {"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAqFA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,4CA2J7D,CAAC"}
@@ -151,16 +151,7 @@ export var SolidChangePassword = function (_a) {
151
151
  }
152
152
  notify("success", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);
153
153
  resetForm();
154
- handleLogout({
155
- toast: {
156
- current: {
157
- show: function (_a) {
158
- var severity = _a.severity, summary = _a.summary, detail = _a.detail, sticky = _a.sticky, life = _a.life;
159
- return notify(severity || "info", summary || "", detail || "", { sticky: sticky, life: life });
160
- },
161
- },
162
- },
163
- });
154
+ handleLogout();
164
155
  return [3 /*break*/, 3];
165
156
  case 2:
166
157
  err_1 = _h.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEventHandler, FocusEventHandler, useMemo, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { env } from \"../../../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { useChangePasswordMutation } from \"../../../../redux/api/authApi\";\nimport { SolidPasswordHelperText } from \"../SolidPasswordHelperText\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n sticky?: boolean;\n life?: number;\n} | null;\n\nconst ToastMessage = ({ toast, onClose }: { toast: ToastState; onClose: () => void }) => {\n if (!toast) return null;\n const severityClass =\n toast.severity === \"error\"\n ? styles.toastError\n : toast.severity === \"success\"\n ? styles.toastSuccess\n : toast.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={onClose} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n );\n};\n\nconst PasswordInput = ({\n id,\n name,\n value,\n onChange,\n onBlur,\n placeholder,\n}: {\n id: string;\n name: string;\n value: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n onBlur: FocusEventHandler<HTMLInputElement>;\n placeholder?: string;\n}) => {\n const [visible, setVisible] = useState(false);\n return (\n <div className={styles.passwordWrap}>\n <input\n id={id}\n name={name}\n type={visible ? \"text\" : \"password\"}\n className={styles.input}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n className={styles.passwordToggle}\n onClick={() => setVisible((prev) => !prev)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? \"Hide\" : \"Show\"}\n </button>\n </div>\n );\n};\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const [toast, setToast] = useState<ToastState>(null);\n const [changePassword] = useChangePasswordMutation();\n const session: any = useSession();\n\n const notify = (\n severity: \"success\" | \"error\" | \"info\" | \"warn\",\n summary: string,\n detail: string,\n opts?: { sticky?: boolean; life?: number }\n ) => {\n setToast({\n id: Date.now(),\n severity,\n summary,\n detail,\n sticky: opts?.sticky,\n life: opts?.life ?? 3000,\n });\n };\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) return new RegExp(backendRegex);\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage || ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"))\n : Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"email\")).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n currentPassword: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Current password\")),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string().oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Confirm password\")),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"User ID\")),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n notify(\"error\", ERROR_MESSAGES.ERROR, response.error);\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n });\n return;\n }\n\n notify(\"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n resetForm();\n handleLogout({\n toast: {\n current: {\n show: ({ severity, summary, detail, sticky, life }: any) =>\n notify(severity || \"info\", summary || \"\", detail || \"\", { sticky, life }),\n },\n },\n });\n } catch (err: any) {\n notify(\"error\", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const fieldError = (field: string) => {\n if (!formik.touched[field as keyof typeof formik.touched]) return null;\n const error = formik.errors[field as keyof typeof formik.errors];\n return typeof error === \"string\" ? error : null;\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <ToastMessage toast={toast} onClose={() => setToast(null)} />\n\n <div className={styles.accountScroll}>\n <div className={styles.formStack}>\n <div className={styles.field}>\n <label htmlFor=\"currentPassword\">Current Password</label>\n <PasswordInput\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"currentPassword\") ? <p className={styles.errorText}>{fieldError(\"currentPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"newPassword\">New Password</label>\n <PasswordInput\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"newPassword\") ? <p className={styles.errorText}>{fieldError(\"newPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"confirmPassword\">Confirm New Password</label>\n <PasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"confirmPassword\") ? <p className={styles.errorText}>{fieldError(\"confirmPassword\")}</p> : null}\n </div>\n </div>\n\n <div className={styles.passwordHintWrap}>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Change Password\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEventHandler, FocusEventHandler, useMemo, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { env } from \"../../../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { useChangePasswordMutation } from \"../../../../redux/api/authApi\";\nimport { SolidPasswordHelperText } from \"../SolidPasswordHelperText\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n sticky?: boolean;\n life?: number;\n} | null;\n\nconst ToastMessage = ({ toast, onClose }: { toast: ToastState; onClose: () => void }) => {\n if (!toast) return null;\n const severityClass =\n toast.severity === \"error\"\n ? styles.toastError\n : toast.severity === \"success\"\n ? styles.toastSuccess\n : toast.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={onClose} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n );\n};\n\nconst PasswordInput = ({\n id,\n name,\n value,\n onChange,\n onBlur,\n placeholder,\n}: {\n id: string;\n name: string;\n value: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n onBlur: FocusEventHandler<HTMLInputElement>;\n placeholder?: string;\n}) => {\n const [visible, setVisible] = useState(false);\n return (\n <div className={styles.passwordWrap}>\n <input\n id={id}\n name={name}\n type={visible ? \"text\" : \"password\"}\n className={styles.input}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n className={styles.passwordToggle}\n onClick={() => setVisible((prev) => !prev)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? \"Hide\" : \"Show\"}\n </button>\n </div>\n );\n};\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const [toast, setToast] = useState<ToastState>(null);\n const [changePassword] = useChangePasswordMutation();\n const session: any = useSession();\n\n const notify = (\n severity: \"success\" | \"error\" | \"info\" | \"warn\",\n summary: string,\n detail: string,\n opts?: { sticky?: boolean; life?: number }\n ) => {\n setToast({\n id: Date.now(),\n severity,\n summary,\n detail,\n sticky: opts?.sticky,\n life: opts?.life ?? 3000,\n });\n };\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) return new RegExp(backendRegex);\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage || ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"))\n : Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"email\")).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n currentPassword: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Current password\")),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string().oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Confirm password\")),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"User ID\")),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n notify(\"error\", ERROR_MESSAGES.ERROR, response.error);\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n });\n return;\n }\n\n notify(\"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n resetForm();\n handleLogout();\n } catch (err: any) {\n notify(\"error\", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const fieldError = (field: string) => {\n if (!formik.touched[field as keyof typeof formik.touched]) return null;\n const error = formik.errors[field as keyof typeof formik.errors];\n return typeof error === \"string\" ? error : null;\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <ToastMessage toast={toast} onClose={() => setToast(null)} />\n\n <div className={styles.accountScroll}>\n <div className={styles.formStack}>\n <div className={styles.field}>\n <label htmlFor=\"currentPassword\">Current Password</label>\n <PasswordInput\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"currentPassword\") ? <p className={styles.errorText}>{fieldError(\"currentPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"newPassword\">New Password</label>\n <PasswordInput\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"newPassword\") ? <p className={styles.errorText}>{fieldError(\"newPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"confirmPassword\">Confirm New Password</label>\n <PasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"confirmPassword\") ? <p className={styles.errorText}>{fieldError(\"confirmPassword\")}</p> : null}\n </div>\n </div>\n\n <div className={styles.passwordHintWrap}>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Change Password\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
@@ -170,14 +170,7 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
170
170
 
171
171
  notify("success", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);
172
172
  resetForm();
173
- handleLogout({
174
- toast: {
175
- current: {
176
- show: ({ severity, summary, detail, sticky, life }: any) =>
177
- notify(severity || "info", summary || "", detail || "", { sticky, life }),
178
- },
179
- },
180
- });
173
+ handleLogout();
181
174
  } catch (err: any) {
182
175
  notify("error", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);
183
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB,+CAgG9B,CAAC"}
1
+ {"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,+CA2E9B,CAAC"}
@@ -35,24 +35,26 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
- import { useEffect, useState } from "react";
38
+ import { useEffect } from "react";
39
+ import { useDispatch } from "react-redux";
39
40
  import { useFormik } from "formik";
40
41
  import { ERROR_MESSAGES } from "../../../../constants/error-messages";
41
42
  import { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from "../../../../redux/api/solidSettingsApi";
43
+ import { showToast } from "../../../../redux/features/toastSlice";
42
44
  import { SolidButton } from "../../../shad-cn-ui/SolidButton";
43
45
  import styles from "./SolidAccountSettings.module.css";
44
46
  import { getSettingsMap } from "../../../../helpers/settingsPayload";
45
47
  export var SolidNotifications = function () {
46
48
  var _a, _b;
49
+ var dispatch = useDispatch();
47
50
  var _c = useGetSolidSettingsQuery(undefined), solidSettingsData = _c.data, refetch = _c.refetch;
48
51
  var settingsMap = getSettingsMap(solidSettingsData);
49
52
  var bulkUpdateSolidSettings = useBulkUpdateSolidUserSettingsMutation()[0];
50
- var _d = useState(null), toast = _d[0], setToast = _d[1];
51
53
  useEffect(function () {
52
54
  refetch();
53
55
  }, [refetch]);
54
56
  var notify = function (severity, summary, detail) {
55
- setToast({ id: Date.now(), severity: severity, summary: summary, detail: detail });
57
+ dispatch(showToast({ severity: severity, summary: summary, detail: detail }));
56
58
  };
57
59
  var formik = useFormik({
58
60
  initialValues: {
@@ -99,13 +101,6 @@ export var SolidNotifications = function () {
99
101
  });
100
102
  }); },
101
103
  });
102
- var severityClass = (toast === null || toast === void 0 ? void 0 : toast.severity) === "error"
103
- ? styles.toastError
104
- : (toast === null || toast === void 0 ? void 0 : toast.severity) === "success"
105
- ? styles.toastSuccess
106
- : (toast === null || toast === void 0 ? void 0 : toast.severity) === "warn"
107
- ? styles.toastWarn
108
- : styles.toastInfo;
109
- return (_jsxs("form", { onSubmit: formik.handleSubmit, className: styles.accountForm, children: [toast ? (_jsxs("div", { className: "".concat(styles.toast, " ").concat(severityClass), role: "status", "aria-live": "polite", children: [_jsxs("div", { children: [_jsx("div", { className: styles.toastTitle, children: toast.summary }), _jsx("div", { className: styles.toastBody, children: toast.detail })] }), _jsx("button", { type: "button", className: styles.toastClose, onClick: function () { return setToast(null); }, "aria-label": "Close notification", children: "\u00D7" })] })) : null, _jsx("div", { className: styles.accountScroll, children: _jsxs("div", { className: styles.switchRow, children: [_jsxs("div", { children: [_jsx("label", { className: styles.sectionTitle, children: "Enable Notification" }), _jsx("div", { className: styles.versionCaption, children: "Decide whether you want to be notified of new messages or updates." })] }), _jsxs("label", { className: styles.switch, "aria-label": "Enable notification", children: [_jsx("input", { type: "checkbox", checked: Boolean(formik.values.enableNotification), onChange: function (event) { return formik.setFieldValue("enableNotification", event.target.checked); } }), _jsx("span", { className: styles.switchTrack })] })] }) }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, children: "Save" }) })] }));
104
+ return (_jsxs("form", { onSubmit: formik.handleSubmit, className: styles.accountForm, children: [_jsx("div", { className: styles.accountScroll, children: _jsxs("div", { className: styles.switchRow, children: [_jsxs("div", { children: [_jsx("label", { className: styles.sectionTitle, children: "Enable Notification" }), _jsx("div", { className: styles.versionCaption, children: "Decide whether you want to be notified of new messages or updates." })] }), _jsxs("label", { className: styles.switch, "aria-label": "Enable notification", children: [_jsx("input", { type: "checkbox", checked: Boolean(formik.values.enableNotification), onChange: function (event) { return formik.setFieldValue("enableNotification", event.target.checked); } }), _jsx("span", { className: styles.switchTrack })] })] }) }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, children: "Save" }) })] }));
110
105
  };
111
106
  //# sourceMappingURL=SolidNotifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidNotifications.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from \"../../../../redux/api/solidSettingsApi\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\nimport { getSettingsMap } from \"../../../../helpers/settingsPayload\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n} | null;\n\nexport const SolidNotifications = () => {\n const { data: solidSettingsData, refetch } = useGetSolidSettingsQuery(undefined);\n const settingsMap = getSettingsMap(solidSettingsData);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();\n const [toast, setToast] = useState<ToastState>(null);\n\n useEffect(() => {\n refetch();\n }, [refetch]);\n\n const notify = (severity: \"success\" | \"error\" | \"info\" | \"warn\", summary: string, detail: string) => {\n setToast({ id: Date.now(), severity, summary, detail });\n };\n\n const formik = useFormik({\n initialValues: {\n enableNotification: settingsMap?.enableNotification ?? settingsMap?.enabledNotification ?? true,\n },\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string | boolean; type: string }> = [];\n const currentSettings = settingsMap || {};\n Object.entries(values).forEach(([key, value]) => {\n if ((currentSettings[key] ?? \"\") !== (value ?? \"\")) {\n updatedSettingsArray.push({ key, value, type: \"user\" });\n }\n });\n\n if (!updatedSettingsArray.length) {\n notify(\"info\", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);\n return;\n }\n\n const formData = new FormData();\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response.statusCode === 200) {\n notify(\"success\", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);\n } else {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n } catch {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const severityClass =\n toast?.severity === \"error\"\n ? styles.toastError\n : toast?.severity === \"success\"\n ? styles.toastSuccess\n : toast?.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n {toast ? (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={() => setToast(null)} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n ) : null}\n\n <div className={styles.accountScroll}>\n <div className={styles.switchRow}>\n <div>\n <label className={styles.sectionTitle}>Enable Notification</label>\n <div className={styles.versionCaption}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <label className={styles.switch} aria-label=\"Enable notification\">\n <input\n type=\"checkbox\"\n checked={Boolean(formik.values.enableNotification)}\n onChange={(event) => formik.setFieldValue(\"enableNotification\", event.target.checked)}\n />\n <span className={styles.switchTrack} />\n </label>\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Save\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidNotifications.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useFormik } from \"formik\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from \"../../../../redux/api/solidSettingsApi\";\nimport { showToast } from \"../../../../redux/features/toastSlice\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\nimport { getSettingsMap } from \"../../../../helpers/settingsPayload\";\n\nexport const SolidNotifications = () => {\n const dispatch = useDispatch();\n const { data: solidSettingsData, refetch } = useGetSolidSettingsQuery(undefined);\n const settingsMap = getSettingsMap(solidSettingsData);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();\n\n useEffect(() => {\n refetch();\n }, [refetch]);\n\n const notify = (severity: \"success\" | \"error\" | \"info\" | \"warn\", summary: string, detail: string) => {\n dispatch(showToast({ severity, summary, detail }));\n };\n\n const formik = useFormik({\n initialValues: {\n enableNotification: settingsMap?.enableNotification ?? settingsMap?.enabledNotification ?? true,\n },\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string | boolean; type: string }> = [];\n const currentSettings = settingsMap || {};\n Object.entries(values).forEach(([key, value]) => {\n if ((currentSettings[key] ?? \"\") !== (value ?? \"\")) {\n updatedSettingsArray.push({ key, value, type: \"user\" });\n }\n });\n\n if (!updatedSettingsArray.length) {\n notify(\"info\", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);\n return;\n }\n\n const formData = new FormData();\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response.statusCode === 200) {\n notify(\"success\", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);\n } else {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n } catch {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <div className={styles.accountScroll}>\n <div className={styles.switchRow}>\n <div>\n <label className={styles.sectionTitle}>Enable Notification</label>\n <div className={styles.versionCaption}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <label className={styles.switch} aria-label=\"Enable notification\">\n <input\n type=\"checkbox\"\n checked={Boolean(formik.values.enableNotification)}\n onChange={(event) => formik.setFieldValue(\"enableNotification\", event.target.checked)}\n />\n <span className={styles.switchTrack} />\n </label>\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Save\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
@@ -1,30 +1,25 @@
1
- import { useEffect, useState } from "react";
1
+ import { useEffect } from "react";
2
+ import { useDispatch } from "react-redux";
2
3
  import { useFormik } from "formik";
3
4
  import { ERROR_MESSAGES } from "../../../../constants/error-messages";
4
5
  import { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from "../../../../redux/api/solidSettingsApi";
6
+ import { showToast } from "../../../../redux/features/toastSlice";
5
7
  import { SolidButton } from "../../../shad-cn-ui/SolidButton";
6
8
  import styles from "./SolidAccountSettings.module.css";
7
9
  import { getSettingsMap } from "../../../../helpers/settingsPayload";
8
10
 
9
- type ToastState = {
10
- id: number;
11
- severity: "success" | "error" | "info" | "warn";
12
- summary: string;
13
- detail: string;
14
- } | null;
15
-
16
11
  export const SolidNotifications = () => {
12
+ const dispatch = useDispatch();
17
13
  const { data: solidSettingsData, refetch } = useGetSolidSettingsQuery(undefined);
18
14
  const settingsMap = getSettingsMap(solidSettingsData);
19
15
  const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();
20
- const [toast, setToast] = useState<ToastState>(null);
21
16
 
22
17
  useEffect(() => {
23
18
  refetch();
24
19
  }, [refetch]);
25
20
 
26
21
  const notify = (severity: "success" | "error" | "info" | "warn", summary: string, detail: string) => {
27
- setToast({ id: Date.now(), severity, summary, detail });
22
+ dispatch(showToast({ severity, summary, detail }));
28
23
  };
29
24
 
30
25
  const formik = useFormik({
@@ -62,29 +57,8 @@ export const SolidNotifications = () => {
62
57
  },
63
58
  });
64
59
 
65
- const severityClass =
66
- toast?.severity === "error"
67
- ? styles.toastError
68
- : toast?.severity === "success"
69
- ? styles.toastSuccess
70
- : toast?.severity === "warn"
71
- ? styles.toastWarn
72
- : styles.toastInfo;
73
-
74
60
  return (
75
61
  <form onSubmit={formik.handleSubmit} className={styles.accountForm}>
76
- {toast ? (
77
- <div className={`${styles.toast} ${severityClass}`} role="status" aria-live="polite">
78
- <div>
79
- <div className={styles.toastTitle}>{toast.summary}</div>
80
- <div className={styles.toastBody}>{toast.detail}</div>
81
- </div>
82
- <button type="button" className={styles.toastClose} onClick={() => setToast(null)} aria-label="Close notification">
83
- ×
84
- </button>
85
- </div>
86
- ) : null}
87
-
88
62
  <div className={styles.accountScroll}>
89
63
  <div className={styles.switchRow}>
90
64
  <div>
@@ -321,7 +321,7 @@
321
321
  align-items: center;
322
322
  justify-content: center;
323
323
  gap: 10px;
324
- cursor: pointer;
324
+ cursor: default;
325
325
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
326
326
  }
327
327
 
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportDropzone.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB,yDAA0D,GAAG,4CA6H5F,CAAA"}
1
+ {"version":3,"file":"SolidImportDropzone.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB,yDAA0D,GAAG,4CA+H5F,CAAA"}
@@ -108,6 +108,8 @@ export var SolidImportDropzone = function (_a) {
108
108
  'text/csv': ['.csv']
109
109
  },
110
110
  multiple: false,
111
+ noClick: true,
112
+ noKeyboard: true,
111
113
  }), getRootProps = _d.getRootProps, getInputProps = _d.getInputProps, open = _d.open;
112
114
  var rootProps = getRootProps({ className: 'solid-import-dropzone-shell' });
113
115
  var removeFile = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportDropzone.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useCallback, useState } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { FileSpreadsheet, FileText, Trash2, Upload } from 'lucide-react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport styles from './SolidImport.module.css'\nimport { DocumentSvg } from './DocumentSvg';\nimport { useCreateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { SolidButton } from '../../../shad-cn-ui';\nexport const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMetadataId }: any) => {\n const dispatch = useDispatch();\n\n const [file, setFile] = useState<File | null>(null);\n const [createImportTransaction, { isLoading }] = useCreateImportTransactionMutation();\n\n\n const uploadFile = async (uploadFile: File) => {\n const formData = new FormData();\n formData.append('fileLocation', uploadFile);\n formData.append('modelMetadataId', modelMetadataId);\n\n try {\n const response = await createImportTransaction(formData).unwrap();\n console.log('Upload success:', response);\n if (response?.statusCode === 200) {\n setFile(uploadFile);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FILE_UPLOAD, detail: ERROR_MESSAGES.FILE_UPLOAD_SUCCESSFULLY }));\n setTransactionId?.(response?.data?.id);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.FAILED_UPLOAD_FILE, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n };\n\n const onDrop = useCallback((acceptedFiles: File[]) => {\n if (acceptedFiles.length > 0) {\n const selectedFile = acceptedFiles[0];\n uploadFile(selectedFile); // 👈 Auto upload on drop\n }\n }, []);\n\n const { getRootProps, getInputProps, open } = useDropzone({\n onDrop,\n accept: {\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['.xlsx'],\n 'text/csv': ['.csv']\n },\n multiple: false,\n });\n\n const rootProps = getRootProps({ className: 'solid-import-dropzone-shell' });\n\n const removeFile = () => {\n setFile(null);\n };\n\n const formatBytes = (bytes: number) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n if (bytes === 0) return '0 Byte';\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`;\n };\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n <div {...rootProps}>\n <input {...getInputProps()} />\n <div className=\"solid-import-dropzone-copy\">\n <div className='flex justify-content-center'>\n <DocumentSvg />\n </div>\n <div className=\"solid-import-dropzone-kicker\">Accepted formats</div>\n <h5 className='text-center solid-primary-black-text solid-import-section-title solid-import-dropzone-title'>Drop or upload a file to import</h5>\n <p className='text-center m-0 solid-import-section-copy'>Excel files are recommended as formatting is automatic. You can also import plain <code>.csv</code> files.</p>\n <div className=\"solid-import-dropzone-format-list\" aria-hidden=\"true\">\n <span className=\"solid-import-dropzone-format-pill\">\n <FileSpreadsheet size={13} />\n Excel\n </span>\n <span className=\"solid-import-dropzone-format-pill\">\n <FileText size={13} />\n CSV\n </span>\n </div>\n <div className='flex justify-content-center mt-3'>\n <SolidButton type=\"button\" variant=\"outline\" size=\"small\" leftIcon={<Upload size={14} />} onClick={(event) => {\n event.stopPropagation();\n open();\n }}>\n Browse Files\n </SolidButton>\n </div>\n </div>\n {file &&\n <div className=\"solid-import-file-card\" onClick={(e) => e.stopPropagation()}>\n <div className=\"solid-import-file-card-main\">\n <div className=\"solid-import-file-icon\">\n <FileSpreadsheet size={18} />\n </div>\n <div className=\"solid-import-file-meta\">\n <p className='m-0 solid-import-file-name'>{file.name}</p>\n <p className='m-0 solid-import-file-caption'>{file.type || 'Unknown type'}</p>\n <p className='m-0 solid-import-file-caption'>{formatBytes(file.size)}</p>\n </div>\n </div>\n <SolidButton type=\"button\" variant=\"ghost\" size=\"small\" className=\"solid-import-file-remove\" leftIcon={<Trash2 size={14} />} onClick={removeFile} />\n </div>\n }\n </div>\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Upload one source file and continue to field mapping.</p>\n <SolidButton\n type=\"button\"\n size='small'\n onClick={() => {\n if (!file) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.MISSING_FILE, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }));\n return;\n }\n setImportStep(3);\n }}\n disabled={!file || isLoading}\n loading={isLoading}\n >\n Continue\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidImportDropzone.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useCallback, useState } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { FileSpreadsheet, FileText, Trash2, Upload } from 'lucide-react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport styles from './SolidImport.module.css'\nimport { DocumentSvg } from './DocumentSvg';\nimport { useCreateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { SolidButton } from '../../../shad-cn-ui';\nexport const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMetadataId }: any) => {\n const dispatch = useDispatch();\n\n const [file, setFile] = useState<File | null>(null);\n const [createImportTransaction, { isLoading }] = useCreateImportTransactionMutation();\n\n\n const uploadFile = async (uploadFile: File) => {\n const formData = new FormData();\n formData.append('fileLocation', uploadFile);\n formData.append('modelMetadataId', modelMetadataId);\n\n try {\n const response = await createImportTransaction(formData).unwrap();\n console.log('Upload success:', response);\n if (response?.statusCode === 200) {\n setFile(uploadFile);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FILE_UPLOAD, detail: ERROR_MESSAGES.FILE_UPLOAD_SUCCESSFULLY }));\n setTransactionId?.(response?.data?.id);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.FAILED_UPLOAD_FILE, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n };\n\n const onDrop = useCallback((acceptedFiles: File[]) => {\n if (acceptedFiles.length > 0) {\n const selectedFile = acceptedFiles[0];\n uploadFile(selectedFile); // 👈 Auto upload on drop\n }\n }, []);\n\n const { getRootProps, getInputProps, open } = useDropzone({\n onDrop,\n accept: {\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['.xlsx'],\n 'text/csv': ['.csv']\n },\n multiple: false,\n noClick: true,\n noKeyboard: true,\n });\n\n const rootProps = getRootProps({ className: 'solid-import-dropzone-shell' });\n\n const removeFile = () => {\n setFile(null);\n };\n\n const formatBytes = (bytes: number) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n if (bytes === 0) return '0 Byte';\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`;\n };\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n <div {...rootProps}>\n <input {...getInputProps()} />\n <div className=\"solid-import-dropzone-copy\">\n <div className='flex justify-content-center'>\n <DocumentSvg />\n </div>\n <div className=\"solid-import-dropzone-kicker\">Accepted formats</div>\n <h5 className='text-center solid-primary-black-text solid-import-section-title solid-import-dropzone-title'>Drop or upload a file to import</h5>\n <p className='text-center m-0 solid-import-section-copy'>Excel files are recommended as formatting is automatic. You can also import plain <code>.csv</code> files.</p>\n <div className=\"solid-import-dropzone-format-list\" aria-hidden=\"true\">\n <span className=\"solid-import-dropzone-format-pill\">\n <FileSpreadsheet size={13} />\n Excel\n </span>\n <span className=\"solid-import-dropzone-format-pill\">\n <FileText size={13} />\n CSV\n </span>\n </div>\n <div className='flex justify-content-center mt-3'>\n <SolidButton type=\"button\" variant=\"outline\" size=\"small\" leftIcon={<Upload size={14} />} onClick={(event) => {\n event.stopPropagation();\n open();\n }}>\n Browse Files\n </SolidButton>\n </div>\n </div>\n {file &&\n <div className=\"solid-import-file-card\" onClick={(e) => e.stopPropagation()}>\n <div className=\"solid-import-file-card-main\">\n <div className=\"solid-import-file-icon\">\n <FileSpreadsheet size={18} />\n </div>\n <div className=\"solid-import-file-meta\">\n <p className='m-0 solid-import-file-name'>{file.name}</p>\n <p className='m-0 solid-import-file-caption'>{file.type || 'Unknown type'}</p>\n <p className='m-0 solid-import-file-caption'>{formatBytes(file.size)}</p>\n </div>\n </div>\n <SolidButton type=\"button\" variant=\"ghost\" size=\"small\" className=\"solid-import-file-remove\" leftIcon={<Trash2 size={14} />} onClick={removeFile} />\n </div>\n }\n </div>\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Upload one source file and continue to field mapping.</p>\n <SolidButton\n type=\"button\"\n size='small'\n onClick={() => {\n if (!file) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.MISSING_FILE, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }));\n return;\n }\n setImportStep(3);\n }}\n disabled={!file || isLoading}\n loading={isLoading}\n >\n Continue\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
@@ -51,6 +51,8 @@ export const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMeta
51
51
  'text/csv': ['.csv']
52
52
  },
53
53
  multiple: false,
54
+ noClick: true,
55
+ noKeyboard: true,
54
56
  });
55
57
 
56
58
  const rootProps = getRootProps({ className: 'solid-import-dropzone-shell' });
@@ -1 +1 @@
1
- {"version":3,"file":"SolidGlobalSearchElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidGlobalSearchElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgF,MAAM,OAAO,CAAC;AAYrG,OAA0B,EAAE,eAAe,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AA0B3G,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAAA;AAoUD,eAAO,MAAM,2BAA2B,sBAAuB,GAAG,aAAa,GAAG,yBAAyB,MAAM,iBAAiB,MAAM,QAavI,CAAA;AAGD,eAAO,MAAM,mBAAmB,iBAAkB,GAAG,gBAAgB,GAAG,eAAe,GAAG,qBAAqB,GAAG,kBAAkB,YAAY,EAAE,qBAAqB,eAAe,EAAE,QAwBvL,CAAA;AA0HD,eAAO,MAAM,wBAAwB,kFA6oDnC,CAAC"}
1
+ {"version":3,"file":"SolidGlobalSearchElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidGlobalSearchElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgF,MAAM,OAAO,CAAC;AAYrG,OAA0B,EAAE,eAAe,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AA0B3G,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAAA;AAoUD,eAAO,MAAM,2BAA2B,sBAAuB,GAAG,aAAa,GAAG,yBAAyB,MAAM,iBAAiB,MAAM,QAavI,CAAA;AAGD,eAAO,MAAM,mBAAmB,iBAAkB,GAAG,gBAAgB,GAAG,eAAe,GAAG,qBAAqB,GAAG,kBAAkB,YAAY,EAAE,qBAAqB,eAAe,EAAE,QAwBvL,CAAA;AA0HD,eAAO,MAAM,wBAAwB,kFA+qDnC,CAAC"}