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

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 (286) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +19 -17
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +59 -34
  5. package/dist/components/common/BackendReconnectIndicator.d.ts +6 -0
  6. package/dist/components/common/BackendReconnectIndicator.d.ts.map +1 -0
  7. package/dist/components/common/BackendReconnectIndicator.js +25 -0
  8. package/dist/components/common/BackendReconnectIndicator.js.map +1 -0
  9. package/dist/components/common/BackendReconnectIndicator.tsx +45 -0
  10. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  11. package/dist/components/common/SettingsComponent.js +7 -3
  12. package/dist/components/common/SettingsComponent.js.map +1 -1
  13. package/dist/components/common/SettingsComponent.module.css +144 -12
  14. package/dist/components/common/SettingsComponent.tsx +22 -3
  15. package/dist/components/common/SolidAdmin.d.ts.map +1 -1
  16. package/dist/components/common/SolidAdmin.js +7 -2
  17. package/dist/components/common/SolidAdmin.js.map +1 -1
  18. package/dist/components/common/SolidAdmin.tsx +7 -2
  19. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  20. package/dist/components/common/SolidBreadcrumb.js +1 -6
  21. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  22. package/dist/components/common/SolidBreadcrumb.tsx +1 -8
  23. package/dist/components/common/SolidMaterialSymbol.d.ts +10 -0
  24. package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -0
  25. package/dist/components/common/SolidMaterialSymbol.js +69 -0
  26. package/dist/components/common/SolidMaterialSymbol.js.map +1 -0
  27. package/dist/components/common/SolidMaterialSymbol.tsx +96 -0
  28. package/dist/components/common/SolidToastProvider.d.ts.map +1 -1
  29. package/dist/components/common/SolidToastProvider.js +14 -1
  30. package/dist/components/common/SolidToastProvider.js.map +1 -1
  31. package/dist/components/common/SolidToastProvider.tsx +19 -1
  32. package/dist/components/core/card/CardGrid.d.ts +1 -1
  33. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  34. package/dist/components/core/card/CardGrid.js +2 -2
  35. package/dist/components/core/card/CardGrid.js.map +1 -1
  36. package/dist/components/core/card/CardGrid.tsx +4 -0
  37. package/dist/components/core/card/CardItem.d.ts +2 -0
  38. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  39. package/dist/components/core/card/CardItem.js +7 -2
  40. package/dist/components/core/card/CardItem.js.map +1 -1
  41. package/dist/components/core/card/CardItem.tsx +30 -8
  42. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  43. package/dist/components/core/card/SolidCardView.js +87 -21
  44. package/dist/components/core/card/SolidCardView.js.map +1 -1
  45. package/dist/components/core/card/SolidCardView.tsx +96 -40
  46. package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
  47. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  48. package/dist/components/core/card/SolidCardViewConfigure.js +9 -7
  49. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  50. package/dist/components/core/card/SolidCardViewConfigure.tsx +14 -1
  51. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +3 -1
  52. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  53. package/dist/components/core/common/SolidGlobalSearchElement.js +4 -3
  54. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  55. package/dist/components/core/common/SolidGlobalSearchElement.tsx +15 -19
  56. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  57. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +43 -16
  58. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  59. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +24 -2
  60. package/dist/components/core/form/SolidFormFooter.js +1 -1
  61. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  62. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  63. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  64. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  65. package/dist/components/core/form/SolidFormLayouts.tsx +2 -2
  66. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  67. package/dist/components/core/form/fields/SolidMediaMultipleField.js +120 -56
  68. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  69. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +63 -50
  70. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  71. package/dist/components/core/form/fields/SolidMediaSingleField.js +115 -37
  72. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  73. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +36 -35
  74. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  75. package/dist/components/core/form/fields/SolidRichTextField.js +67 -4
  76. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  77. package/dist/components/core/form/fields/SolidRichTextField.tsx +89 -7
  78. package/dist/components/core/form/fields/mediaFieldUtils.d.ts +3 -0
  79. package/dist/components/core/form/fields/mediaFieldUtils.d.ts.map +1 -0
  80. package/dist/components/core/form/fields/mediaFieldUtils.js +30 -0
  81. package/dist/components/core/form/fields/mediaFieldUtils.js.map +1 -0
  82. package/dist/components/core/form/fields/mediaFieldUtils.ts +45 -0
  83. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  84. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +1 -1
  85. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  86. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +3 -1
  87. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  88. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +22 -23
  89. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  90. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +13 -7
  91. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  92. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +16 -11
  93. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  94. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +32 -18
  95. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.d.ts.map +1 -1
  96. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js +3 -1
  97. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js.map +1 -1
  98. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.tsx +11 -5
  99. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  100. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  101. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  102. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  103. package/dist/components/core/kanban/KanbanBoard.tsx +3 -1
  104. package/dist/components/core/kanban/KanbanCard.d.ts +2 -0
  105. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  106. package/dist/components/core/kanban/KanbanCard.js +10 -5
  107. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  108. package/dist/components/core/kanban/KanbanCard.tsx +28 -12
  109. package/dist/components/core/kanban/KanbanColumn.d.ts +3 -1
  110. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  111. package/dist/components/core/kanban/KanbanColumn.js +2 -2
  112. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  113. package/dist/components/core/kanban/KanbanColumn.tsx +4 -2
  114. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  115. package/dist/components/core/kanban/SolidKanbanView.js +154 -25
  116. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  117. package/dist/components/core/kanban/SolidKanbanView.tsx +129 -16
  118. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  119. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  120. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +13 -10
  121. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  122. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +18 -3
  123. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  124. package/dist/components/core/list/SolidDataTable.js +3 -2
  125. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  126. package/dist/components/core/list/SolidDataTable.tsx +3 -2
  127. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  128. package/dist/components/core/list/SolidListView.js +16 -5
  129. package/dist/components/core/list/SolidListView.js.map +1 -1
  130. package/dist/components/core/list/SolidListView.tsx +20 -8
  131. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  132. package/dist/components/core/list/SolidListViewColumn.js +1 -0
  133. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  134. package/dist/components/core/list/SolidListViewColumn.tsx +1 -0
  135. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  136. package/dist/components/core/list/columns/SolidShortTextColumn.js +7 -2
  137. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  138. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +7 -2
  139. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.d.ts.map +1 -1
  140. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +4 -1
  141. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  142. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +5 -2
  143. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  144. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +2 -1
  145. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  146. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +2 -1
  147. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.d.ts.map +1 -1
  148. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +4 -1
  149. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  150. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +5 -2
  151. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  152. package/dist/components/core/locales/SolidLocale.js +1 -1
  153. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  154. package/dist/components/core/locales/SolidLocale.tsx +1 -0
  155. package/dist/components/core/model/CreateModel.css +26 -0
  156. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  157. package/dist/components/core/model/FieldMetaData.js +21 -3
  158. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  159. package/dist/components/core/model/FieldMetaData.tsx +45 -4
  160. package/dist/components/core/model/FieldMetaDataForm.css +82 -0
  161. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -0
  162. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  163. package/dist/components/core/model/FieldMetaDataForm.js +246 -235
  164. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  165. package/dist/components/core/model/FieldMetaDataForm.tsx +46 -34
  166. package/dist/components/core/model/FieldSelector.js +1 -1
  167. package/dist/components/core/model/FieldSelector.js.map +1 -1
  168. package/dist/components/core/model/FieldSelector.tsx +1 -1
  169. package/dist/components/core/model/ModelMetaData.js +1 -1
  170. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  171. package/dist/components/core/model/ModelMetaData.tsx +1 -1
  172. package/dist/components/core/module/CreateModule.css +55 -2
  173. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  174. package/dist/components/core/module/CreateModule.js +2 -2
  175. package/dist/components/core/module/CreateModule.js.map +1 -1
  176. package/dist/components/core/module/CreateModule.tsx +3 -2
  177. package/dist/components/core/module/ModuleMetadataExplorer.css +27 -0
  178. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
  179. package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
  180. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
  181. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1 -0
  182. package/dist/components/core/tree/SolidTreeTable.d.ts +2 -1
  183. package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -1
  184. package/dist/components/core/tree/SolidTreeTable.js +2 -2
  185. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  186. package/dist/components/core/tree/SolidTreeTable.tsx +3 -1
  187. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  188. package/dist/components/core/tree/SolidTreeView.js +44 -16
  189. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  190. package/dist/components/core/tree/SolidTreeView.tsx +55 -24
  191. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  192. package/dist/components/core/users/CreateUser.js +45 -32
  193. package/dist/components/core/users/CreateUser.js.map +1 -1
  194. package/dist/components/core/users/CreateUser.tsx +15 -4
  195. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  196. package/dist/components/layout/AdminHeaderActions.js +10 -9
  197. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  198. package/dist/components/layout/AdminHeaderActions.tsx +2 -0
  199. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  200. package/dist/components/layout/AppSidebar.js +2 -1
  201. package/dist/components/layout/AppSidebar.js.map +1 -1
  202. package/dist/components/layout/AppSidebar.tsx +12 -5
  203. package/dist/components/layout/SolidMenuItemIcon.d.ts +9 -0
  204. package/dist/components/layout/SolidMenuItemIcon.d.ts.map +1 -0
  205. package/dist/components/layout/SolidMenuItemIcon.js +20 -0
  206. package/dist/components/layout/SolidMenuItemIcon.js.map +1 -0
  207. package/dist/components/layout/SolidMenuItemIcon.tsx +45 -0
  208. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  209. package/dist/components/layout/navbar-two-menu.js +6 -7
  210. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  211. package/dist/components/layout/navbar-two-menu.tsx +4 -12
  212. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  213. package/dist/components/shad-cn-ui/SolidCodeEditor.js +30 -2
  214. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  215. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +38 -1
  216. package/dist/helpers/backendHealthMonitor.d.ts +39 -0
  217. package/dist/helpers/backendHealthMonitor.d.ts.map +1 -0
  218. package/dist/helpers/backendHealthMonitor.js +255 -0
  219. package/dist/helpers/backendHealthMonitor.js.map +1 -0
  220. package/dist/helpers/backendHealthMonitor.ts +177 -0
  221. package/dist/helpers/helpers.d.ts +1 -0
  222. package/dist/helpers/helpers.d.ts.map +1 -1
  223. package/dist/helpers/helpers.js +9 -0
  224. package/dist/helpers/helpers.js.map +1 -1
  225. package/dist/helpers/helpers.ts +11 -1
  226. package/dist/helpers/menuItemIcons.d.ts +34 -0
  227. package/dist/helpers/menuItemIcons.d.ts.map +1 -0
  228. package/dist/helpers/menuItemIcons.js +144 -0
  229. package/dist/helpers/menuItemIcons.js.map +1 -0
  230. package/dist/helpers/menuItemIcons.ts +191 -0
  231. package/dist/helpers/relationDisplay.d.ts +3 -0
  232. package/dist/helpers/relationDisplay.d.ts.map +1 -0
  233. package/dist/helpers/relationDisplay.js +92 -0
  234. package/dist/helpers/relationDisplay.js.map +1 -0
  235. package/dist/helpers/relationDisplay.ts +101 -0
  236. package/dist/helpers/settingsPayload.d.ts +1 -0
  237. package/dist/helpers/settingsPayload.d.ts.map +1 -1
  238. package/dist/helpers/settingsPayload.js.map +1 -1
  239. package/dist/helpers/settingsPayload.ts +1 -0
  240. package/dist/helpers/solidIcons.d.ts +2 -0
  241. package/dist/helpers/solidIcons.d.ts.map +1 -1
  242. package/dist/helpers/solidIcons.js +8 -0
  243. package/dist/helpers/solidIcons.js.map +1 -1
  244. package/dist/helpers/solidIcons.tsx +10 -1
  245. package/dist/helpers/waitForBackendAvailability.d.ts +1 -0
  246. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -1
  247. package/dist/helpers/waitForBackendAvailability.js +35 -22
  248. package/dist/helpers/waitForBackendAvailability.js.map +1 -1
  249. package/dist/helpers/waitForBackendAvailability.ts +18 -12
  250. package/dist/http/solidHttp.d.ts.map +1 -1
  251. package/dist/http/solidHttp.js +10 -4
  252. package/dist/http/solidHttp.js.map +1 -1
  253. package/dist/http/solidHttp.ts +9 -4
  254. package/dist/redux/api/datasourceIntrospectionApi.d.ts +4 -0
  255. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  256. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  257. package/dist/redux/api/datasourceIntrospectionApi.ts +4 -0
  258. package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
  259. package/dist/redux/api/fetchBaseQuery.js +9 -3
  260. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  261. package/dist/redux/api/fetchBaseQuery.tsx +9 -3
  262. package/dist/redux/store/StoreProvider.d.ts.map +1 -1
  263. package/dist/redux/store/StoreProvider.js +4 -3
  264. package/dist/redux/store/StoreProvider.js.map +1 -1
  265. package/dist/redux/store/StoreProvider.tsx +4 -3
  266. package/dist/redux/store/defaultStoreConfig.d.ts +5 -5
  267. package/dist/resources/globals.css +341 -49
  268. package/dist/resources/solid-custom.css +464 -11
  269. package/dist/resources/solid-responsive.css +31 -20
  270. package/dist/resources/solid-tailwind-generated.css +1 -1
  271. package/dist/routes/AppEventListener.d.ts.map +1 -1
  272. package/dist/routes/AppEventListener.js +23 -0
  273. package/dist/routes/AppEventListener.js.map +1 -1
  274. package/dist/routes/AppEventListener.tsx +29 -0
  275. package/dist/routes/pages/admin/core/DashboardPage.module.css +12 -0
  276. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +306 -3
  277. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  278. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +745 -393
  279. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  280. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1074 -420
  281. package/dist/routes/pages/admin/core/DatasourcesPage.css +15 -0
  282. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -1
  283. package/dist/routes/pages/admin/core/DatasourcesPage.js +7 -188
  284. package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -1
  285. package/dist/routes/pages/admin/core/DatasourcesPage.tsx +3 -393
  286. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
2
2
  import FilterComponent, { FilterOperator, FilterRule, FilterRuleType } from "../../../components/core/common/FilterComponent";
3
+ import { toTitleCase } from "../../../helpers/helpers";
3
4
  import { usePathname } from "../../../hooks/usePathname";
4
5
  import { useRouter } from "../../../hooks/useRouter";
5
6
  import { useSearchParams } from "../../../hooks/useSearchParams";
@@ -1087,7 +1088,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
1087
1088
  return false;
1088
1089
  }
1089
1090
  });
1090
-
1091
+
1091
1092
  // Optionally map to a minimal structure if needed for UI
1092
1093
  let finalSearchableFieldsList: any = searchableFieldsList.map((field: any) => ({
1093
1094
  fieldName: field.value,
@@ -1095,7 +1096,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
1095
1096
  searchField: field.searchField ?? "",
1096
1097
  matchMode: field.matchMode
1097
1098
  }));
1098
-
1099
+
1099
1100
  setSearchableFields(finalSearchableFieldsList);
1100
1101
 
1101
1102
  let finalGroupableFieldsList: any = groupableFieldsList.map((field: any) => ({
@@ -1883,23 +1884,18 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
1883
1884
  <li key={chip.id}>
1884
1885
  <div className={`search-filter-chip-type solid-chip-pill solid-chip-tone-${chip.type}`}>
1885
1886
  {chip.onOpen ? (
1886
- <>
1887
- <button
1888
- type="button"
1889
- className="solid-chip-open-button"
1890
- title={chip.label}
1891
- aria-label={`Open ${chip.label}`}
1892
- onMouseDown={(e) => e.preventDefault()}
1893
- onClick={() => handleManagedChipOpen(chip)}
1894
- >
1895
- <span className="solid-chip-open-icon" aria-hidden="true">
1896
- <Filter size={12} />
1897
- </span>
1898
- </button>
1899
- <span className="custom-chip-value solid-chip-pill-label solid-chip-open-label" title={chip.label}>
1887
+ <button
1888
+ type="button"
1889
+ className="solid-chip-label-button"
1890
+ title={chip.label}
1891
+ aria-label={`Open ${chip.label}`}
1892
+ onMouseDown={(e) => e.preventDefault()}
1893
+ onClick={() => handleManagedChipOpen(chip)}
1894
+ >
1895
+ <span className="custom-chip-value solid-chip-pill-label" title={chip.label}>
1900
1896
  {chip.label}
1901
1897
  </span>
1902
- </>
1898
+ </button>
1903
1899
  ) : (
1904
1900
  <span className="custom-chip-value solid-chip-pill-label" title={chip.label}>
1905
1901
  {chip.label}
@@ -2062,7 +2058,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
2062
2058
  }}
2063
2059
  onMouseEnter={() => setFocusedIndex(index)}
2064
2060
  >
2065
- Search <strong style={{paddingLeft:"2px"}}>{value.displayName.trim()}</strong>&nbsp;for:&nbsp; <span className="font-bold text-color">{inputValue}</span>
2061
+ Search <strong style={{paddingLeft:"2px"}}>{toTitleCase(value.displayName.trim())}</strong>&nbsp;for:&nbsp; <span className="font-bold text-color">{inputValue}</span>
2066
2062
  </SolidButton>
2067
2063
  )
2068
2064
  })
@@ -2096,7 +2092,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
2096
2092
  >
2097
2093
  <div className="flex items-center gap-1">
2098
2094
  <strong>{predefinedSearch.name}:</strong>
2099
- <span className="font-bold text-color">{inputValue}</span>
2095
+ <span className="font-bold text-color pr-1">{inputValue} </span>
2100
2096
  </div>
2101
2097
  <div className="text-xs">{predefinedSearch.description}</div>
2102
2098
  </SolidButton>
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteModelRowAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAU1F,QAAA,MAAM,oBAAoB,UAAW,oCAAoC,4CAuGxE,CAAA;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DeleteModelRowAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAa1F,QAAA,MAAM,oBAAoB,UAAW,oCAAoC,4CA0HxE,CAAA;AAED,eAAe,oBAAoB,CAAC"}
@@ -43,40 +43,67 @@ import { kebabCase } from "lodash";
43
43
  import { createSolidEntityApi } from "../../../../../../redux/api/solidEntityApi";
44
44
  import { ERROR_MESSAGES } from "../../../../../../constants/error-messages";
45
45
  import { SolidButton, SolidCheckbox } from "../../../../../shad-cn-ui";
46
+ import { pingBackendAvailability } from "../../../../../../helpers/waitForBackendAvailability";
47
+ import { backendHealthMonitor } from "../../../../../../helpers/backendHealthMonitor";
48
+ var DELETE_MODEL_DIALOG_DISMISS_DELAY_MS = 3000;
46
49
  var DeleteModelRowAction = function (event) {
47
50
  var _a = useState(false), isConfirmed = _a[0], setIsConfirmed = _a[1];
51
+ var _b = useState(false), isApplying = _b[0], setIsApplying = _b[1];
48
52
  var dispatch = useDispatch();
49
53
  var entityApi = createSolidEntityApi(event.params.modelName);
50
54
  var useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation;
51
55
  var deleteSolidSingleEntiry = useDeleteSolidEntityMutation()[0];
52
56
  var deleteModelHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
53
- var res, message, err_1;
57
+ var res, message, isBackendAvailable, err_1;
54
58
  var _a, _b, _c;
55
59
  return __generator(this, function (_d) {
56
60
  switch (_d.label) {
57
61
  case 0:
58
- _d.trys.push([0, 2, , 3]);
59
- return [4 /*yield*/, deleteSolidSingleEntiry(event.rowData.id)];
62
+ if (isApplying) {
63
+ return [2 /*return*/];
64
+ }
65
+ setIsApplying(true);
66
+ _d.label = 1;
60
67
  case 1:
68
+ _d.trys.push([1, 7, 8, 9]);
69
+ return [4 /*yield*/, deleteSolidSingleEntiry(event.rowData.id)];
70
+ case 2:
61
71
  res = _d.sent();
62
- // console.log('delete model res', res);
63
- if (res.error) {
64
- message = ((_b = (_a = res.error) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) ||
65
- ((_c = res.error) === null || _c === void 0 ? void 0 : _c.error) ||
66
- ERROR_MESSAGES.ERROR_OCCURED;
67
- dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));
72
+ if (!res.error) return [3 /*break*/, 3];
73
+ message = ((_b = (_a = res.error) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) ||
74
+ ((_c = res.error) === null || _c === void 0 ? void 0 : _c.error) ||
75
+ ERROR_MESSAGES.ERROR_OCCURED;
76
+ dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));
77
+ return [3 /*break*/, 6];
78
+ case 3:
79
+ dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));
80
+ return [4 /*yield*/, new Promise(function (resolve) { return window.setTimeout(resolve, DELETE_MODEL_DIALOG_DISMISS_DELAY_MS); })];
81
+ case 4:
82
+ _d.sent();
83
+ dispatch(closePopup());
84
+ return [4 /*yield*/, pingBackendAvailability()];
85
+ case 5:
86
+ isBackendAvailable = _d.sent();
87
+ if (isBackendAvailable) {
88
+ backendHealthMonitor.reportSuccess();
68
89
  }
69
90
  else {
70
- dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));
71
- dispatch(closePopup());
91
+ backendHealthMonitor.reportFailure({
92
+ status: "FETCH_ERROR",
93
+ message: "Unable to reach the server. Reconnecting...",
94
+ });
72
95
  }
73
- return [3 /*break*/, 3];
74
- case 2:
96
+ _d.label = 6;
97
+ case 6: return [3 /*break*/, 9];
98
+ case 7:
75
99
  err_1 = _d.sent();
76
100
  console.error("catch error", err_1);
77
101
  dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));
78
- return [3 /*break*/, 3];
79
- case 3: return [2 /*return*/];
102
+ return [3 /*break*/, 9];
103
+ case 8:
104
+ setIsApplying(false);
105
+ return [7 /*endfinally*/];
106
+ case 9: return [2 /*return*/];
80
107
  }
81
108
  });
82
109
  }); };
@@ -91,7 +118,7 @@ var DeleteModelRowAction = function (event) {
91
118
  { file: "".concat(kebabCase(event.rowData.singularName), "-metadata.json"), description: 'Remove references to this model in the model metadata, menu, action & view sections', intervention: 'Automatic' },
92
119
  { file: '-', description: 'Drop database table. Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually', intervention: 'Manual (X)', manual: true },
93
120
  ];
94
- return (_jsxs("div", { className: "solid-delete-model-popup", children: [_jsx("div", { className: "solid-filter-dialog-head solid-delete-model-popup__head", children: _jsxs("div", { children: [_jsx("h3", { className: "solid-filter-dialog-title", children: "Delete Model" }), _jsx("p", { className: "solid-filter-dialog-subtitle m-0", children: "Review the impacted files carefully before applying this delete action." })] }) }), _jsx("div", { className: "solid-filter-dialog-sep" }), _jsxs("div", { className: "solid-filter-dialog-body solid-delete-model-popup__body", children: [_jsx("p", { className: "solid-delete-model-popup__intro", children: "Deleting a model should be done carefully. The following files will be impacted as part of deleting this model." }), _jsx("div", { className: "solid-delete-model-popup__table-wrap", children: _jsxs("table", { className: "solid-delete-model-popup__table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "File Name" }), _jsx("th", { children: "Description" }), _jsx("th", { children: "Intervention" })] }) }), _jsx("tbody", { children: rows.map(function (row) { return (_jsxs("tr", { children: [_jsx("td", { className: "solid-delete-model-popup__file", children: row.file }), _jsx("td", { children: row.description }), _jsx("td", { className: row.manual ? "solid-delete-model-popup__intervention is-manual" : "solid-delete-model-popup__intervention", children: row.intervention })] }, "".concat(row.file, "-").concat(row.intervention))); }) })] }) }), _jsx("div", { className: "solid-delete-model-popup__confirm", children: _jsx(SolidCheckbox, { id: "delete-model-confirmation", name: "confirm", checked: isConfirmed, onChange: function () { return setIsConfirmed(!isConfirmed); }, label: "I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied." }) }), _jsxs("div", { className: "solid-delete-model-popup__actions", children: [_jsx(SolidButton, { size: "small", disabled: !isConfirmed, autoFocus: true, onClick: deleteModelHandler, children: "Apply" }), _jsx(SolidButton, { size: "small", variant: "outline", onClick: function () { return dispatch(closePopup()); }, children: "Cancel" })] })] })] }));
121
+ return (_jsxs("div", { className: "solid-delete-model-popup", children: [_jsx("div", { className: "solid-filter-dialog-head solid-delete-model-popup__head", children: _jsxs("div", { children: [_jsx("h3", { className: "solid-filter-dialog-title", children: "Delete Model" }), _jsx("p", { className: "solid-filter-dialog-subtitle m-0", children: "Review the impacted files carefully before applying this delete action." })] }) }), _jsx("div", { className: "solid-filter-dialog-sep" }), _jsxs("div", { className: "solid-filter-dialog-body solid-delete-model-popup__body", children: [_jsx("p", { className: "solid-delete-model-popup__intro", children: "Deleting a model should be done carefully. The following files will be impacted as part of deleting this model." }), _jsx("div", { className: "solid-delete-model-popup__table-wrap", children: _jsxs("table", { className: "solid-delete-model-popup__table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "File Name" }), _jsx("th", { children: "Description" }), _jsx("th", { children: "Intervention" })] }) }), _jsx("tbody", { children: rows.map(function (row) { return (_jsxs("tr", { children: [_jsx("td", { className: "solid-delete-model-popup__file", children: row.file }), _jsx("td", { children: row.description }), _jsx("td", { className: row.manual ? "solid-delete-model-popup__intervention is-manual" : "solid-delete-model-popup__intervention", children: row.intervention })] }, "".concat(row.file, "-").concat(row.intervention))); }) })] }) }), _jsx("div", { className: "solid-delete-model-popup__confirm", children: _jsx(SolidCheckbox, { id: "delete-model-confirmation", name: "confirm", checked: isConfirmed, onChange: function () { return setIsConfirmed(!isConfirmed); }, label: "I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied." }) }), _jsxs("div", { className: "solid-delete-model-popup__actions", children: [_jsx(SolidButton, { size: "small", disabled: !isConfirmed || isApplying, loading: isApplying, autoFocus: true, onClick: deleteModelHandler, children: "Apply" }), _jsx(SolidButton, { size: "small", variant: "outline", disabled: isApplying, onClick: function () { return dispatch(closePopup()); }, children: "Cancel" })] })] })] }));
95
122
  };
96
123
  export default DeleteModelRowAction;
97
124
  //# sourceMappingURL=DeleteModelRowAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteModelRowAction.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { closePopup } from \"../../../../../../redux/features/popupSlice\";\nimport { SolidListRowdataDynamicFunctionProps } from \"../../../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../../../../redux/features/toastSlice\";\nimport { kebabCase } from \"lodash\";\nimport { createSolidEntityApi } from \"../../../../../../redux/api/solidEntityApi\";\nimport { ERROR_MESSAGES } from \"../../../../../../constants/error-messages\";\nimport { SolidButton, SolidCheckbox } from \"../../../../../shad-cn-ui\";\n\n\nconst DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {\n const [isConfirmed, setIsConfirmed] = useState(false);\n const dispatch = useDispatch();\n const entityApi = createSolidEntityApi(event.params.modelName);\n const {useDeleteSolidEntityMutation} = entityApi;\n const [deleteSolidSingleEntiry] = useDeleteSolidEntityMutation()\n\n const deleteModelHandler = async () => {\n try {\n const res: any = await deleteSolidSingleEntiry(event.rowData.id);\n \n // console.log('delete model res', res);\n if (res.error) {\n // handle backend or RTK error object\n const message =\n res.error?.data?.message ||\n res.error?.error ||\n ERROR_MESSAGES.ERROR_OCCURED;\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));\n } else {\n dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));\n dispatch(closePopup());\n }\n } catch (err: any) {\n console.error(\"catch error\", err);\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));\n }\n }\n\n const rows = [\n { file: `${kebabCase(event.rowData.singularName)}.entity.ts`, description: 'The TypeORM entity definition for this model. Deleting it removes the model’s schema mapping', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.create.dto.ts`, description: 'DTO defining the payload for creating a new record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.update.dto.ts`, description: 'DTO defining the payload for updating an existing record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.repository.ts`, description: 'Custom repository encapsulating database operations for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.service.ts`, description: 'Service layer containing business logic and interactions for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.controller.ts`, description: 'Controller exposing API endpoints related to this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.module.ts`, description: 'Module declaration that wires together the controller, service, and repository. All imports and references to the deleted model are removed automatically', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}-metadata.json`, description: 'Remove references to this model in the model metadata, menu, action & view sections', intervention: 'Automatic' },\n { file: '-', description: 'Drop database table. Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually', intervention: 'Manual (X)', manual: true },\n ];\n\n\n\n return (\n <div className=\"solid-delete-model-popup\">\n <div className=\"solid-filter-dialog-head solid-delete-model-popup__head\">\n <div>\n <h3 className=\"solid-filter-dialog-title\">Delete Model</h3>\n <p className=\"solid-filter-dialog-subtitle m-0\">\n Review the impacted files carefully before applying this delete action.\n </p>\n </div>\n </div>\n <div className=\"solid-filter-dialog-sep\" />\n <div className=\"solid-filter-dialog-body solid-delete-model-popup__body\">\n <p className=\"solid-delete-model-popup__intro\">\n Deleting a model should be done carefully. The following files will be impacted as part of deleting this model.\n </p>\n\n <div className=\"solid-delete-model-popup__table-wrap\">\n <table className=\"solid-delete-model-popup__table\">\n <thead>\n <tr>\n <th>File Name</th>\n <th>Description</th>\n <th>Intervention</th>\n </tr>\n </thead>\n <tbody>\n {rows.map((row) => (\n <tr key={`${row.file}-${row.intervention}`}>\n <td className=\"solid-delete-model-popup__file\">{row.file}</td>\n <td>{row.description}</td>\n <td className={row.manual ? \"solid-delete-model-popup__intervention is-manual\" : \"solid-delete-model-popup__intervention\"}>\n {row.intervention}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n <div className=\"solid-delete-model-popup__confirm\">\n <SolidCheckbox\n id=\"delete-model-confirmation\"\n name=\"confirm\"\n checked={isConfirmed}\n onChange={() => setIsConfirmed(!isConfirmed)}\n label=\"I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied.\"\n />\n </div>\n\n <div className=\"solid-delete-model-popup__actions\">\n <SolidButton size=\"small\" disabled={!isConfirmed} autoFocus onClick={deleteModelHandler}>\n Apply\n </SolidButton>\n <SolidButton size=\"small\" variant=\"outline\" onClick={() => dispatch(closePopup())}>\n Cancel\n </SolidButton>\n </div>\n </div>\n </div>\n )\n}\n\nexport default DeleteModelRowAction;\n"]}
1
+ {"version":3,"file":"DeleteModelRowAction.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { closePopup } from \"../../../../../../redux/features/popupSlice\";\nimport { SolidListRowdataDynamicFunctionProps } from \"../../../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../../../../redux/features/toastSlice\";\nimport { kebabCase } from \"lodash\";\nimport { createSolidEntityApi } from \"../../../../../../redux/api/solidEntityApi\";\nimport { ERROR_MESSAGES } from \"../../../../../../constants/error-messages\";\nimport { SolidButton, SolidCheckbox } from \"../../../../../shad-cn-ui\";\nimport { pingBackendAvailability } from \"../../../../../../helpers/waitForBackendAvailability\";\nimport { backendHealthMonitor } from \"../../../../../../helpers/backendHealthMonitor\";\n\nconst DELETE_MODEL_DIALOG_DISMISS_DELAY_MS = 3_000;\n\nconst DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {\n const [isConfirmed, setIsConfirmed] = useState(false);\n const [isApplying, setIsApplying] = useState(false);\n const dispatch = useDispatch();\n const entityApi = createSolidEntityApi(event.params.modelName);\n const {useDeleteSolidEntityMutation} = entityApi;\n const [deleteSolidSingleEntiry] = useDeleteSolidEntityMutation()\n\n const deleteModelHandler = async () => {\n if (isApplying) {\n return;\n }\n\n setIsApplying(true);\n try {\n const res: any = await deleteSolidSingleEntiry(event.rowData.id);\n \n // console.log('delete model res', res);\n if (res.error) {\n // handle backend or RTK error object\n const message =\n res.error?.data?.message ||\n res.error?.error ||\n ERROR_MESSAGES.ERROR_OCCURED;\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));\n } else {\n dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));\n await new Promise((resolve) => window.setTimeout(resolve, DELETE_MODEL_DIALOG_DISMISS_DELAY_MS));\n dispatch(closePopup());\n\n const isBackendAvailable = await pingBackendAvailability();\n if (isBackendAvailable) {\n backendHealthMonitor.reportSuccess();\n } else {\n backendHealthMonitor.reportFailure({\n status: \"FETCH_ERROR\",\n message: \"Unable to reach the server. Reconnecting...\",\n });\n }\n }\n } catch (err: any) {\n console.error(\"catch error\", err);\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));\n } finally {\n setIsApplying(false);\n }\n }\n\n const rows = [\n { file: `${kebabCase(event.rowData.singularName)}.entity.ts`, description: 'The TypeORM entity definition for this model. Deleting it removes the model’s schema mapping', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.create.dto.ts`, description: 'DTO defining the payload for creating a new record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.update.dto.ts`, description: 'DTO defining the payload for updating an existing record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.repository.ts`, description: 'Custom repository encapsulating database operations for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.service.ts`, description: 'Service layer containing business logic and interactions for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.controller.ts`, description: 'Controller exposing API endpoints related to this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.module.ts`, description: 'Module declaration that wires together the controller, service, and repository. All imports and references to the deleted model are removed automatically', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}-metadata.json`, description: 'Remove references to this model in the model metadata, menu, action & view sections', intervention: 'Automatic' },\n { file: '-', description: 'Drop database table. Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually', intervention: 'Manual (X)', manual: true },\n ];\n\n\n\n return (\n <div className=\"solid-delete-model-popup\">\n <div className=\"solid-filter-dialog-head solid-delete-model-popup__head\">\n <div>\n <h3 className=\"solid-filter-dialog-title\">Delete Model</h3>\n <p className=\"solid-filter-dialog-subtitle m-0\">\n Review the impacted files carefully before applying this delete action.\n </p>\n </div>\n </div>\n <div className=\"solid-filter-dialog-sep\" />\n <div className=\"solid-filter-dialog-body solid-delete-model-popup__body\">\n <p className=\"solid-delete-model-popup__intro\">\n Deleting a model should be done carefully. The following files will be impacted as part of deleting this model.\n </p>\n\n <div className=\"solid-delete-model-popup__table-wrap\">\n <table className=\"solid-delete-model-popup__table\">\n <thead>\n <tr>\n <th>File Name</th>\n <th>Description</th>\n <th>Intervention</th>\n </tr>\n </thead>\n <tbody>\n {rows.map((row) => (\n <tr key={`${row.file}-${row.intervention}`}>\n <td className=\"solid-delete-model-popup__file\">{row.file}</td>\n <td>{row.description}</td>\n <td className={row.manual ? \"solid-delete-model-popup__intervention is-manual\" : \"solid-delete-model-popup__intervention\"}>\n {row.intervention}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n <div className=\"solid-delete-model-popup__confirm\">\n <SolidCheckbox\n id=\"delete-model-confirmation\"\n name=\"confirm\"\n checked={isConfirmed}\n onChange={() => setIsConfirmed(!isConfirmed)}\n label=\"I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied.\"\n />\n </div>\n\n <div className=\"solid-delete-model-popup__actions\">\n <SolidButton size=\"small\" disabled={!isConfirmed || isApplying} loading={isApplying} autoFocus onClick={deleteModelHandler}>\n Apply\n </SolidButton>\n <SolidButton size=\"small\" variant=\"outline\" disabled={isApplying} onClick={() => dispatch(closePopup())}>\n Cancel\n </SolidButton>\n </div>\n </div>\n </div>\n )\n}\n\nexport default DeleteModelRowAction;\n"]}
@@ -7,16 +7,25 @@ import { kebabCase } from "lodash";
7
7
  import { createSolidEntityApi } from "../../../../../../redux/api/solidEntityApi";
8
8
  import { ERROR_MESSAGES } from "../../../../../../constants/error-messages";
9
9
  import { SolidButton, SolidCheckbox } from "../../../../../shad-cn-ui";
10
+ import { pingBackendAvailability } from "../../../../../../helpers/waitForBackendAvailability";
11
+ import { backendHealthMonitor } from "../../../../../../helpers/backendHealthMonitor";
10
12
 
13
+ const DELETE_MODEL_DIALOG_DISMISS_DELAY_MS = 3_000;
11
14
 
12
15
  const DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {
13
16
  const [isConfirmed, setIsConfirmed] = useState(false);
17
+ const [isApplying, setIsApplying] = useState(false);
14
18
  const dispatch = useDispatch();
15
19
  const entityApi = createSolidEntityApi(event.params.modelName);
16
20
  const {useDeleteSolidEntityMutation} = entityApi;
17
21
  const [deleteSolidSingleEntiry] = useDeleteSolidEntityMutation()
18
22
 
19
23
  const deleteModelHandler = async () => {
24
+ if (isApplying) {
25
+ return;
26
+ }
27
+
28
+ setIsApplying(true);
20
29
  try {
21
30
  const res: any = await deleteSolidSingleEntiry(event.rowData.id);
22
31
 
@@ -30,11 +39,24 @@ const DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {
30
39
  dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));
31
40
  } else {
32
41
  dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));
42
+ await new Promise((resolve) => window.setTimeout(resolve, DELETE_MODEL_DIALOG_DISMISS_DELAY_MS));
33
43
  dispatch(closePopup());
44
+
45
+ const isBackendAvailable = await pingBackendAvailability();
46
+ if (isBackendAvailable) {
47
+ backendHealthMonitor.reportSuccess();
48
+ } else {
49
+ backendHealthMonitor.reportFailure({
50
+ status: "FETCH_ERROR",
51
+ message: "Unable to reach the server. Reconnecting...",
52
+ });
53
+ }
34
54
  }
35
55
  } catch (err: any) {
36
56
  console.error("catch error", err);
37
57
  dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));
58
+ } finally {
59
+ setIsApplying(false);
38
60
  }
39
61
  }
40
62
 
@@ -102,10 +124,10 @@ const DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {
102
124
  </div>
103
125
 
104
126
  <div className="solid-delete-model-popup__actions">
105
- <SolidButton size="small" disabled={!isConfirmed} autoFocus onClick={deleteModelHandler}>
127
+ <SolidButton size="small" disabled={!isConfirmed || isApplying} loading={isApplying} autoFocus onClick={deleteModelHandler}>
106
128
  Apply
107
129
  </SolidButton>
108
- <SolidButton size="small" variant="outline" onClick={() => dispatch(closePopup())}>
130
+ <SolidButton size="small" variant="outline" disabled={isApplying} onClick={() => dispatch(closePopup())}>
109
131
  Cancel
110
132
  </SolidButton>
111
133
  </div>
@@ -191,7 +191,7 @@ export var SolidFormFooter = function (_a) {
191
191
  // -----------------------------
192
192
  // UI
193
193
  // -----------------------------
194
- return (_jsxs("div", { className: "flex justify-end items-center gap-2 p-1", children: [meta &&
194
+ return (_jsxs("div", { className: "solid-form-footer flex justify-end items-center gap-2 p-1", children: [meta &&
195
195
  _jsx("span", { className: "solid-form-footer-pagination-meta p-2", children: "".concat(meta.currentIndexGlobal, " of ").concat(meta.totalRecords) }), prevNav && (_jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx(SolidButton, { icon: "si si-angle-left", variant: "ghost", size: "sm", onClick: function () { return handlePrev(); }, disabled: isLoading }) }), _jsx(SolidTooltipContent, { side: "top", children: "Previous" })] })), nextNav && (_jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx(SolidButton, { icon: "si si-angle-right", variant: "ghost", size: "sm", onClick: function () { return handleNext(); }, disabled: isLoading }) }), _jsx(SolidTooltipContent, { side: "top", children: "Next" })] }))] }));
196
196
  };
197
197
  //# sourceMappingURL=SolidFormFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormFooter.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormFooter.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { useLazyNavigationQuery } from \"../../../redux/api/modelApi\";\nimport { useEffect, useState } from \"react\";\nimport qs from \"qs\";\nimport { setFilterObjectToLocalStorageByUrl, getFilterObjectFromLocalStorageByUrl } from \"../list/SolidListView\";\nimport { SolidFormViewProps } from \"./SolidFormView\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { SolidButton, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from \"../../shad-cn-ui\";\n\nexport type SolidFormFooterProps = {\n params: SolidFormViewProps;\n internationalisationEnabled?: boolean;\n};\n\ntype NavItem = {\n recordId: number;\n offset: number;\n limit: number;\n};\n\nexport const SolidFormFooter = ({ params, internationalisationEnabled = false }: SolidFormFooterProps) => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const router = useRouter();\n\n const [prevNav, setPrevNav] = useState<NavItem | null>(null);\n const [nextNav, setNextNav] = useState<NavItem | null>(null);\n const [meta, setMeta] = useState<any>(null);\n\n const [triggerGetNavigation, { isLoading }] =\n useLazyNavigationQuery();\n\n const rewriteLocaleFilter = (filterNode: any, locale: string): any => {\n if (!filterNode || typeof filterNode !== \"object\") return filterNode;\n\n if (Array.isArray(filterNode)) {\n return filterNode.map((item) => rewriteLocaleFilter(item, locale));\n }\n\n const nextNode = { ...filterNode };\n\n if (Object.prototype.hasOwnProperty.call(nextNode, \"localeName\")) {\n const localeFilter = nextNode.localeName;\n\n if (localeFilter && typeof localeFilter === \"object\" && !Array.isArray(localeFilter)) {\n const updatedLocaleFilter: Record<string, any> = { ...localeFilter };\n Object.keys(updatedLocaleFilter).forEach((operator) => {\n const operatorValue = updatedLocaleFilter[operator];\n if (Array.isArray(operatorValue)) {\n updatedLocaleFilter[operator] = [locale];\n } else {\n updatedLocaleFilter[operator] = locale;\n }\n });\n nextNode.localeName = updatedLocaleFilter;\n } else {\n nextNode.localeName = locale;\n }\n }\n\n Object.keys(nextNode).forEach((key) => {\n if (key === \"localeName\") return;\n nextNode[key] = rewriteLocaleFilter(nextNode[key], locale);\n });\n\n return nextNode;\n };\n\n // -----------------------------\n // Helper: update local storage\n // -----------------------------\n const updatePaginationInLocalStorage = (offset: number, limit: number) => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath) || {};\n\n const updatedQueryObj = {\n ...queryObject,\n offset,\n limit,\n };\n setFilterObjectToLocalStorageByUrl(listPath, updatedQueryObj)\n };\n\n const getNewUrl = (recordId: number): string => {\n // Replace the id after /form/\n const newPathname = pathname.replace(\n /\\/form\\/[^/]+/,\n `/form/${recordId}`,\n );\n\n // Clone search params (immutable in Next.js)\n const params = new URLSearchParams(searchParams.toString());\n\n // Remove only userKeyField\n params.delete(\"userKeyField\");\n\n const query = params.toString();\n return query ? `${newPathname}?${query}` : newPathname;\n }\n\n\n // -----------------------------\n // Click handlers\n // -----------------------------\n const handlePrev = () => {\n\n if (!prevNav) return;\n\n updatePaginationInLocalStorage(prevNav.offset, prevNav.limit);\n const newUrl = getNewUrl(prevNav.recordId)\n router.push(newUrl);\n };\n\n const handleNext = () => {\n if (!nextNav) return;\n\n updatePaginationInLocalStorage(nextNav.offset, nextNav.limit);\n const newUrl = getNewUrl(nextNav.recordId)\n router.push(newUrl);\n };\n\n // -----------------------------\n // Fetch navigation data\n // -----------------------------\n useEffect(() => {\n if (params.embeded === true) {\n setPrevNav(null);\n setNextNav(null);\n setMeta(null);\n return;\n }\n\n if (params.id !== \"new\") {\n\n const fetchNavigation = async () => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath);\n const defaultQueryObject = queryObject || {};\n const locale = searchParams.get(\"locale\");\n const defaultEntityLocaleId = searchParams.get(\"defaultEntityLocaleId\");\n const resolvedFilters = internationalisationEnabled && locale\n ? rewriteLocaleFilter(defaultQueryObject.finalFullFilter || null, locale)\n : (defaultQueryObject.finalFullFilter || null);\n\n const requiresPopulate =\n Array.isArray(defaultQueryObject.sort) &&\n defaultQueryObject.sort[0].split(\":\")[0].includes(\".\");\n const queryData = {\n offset: defaultQueryObject.offset || 0,\n limit: defaultQueryObject.limit || 25,\n filters: resolvedFilters,\n // fields: [\"id\"],\n modelName: params.modelName,\n recordId: params.id,\n sort: defaultQueryObject.sort,\n ...(requiresPopulate && {\n populate: defaultQueryObject.populate,\n }),\n };\n\n if (locale) {\n queryData.locale = locale;\n }\n\n if (defaultEntityLocaleId && defaultEntityLocaleId !== \"new\") {\n queryData.defaultEntityLocaleId = defaultEntityLocaleId;\n }\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const response: any = await triggerGetNavigation(queryString).unwrap();\n if (response.statusCode == 200) {\n setPrevNav(response?.data?.prev ?? null);\n setNextNav(response?.data?.next ?? null);\n setMeta(response?.data?.meta ?? null);\n }\n };\n fetchNavigation();\n }\n }, [params.id, params.embeded, params.modelName, searchParams, triggerGetNavigation]);\n\n // -----------------------------\n // UI\n // -----------------------------\n return (\n <div\n className=\"flex justify-end items-center gap-2 p-1\"\n >{meta &&\n <span className=\"solid-form-footer-pagination-meta p-2\">{`${meta.currentIndexGlobal} of ${meta.totalRecords}`}</span>\n }\n {prevNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-left\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handlePrev()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Previous</SolidTooltipContent>\n </SolidTooltip>\n )}\n\n {nextNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-right\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handleNext()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Next</SolidTooltipContent>\n </SolidTooltip>\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidFormFooter.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormFooter.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { useLazyNavigationQuery } from \"../../../redux/api/modelApi\";\nimport { useEffect, useState } from \"react\";\nimport qs from \"qs\";\nimport { setFilterObjectToLocalStorageByUrl, getFilterObjectFromLocalStorageByUrl } from \"../list/SolidListView\";\nimport { SolidFormViewProps } from \"./SolidFormView\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { SolidButton, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from \"../../shad-cn-ui\";\n\nexport type SolidFormFooterProps = {\n params: SolidFormViewProps;\n internationalisationEnabled?: boolean;\n};\n\ntype NavItem = {\n recordId: number;\n offset: number;\n limit: number;\n};\n\nexport const SolidFormFooter = ({ params, internationalisationEnabled = false }: SolidFormFooterProps) => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const router = useRouter();\n\n const [prevNav, setPrevNav] = useState<NavItem | null>(null);\n const [nextNav, setNextNav] = useState<NavItem | null>(null);\n const [meta, setMeta] = useState<any>(null);\n\n const [triggerGetNavigation, { isLoading }] =\n useLazyNavigationQuery();\n\n const rewriteLocaleFilter = (filterNode: any, locale: string): any => {\n if (!filterNode || typeof filterNode !== \"object\") return filterNode;\n\n if (Array.isArray(filterNode)) {\n return filterNode.map((item) => rewriteLocaleFilter(item, locale));\n }\n\n const nextNode = { ...filterNode };\n\n if (Object.prototype.hasOwnProperty.call(nextNode, \"localeName\")) {\n const localeFilter = nextNode.localeName;\n\n if (localeFilter && typeof localeFilter === \"object\" && !Array.isArray(localeFilter)) {\n const updatedLocaleFilter: Record<string, any> = { ...localeFilter };\n Object.keys(updatedLocaleFilter).forEach((operator) => {\n const operatorValue = updatedLocaleFilter[operator];\n if (Array.isArray(operatorValue)) {\n updatedLocaleFilter[operator] = [locale];\n } else {\n updatedLocaleFilter[operator] = locale;\n }\n });\n nextNode.localeName = updatedLocaleFilter;\n } else {\n nextNode.localeName = locale;\n }\n }\n\n Object.keys(nextNode).forEach((key) => {\n if (key === \"localeName\") return;\n nextNode[key] = rewriteLocaleFilter(nextNode[key], locale);\n });\n\n return nextNode;\n };\n\n // -----------------------------\n // Helper: update local storage\n // -----------------------------\n const updatePaginationInLocalStorage = (offset: number, limit: number) => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath) || {};\n\n const updatedQueryObj = {\n ...queryObject,\n offset,\n limit,\n };\n setFilterObjectToLocalStorageByUrl(listPath, updatedQueryObj)\n };\n\n const getNewUrl = (recordId: number): string => {\n // Replace the id after /form/\n const newPathname = pathname.replace(\n /\\/form\\/[^/]+/,\n `/form/${recordId}`,\n );\n\n // Clone search params (immutable in Next.js)\n const params = new URLSearchParams(searchParams.toString());\n\n // Remove only userKeyField\n params.delete(\"userKeyField\");\n\n const query = params.toString();\n return query ? `${newPathname}?${query}` : newPathname;\n }\n\n\n // -----------------------------\n // Click handlers\n // -----------------------------\n const handlePrev = () => {\n\n if (!prevNav) return;\n\n updatePaginationInLocalStorage(prevNav.offset, prevNav.limit);\n const newUrl = getNewUrl(prevNav.recordId)\n router.push(newUrl);\n };\n\n const handleNext = () => {\n if (!nextNav) return;\n\n updatePaginationInLocalStorage(nextNav.offset, nextNav.limit);\n const newUrl = getNewUrl(nextNav.recordId)\n router.push(newUrl);\n };\n\n // -----------------------------\n // Fetch navigation data\n // -----------------------------\n useEffect(() => {\n if (params.embeded === true) {\n setPrevNav(null);\n setNextNav(null);\n setMeta(null);\n return;\n }\n\n if (params.id !== \"new\") {\n\n const fetchNavigation = async () => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath);\n const defaultQueryObject = queryObject || {};\n const locale = searchParams.get(\"locale\");\n const defaultEntityLocaleId = searchParams.get(\"defaultEntityLocaleId\");\n const resolvedFilters = internationalisationEnabled && locale\n ? rewriteLocaleFilter(defaultQueryObject.finalFullFilter || null, locale)\n : (defaultQueryObject.finalFullFilter || null);\n\n const requiresPopulate =\n Array.isArray(defaultQueryObject.sort) &&\n defaultQueryObject.sort[0].split(\":\")[0].includes(\".\");\n const queryData = {\n offset: defaultQueryObject.offset || 0,\n limit: defaultQueryObject.limit || 25,\n filters: resolvedFilters,\n // fields: [\"id\"],\n modelName: params.modelName,\n recordId: params.id,\n sort: defaultQueryObject.sort,\n ...(requiresPopulate && {\n populate: defaultQueryObject.populate,\n }),\n };\n\n if (locale) {\n queryData.locale = locale;\n }\n\n if (defaultEntityLocaleId && defaultEntityLocaleId !== \"new\") {\n queryData.defaultEntityLocaleId = defaultEntityLocaleId;\n }\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const response: any = await triggerGetNavigation(queryString).unwrap();\n if (response.statusCode == 200) {\n setPrevNav(response?.data?.prev ?? null);\n setNextNav(response?.data?.next ?? null);\n setMeta(response?.data?.meta ?? null);\n }\n };\n fetchNavigation();\n }\n }, [params.id, params.embeded, params.modelName, searchParams, triggerGetNavigation]);\n\n // -----------------------------\n // UI\n // -----------------------------\n return (\n <div\n className=\"solid-form-footer flex justify-end items-center gap-2 p-1\"\n >{meta &&\n <span className=\"solid-form-footer-pagination-meta p-2\">{`${meta.currentIndexGlobal} of ${meta.totalRecords}`}</span>\n }\n {prevNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-left\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handlePrev()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Previous</SolidTooltipContent>\n </SolidTooltip>\n )}\n\n {nextNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-right\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handleNext()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Next</SolidTooltipContent>\n </SolidTooltip>\n )}\n </div>\n );\n};\n"]}
@@ -196,7 +196,7 @@ export const SolidFormFooter = ({ params, internationalisationEnabled = false }:
196
196
  // -----------------------------
197
197
  return (
198
198
  <div
199
- className="flex justify-end items-center gap-2 p-1"
199
+ className="solid-form-footer flex justify-end items-center gap-2 p-1"
200
200
  >{meta &&
201
201
  <span className="solid-form-footer-pagination-meta p-2">{`${meta.currentIndexGlobal} of ${meta.totalRecords}`}</span>
202
202
  }
@@ -45,7 +45,7 @@ var SolidFormLayouts = function (_a) {
45
45
  refetchuser();
46
46
  }
47
47
  }, [refetchuser]);
48
- return (_jsxs("div", { className: "page-parent-wrapper", children: [params.modelName === "model-metadata" &&
48
+ return (_jsxs("div", { className: "page-parent-wrapper solid-form-page-wrapper", children: [params.modelName === "model-metadata" &&
49
49
  // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />
50
50
  (params.id === "new" ?
51
51
  _jsx(CreateModel, { params: params })
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormLayouts.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormLayouts.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAUnC,IAAM,gBAAgB,GAAG,UAAC,EAAe;QAAb,MAAM,YAAA;IACxB,IAAA,KAMF,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAgB;KACrE,CAAC,EAPQ,SAAS,UAAA,EACf,KAAK,WAAA,EACL,SAAS,eAAA,EACT,OAAO,aAAA,EACP,OAAO,aAGT,CAAC;IACH,SAAS,CAAC;QACN,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAgB,EAAE;YAC/D,OAAO,EAAE,CAAC;SACb;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,IAAA,KAMF,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB;KACtE,CAAC,EAPQ,UAAU,UAAA,EACT,WAAW,WAAA,EACP,eAAe,eAAA,EACjB,aAAa,aAAA,EACb,aAAa,aAGxB,CAAC;IACH,SAAS,CAAC;QACN,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,EAAE;YAChE,aAAa,EAAE,CAAC;SACnB;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEd,IAAA,KAMF,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM;KAC3D,CAAC,EAPQ,QAAQ,UAAA,EACP,SAAS,WAAA,EACL,aAAa,eAAA,EACf,WAAW,aAAA,EACX,WAAW,aAGtB,CAAC;IACH,SAAS,CAAC;QACN,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,KAAK,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,MAAK,MAAM,EAAE;YACtD,WAAW,EAAE,CAAC;SACjB;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACH,eAAK,SAAS,EAAC,qBAAqB,aAC/B,MAAM,CAAC,SAAS,KAAK,gBAAgB;gBAClC,wFAAwF;gBACxF,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;oBAClB,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAgB;oBAC3C,CAAC;wBACD,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,GAAgB,CACrE,EAEJ,MAAM,CAAC,SAAS,KAAK,iBAAiB;gBACnC,wFAAwF;gBACxF,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;oBAClB,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,GAAiB;oBAC7C,CAAC;wBACD,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,GAAiB,CACxE,EAGJ,MAAM,CAAC,SAAS,KAAK,MAAM;gBACxB,wFAAwF;gBACxF,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;oBAClB,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAe;oBACzC,CAAC;wBACD,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,GAAe,CAClE,EAGJ,MAAM,CAAC,SAAS,KAAK,gBAAgB;gBAClC,KAAC,aAAa,eAAK,MAAM,IAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAExF,MAAM,CAAC,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM;gBACpJ,KAAC,aAAa,eAAK,MAAM,IAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAEvF,CACT,CAAA;AACL,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA","sourcesContent":["\nimport { useGetmodelByIdQuery } from \"../../../redux/api/modelApi\";\nimport { useGetmoduleByIdQuery } from \"../../../redux/api/moduleApi\";\nimport { useGetusersByIdQuery } from \"../../../redux/api/userApi\";\nimport { useEffect } from \"react\";\nimport CreateModel from \"../model/CreateModel\";\nimport CreateModule from \"../module/CreateModule\";\nimport CreateUser from \"../users/CreateUser\";\nimport SolidFormView from \"./SolidFormView\";\nimport { camelCase } from \"lodash\";\n\ntype SolidViewParams = {\n params: {\n moduleName: string;\n modelName: string;\n id: string;\n };\n};\n\nconst SolidFormLayouts = ({ params }: any) => {\n const {\n data: modelData,\n error,\n isLoading,\n isError,\n refetch\n } = useGetmodelByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'model-metadata',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params.modelName === 'model-metadata') {\n refetch();\n }\n }, [params.id, refetch]);\n\n const {\n data: moduleData,\n error: moduleError,\n isLoading: isModuleLoading,\n isError: isModuleError,\n refetch: refetchModule\n } = useGetmoduleByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'module-metadata',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params.modelName === 'module-metadata') {\n refetchModule();\n }\n }, [refetchModule]);\n\n const {\n data: userData,\n error: usererror,\n isLoading: isuserLoading,\n isError: isuserError,\n refetch: refetchuser\n } = useGetusersByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'user',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params?.modelName === 'user') {\n refetchuser();\n }\n }, [refetchuser]);\n\n return (\n <div className=\"page-parent-wrapper\">\n {params.modelName === \"model-metadata\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateModel params={params}></CreateModel>\n :\n <CreateModel params={params} data={modelData?.data}></CreateModel>\n )\n }\n {params.modelName === \"module-metadata\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateModule params={params}></CreateModule>\n :\n <CreateModule params={params} data={moduleData?.data}></CreateModule>\n )\n }\n\n {params.modelName === \"user\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateUser params={params}></CreateUser>\n :\n <CreateUser params={params} data={userData?.data}></CreateUser>\n )\n }\n\n {params.modelName === \"field-metadata\" &&\n <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n }\n {params.modelName !== \"field-metadata\" && params.modelName !== \"model-metadata\" && params.modelName !== \"module-metadata\" && params.modelName !== \"user\" &&\n <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n }\n </div>\n )\n}\n\nexport default SolidFormLayouts"]}
1
+ {"version":3,"file":"SolidFormLayouts.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormLayouts.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useGetmodelByIdQuery } from \"../../../redux/api/modelApi\";\nimport { useGetmoduleByIdQuery } from \"../../../redux/api/moduleApi\";\nimport { useGetusersByIdQuery } from \"../../../redux/api/userApi\";\nimport { useEffect } from \"react\";\nimport CreateModel from \"../model/CreateModel\";\nimport CreateModule from \"../module/CreateModule\";\nimport CreateUser from \"../users/CreateUser\";\nimport SolidFormView from \"./SolidFormView\";\nimport { camelCase } from \"lodash\";\n\ntype SolidViewParams = {\n params: {\n moduleName: string;\n modelName: string;\n id: string;\n };\n};\n\nconst SolidFormLayouts = ({ params }: any) => {\n const {\n data: modelData,\n error,\n isLoading,\n isError,\n refetch\n } = useGetmodelByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'model-metadata',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params.modelName === 'model-metadata') {\n refetch();\n }\n }, [params.id, refetch]);\n\n const {\n data: moduleData,\n error: moduleError,\n isLoading: isModuleLoading,\n isError: isModuleError,\n refetch: refetchModule\n } = useGetmoduleByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'module-metadata',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params.modelName === 'module-metadata') {\n refetchModule();\n }\n }, [refetchModule]);\n\n const {\n data: userData,\n error: usererror,\n isLoading: isuserLoading,\n isError: isuserError,\n refetch: refetchuser\n } = useGetusersByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'user',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params?.modelName === 'user') {\n refetchuser();\n }\n }, [refetchuser]);\n\n return (\n <div className=\"page-parent-wrapper solid-form-page-wrapper\">\n {params.modelName === \"model-metadata\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateModel params={params}></CreateModel>\n :\n <CreateModel params={params} data={modelData?.data}></CreateModel>\n )\n }\n {params.modelName === \"module-metadata\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateModule params={params}></CreateModule>\n :\n <CreateModule params={params} data={moduleData?.data}></CreateModule>\n )\n }\n\n {params.modelName === \"user\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateUser params={params}></CreateUser>\n :\n <CreateUser params={params} data={userData?.data}></CreateUser>\n )\n }\n\n {params.modelName === \"field-metadata\" &&\n <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n }\n {params.modelName !== \"field-metadata\" && params.modelName !== \"model-metadata\" && params.modelName !== \"module-metadata\" && params.modelName !== \"user\" &&\n <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n }\n </div>\n )\n}\n\nexport default SolidFormLayouts\n"]}
@@ -64,7 +64,7 @@ const SolidFormLayouts = ({ params }: any) => {
64
64
  }, [refetchuser]);
65
65
 
66
66
  return (
67
- <div className="page-parent-wrapper">
67
+ <div className="page-parent-wrapper solid-form-page-wrapper">
68
68
  {params.modelName === "model-metadata" &&
69
69
  // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />
70
70
  (params.id === "new" ?
@@ -101,4 +101,4 @@ const SolidFormLayouts = ({ params }: any) => {
101
101
  )
102
102
  }
103
103
 
104
- export default SolidFormLayouts
104
+ export default SolidFormLayouts
@@ -1 +1 @@
1
- {"version":3,"file":"SolidMediaMultipleField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK3E,OAAO,EAA6B,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAKzG,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAyD;IACjF,OAAO,CAAC,eAAe,CAAC,CAA0B;gBACtC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,EAC/G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;IAM7C,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAYnD,YAAY,IAAI,GAAG;IAKnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAiD9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AAGD,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CA4V5I,CAAA;AAED,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwL5I,CAAA"}
1
+ {"version":3,"file":"SolidMediaMultipleField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK3E,OAAO,EAA6B,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAMzG,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAyD;IACjF,OAAO,CAAC,eAAe,CAAC,CAA0B;gBACtC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,EAC/G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;IAM7C,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAYnD,YAAY,IAAI,GAAG;IAKnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAiD9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AAGD,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwW5I,CAAA;AAED,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwL5I,CAAA"}