@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
@@ -31,6 +31,8 @@ import { SolidBeforeListDataLoad, SolidListUiEventResponse, SolidLoadList } from
31
31
  import { getExtensionFunction } from "../../../helpers/registry";
32
32
  import { useSession } from "../../../hooks/useSession";
33
33
  import { ERROR_MESSAGES } from "../../../constants/error-messages";
34
+ import { getSettingsMap } from "../../../helpers/settingsPayload";
35
+ import { useGetSolidSettingsQuery } from "../../../redux/api/solidSettingsApi";
34
36
  // import { SolidAiMainWrapper } from "../solid-ai/SolidAiMainWrapper"; // moved to SolidX Studio panel
35
37
  import { showNavbar, toggleNavbar } from "../../../redux/features/navbarSlice";
36
38
  import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
@@ -238,8 +240,8 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
238
240
  const router = useRouter();
239
241
  const searchParams = useSearchParams();
240
242
  const localeName = searchParams.get("locale");
241
-
242
-
243
+ const { data: solidSettingsData } = useGetSolidSettingsQuery(undefined);
244
+ const solidSettingsMap = useMemo(() => getSettingsMap(solidSettingsData), [solidSettingsData]);
243
245
  const [solidListViewMetaData, setSolidListViewMetaData] = useState<any>(null);
244
246
  const [solidListViewLayout, setSolidListViewLayout] = useState<any>(null);
245
247
  const [isDraftPublishWorkflowEnabled, setIsDraftPublishWorkflowEnabled] = useState(false);
@@ -299,6 +301,15 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
299
301
  () => normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"),
300
302
  [editButtonUrl, pathname]
301
303
  );
304
+ const rowClickFormMode = useMemo(() => {
305
+ const isSystemModule = solidListViewMetaData?.data?.solidView?.module?.isSystem === true;
306
+
307
+ if (isSystemModule) {
308
+ return "view";
309
+ }
310
+
311
+ return solidSettingsMap?.rowClickAction === "view" ? "view" : "edit";
312
+ }, [solidListViewMetaData, solidSettingsMap]);
302
313
 
303
314
  const resolveLocaleFromFilter = (filterNode: any): string | null => {
304
315
  if (!filterNode || typeof filterNode !== "object") return null;
@@ -1432,6 +1443,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1432
1443
 
1433
1444
  const hasAnyContextMenuActions =
1434
1445
  hasEditInContextMenu || hasDeleteInContextMenu || hasCustomContextMenuButtons;
1446
+ const isEmbeddedList = params.embeded === true;
1435
1447
 
1436
1448
  // const toggleBothSidebars = () => {
1437
1449
  // if (visibleNavbar) {
@@ -1441,9 +1453,9 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1441
1453
  // }
1442
1454
  // };
1443
1455
  return (
1444
- <div className="page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden">
1445
- <div className={`solid-list-content flex flex-col flex-grow-1 ${styles.ListContentWrapper}`}>
1446
- <div className="solid-list-surface flex flex-col flex-1 min-h-0">
1456
+ <div className={`page-parent-wrapper ${isEmbeddedList ? "solid-list-page-wrapper-embedded" : "solid-list-page-wrapper"} flex ${isEmbeddedList ? "min-h-0 overflow-visible" : "h-full min-h-0 overflow-hidden"}`}>
1457
+ <div className={`solid-list-content flex flex-col ${isEmbeddedList ? "min-h-0" : "flex-grow-1"} ${styles.ListContentWrapper}`}>
1458
+ <div className={`solid-list-surface flex flex-col min-h-0 ${isEmbeddedList ? "" : "flex-1"}`}>
1447
1459
  {solidListViewInitialMetaData &&
1448
1460
  <div className="page-header solid-list-toolbar flex-col lg:flex-row">
1449
1461
  {/* <div> */}
@@ -1624,11 +1636,11 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1624
1636
 
1625
1637
  ) : (
1626
1638
  <div
1627
- className={`solid-datatable-wrapper solid-list-table-area flex-1 min-h-0 overflow-hidden ${styles.listTableArea}`}
1639
+ className={`solid-datatable-wrapper solid-list-table-area min-h-0 ${isEmbeddedList ? "overflow-visible" : "flex-1 overflow-hidden"} ${styles.listTableArea}`}
1628
1640
  >
1629
1641
  <DataTable
1630
1642
  value={listViewData}
1631
- // viewportHeight={params.embeded === true ? undefined : "calc(100dvh - 128px)"}
1643
+ viewportHeight={isEmbeddedList ? "auto" : undefined}
1632
1644
  rowClassName={(rowData) => {
1633
1645
  return rowData.deletedAt ? "greyed-out-row" : "";
1634
1646
  }}
@@ -1688,7 +1700,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1688
1700
  params.handleEditClickForEmbeddedView(rowData?.id);
1689
1701
  } else {
1690
1702
  storeCurrentModelViewContext();
1691
- router.push(`${editBaseUrl}/${rowData?.id}?viewMode=view&${buildEditNavigationQueryString(rowData)}`);
1703
+ router.push(`${editBaseUrl}/${rowData?.id}?viewMode=${rowClickFormMode}&${buildEditNavigationQueryString(rowData)}`);
1692
1704
  }
1693
1705
  }
1694
1706
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"AAqBA,MAAM,MAAM,yBAAyB,GAAG;IACpC,qBAAqB,EAAE,GAAG,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe,kBAAmB,GAAG,KAAG,OAMpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,GAAG,KAAG,MAAM,GAAG,IAyB3D,CAAA;AAoBD,eAAO,MAAM,mBAAmB,gGAAiG,yBAAyB,wDA8FzJ,CAAC"}
1
+ {"version":3,"file":"SolidListViewColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"AAqBA,MAAM,MAAM,yBAAyB,GAAG;IACpC,qBAAqB,EAAE,GAAG,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe,kBAAmB,GAAG,KAAG,OAMpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,GAAG,KAAG,MAAM,GAAG,IAyB3D,CAAA;AAoBD,eAAO,MAAM,mBAAmB,gGAAiG,yBAAyB,wDA+FzJ,CAAC"}
@@ -147,6 +147,7 @@ export var SolidListViewColumn = function (_a) {
147
147
  if (fieldMetadata.type === 'uuid') {
148
148
  return SolidUuidColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column });
149
149
  }
150
+ return SolidShortTextColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox });
150
151
  // // Load everything else based on type and dynamically.
151
152
  // else {
152
153
  // const ComponentFound = await loadComponentByType(fieldMetadata.type);
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewColumn.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport SolidBigintColumn from \"./columns/SolidBigintColumn\";\nimport SolidBooleanColumn from \"./columns/SolidBooleanColumn\";\nimport SolidComputedColumn from \"./columns/SolidComputedColumn\";\nimport SolidDateColumn from \"./columns/SolidDateColumn\";\nimport SolidDatetimeColumn from \"./columns/SolidDatetimeColumn\";\nimport SolidDecimalColumn from \"./columns/SolidDecimalColumn\";\nimport SolidExternalIdColumn from \"./columns/SolidExternalIdColumn\";\nimport SolidFloatColumn from \"./columns/SolidFloatColumn\";\nimport SolidIntColumn from \"./columns/SolidIntColumn\";\nimport SolidLongTextColumn from \"./columns/SolidLongTextColumn\";\nimport SolidMediaMultipleColumn from \"./columns/SolidMediaMultipleColumn\";\nimport SolidMediaSingleColumn from \"./columns/SolidMediaSingleColumn\";\nimport SolidRelationColumn from \"./columns/SolidRelationColumn\";\nimport SolidRichTextColumn from \"./columns/SolidRichTextColumn\";\nimport SolidSelectionDynamicColumn from \"./columns/SolidSelectionDynamicColumn\";\nimport SolidSelectionStaticColumn from \"./columns/SolidSelectionStaticColumn\";\nimport SolidShortTextColumn from \"./columns/SolidShortTextColumn\";\nimport SolidTimeColumn from \"./columns/SolidTimeColumn\";\nimport SolidUuidColumn from \"./columns/SolidUuidColumn\";\n\nexport type SolidListViewColumnParams = {\n solidListViewMetaData: any;\n fieldMetadata: any,\n column: any,\n setLightboxUrls?: any,\n setOpenLightbox?: any,\n embeded?: boolean; \n};\n\nexport const isFieldSortable = (fieldMetadata: any): boolean => {\n if (!fieldMetadata) return false;\n const type = fieldMetadata.type;\n if (type === 'mediaSingle' || type === 'mediaMultiple') return false;\n if (type === 'relation') return fieldMetadata.relationType === 'many-to-one';\n return true;\n};\n\nexport const getNumberOfInputs = (matchMode: any): number | null => {\n if (matchMode.label && matchMode.label === 'Not In') {\n matchMode = 'notIn';\n }\n\n switch (matchMode) {\n case 'between':\n return 2;\n case 'in':\n case 'notIn':\n return null;\n case 'startsWith':\n case 'contains':\n case 'notContains':\n case 'endsWith':\n case 'equals':\n case 'notEquals':\n case 'lt':\n case 'lte':\n case 'gt':\n case 'gte':\n return 1;\n default:\n return 1; // Default to single input if no specific match is found\n }\n}\n\n// // @ts-ignore\n// const components = require.context('./columns', false, /Solid.*Column\\.tsx$/);\n\n// // Define a function to dynamically load components based on type\n// const loadComponentByType = async (type: string) => {\n// try {\n// const componentName = `./columns/Solid${type.charAt(0).toUpperCase() + type.slice(1)}Column.tsx`;\n\n// // Dynamically import the component based on type\n// const componentModule = await import(componentName);\n\n// return componentModule.default;\n// } catch (error) {\n// console.error(`Failed to load component for type: ${type}`, error);\n// return null;\n// }\n// };\n\nexport const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded }: SolidListViewColumnParams) => {\n\n if (!isFieldSortable(fieldMetadata) && column?.attrs?.sortable) {\n column = { ...column, attrs: { ...column.attrs, sortable: false } };\n }\n\n // And finally we can implement additional switching logic based on certain special fields. \n if (fieldMetadata.name === 'id') {\n return SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n\n if (fieldMetadata.type === 'int') {\n return SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'bigint') {\n return SolidBigintColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'float') {\n return SolidFloatColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'decimal') {\n return SolidDecimalColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'shortText') {\n return SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n if (fieldMetadata.type === 'longText') {\n return SolidLongTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'richText') {\n return SolidRichTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'email') {\n return SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'boolean') {\n return SolidBooleanColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'date') {\n return SolidDateColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'datetime') {\n return SolidDatetimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'time') {\n return SolidTimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'relation') {\n return SolidRelationColumn({ solidListViewMetaData, fieldMetadata, column, embeded });\n }\n if (fieldMetadata.type === 'mediaSingle') {\n return SolidMediaSingleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n if (fieldMetadata.type === 'mediaMultiple') {\n return SolidMediaMultipleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n if (fieldMetadata.type === 'selectionStatic') {\n return SolidSelectionStaticColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'selectionDynamic') {\n return SolidSelectionDynamicColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'computed') {\n return SolidComputedColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'externalId') {\n return SolidExternalIdColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'uuid') {\n return SolidUuidColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n // // Load everything else based on type and dynamically.\n // else {\n // const ComponentFound = await loadComponentByType(fieldMetadata.type);\n // const ComponentNotFound = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => (\n // <Column\n // key={fieldMetadata.name}\n // field={fieldMetadata.name}\n // header={fieldMetadata.displayName}\n // className=\"text-sm\"\n // sortable={false}\n // filter={false}\n // showFilterOperator={false}\n // body={() => (<span>Type not supported</span>)}\n // style={{ minWidth: \"12rem\" }}\n // headerClassName=\"table-header-fs\"\n // ></Column>\n // );\n\n // return ComponentFound ? ComponentFound({ solidListViewMetaData, fieldMetadata, column }) : ComponentNotFound({ solidListViewMetaData, fieldMetadata, column });\n // }\n\n // TODO: we can implement additional switching logic based on the widget type being used to render the list view column.\n\n};\n"]}
1
+ {"version":3,"file":"SolidListViewColumn.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport SolidBigintColumn from \"./columns/SolidBigintColumn\";\nimport SolidBooleanColumn from \"./columns/SolidBooleanColumn\";\nimport SolidComputedColumn from \"./columns/SolidComputedColumn\";\nimport SolidDateColumn from \"./columns/SolidDateColumn\";\nimport SolidDatetimeColumn from \"./columns/SolidDatetimeColumn\";\nimport SolidDecimalColumn from \"./columns/SolidDecimalColumn\";\nimport SolidExternalIdColumn from \"./columns/SolidExternalIdColumn\";\nimport SolidFloatColumn from \"./columns/SolidFloatColumn\";\nimport SolidIntColumn from \"./columns/SolidIntColumn\";\nimport SolidLongTextColumn from \"./columns/SolidLongTextColumn\";\nimport SolidMediaMultipleColumn from \"./columns/SolidMediaMultipleColumn\";\nimport SolidMediaSingleColumn from \"./columns/SolidMediaSingleColumn\";\nimport SolidRelationColumn from \"./columns/SolidRelationColumn\";\nimport SolidRichTextColumn from \"./columns/SolidRichTextColumn\";\nimport SolidSelectionDynamicColumn from \"./columns/SolidSelectionDynamicColumn\";\nimport SolidSelectionStaticColumn from \"./columns/SolidSelectionStaticColumn\";\nimport SolidShortTextColumn from \"./columns/SolidShortTextColumn\";\nimport SolidTimeColumn from \"./columns/SolidTimeColumn\";\nimport SolidUuidColumn from \"./columns/SolidUuidColumn\";\n\nexport type SolidListViewColumnParams = {\n solidListViewMetaData: any;\n fieldMetadata: any,\n column: any,\n setLightboxUrls?: any,\n setOpenLightbox?: any,\n embeded?: boolean; \n};\n\nexport const isFieldSortable = (fieldMetadata: any): boolean => {\n if (!fieldMetadata) return false;\n const type = fieldMetadata.type;\n if (type === 'mediaSingle' || type === 'mediaMultiple') return false;\n if (type === 'relation') return fieldMetadata.relationType === 'many-to-one';\n return true;\n};\n\nexport const getNumberOfInputs = (matchMode: any): number | null => {\n if (matchMode.label && matchMode.label === 'Not In') {\n matchMode = 'notIn';\n }\n\n switch (matchMode) {\n case 'between':\n return 2;\n case 'in':\n case 'notIn':\n return null;\n case 'startsWith':\n case 'contains':\n case 'notContains':\n case 'endsWith':\n case 'equals':\n case 'notEquals':\n case 'lt':\n case 'lte':\n case 'gt':\n case 'gte':\n return 1;\n default:\n return 1; // Default to single input if no specific match is found\n }\n}\n\n// // @ts-ignore\n// const components = require.context('./columns', false, /Solid.*Column\\.tsx$/);\n\n// // Define a function to dynamically load components based on type\n// const loadComponentByType = async (type: string) => {\n// try {\n// const componentName = `./columns/Solid${type.charAt(0).toUpperCase() + type.slice(1)}Column.tsx`;\n\n// // Dynamically import the component based on type\n// const componentModule = await import(componentName);\n\n// return componentModule.default;\n// } catch (error) {\n// console.error(`Failed to load component for type: ${type}`, error);\n// return null;\n// }\n// };\n\nexport const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded }: SolidListViewColumnParams) => {\n\n if (!isFieldSortable(fieldMetadata) && column?.attrs?.sortable) {\n column = { ...column, attrs: { ...column.attrs, sortable: false } };\n }\n\n // And finally we can implement additional switching logic based on certain special fields. \n if (fieldMetadata.name === 'id') {\n return SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n\n if (fieldMetadata.type === 'int') {\n return SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'bigint') {\n return SolidBigintColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'float') {\n return SolidFloatColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'decimal') {\n return SolidDecimalColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'shortText') {\n return SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n if (fieldMetadata.type === 'longText') {\n return SolidLongTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'richText') {\n return SolidRichTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'email') {\n return SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'boolean') {\n return SolidBooleanColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'date') {\n return SolidDateColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'datetime') {\n return SolidDatetimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'time') {\n return SolidTimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'relation') {\n return SolidRelationColumn({ solidListViewMetaData, fieldMetadata, column, embeded });\n }\n if (fieldMetadata.type === 'mediaSingle') {\n return SolidMediaSingleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n if (fieldMetadata.type === 'mediaMultiple') {\n return SolidMediaMultipleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n if (fieldMetadata.type === 'selectionStatic') {\n return SolidSelectionStaticColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'selectionDynamic') {\n return SolidSelectionDynamicColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'computed') {\n return SolidComputedColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'externalId') {\n return SolidExternalIdColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.type === 'uuid') {\n return SolidUuidColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n return SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n // // Load everything else based on type and dynamically.\n // else {\n // const ComponentFound = await loadComponentByType(fieldMetadata.type);\n // const ComponentNotFound = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => (\n // <Column\n // key={fieldMetadata.name}\n // field={fieldMetadata.name}\n // header={fieldMetadata.displayName}\n // className=\"text-sm\"\n // sortable={false}\n // filter={false}\n // showFilterOperator={false}\n // body={() => (<span>Type not supported</span>)}\n // style={{ minWidth: \"12rem\" }}\n // headerClassName=\"table-header-fs\"\n // ></Column>\n // );\n\n // return ComponentFound ? ComponentFound({ solidListViewMetaData, fieldMetadata, column }) : ComponentNotFound({ solidListViewMetaData, fieldMetadata, column });\n // }\n\n // TODO: we can implement additional switching logic based on the widget type being used to render the list view column.\n\n};\n"]}
@@ -152,6 +152,7 @@ export const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, colu
152
152
  if (fieldMetadata.type === 'uuid') {
153
153
  return SolidUuidColumn({ solidListViewMetaData, fieldMetadata, column });
154
154
  }
155
+ return SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });
155
156
  // // Load everything else based on type and dynamically.
156
157
  // else {
157
158
  // const ComponentFound = await loadComponentByType(fieldMetadata.type);
@@ -1 +1 @@
1
- {"version":3,"file":"SolidShortTextColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidShortTextColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAE,yBAAyB,EAAkC,MAAM,8BAA8B,CAAC;AAEzG,QAAA,MAAM,oBAAoB,uFAAwF,yBAAyB,4CAwC1I,CAAC;AAEF,eAAe,oBAAoB,CAAC;AAIpC,eAAO,MAAM,qBAAqB,8DAA+D,yBAAyB,4CAuBzH,CAAC"}
1
+ {"version":3,"file":"SolidShortTextColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidShortTextColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAInE,OAAO,EAAE,yBAAyB,EAAkC,MAAM,8BAA8B,CAAC;AAEzG,QAAA,MAAM,oBAAoB,uFAAwF,yBAAyB,4CAwC1I,CAAC;AAEF,eAAe,oBAAoB,CAAC;AAIpC,eAAO,MAAM,qBAAqB,8DAA+D,yBAAyB,4CA2BzH,CAAC"}
@@ -13,6 +13,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
13
13
  import { Column } from "../SolidDataTable";
14
14
  import SolidTableRowCell from '../SolidTableRowCell';
15
15
  import { getExtensionComponent } from '../../../../helpers/registry';
16
+ import { getRelationDisplayText } from '../../../../helpers/relationDisplay';
16
17
  var SolidShortTextColumn = function (_a) {
17
18
  var _b, _c, _d, _e, _f;
18
19
  var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox;
@@ -43,8 +44,9 @@ export var DefaultTextListWidget = function (_a) {
43
44
  var _b, _c, _d, _e;
44
45
  var rowData = _a.rowData, solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column;
45
46
  var truncateAfter = (_e = (_d = (_c = (_b = solidListViewMetaData === null || solidListViewMetaData === void 0 ? void 0 : solidListViewMetaData.data) === null || _b === void 0 ? void 0 : _b.solidView) === null || _c === void 0 ? void 0 : _c.layout) === null || _d === void 0 ? void 0 : _d.attrs) === null || _e === void 0 ? void 0 : _e.truncateAfter;
46
- var displayValue = rowData[fieldMetadata.name];
47
- if ((fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.selectionStaticValues) && displayValue) {
47
+ var rawValue = rowData[fieldMetadata.name];
48
+ var displayValue = rawValue;
49
+ if ((fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.selectionStaticValues) && typeof displayValue === "string" && displayValue) {
48
50
  var mapping_1 = {};
49
51
  fieldMetadata.selectionStaticValues.forEach(function (entry) {
50
52
  var _a = entry.split(":"), val = _a[0], label = _a[1];
@@ -53,6 +55,9 @@ export var DefaultTextListWidget = function (_a) {
53
55
  var values = displayValue.split(",").map(function (v) { return v.trim(); });
54
56
  displayValue = values.map(function (v) { return mapping_1[v] || v; }).join(", ");
55
57
  }
58
+ else {
59
+ displayValue = getRelationDisplayText(rawValue);
60
+ }
56
61
  return (_jsx(SolidTableRowCell, { value: displayValue, truncateAfter: truncateAfter }));
57
62
  };
58
63
  //# sourceMappingURL=SolidShortTextColumn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidShortTextColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidShortTextColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { Column } from \"../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport SolidTableRowCell from '../SolidTableRowCell';\nimport { getExtensionComponent } from '../../../../helpers/registry';\nimport { SolidListFieldWidgetProps, SolidMediaListFieldWidgetProps } from '../../../../types/solid-core';\n\nconst SolidShortTextColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox }: SolidListViewColumnParams) => {\n\n const truncateAfter = solidListViewMetaData?.data?.solidView?.layout?.attrs?.truncateAfter;\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n sortable={column.attrs.sortable}\n header={() => {\n return (<div style={{ maxWidth: truncateAfter ? `${truncateAfter}ch` : '30ch', whiteSpace: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden' }}>{header}</div>)\n }}\n\n body={(rowData) => {\n //add this widget to render media image in image format - SolidShortTextFieldImageRenderModeWidget \n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultTextListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidMediaListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n setLightboxUrls: setLightboxUrls,\n setOpenLightbox: setOpenLightbox\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n\n ></Column >\n );\n\n};\n\nexport default SolidShortTextColumn;\n\n\n\nexport const DefaultTextListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const truncateAfter = solidListViewMetaData?.data?.solidView?.layout?.attrs?.truncateAfter;\n let displayValue = rowData[fieldMetadata.name];\n\n if (fieldMetadata?.selectionStaticValues && displayValue) {\n const mapping: Record<string, string> = {};\n\n fieldMetadata.selectionStaticValues.forEach((entry: string) => {\n const [val, label] = entry.split(\":\");\n mapping[val] = label;\n });\n\n const values = displayValue.split(\",\").map((v: string) => v.trim());\n\n displayValue = values.map((v: string) => mapping[v] || v).join(\", \");\n }\n\n return (\n <SolidTableRowCell\n value={displayValue}\n truncateAfter={truncateAfter}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"SolidShortTextColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidShortTextColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { Column } from \"../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport SolidTableRowCell from '../SolidTableRowCell';\nimport { getExtensionComponent } from '../../../../helpers/registry';\nimport { getRelationDisplayText } from '../../../../helpers/relationDisplay';\nimport { SolidListFieldWidgetProps, SolidMediaListFieldWidgetProps } from '../../../../types/solid-core';\n\nconst SolidShortTextColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox }: SolidListViewColumnParams) => {\n\n const truncateAfter = solidListViewMetaData?.data?.solidView?.layout?.attrs?.truncateAfter;\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n sortable={column.attrs.sortable}\n header={() => {\n return (<div style={{ maxWidth: truncateAfter ? `${truncateAfter}ch` : '30ch', whiteSpace: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden' }}>{header}</div>)\n }}\n\n body={(rowData) => {\n //add this widget to render media image in image format - SolidShortTextFieldImageRenderModeWidget \n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultTextListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidMediaListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n setLightboxUrls: setLightboxUrls,\n setOpenLightbox: setOpenLightbox\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n\n ></Column >\n );\n\n};\n\nexport default SolidShortTextColumn;\n\n\n\nexport const DefaultTextListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const truncateAfter = solidListViewMetaData?.data?.solidView?.layout?.attrs?.truncateAfter;\n const rawValue = rowData[fieldMetadata.name];\n let displayValue = rawValue;\n\n if (fieldMetadata?.selectionStaticValues && typeof displayValue === \"string\" && displayValue) {\n const mapping: Record<string, string> = {};\n\n fieldMetadata.selectionStaticValues.forEach((entry: string) => {\n const [val, label] = entry.split(\":\");\n mapping[val] = label;\n });\n\n const values = displayValue.split(\",\").map((v: string) => v.trim());\n\n displayValue = values.map((v: string) => mapping[v] || v).join(\", \");\n }\n else {\n displayValue = getRelationDisplayText(rawValue);\n }\n\n return (\n <SolidTableRowCell\n value={displayValue}\n truncateAfter={truncateAfter}\n />\n );\n};\n"]}
@@ -3,6 +3,7 @@ import { Column } from "../SolidDataTable";
3
3
  import { SolidListViewColumnParams } from '../SolidListViewColumn';
4
4
  import SolidTableRowCell from '../SolidTableRowCell';
5
5
  import { getExtensionComponent } from '../../../../helpers/registry';
6
+ import { getRelationDisplayText } from '../../../../helpers/relationDisplay';
6
7
  import { SolidListFieldWidgetProps, SolidMediaListFieldWidgetProps } from '../../../../types/solid-core';
7
8
 
8
9
  const SolidShortTextColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox }: SolidListViewColumnParams) => {
@@ -53,9 +54,10 @@ export default SolidShortTextColumn;
53
54
 
54
55
  export const DefaultTextListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {
55
56
  const truncateAfter = solidListViewMetaData?.data?.solidView?.layout?.attrs?.truncateAfter;
56
- let displayValue = rowData[fieldMetadata.name];
57
+ const rawValue = rowData[fieldMetadata.name];
58
+ let displayValue = rawValue;
57
59
 
58
- if (fieldMetadata?.selectionStaticValues && displayValue) {
60
+ if (fieldMetadata?.selectionStaticValues && typeof displayValue === "string" && displayValue) {
59
61
  const mapping: Record<string, string> = {};
60
62
 
61
63
  fieldMetadata.selectionStaticValues.forEach((entry: string) => {
@@ -67,6 +69,9 @@ export const DefaultTextListWidget = ({ rowData, solidListViewMetaData, fieldMet
67
69
 
68
70
  displayValue = values.map((v: string) => mapping[v] || v).join(", ");
69
71
  }
72
+ else {
73
+ displayValue = getRelationDisplayText(rawValue);
74
+ }
70
75
 
71
76
  return (
72
77
  <SolidTableRowCell
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationManyToManyColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,6BAA6B,qDAAsD,yBAAyB,4CAkCjH,CAAC;AAEF,eAAe,6BAA6B,CAAC;AAG7C,eAAO,MAAM,mCAAmC,8DAA+D,yBAAyB,4CA0BvI,CAAC"}
1
+ {"version":3,"file":"SolidRelationManyToManyColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAGpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,6BAA6B,qDAAsD,yBAAyB,4CAkCjH,CAAC;AAEF,eAAe,6BAA6B,CAAC;AAG7C,eAAO,MAAM,mCAAmC,8DAA+D,yBAAyB,4CA4BvI,CAAC"}
@@ -12,6 +12,7 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Column } from "../../SolidDataTable";
14
14
  import { getExtensionComponent } from '../../../../../helpers/registry';
15
+ import { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';
15
16
  var SolidRelationManyToManyColumn = function (_a) {
16
17
  var _b;
17
18
  var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column;
@@ -40,7 +41,9 @@ export var DefaultRelationManyToManyListWidget = function (_a) {
40
41
  if (manyToManyFieldData) {
41
42
  // Since this is a many-to-one field, we fetch the user key field of the associated model.
42
43
  var userKeyField_1 = ((_b = column === null || column === void 0 ? void 0 : column.attrs) === null || _b === void 0 ? void 0 : _b.coModelFieldToDisplay) ? (_c = column === null || column === void 0 ? void 0 : column.attrs) === null || _c === void 0 ? void 0 : _c.coModelFieldToDisplay : (_e = (_d = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.relationModel) === null || _d === void 0 ? void 0 : _d.userKeyField) === null || _e === void 0 ? void 0 : _e.name;
43
- var manyToManyColVal = manyToManyFieldData.map(function (f) { return f[userKeyField_1]; });
44
+ var manyToManyColVal = manyToManyFieldData
45
+ .map(function (f) { return getRelatedRecordDisplayText(f, userKeyField_1); })
46
+ .filter(Boolean);
44
47
  // TODO: change this to use an anchor tag so that on click we open that entity form view.
45
48
  return (_jsx(_Fragment, { children: manyToManyColVal.length > 0 &&
46
49
  _jsxs("p", { children: [_jsx("span", { style: { backgroundColor: '#f5f5f5', padding: '7px', borderRadius: '4px' }, children: manyToManyColVal[0] }), _jsx("span", { style: { color: "#0895CD", fontWeight: 'bold' }, children: manyToManyColVal.length - 1 > 0 ? " +".concat(manyToManyColVal.length - 1) : "" })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationManyToManyColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAIxE,IAAM,6BAA6B,GAAG,UAAC,EAA2E;;QAAzE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IACjF,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAE/D,OAAO,CACH,KAAC,MAAM,IAEH,KAAK,EAAE,aAAa,CAAC,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC/B,IAAI,EAAE,UAAC,OAAO;YACV,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,qCAAqC,CAAC;aACtD;YACD,IAAI,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAM,WAAW,GAA8B;gBAC3C,OAAO,SAAA;gBACP,qBAAqB,uBAAA;gBACrB,aAAa,eAAA;gBACb,MAAM,QAAA;aACT,CAAA;YACD,OAAO,CACH,4BACK,aAAa,IAAI,KAAC,aAAa,eAAK,WAAW,EAAI,GACrD,CACN,CAAA;QACL,CAAC,EAED,iBAAiB,EAAE,oBAAa,aAAa,CAAC,WAAW,CAAE,EAC3D,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,eAAe,EAAC,iBAAiB,IAzB5B,aAAa,CAAC,IAAI,CA0BjB,CACb,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,6BAA6B,CAAC;AAG7C,MAAM,CAAC,IAAM,mCAAmC,GAAG,UAAC,EAAoF;;QAAlF,OAAO,aAAA,EAAE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IACvG,IAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvD,+DAA+D;IAC/D,IAAI,mBAAmB,EAAE;QACrB,0FAA0F;QAC1F,IAAM,cAAY,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,qBAAqB,EAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,qBAAqB,CAAC,CAAC,CAAC,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,0CAAE,YAAY,0CAAE,IAAI,CAAC;QACpJ,IAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,cAAY,CAAC,EAAf,CAAe,CAAC,CAAC;QAE9E,0FAA0F;QAC1F,OAAO,CACH,4BACK,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACxB,wBAEI,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAG,gBAAgB,CAAC,CAAC,CAAC,GAAQ,EAC9G,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAK,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,GAAQ,IAExI,GAEV,CACN,CAAA;KACJ;SACI;QACD,OAAO,gBAAa,CAAA;KACvB;AACL,CAAC,CAAC","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\n\n\nconst SolidRelationManyToManyColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToManyListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationManyToManyColumn;\n\n\nexport const DefaultRelationManyToManyListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const manyToManyFieldData = rowData[column.attrs.name];\n\n // This is the userkey that will be present within the rowData.\n if (manyToManyFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToManyColVal = manyToManyFieldData.map((f: any) => f[userKeyField]);\n\n // TODO: change this to use an anchor tag so that on click we open that entity form view. \n return (\n <>\n {manyToManyColVal.length > 0 &&\n <p>\n\n <span style={{ backgroundColor: '#f5f5f5', padding: '7px', borderRadius: '4px' }}>{manyToManyColVal[0]}</span>\n <span style={{ color: \"#0895CD\", fontWeight: 'bold' }}>{manyToManyColVal.length - 1 > 0 ? ` +${manyToManyColVal.length - 1}` : \"\"}</span>\n\n </p >\n }\n </>\n )\n }\n else {\n return <span></span>\n }\n};"]}
1
+ {"version":3,"file":"SolidRelationManyToManyColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAIrF,IAAM,6BAA6B,GAAG,UAAC,EAA2E;;QAAzE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IACjF,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAE/D,OAAO,CACH,KAAC,MAAM,IAEH,KAAK,EAAE,aAAa,CAAC,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC/B,IAAI,EAAE,UAAC,OAAO;YACV,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,qCAAqC,CAAC;aACtD;YACD,IAAI,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAM,WAAW,GAA8B;gBAC3C,OAAO,SAAA;gBACP,qBAAqB,uBAAA;gBACrB,aAAa,eAAA;gBACb,MAAM,QAAA;aACT,CAAA;YACD,OAAO,CACH,4BACK,aAAa,IAAI,KAAC,aAAa,eAAK,WAAW,EAAI,GACrD,CACN,CAAA;QACL,CAAC,EAED,iBAAiB,EAAE,oBAAa,aAAa,CAAC,WAAW,CAAE,EAC3D,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,eAAe,EAAC,iBAAiB,IAzB5B,aAAa,CAAC,IAAI,CA0BjB,CACb,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,6BAA6B,CAAC;AAG7C,MAAM,CAAC,IAAM,mCAAmC,GAAG,UAAC,EAAoF;;QAAlF,OAAO,aAAA,EAAE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IACvG,IAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvD,+DAA+D;IAC/D,IAAI,mBAAmB,EAAE;QACrB,0FAA0F;QAC1F,IAAM,cAAY,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,qBAAqB,EAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,qBAAqB,CAAC,CAAC,CAAC,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,0CAAE,YAAY,0CAAE,IAAI,CAAC;QACpJ,IAAM,gBAAgB,GAAG,mBAAmB;aACvC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,2BAA2B,CAAC,CAAC,EAAE,cAAY,CAAC,EAA5C,CAA4C,CAAC;aAC7D,MAAM,CAAC,OAAO,CAAC,CAAC;QAErB,0FAA0F;QAC1F,OAAO,CACH,4BACK,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACxB,wBAEI,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAG,gBAAgB,CAAC,CAAC,CAAC,GAAQ,EAC9G,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAK,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,GAAQ,IAExI,GAEV,CACN,CAAA;KACJ;SACI;QACD,OAAO,gBAAa,CAAA;KACvB;AACL,CAAC,CAAC","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\nimport { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\n\n\nconst SolidRelationManyToManyColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToManyListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationManyToManyColumn;\n\n\nexport const DefaultRelationManyToManyListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const manyToManyFieldData = rowData[column.attrs.name];\n\n // This is the userkey that will be present within the rowData.\n if (manyToManyFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToManyColVal = manyToManyFieldData\n .map((f: any) => getRelatedRecordDisplayText(f, userKeyField))\n .filter(Boolean);\n\n // TODO: change this to use an anchor tag so that on click we open that entity form view. \n return (\n <>\n {manyToManyColVal.length > 0 &&\n <p>\n\n <span style={{ backgroundColor: '#f5f5f5', padding: '7px', borderRadius: '4px' }}>{manyToManyColVal[0]}</span>\n <span style={{ color: \"#0895CD\", fontWeight: 'bold' }}>{manyToManyColVal.length - 1 > 0 ? ` +${manyToManyColVal.length - 1}` : \"\"}</span>\n\n </p >\n }\n </>\n )\n }\n else {\n return <span></span>\n }\n};\n"]}
@@ -2,6 +2,7 @@
2
2
  import { Column } from "../../SolidDataTable";
3
3
  import { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';
4
4
  import { getExtensionComponent } from '../../../../../helpers/registry';
5
+ import { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';
5
6
  import { SolidListFieldWidgetProps } from '../../../../../types/solid-core';
6
7
 
7
8
 
@@ -51,7 +52,9 @@ export const DefaultRelationManyToManyListWidget = ({ rowData, solidListViewMeta
51
52
  if (manyToManyFieldData) {
52
53
  // Since this is a many-to-one field, we fetch the user key field of the associated model.
53
54
  const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;
54
- const manyToManyColVal = manyToManyFieldData.map((f: any) => f[userKeyField]);
55
+ const manyToManyColVal = manyToManyFieldData
56
+ .map((f: any) => getRelatedRecordDisplayText(f, userKeyField))
57
+ .filter(Boolean);
55
58
 
56
59
  // TODO: change this to use an anchor tag so that on click we open that entity form view.
57
60
  return (
@@ -70,4 +73,4 @@ export const DefaultRelationManyToManyListWidget = ({ rowData, solidListViewMeta
70
73
  else {
71
74
  return <span></span>
72
75
  }
73
- };
76
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationManyToOneColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAGpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,4BAA4B,8DAA+D,yBAAyB,4CAqCzH,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAG5C,eAAO,MAAM,kCAAkC,uEAAwE,yBAAyB,4CA+C/I,CAAC"}
1
+ {"version":3,"file":"SolidRelationManyToOneColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAIpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,4BAA4B,8DAA+D,yBAAyB,4CAqCzH,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAG5C,eAAO,MAAM,kCAAkC,uEAAwE,yBAAyB,4CA+C/I,CAAC"}
@@ -12,6 +12,7 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Column } from "../../SolidDataTable";
14
14
  import { getExtensionComponent } from '../../../../../helpers/registry';
15
+ import { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';
15
16
  import { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';
16
17
  import { ExternalLink } from "lucide-react";
17
18
  var SolidRelationManyToOneColumn = function (_a) {
@@ -45,7 +46,7 @@ export var DefaultRelationManyToOneListWidget = function (_a) {
45
46
  if (manyToOneFieldData) {
46
47
  // Since this is a many-to-one field, we fetch the user key field of the associated model.
47
48
  var userKeyField = ((_b = column === null || column === void 0 ? void 0 : column.attrs) === null || _b === void 0 ? void 0 : _b.coModelFieldToDisplay) ? (_c = column === null || column === void 0 ? void 0 : column.attrs) === null || _c === void 0 ? void 0 : _c.coModelFieldToDisplay : (_e = (_d = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.relationModel) === null || _d === void 0 ? void 0 : _d.userKeyField) === null || _e === void 0 ? void 0 : _e.name;
48
- var manyToOneColVal = manyToOneFieldData[userKeyField];
49
+ var manyToOneColVal = getRelatedRecordDisplayText(manyToOneFieldData, userKeyField);
49
50
  var relatedModuleName = (fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.relationModelModuleName) ||
50
51
  ((_g = (_f = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.relationModel) === null || _f === void 0 ? void 0 : _f.module) === null || _g === void 0 ? void 0 : _g.name) ||
51
52
  ((_k = (_j = (_h = solidListViewMetaData === null || solidListViewMetaData === void 0 ? void 0 : solidListViewMetaData.data) === null || _h === void 0 ? void 0 : _h.solidView) === null || _j === void 0 ? void 0 : _j.module) === null || _k === void 0 ? void 0 : _k.name);
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationManyToOneColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\nimport { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\nimport { ExternalLink } from \"lucide-react\";\n\nconst SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToOneListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n embeded\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationManyToOneColumn;\n\n\nexport const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded }: SolidListFieldWidgetProps) => {\n const manyToOneFieldData = rowData[column.attrs.name];\n // This is the userkey that will be present within the rowData.\n if (manyToOneFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToOneColVal = manyToOneFieldData[userKeyField];\n const relatedModuleName =\n fieldMetadata?.relationModelModuleName ||\n fieldMetadata?.relationModel?.module?.name ||\n solidListViewMetaData?.data?.solidView?.module?.name;\n const relatedModelName =\n fieldMetadata?.relationModel?.singularName ||\n fieldMetadata?.relationCoModelSingularName;\n const relationRecordPath = buildAdminRecordFormPath({\n moduleName: relatedModuleName,\n modelName: relatedModelName,\n recordId: manyToOneFieldData?.id,\n viewMode: \"view\",\n });\n\n const isDisabled = column?.attrs?.disabled === true;\n\n if (embeded === true || isDisabled || !relationRecordPath) {\n return (\n <span className=\"solid-list-external-link-text\">\n {manyToOneColVal}\n </span>\n );\n }\n\n return (\n <button\n type=\"button\"\n className=\"solid-list-external-link\"\n onClick={() => {\n window.open(relationRecordPath, \"_blank\");\n }}\n >\n <span className=\"solid-list-external-link-text\">{manyToOneColVal}</span>\n <ExternalLink size={13} strokeWidth={2} className=\"solid-list-external-link-icon\" />\n </button>\n );\n }\n else {\n return <span></span>\n }\n};\n"]}
1
+ {"version":3,"file":"SolidRelationManyToOneColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\nimport { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';\nimport { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\nimport { ExternalLink } from \"lucide-react\";\n\nconst SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToOneListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n embeded\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationManyToOneColumn;\n\n\nexport const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded }: SolidListFieldWidgetProps) => {\n const manyToOneFieldData = rowData[column.attrs.name];\n // This is the userkey that will be present within the rowData.\n if (manyToOneFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToOneColVal = getRelatedRecordDisplayText(manyToOneFieldData, userKeyField);\n const relatedModuleName =\n fieldMetadata?.relationModelModuleName ||\n fieldMetadata?.relationModel?.module?.name ||\n solidListViewMetaData?.data?.solidView?.module?.name;\n const relatedModelName =\n fieldMetadata?.relationModel?.singularName ||\n fieldMetadata?.relationCoModelSingularName;\n const relationRecordPath = buildAdminRecordFormPath({\n moduleName: relatedModuleName,\n modelName: relatedModelName,\n recordId: manyToOneFieldData?.id,\n viewMode: \"view\",\n });\n\n const isDisabled = column?.attrs?.disabled === true;\n\n if (embeded === true || isDisabled || !relationRecordPath) {\n return (\n <span className=\"solid-list-external-link-text\">\n {manyToOneColVal}\n </span>\n );\n }\n\n return (\n <button\n type=\"button\"\n className=\"solid-list-external-link\"\n onClick={() => {\n window.open(relationRecordPath, \"_blank\");\n }}\n >\n <span className=\"solid-list-external-link-text\">{manyToOneColVal}</span>\n <ExternalLink size={13} strokeWidth={2} className=\"solid-list-external-link-icon\" />\n </button>\n );\n }\n else {\n return <span></span>\n }\n};\n"]}
@@ -2,6 +2,7 @@
2
2
  import { Column } from "../../SolidDataTable";
3
3
  import { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';
4
4
  import { getExtensionComponent } from '../../../../../helpers/registry';
5
+ import { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';
5
6
  import { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';
6
7
  import { SolidListFieldWidgetProps } from '../../../../../types/solid-core';
7
8
  import { ExternalLink } from "lucide-react";
@@ -54,7 +55,7 @@ export const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaD
54
55
  if (manyToOneFieldData) {
55
56
  // Since this is a many-to-one field, we fetch the user key field of the associated model.
56
57
  const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;
57
- const manyToOneColVal = manyToOneFieldData[userKeyField];
58
+ const manyToOneColVal = getRelatedRecordDisplayText(manyToOneFieldData, userKeyField);
58
59
  const relatedModuleName =
59
60
  fieldMetadata?.relationModelModuleName ||
60
61
  fieldMetadata?.relationModel?.module?.name ||
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationOneToManyColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,4BAA4B,qDAAsD,yBAAyB,4CAoChH,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAK5C,eAAO,MAAM,kCAAkC,8DAA+D,yBAAyB,4CA8BtI,CAAC"}
1
+ {"version":3,"file":"SolidRelationOneToManyColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAI5E,QAAA,MAAM,4BAA4B,qDAAsD,yBAAyB,4CAoChH,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAK5C,eAAO,MAAM,kCAAkC,8DAA+D,yBAAyB,4CAgCtI,CAAC"}
@@ -12,6 +12,7 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Column } from "../../SolidDataTable";
14
14
  import { getExtensionComponent } from '../../../../../helpers/registry';
15
+ import { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';
15
16
  var SolidRelationOneToManyColumn = function (_a) {
16
17
  var _b;
17
18
  var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column;
@@ -42,7 +43,9 @@ export var DefaultRelationOneToManyListWidget = function (_a) {
42
43
  if (manyToManyFieldData) {
43
44
  // Since this is a many-to-one field, we fetch the user key field of the associated model.
44
45
  var userKeyField_1 = ((_b = column === null || column === void 0 ? void 0 : column.attrs) === null || _b === void 0 ? void 0 : _b.coModelFieldToDisplay) ? (_c = column === null || column === void 0 ? void 0 : column.attrs) === null || _c === void 0 ? void 0 : _c.coModelFieldToDisplay : (_e = (_d = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.relationModel) === null || _d === void 0 ? void 0 : _d.userKeyField) === null || _e === void 0 ? void 0 : _e.name;
45
- var manyToManyColVal = manyToManyFieldData.map(function (f) { return f[userKeyField_1]; });
46
+ var manyToManyColVal = manyToManyFieldData
47
+ .map(function (f) { return getRelatedRecordDisplayText(f, userKeyField_1); })
48
+ .filter(Boolean);
46
49
  // TODO: change this to use an anchor tag so that on click we open that entity form view.
47
50
  return (_jsx(_Fragment, { children: manyToManyColVal.length > 0 &&
48
51
  _jsxs("p", { children: [manyToManyColVal[0] && _jsx("span", { style: { backgroundColor: '#f5f5f5', padding: '7px', borderRadius: '4px' }, children: manyToManyColVal[0] }), _jsx("span", { style: { color: "#0895CD", fontWeight: 'bold' }, children: manyToManyColVal.length - 1 > 0 ? " +".concat(manyToManyColVal.length - 1) : "" })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationOneToManyColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,IAAM,4BAA4B,GAAG,UAAC,EAA2E;;QAAzE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IAEhF,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAE/D,OAAO,CACH,KAAC,MAAM,IAEH,KAAK,EAAE,aAAa,CAAC,IAAI,EACzB,MAAM,EAAE,MAAM;QACd,sBAAsB;QACtB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC/B,IAAI,EAAE,UAAC,OAAO;YACV,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,oCAAoC,CAAC;aACrD;YACD,IAAI,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAM,WAAW,GAA8B;gBAC3C,OAAO,SAAA;gBACP,qBAAqB,uBAAA;gBACrB,aAAa,eAAA;gBACb,MAAM,QAAA;aACT,CAAA;YACD,OAAO,CACH,4BACK,aAAa,IAAI,KAAC,aAAa,eAAK,WAAW,EAAI,GACrD,CACN,CAAA;QACL,CAAC,EAED,iBAAiB,EAAE,oBAAa,aAAa,CAAC,WAAW,CAAE,EAC3D,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,eAAe,EAAC,iBAAiB,IA1B5B,aAAa,CAAC,IAAI,CA2BjB,CACb,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAK5C,MAAM,CAAC,IAAM,kCAAkC,GAAG,UAAC,EAAoF;;QAAlF,OAAO,aAAA,EAAE,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IACtG,IAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvD,+DAA+D;IAC/D,IAAI,mBAAmB,EAAE;QACrB,0FAA0F;QAC1F,IAAM,cAAY,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,qBAAqB,EAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,qBAAqB,CAAC,CAAC,CAAC,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,0CAAE,YAAY,0CAAE,IAAI,CAAC;QAEpJ,IAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,cAAY,CAAC,EAAf,CAAe,CAAC,CAAC;QAE9E,0FAA0F;QAC1F,OAAO,CAEH,4BACK,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACxB,wBAEK,gBAAgB,CAAC,CAAC,CAAC,IAAI,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAG,gBAAgB,CAAC,CAAC,CAAC,GAAQ,EACtI,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAK,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,GAAQ,IAGxI,GAEV,CAEN,CAAA;KACJ;SACI;QACD,OAAO,gBAAa,CAAA;KACvB;AACL,CAAC,CAAC","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\n\nconst SolidRelationOneToManyColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationOneToManyListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationOneToManyColumn;\n\n\n\n\nexport const DefaultRelationOneToManyListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const manyToManyFieldData = rowData[column.attrs.name];\n\n // This is the userkey that will be present within the rowData.\n if (manyToManyFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n\n const manyToManyColVal = manyToManyFieldData.map((f: any) => f[userKeyField]);\n\n // TODO: change this to use an anchor tag so that on click we open that entity form view. \n return (\n\n <>\n {manyToManyColVal.length > 0 &&\n <p>\n\n {manyToManyColVal[0] && <span style={{ backgroundColor: '#f5f5f5', padding: '7px', borderRadius: '4px' }}>{manyToManyColVal[0]}</span>}\n <span style={{ color: \"#0895CD\", fontWeight: 'bold' }}>{manyToManyColVal.length - 1 > 0 ? ` +${manyToManyColVal.length - 1}` : \"\"}</span>\n\n\n </p >\n }\n </>\n\n )\n }\n else {\n return <span></span>\n }\n};"]}
1
+ {"version":3,"file":"SolidRelationOneToManyColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\nimport { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';\n\nconst SolidRelationOneToManyColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationOneToManyListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationOneToManyColumn;\n\n\n\n\nexport const DefaultRelationOneToManyListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column }: SolidListFieldWidgetProps) => {\n const manyToManyFieldData = rowData[column.attrs.name];\n\n // This is the userkey that will be present within the rowData.\n if (manyToManyFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n\n const manyToManyColVal = manyToManyFieldData\n .map((f: any) => getRelatedRecordDisplayText(f, userKeyField))\n .filter(Boolean);\n\n // TODO: change this to use an anchor tag so that on click we open that entity form view. \n return (\n\n <>\n {manyToManyColVal.length > 0 &&\n <p>\n\n {manyToManyColVal[0] && <span style={{ backgroundColor: '#f5f5f5', padding: '7px', borderRadius: '4px' }}>{manyToManyColVal[0]}</span>}\n <span style={{ color: \"#0895CD\", fontWeight: 'bold' }}>{manyToManyColVal.length - 1 > 0 ? ` +${manyToManyColVal.length - 1}` : \"\"}</span>\n\n\n </p >\n }\n </>\n\n )\n }\n else {\n return <span></span>\n }\n};\n"]}
@@ -3,6 +3,7 @@ import { Column } from "../../SolidDataTable";
3
3
  import { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';
4
4
  import { SolidListFieldWidgetProps } from '../../../../../types/solid-core';
5
5
  import { getExtensionComponent } from '../../../../../helpers/registry';
6
+ import { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';
6
7
 
7
8
  const SolidRelationOneToManyColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {
8
9
 
@@ -55,7 +56,9 @@ export const DefaultRelationOneToManyListWidget = ({ rowData, solidListViewMetaD
55
56
  // Since this is a many-to-one field, we fetch the user key field of the associated model.
56
57
  const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;
57
58
 
58
- const manyToManyColVal = manyToManyFieldData.map((f: any) => f[userKeyField]);
59
+ const manyToManyColVal = manyToManyFieldData
60
+ .map((f: any) => getRelatedRecordDisplayText(f, userKeyField))
61
+ .filter(Boolean);
59
62
 
60
63
  // TODO: change this to use an anchor tag so that on click we open that entity form view.
61
64
  return (
@@ -77,4 +80,4 @@ export const DefaultRelationOneToManyListWidget = ({ rowData, solidListViewMetaD
77
80
  else {
78
81
  return <span></span>
79
82
  }
80
- };
83
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLocale.d.ts","sourceRoot":"","sources":["../../../../src/components/core/locales/SolidLocale.tsx"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,CAAC;AAC5B,QAAA,MAAM,WAAW;2BACsF,GAAG;QAAM,MAAM;oBAAkB,GAAG;uBAAqB,GAAG;cAAY,MAAM;gBAAc,OAAO;gCAA8B,GAAG;uBAAqB,GAAG;2BAAyB,MAAM,GAAG,IAAI;uBAAqB,GAAG;eAAa,MAAM,GAAG,IAAI;6CAgH1V,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SolidLocale.d.ts","sourceRoot":"","sources":["../../../../src/components/core/locales/SolidLocale.tsx"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,CAAC;AAC5B,QAAA,MAAM,WAAW;2BACsF,GAAG;QAAM,MAAM;oBAAkB,GAAG;uBAAqB,GAAG;cAAY,MAAM;gBAAc,OAAO;gCAA8B,GAAG;uBAAqB,GAAG;2BAAyB,MAAM,GAAG,IAAI;uBAAqB,GAAG;eAAa,MAAM,GAAG,IAAI;6CAiH1V,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -51,7 +51,7 @@ var SolidLocale = function (_a) {
51
51
  return (_jsxs("div", { className: "flex flex-col p-0 m-0 solid-locale-stack", children: [_jsx("div", { className: "flex justify-end gap-4" }), solidFormViewData && (viewMode === 'edit') &&
52
52
  (_jsx("div", { className: "w-full solid-locale-status-banner ".concat(published !== null ? 'is-published' : 'is-unpublished'), children: ((_c = (_b = solidFormViewMetaData.data.solidView) === null || _b === void 0 ? void 0 : _b.model) === null || _c === void 0 ? void 0 : _c.draftPublishWorkflow) &&
53
53
  published !== null ? (_jsxs("li", { className: "w-full text-left list-disc solid-locale-status-copy", children: ["Editing ", _jsx("span", { className: "font-bold", children: "published version" })] })) : (_jsxs("li", { className: "w-full text-left list-disc solid-locale-status-copy", children: ["Editing ", _jsx("span", { className: "font-bold", children: "unpublished version" })] })) })), _jsxs("div", { className: "flex flex-col gap-2 mt-2 solid-locale-info-card", children: [_jsx("h3", { className: "solid-locale-section-title p-0 m-0", children: "Information" }), _jsx(SolidDivider, { className: "my-2" }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: 'flex items-center justify-between gap-2 p-2 solid-locale-info-row', children: [_jsx("p", { className: "text-sm font-bold m-0 solid-locale-info-label", children: "Created At" }), _jsx("p", { className: "text-sm m-0 solid-locale-info-value", children: formatToDDMMYYWithTime((_d = solidFormViewData === null || solidFormViewData === void 0 ? void 0 : solidFormViewData.data) === null || _d === void 0 ? void 0 : _d.createdAt) })] }), _jsxs("div", { className: 'flex items-center justify-between gap-2 p-2 solid-locale-info-row', children: [_jsx("p", { className: "text-sm font-bold m-0 solid-locale-info-label", children: "Updated At" }), _jsx("p", { className: "text-sm m-0 solid-locale-info-value", children: formatToDDMMYYWithTime((_e = solidFormViewData === null || solidFormViewData === void 0 ? void 0 : solidFormViewData.data) === null || _e === void 0 ? void 0 : _e.updatedAt) })] }), _jsxs("div", { className: 'flex items-center justify-between gap-2 p-2 solid-locale-info-row', children: [_jsx("p", { className: "text-sm font-bold m-0 solid-locale-info-label", children: "Published At" }), _jsx("p", { className: "text-sm m-0 solid-locale-info-value", children: formatToDDMMYYWithTime(published !== null && published !== void 0 ? published : '') })] })] }), ((_h = (_g = (_f = solidFormViewMetaData === null || solidFormViewMetaData === void 0 ? void 0 : solidFormViewMetaData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.model) === null || _h === void 0 ? void 0 : _h.internationalisation) &&
54
- _jsxs(_Fragment, { children: [_jsx("h3", { className: "solid-locale-section-title mt-6 mb-2", children: "Internationalisation" }), _jsx("label", { className: "form-field-label", children: "Locales" }), _jsx(SolidSelect, { value: selectedLocale, onChange: function (e) { return handleLocaleChange(e.value); }, options: localeOptions, placeholder: "Select locale", className: "w-full", disabled: createMode }), createMode && (_jsxs("p", { className: "text-sm mt-0 ml-0 solid-locale-helper-copy", children: [" By default record will be created in ", _jsx("b", { children: defautlLocale })] }))] })] })] }));
54
+ _jsxs(_Fragment, { children: [_jsx("h3", { className: "solid-locale-section-title mt-6 mb-2", children: "Internationalisation" }), _jsx("label", { className: "form-field-label", children: "Locales" }), _jsx(SolidSelect, { value: selectedLocale, onChange: function (e) { return handleLocaleChange(e.value); }, options: localeOptions, placeholder: "Select locale", className: "w-full", native: false, disabled: createMode }), createMode && (_jsxs("p", { className: "text-sm mt-0 ml-0 solid-locale-helper-copy", children: [" By default record will be created in ", _jsx("b", { children: defautlLocale })] }))] })] })] }));
55
55
  };
56
56
  export default SolidLocale;
57
57
  //# sourceMappingURL=SolidLocale.js.map