@solidxai/core-ui 0.1.8-beta.2 → 0.1.8-beta.20

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 (507) hide show
  1. package/dist/adapters/auth/getSession.d.ts.map +1 -1
  2. package/dist/adapters/auth/getSession.js +1 -1
  3. package/dist/adapters/auth/getSession.js.map +1 -1
  4. package/dist/adapters/auth/getSession.ts +1 -0
  5. package/dist/adapters/auth/helper.d.ts.map +1 -1
  6. package/dist/adapters/auth/helper.js +1 -0
  7. package/dist/adapters/auth/helper.js.map +1 -1
  8. package/dist/adapters/auth/helper.ts +3 -1
  9. package/dist/adapters/auth/signIn.d.ts.map +1 -1
  10. package/dist/adapters/auth/signIn.js +1 -0
  11. package/dist/adapters/auth/signIn.js.map +1 -1
  12. package/dist/adapters/auth/signIn.ts +3 -1
  13. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts +1 -0
  14. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts.map +1 -1
  15. package/dist/adapters/auth/signInWithOAuthAccessCode.js +10 -9
  16. package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
  17. package/dist/adapters/auth/signInWithOAuthAccessCode.ts +6 -3
  18. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  19. package/dist/adapters/auth/signOut.js +7 -1
  20. package/dist/adapters/auth/signOut.js.map +1 -1
  21. package/dist/adapters/auth/signOut.ts +7 -1
  22. package/dist/adapters/auth/types.d.ts +1 -0
  23. package/dist/adapters/auth/types.d.ts.map +1 -1
  24. package/dist/adapters/auth/types.js.map +1 -1
  25. package/dist/adapters/auth/types.ts +1 -0
  26. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  27. package/dist/components/auth/AuthLayout.js +95 -38
  28. package/dist/components/auth/AuthLayout.js.map +1 -1
  29. package/dist/components/auth/AuthLayout.tsx +50 -39
  30. package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
  31. package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
  32. package/dist/components/auth/AuthSettingsContext.js +49 -0
  33. package/dist/components/auth/AuthSettingsContext.js.map +1 -0
  34. package/dist/components/auth/AuthSettingsContext.tsx +19 -0
  35. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  36. package/dist/components/auth/AuthTabs.js +9 -9
  37. package/dist/components/auth/AuthTabs.js.map +1 -1
  38. package/dist/components/auth/AuthTabs.tsx +14 -15
  39. package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
  40. package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
  41. package/dist/components/auth/FacebookAuthChecking.js +103 -0
  42. package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
  43. package/dist/components/auth/FacebookAuthChecking.tsx +64 -0
  44. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  45. package/dist/components/auth/ForgotPasswordThankYou.js +2 -6
  46. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  47. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -7
  48. package/dist/components/auth/GoogleAuthChecking.js +0 -1
  49. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  50. package/dist/components/auth/GoogleAuthChecking.tsx +1 -1
  51. package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
  52. package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
  53. package/dist/components/auth/MicrosoftAuthChecking.js +103 -0
  54. package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
  55. package/dist/components/auth/MicrosoftAuthChecking.tsx +64 -0
  56. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  57. package/dist/components/auth/SolidForgotPassword.js +3 -7
  58. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  59. package/dist/components/auth/SolidForgotPassword.tsx +3 -7
  60. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  61. package/dist/components/auth/SolidInitialLoginOtp.js +4 -8
  62. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  63. package/dist/components/auth/SolidInitialLoginOtp.tsx +3 -6
  64. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  65. package/dist/components/auth/SolidInitiateRegisterOtp.js +27 -14
  66. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  67. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +27 -15
  68. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  69. package/dist/components/auth/SolidLogin.js +11 -11
  70. package/dist/components/auth/SolidLogin.js.map +1 -1
  71. package/dist/components/auth/SolidLogin.tsx +20 -9
  72. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  73. package/dist/components/auth/SolidRegister.js +53 -25
  74. package/dist/components/auth/SolidRegister.js.map +1 -1
  75. package/dist/components/auth/SolidRegister.tsx +107 -40
  76. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  77. package/dist/components/auth/SolidResetPassword.js +2 -6
  78. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  79. package/dist/components/auth/SolidResetPassword.tsx +2 -6
  80. package/dist/components/common/AuthBanner.js.map +1 -1
  81. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  82. package/dist/components/common/GeneralSettings.js +235 -156
  83. package/dist/components/common/GeneralSettings.js.map +1 -1
  84. package/dist/components/common/GeneralSettings.tsx +1109 -795
  85. package/dist/components/common/SettingsComponent.d.ts +2 -0
  86. package/dist/components/common/SettingsComponent.d.ts.map +1 -0
  87. package/dist/components/common/SettingsComponent.js +351 -0
  88. package/dist/components/common/SettingsComponent.js.map +1 -0
  89. package/dist/components/common/SettingsComponent.module.css +421 -0
  90. package/dist/components/common/SettingsComponent.tsx +582 -0
  91. package/dist/components/common/SocialMediaLogin.d.ts +8 -1
  92. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  93. package/dist/components/common/SocialMediaLogin.js +6 -13
  94. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  95. package/dist/components/common/SocialMediaLogin.tsx +120 -58
  96. package/dist/components/common/SolidAdmin.js +1 -1
  97. package/dist/components/common/SolidAdmin.js.map +1 -1
  98. package/dist/components/common/SolidAdmin.tsx +1 -1
  99. package/dist/components/common/SolidExport.d.ts.map +1 -1
  100. package/dist/components/common/SolidExport.js +1 -1
  101. package/dist/components/common/SolidExport.js.map +1 -1
  102. package/dist/components/common/SolidExport.tsx +2 -1
  103. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  104. package/dist/components/common/SolidFormStepper.js +2 -1
  105. package/dist/components/common/SolidFormStepper.js.map +1 -1
  106. package/dist/components/common/SolidFormStepper.tsx +2 -1
  107. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  108. package/dist/components/common/SolidThemeProvider.js +5 -21
  109. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  110. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  111. package/dist/components/common/solid-export.css +26 -0
  112. package/dist/components/common/solidModuleHome.module.css +1 -2
  113. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  114. package/dist/components/core/card/SolidCardView.js +24 -25
  115. package/dist/components/core/card/SolidCardView.js.map +1 -1
  116. package/dist/components/core/card/SolidCardView.tsx +23 -28
  117. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  118. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  119. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  120. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  121. package/dist/components/core/chatter/SolidChatter.js +39 -9
  122. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  123. package/dist/components/core/chatter/SolidChatter.tsx +42 -7
  124. package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
  125. package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
  126. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  127. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
  128. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
  129. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  130. package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
  131. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  132. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
  133. package/dist/components/core/chatter/chatter.module.css +3 -6
  134. package/dist/components/core/common/PDFViewer.js +1 -1
  135. package/dist/components/core/common/PDFViewer.js.map +1 -1
  136. package/dist/components/core/common/PDFViewer.tsx +2 -2
  137. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  138. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
  139. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  140. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +1 -1
  141. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
  142. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  143. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
  144. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  145. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
  146. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +3 -4
  147. package/dist/components/core/common/dndCompat.d.ts +8 -0
  148. package/dist/components/core/common/dndCompat.d.ts.map +1 -0
  149. package/dist/components/core/common/dndCompat.js +5 -0
  150. package/dist/components/core/common/dndCompat.js.map +1 -0
  151. package/dist/components/core/common/dndCompat.ts +9 -0
  152. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -2
  153. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  154. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +2 -2
  155. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -2
  156. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  157. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +2 -2
  158. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +1 -1
  159. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -1
  160. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +1 -1
  161. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +1 -1
  162. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -1
  163. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +1 -1
  164. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +1 -1
  165. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -1
  166. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +1 -1
  167. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +1 -1
  168. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -1
  169. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +1 -1
  170. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts +7 -0
  171. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts.map +1 -0
  172. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js +75 -0
  173. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js.map +1 -0
  174. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.ts +45 -0
  175. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
  176. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
  177. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
  178. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
  179. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
  180. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  181. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  182. package/dist/components/core/form/SolidFormActionHeader.js +5 -3
  183. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  184. package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
  185. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  186. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  187. package/dist/components/core/form/SolidFormLayouts.tsx +1 -1
  188. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  189. package/dist/components/core/form/SolidFormView.js +141 -50
  190. package/dist/components/core/form/SolidFormView.js.map +1 -1
  191. package/dist/components/core/form/SolidFormView.tsx +123 -25
  192. package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
  193. package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
  194. package/dist/components/core/form/fields/SolidComputedField.js +128 -0
  195. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
  196. package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
  197. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  198. package/dist/components/core/form/fields/SolidDateTimeField.js +8 -2
  199. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  200. package/dist/components/core/form/fields/SolidDateTimeField.tsx +8 -2
  201. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  202. package/dist/components/core/form/fields/SolidEmailField.js +5 -4
  203. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  204. package/dist/components/core/form/fields/SolidEmailField.tsx +17 -15
  205. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  206. package/dist/components/core/form/fields/SolidIntegerField.js +5 -4
  207. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  208. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -1
  209. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  210. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +35 -24
  211. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  212. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +30 -14
  213. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  214. package/dist/components/core/form/fields/SolidSelectionStaticField.js +29 -28
  215. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  216. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +17 -12
  217. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  218. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  219. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  220. package/dist/components/core/form/fields/SolidShortTextField.tsx +7 -1
  221. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  222. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  223. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  224. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  225. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
  226. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  227. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
  228. package/dist/components/core/form/fields/solidFields.module.css +0 -3
  229. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  230. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  231. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  232. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  233. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  234. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  235. package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
  236. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  237. package/dist/components/core/kanban/KanbanCard.js +2 -2
  238. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  239. package/dist/components/core/kanban/KanbanCard.tsx +4 -3
  240. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  241. package/dist/components/core/kanban/KanbanColumn.js +3 -3
  242. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  243. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  244. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  245. package/dist/components/core/kanban/SolidKanbanView.js +220 -109
  246. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  247. package/dist/components/core/kanban/SolidKanbanView.tsx +219 -96
  248. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  249. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  250. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  251. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  252. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  253. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
  254. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  255. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  256. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  257. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
  258. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  259. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  260. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  261. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
  262. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  263. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
  264. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  265. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
  266. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  267. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  268. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  269. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +4 -3
  270. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  271. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +13 -12
  272. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  273. package/dist/components/core/list/SolidDataTable.js +6 -5
  274. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  275. package/dist/components/core/list/SolidDataTable.tsx +6 -5
  276. package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
  277. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
  278. package/dist/components/core/list/SolidDataTablePagination.js +22 -0
  279. package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
  280. package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
  281. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  282. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -3
  283. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  284. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +7 -4
  285. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  286. package/dist/components/core/list/SolidListView.js +64 -74
  287. package/dist/components/core/list/SolidListView.js.map +1 -1
  288. package/dist/components/core/list/SolidListView.tsx +72 -97
  289. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  290. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  291. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  292. package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
  293. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  294. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
  295. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  296. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  297. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
  298. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  299. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
  300. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +1 -1
  301. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  302. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +1 -1
  303. package/dist/components/core/solid-ai/SolidAiChat.module.css +3 -3
  304. package/dist/components/core/tree/SolidTreeView.js +1 -1
  305. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  306. package/dist/components/core/tree/SolidTreeView.tsx +1 -1
  307. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  308. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  309. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  310. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  311. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  312. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  313. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  314. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  315. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  316. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  317. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  318. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  319. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  320. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  321. package/dist/components/core/users/CreateUser.css +114 -0
  322. package/dist/components/core/users/CreateUser.d.ts +1 -0
  323. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  324. package/dist/components/core/users/CreateUser.js +4 -3
  325. package/dist/components/core/users/CreateUser.js.map +1 -1
  326. package/dist/components/core/users/CreateUser.tsx +32 -26
  327. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  328. package/dist/components/layout/AdminTopHeader.js +25 -1
  329. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  330. package/dist/components/layout/AdminTopHeader.tsx +38 -1
  331. package/dist/components/layout/context/layoutcontext.js +2 -2
  332. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  333. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  334. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  335. package/dist/components/layout/user-profile-menu.js +15 -14
  336. package/dist/components/layout/user-profile-menu.js.map +1 -1
  337. package/dist/components/layout/user-profile-menu.tsx +8 -6
  338. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  339. package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
  340. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  341. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
  342. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  343. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  344. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  345. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  346. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  347. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  348. package/dist/components/shad-cn-ui/SolidDatePicker.js +12 -2
  349. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  350. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +13 -2
  351. package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
  352. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  353. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  354. package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
  355. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
  356. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  357. package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
  358. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  359. package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
  360. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
  361. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
  362. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
  363. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
  364. package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
  365. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  366. package/dist/components/shad-cn-ui/SolidTabs.js +6 -3
  367. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  368. package/dist/components/shad-cn-ui/SolidTabs.tsx +63 -26
  369. package/dist/components/solid-ui/SolidButton.d.ts +14 -0
  370. package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
  371. package/dist/components/solid-ui/SolidButton.js +36 -0
  372. package/dist/components/solid-ui/SolidButton.js.map +1 -0
  373. package/dist/components/solid-ui/SolidButton.tsx +54 -0
  374. package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
  375. package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
  376. package/dist/components/solid-ui/SolidTabs.js +22 -0
  377. package/dist/components/solid-ui/SolidTabs.js.map +1 -0
  378. package/dist/components/solid-ui/SolidTabs.tsx +73 -0
  379. package/dist/components/solid-ui/index.d.ts +3 -0
  380. package/dist/components/solid-ui/index.d.ts.map +1 -0
  381. package/dist/components/solid-ui/index.js +3 -0
  382. package/dist/components/solid-ui/index.js.map +1 -0
  383. package/dist/components/solid-ui/index.ts +2 -0
  384. package/dist/helpers/hydrateRelationRules.js +1 -1
  385. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  386. package/dist/helpers/hydrateRelationRules.ts +1 -1
  387. package/dist/helpers/permissions.js +2 -2
  388. package/dist/helpers/permissions.js.map +1 -1
  389. package/dist/helpers/permissions.ts +2 -2
  390. package/dist/helpers/registry.d.ts +2 -2
  391. package/dist/helpers/registry.d.ts.map +1 -1
  392. package/dist/helpers/registry.js +6 -0
  393. package/dist/helpers/registry.js.map +1 -1
  394. package/dist/helpers/registry.ts +9 -2
  395. package/dist/helpers/settingsPayload.d.ts +32 -0
  396. package/dist/helpers/settingsPayload.d.ts.map +1 -0
  397. package/dist/helpers/settingsPayload.js +72 -0
  398. package/dist/helpers/settingsPayload.js.map +1 -0
  399. package/dist/helpers/settingsPayload.ts +125 -0
  400. package/dist/index.d.ts +4 -0
  401. package/dist/index.d.ts.map +1 -1
  402. package/dist/index.js +4 -0
  403. package/dist/index.js.map +1 -1
  404. package/dist/index.ts +4 -0
  405. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  406. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  407. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  408. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  409. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  410. package/dist/redux/api/solidEntityApi.js +1 -1
  411. package/dist/redux/api/solidEntityApi.js.map +1 -1
  412. package/dist/redux/api/solidEntityApi.tsx +1 -1
  413. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  414. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  415. package/dist/resources/globals.css +114 -90
  416. package/dist/resources/images/Background.svg +3 -5
  417. package/dist/resources/images/Navigation/SolidSettinsIcon.svg +3 -5
  418. package/dist/resources/images/errors/error.svg +12 -14
  419. package/dist/resources/shadcn-base.css +356 -429
  420. package/dist/resources/solid-responsive.css +22 -4
  421. package/dist/resources/themes/solid-dark-purple/theme.css +23 -33
  422. package/dist/resources/themes/solid-light-purple/theme.css +31 -31
  423. package/dist/routes/AppEventListener.js +1 -1
  424. package/dist/routes/AppEventListener.js.map +1 -1
  425. package/dist/routes/AppEventListener.tsx +1 -1
  426. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -1
  427. package/dist/routes/SolidLayoutRegistry.js +3 -1
  428. package/dist/routes/SolidLayoutRegistry.js.map +1 -1
  429. package/dist/routes/SolidLayoutRegistry.tsx +3 -1
  430. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  431. package/dist/routes/guards/AuthGuard.js +4 -1
  432. package/dist/routes/guards/AuthGuard.js.map +1 -1
  433. package/dist/routes/guards/AuthGuard.tsx +6 -1
  434. package/dist/routes/pages/admin/core/CardPage.js +1 -1
  435. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  436. package/dist/routes/pages/admin/core/CardPage.tsx +1 -1
  437. package/dist/routes/pages/admin/core/FormPage.js +1 -1
  438. package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
  439. package/dist/routes/pages/admin/core/FormPage.tsx +1 -1
  440. package/dist/routes/pages/admin/core/KanbanPage.js +1 -1
  441. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  442. package/dist/routes/pages/admin/core/KanbanPage.tsx +1 -1
  443. package/dist/routes/pages/admin/core/ListPage.js +1 -1
  444. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  445. package/dist/routes/pages/admin/core/ListPage.tsx +1 -1
  446. package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
  447. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  448. package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
  449. package/dist/routes/pages/admin/core/TreePage.js +1 -1
  450. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  451. package/dist/routes/pages/admin/core/TreePage.tsx +1 -1
  452. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
  453. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
  454. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
  455. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
  456. package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
  457. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
  458. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
  459. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
  460. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
  461. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
  462. package/dist/routes/solidRoutes.d.ts.map +1 -1
  463. package/dist/routes/solidRoutes.js +5 -1
  464. package/dist/routes/solidRoutes.js.map +1 -1
  465. package/dist/routes/solidRoutes.tsx +5 -1
  466. package/dist/routes/types.d.ts +1 -1
  467. package/dist/routes/types.d.ts.map +1 -1
  468. package/dist/routes/types.js.map +1 -1
  469. package/dist/routes/types.ts +2 -0
  470. package/dist/types/extension-registry.d.ts +1 -0
  471. package/dist/types/extension-registry.d.ts.map +1 -1
  472. package/dist/types/extension-registry.js +1 -0
  473. package/dist/types/extension-registry.js.map +1 -1
  474. package/dist/types/extension-registry.ts +1 -0
  475. package/dist/types/index.d.ts +2 -0
  476. package/dist/types/solid-core.d.ts +11 -0
  477. package/package.json +1 -2
  478. package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
  479. package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
  480. package/dist/components/auth/SolidOTPVerify.js +0 -67
  481. package/dist/components/auth/SolidOTPVerify.js.map +0 -1
  482. package/dist/components/auth/SolidOTPVerify.tsx +0 -133
  483. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
  484. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
  485. package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
  486. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
  487. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
  488. package/dist/nextAuth/authProviders.d.ts +0 -4
  489. package/dist/nextAuth/authProviders.d.ts.map +0 -1
  490. package/dist/nextAuth/authProviders.js +0 -198
  491. package/dist/nextAuth/authProviders.js.map +0 -1
  492. package/dist/nextAuth/authProviders.tsx +0 -232
  493. package/dist/nextAuth/handleLogout.d.ts +0 -2
  494. package/dist/nextAuth/handleLogout.d.ts.map +0 -1
  495. package/dist/nextAuth/handleLogout.js +0 -36
  496. package/dist/nextAuth/handleLogout.js.map +0 -1
  497. package/dist/nextAuth/handleLogout.tsx +0 -39
  498. package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
  499. package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
  500. package/dist/nextAuth/refreshAccessToken.js +0 -24
  501. package/dist/nextAuth/refreshAccessToken.js.map +0 -1
  502. package/dist/nextAuth/refreshAccessToken.tsx +0 -28
  503. package/dist/redux/features/settingsSlice.d.ts +0 -20
  504. package/dist/redux/features/settingsSlice.d.ts.map +0 -1
  505. package/dist/redux/features/settingsSlice.js +0 -39
  506. package/dist/redux/features/settingsSlice.js.map +0 -1
  507. package/dist/redux/features/settingsSlice.ts +0 -60
@@ -25,19 +25,21 @@ import { getMediaTypeFromUrl } from "../../../helpers/mediaType";
25
25
  import { showToast } from "../../../redux/features/toastSlice";
26
26
  import { usePathname } from "../../../hooks/usePathname";
27
27
  import { useSearchParams } from "../../../hooks/useSearchParams";
28
+ import { solidGet } from "../../../http/solidHttp";
28
29
  import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
29
30
  import {
30
31
  SolidButton,
32
+ SolidConfirmDialog,
31
33
  SolidDialog,
32
34
  SolidDialogBody,
33
35
  SolidDialogClose,
34
- SolidDialogFooter,
35
36
  SolidDialogHeader,
36
37
  SolidDialogSeparator,
37
38
  SolidDialogTitle,
38
39
  SolidIcon,
39
40
  } from "../../shad-cn-ui";
40
41
  import { FilterMatchMode } from "../filter/filterMatchMode";
42
+ import { kebabCase } from "lodash";
41
43
 
42
44
  type SolidKanbanViewParams = {
43
45
  moduleName: string;
@@ -45,6 +47,70 @@ type SolidKanbanViewParams = {
45
47
  embeded: boolean;
46
48
  };
47
49
 
50
+ type KanbanSwimlaneDefinition = {
51
+ value: string;
52
+ label: string;
53
+ };
54
+
55
+ const getKanbanSortParam = (sortValue?: string) => {
56
+ if (!sortValue) {
57
+ return "id:asc";
58
+ }
59
+
60
+ return sortValue.includes(":") ? sortValue : `${sortValue}:asc`;
61
+ };
62
+
63
+ const createEmptyKanbanGroup = (
64
+ definition: KanbanSwimlaneDefinition,
65
+ recordsInSwimlane: number
66
+ ) => ({
67
+ groupName: definition.value,
68
+ groupLabel: definition.label,
69
+ groupData: {
70
+ records: [],
71
+ meta: {
72
+ totalRecords: 0,
73
+ perPage: recordsInSwimlane,
74
+ currentPage: 1,
75
+ prevPage: null,
76
+ nextPage: null,
77
+ },
78
+ },
79
+ });
80
+
81
+ const mergeKanbanGroupsWithDefinitions = (
82
+ groupRecords: any[],
83
+ swimlaneDefinitions: KanbanSwimlaneDefinition[],
84
+ recordsInSwimlane: number
85
+ ) => {
86
+ if (!swimlaneDefinitions.length) {
87
+ return groupRecords;
88
+ }
89
+
90
+ const groupMap = new Map(
91
+ (groupRecords || []).map((group: any) => [
92
+ String(group?.groupName),
93
+ {
94
+ ...group,
95
+ groupName: String(group?.groupName ?? ""),
96
+ },
97
+ ])
98
+ );
99
+
100
+ return swimlaneDefinitions.map((definition) => {
101
+ const existingGroup = groupMap.get(definition.value);
102
+ if (existingGroup) {
103
+ return {
104
+ ...existingGroup,
105
+ groupName: definition.value,
106
+ groupLabel: definition.label,
107
+ };
108
+ }
109
+
110
+ return createEmptyKanbanGroup(definition, recordsInSwimlane);
111
+ });
112
+ };
113
+
48
114
 
49
115
  export const SolidKanbanView = (params: SolidKanbanViewParams) => {
50
116
 
@@ -74,6 +140,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
74
140
  const [lightboxUrls, setLightboxUrls] = useState<any[]>([]);
75
141
  const [filterQueryString, setFilterQueryString] = useState<any>();
76
142
  const [isLayoutDialogVisible, setLayoutDialogVisible] = useState(false);
143
+ const [swimlaneDefinitions, setSwimlaneDefinitions] = useState<KanbanSwimlaneDefinition[]>([]);
77
144
  const lightboxSlides: SolidLightboxSlide[] = Array.isArray(lightboxUrls)
78
145
  ? lightboxUrls
79
146
  .map((item: any) => {
@@ -161,10 +228,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
161
228
  );
162
229
  const [kanbanViewMetaData, setKanbanViewMetaData] = useState<any>({});
163
230
 
164
- const {
165
- data: solidKanbanViewMetaData } = useGetSolidViewLayoutQuery(kanbanViewMetaDataQs);
166
-
167
-
231
+ const { data: solidKanbanViewMetaData } = useGetSolidViewLayoutQuery(kanbanViewMetaDataQs);
168
232
 
169
233
  const initialFilterMethod = () => {
170
234
 
@@ -278,6 +342,8 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
278
342
  const [queryDataLoaded, setQueryDataLoaded] = useState(false);
279
343
  const [showSaveFilterPopup, setShowSaveFilterPopup] = useState<boolean>(false);
280
344
  const [maxSwimLanesCount, setMaxSwimLanesCount] = useState<number>(0);
345
+ const [rawKanbanGroupRecords, setRawKanbanGroupRecords] = useState<any[]>([]);
346
+ const [serverSwimLaneCount, setServerSwimLaneCount] = useState<number>(0);
281
347
  const pathname = usePathname();
282
348
  // @ts-ignore
283
349
  const editBaseUrl = normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form");
@@ -303,29 +369,33 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
303
369
  // After data is fetched populate the kanban view state so as to be able to render the data.
304
370
  useEffect(() => {
305
371
  if (solidEntityKanbanViewData) {
306
- // Merge groupRecords by groupName: update existing, add new
307
- setMaxSwimLanesCount(solidEntityKanbanViewData?.meta?.totalRecords || 0);
308
- const groupRecords = solidEntityKanbanViewData?.groupRecords || [];
309
- const groupMap = new Map((kanbanViewData || []).map((g: any) => [g.groupName, g]));
310
- groupRecords.forEach((newGroup: any) => {
311
- groupMap.set(newGroup.groupName, newGroup);
312
- });
313
- const latestKanbanGroupData = Array.from(groupMap.values());
314
- setKanbanViewData(latestKanbanGroupData);
315
- const loadmoredata = Object.entries(latestKanbanGroupData).reduce((acc: any, [, value]: any) => {
316
- acc[value.groupName] = {
317
- offset: (value.groupData.meta.currentPage - 1) * value.groupData.meta.perPage,
318
- limit: value.groupData.meta.perPage,
319
- count: value.groupData.meta.totalRecords
320
- };
321
- return acc;
322
- }, {});
323
-
324
- setKanbanLoadMoreData(loadmoredata)
372
+ setServerSwimLaneCount(solidEntityKanbanViewData?.meta?.totalRecords || 0);
373
+ setRawKanbanGroupRecords(solidEntityKanbanViewData?.groupRecords || []);
325
374
  setLoading(false);
326
375
  }
327
376
  }, [solidEntityKanbanViewData]);
328
377
 
378
+ useEffect(() => {
379
+ const mergedKanbanGroupData = mergeKanbanGroupsWithDefinitions(
380
+ rawKanbanGroupRecords,
381
+ swimlaneDefinitions,
382
+ recordsInSwimlane
383
+ );
384
+ setKanbanViewData(mergedKanbanGroupData);
385
+ setMaxSwimLanesCount(swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : serverSwimLaneCount);
386
+
387
+ const loadmoredata = Object.entries(mergedKanbanGroupData).reduce((acc: any, [, value]: any) => {
388
+ acc[value.groupName] = {
389
+ offset: ((value.groupData?.meta?.currentPage || 1) - 1) * (value.groupData?.meta?.perPage || recordsInSwimlane),
390
+ limit: value.groupData?.meta?.perPage || recordsInSwimlane,
391
+ count: value.groupData?.meta?.totalRecords || 0
392
+ };
393
+ return acc;
394
+ }, {});
395
+
396
+ setKanbanLoadMoreData(loadmoredata);
397
+ }, [rawKanbanGroupRecords, recordsInSwimlane, serverSwimLaneCount, swimlaneDefinitions]);
398
+
329
399
  useEffect(() => {
330
400
  if (solidKanbanViewMetaData) {
331
401
  const kanbanViewLayoutAttrs = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs;
@@ -356,12 +426,74 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
356
426
  }
357
427
  }, [solidKanbanViewMetaData])
358
428
 
429
+ useEffect(() => {
430
+ const loadSwimlaneDefinitions = async () => {
431
+ const fieldMeta = solidKanbanViewMetaData?.data?.solidFieldsMetadata?.[groupByFieldName];
432
+ const layoutAttrs = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs || {};
433
+
434
+ if (!groupByFieldName || !fieldMeta) {
435
+ setSwimlaneDefinitions([]);
436
+ return;
437
+ }
438
+
439
+ if (fieldMeta.type === "selectionStatic" && Array.isArray(fieldMeta.selectionStaticValues)) {
440
+ const staticDefinitions = fieldMeta.selectionStaticValues
441
+ .map((item: string) => {
442
+ const [rawValue, rawLabel] = String(item).split(":");
443
+ const value = (rawValue ?? "").trim();
444
+ const label = (rawLabel ?? rawValue ?? "").trim();
445
+ return { value, label };
446
+ })
447
+ .filter((item: KanbanSwimlaneDefinition) => item.value !== "");
448
+
449
+ setSwimlaneDefinitions(staticDefinitions);
450
+ return;
451
+ }
452
+
453
+ if (
454
+ fieldMeta.type === "relation" &&
455
+ fieldMeta.relationType === "many-to-one" &&
456
+ fieldMeta.relationCoModelSingularName
457
+ ) {
458
+ try {
459
+ const orderBy = getKanbanSortParam(layoutAttrs.swimlanesOrderBy);
460
+ const relationUserKeyField = fieldMeta?.relationModel?.userKeyField?.name || "id";
461
+ const response = await solidGet(`/${kebabCase(fieldMeta.relationCoModelSingularName)}`, {
462
+ params: {
463
+ offset: 0,
464
+ limit: 100,
465
+ sort: [orderBy],
466
+ },
467
+ });
468
+
469
+ const records = response?.data?.data?.records || [];
470
+ const relationDefinitions = records
471
+ .map((record: any) => ({
472
+ value: String(record?.id ?? ""),
473
+ label: String(record?.[relationUserKeyField] ?? record?.id ?? ""),
474
+ }))
475
+ .filter((item: KanbanSwimlaneDefinition) => item.value !== "");
476
+
477
+ setSwimlaneDefinitions(relationDefinitions);
478
+ return;
479
+ } catch (error) {
480
+ console.error(ERROR_MESSAGES.API_ERROR, error);
481
+ }
482
+ }
483
+
484
+ setSwimlaneDefinitions([]);
485
+ };
486
+
487
+ loadSwimlaneDefinitions();
488
+ }, [groupByFieldName, solidKanbanViewMetaData])
489
+
359
490
  // Fetch data after toPopulate has been populated...
360
491
  useEffect(() => {
361
492
 
362
493
  if (solidKanbanViewMetaData) {
363
494
 
364
495
  const swimlanesCount = solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.swimlanesCount || 5;
496
+ const resolvedSwimlanesCount = swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : swimlanesCount;
365
497
  if (groupByFieldName) {
366
498
 
367
499
  const queryObject = getFilterObjectFromLocalStorage();
@@ -387,7 +519,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
387
519
 
388
520
  const queryData = {
389
521
  offset: 0,
390
- limit: Number(queryObject.limit) + Number(queryObject.offset),
522
+ limit: swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : Number(queryObject.limit) + Number(queryObject.offset),
391
523
  // fields: queryObject.fields || [`${groupByFieldName}`, `count(${groupByFieldName})`],
392
524
  groupBy: queryObject.groupBy || groupByFieldName,
393
525
  // @ts-ignore
@@ -421,7 +553,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
421
553
  const { recordsInSwimlane, toPopulate, toPopulateMedia } = initialFilterMethod();
422
554
  const queryData = {
423
555
  offset: 0,
424
- limit: swimlanesCount,
556
+ limit: resolvedSwimlanesCount,
425
557
  // fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
426
558
  groupBy: groupByFieldName,
427
559
  populateMedia: toPopulateMedia,
@@ -451,7 +583,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
451
583
  setSelectedRecords([]);
452
584
  }
453
585
  }
454
- }, [isDeleteSolidEntitiesSucess, groupByFieldName, solidKanbanViewMetaData]);
586
+ }, [groupByFieldName, isDeleteSolidEntitiesSucess, solidKanbanViewMetaData, swimlaneDefinitions]);
455
587
 
456
588
  // clickable link allowing one to open the detail / form view.
457
589
 
@@ -530,15 +662,15 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
530
662
 
531
663
  const updatedData = mergeData(kanbanViewData, newRecords, groupByField);
532
664
  setKanbanViewData(updatedData);
533
- const loadmoredata = Object.entries(updatedData).reduce((acc: any, [, value]: any) => {
534
- acc[value.groupName] = {
535
- offset: (value.groupData.meta.currentPage - 1) * value.groupData.meta.perPage,
536
- limit: value.groupData.meta.perPage,
537
- count: value.groupData.meta.totalRecords
538
- };
539
- return acc;
540
- }, {});
541
- setKanbanLoadMoreData(loadmoredata)
665
+ setRawKanbanGroupRecords((previousGroups: any[]) => {
666
+ const existingGroups = Array.isArray(previousGroups) ? previousGroups : [];
667
+ return updatedData
668
+ .filter((group: any) => (group.groupData?.meta?.totalRecords || 0) > 0)
669
+ .map((group: any) => {
670
+ const existingGroup = existingGroups.find((item: any) => String(item.groupName) === String(group.groupName));
671
+ return existingGroup ? { ...existingGroup, ...group } : group;
672
+ });
673
+ })
542
674
 
543
675
  } catch (error) {
544
676
  console.error(ERROR_MESSAGES.LOAD_MORE_DATA, error);
@@ -596,7 +728,9 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
596
728
  const [movedItem] = sourceRecords.splice(source.index, 1);
597
729
 
598
730
  // Create a mutable copy of the moved item
599
- const updatedItem = { ...movedItem, status: destinationGroupName };
731
+ const updatedItem = groupByFieldName
732
+ ? { ...movedItem, [groupByFieldName]: destinationGroupName }
733
+ : movedItem;
600
734
 
601
735
  // Add the updated item to the destination
602
736
  destinationRecords.splice(destination.index, 0, updatedItem);
@@ -646,9 +780,10 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
646
780
  if (solidKanbanViewMetaData) {
647
781
 
648
782
  const swimlanesCount = solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.swimlanesCount || 5;
783
+ const resolvedSwimlanesCount = swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : swimlanesCount;
649
784
  const queryData = {
650
785
  offset: swimLaneCurrentPageNumber * swimlanesCount,
651
- limit: swimlanesCount,
786
+ limit: resolvedSwimlanesCount,
652
787
  // fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
653
788
  groupBy: groupByFieldName,
654
789
  populateMedia: toPopulateMedia,
@@ -671,8 +806,13 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
671
806
 
672
807
  const data: any = await triggerGetSolidEntities(queryString);
673
808
  if (data && data?.data?.groupRecords.length > 0) {
674
- const updatedData = [...kanbanViewData, ...data.data.groupRecords];
675
- setKanbanViewData(updatedData);
809
+ setRawKanbanGroupRecords((previousGroups: any[]) => {
810
+ const groupMap = new Map((previousGroups || []).map((group: any) => [String(group.groupName), group]));
811
+ data.data.groupRecords.forEach((group: any) => {
812
+ groupMap.set(String(group.groupName), group);
813
+ });
814
+ return Array.from(groupMap.values());
815
+ });
676
816
  }
677
817
  setSwimLaneCurrentPageNumber(swimLaneCurrentPageNumber + 1)
678
818
  }
@@ -713,11 +853,12 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
713
853
 
714
854
 
715
855
  const swimlanesCount = solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.swimlanesCount || 5;
856
+ const resolvedSwimlanesCount = swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : swimlanesCount;
716
857
  // const { toPopulate, toPopulateMedia } = initialFilterMethod();
717
858
 
718
859
  const queryData = {
719
860
  offset: 0,
720
- limit: swimlanesCount,
861
+ limit: resolvedSwimlanesCount,
721
862
  // fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
722
863
  groupBy: groupByFieldName,
723
864
  populateMedia: toPopulateMedia,
@@ -756,8 +897,9 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
756
897
  // Update the kanban view data with the new data based on filter
757
898
  setSwimLaneCurrentPageNumber(1);
758
899
  if (data && data?.data?.groupRecords.length > 0) {
759
- const updatedData = [...data.data.groupRecords];
760
- setKanbanViewData(updatedData);
900
+ setRawKanbanGroupRecords([...data.data.groupRecords]);
901
+ } else {
902
+ setRawKanbanGroupRecords([]);
761
903
  }
762
904
  setSelectedRecords([]);
763
905
 
@@ -780,15 +922,8 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
780
922
  }, [solidKanbanViewMetaData])
781
923
 
782
924
  const kanbanViewTitle = solidKanbanViewMetaData?.data?.solidView?.displayName
783
- const headerRequestStatusLabel =
784
- isDeleteSolidEntitiesLoading
785
- ? "Deleting..."
786
- : isPatchKanbanViewLoading
787
- ? "Updating..."
788
- : loading || !queryDataLoaded
789
- ? "Loading..."
790
- : null;
791
-
925
+ const entityDisplayName = solidKanbanViewMetaData?.data?.solidView?.model?.displayName || params.modelName;
926
+ const headerRequestStatusLabel = isDeleteSolidEntitiesLoading ? "Deleting..." : isPatchKanbanViewLoading ? "Updating..." : loading || !queryDataLoaded ? "Loading..." : null;
792
927
 
793
928
  const toggleBothSidebars = () => {
794
929
  if (visibleNavbar) {
@@ -798,12 +933,14 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
798
933
  }
799
934
  };
800
935
 
936
+ console.log(`Logging kanban data: `, solidKanbanViewMetaData);
937
+
801
938
  return (
802
939
  <div className="page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden">
803
940
  <div className="solid-list-content h-full flex flex-column flex-grow-1">
804
941
  <div className="solid-list-surface solid-kanban-surface flex flex-column flex-1 min-h-0">
805
942
  <div className="page-header solid-list-toolbar solid-kanban-toolbar flex-column lg:flex-row">
806
- <div className="flex justify-content-between w-full solid-list-toolbar-row">
943
+ <div className="flex justify-content-between w-full">
807
944
  <div className="flex gap-3 align-items-center w-full solid-list-toolbar-left">
808
945
  {params.embeded !== true &&
809
946
  <div className="apps-icon block md:hidden cursor-pointer" onClick={toggleBothSidebars}>
@@ -812,28 +949,25 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
812
949
  }
813
950
 
814
951
  <p className="m-0 view-title solid-text-wrapper">{kanbanViewTitle}</p>
815
- {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true &&
816
- <div className="hidden lg:flex">
817
- <SolidGlobalSearchElement viewType="kanban" showSaveFilterPopup={showSaveFilterPopup} setShowSaveFilterPopup={setShowSaveFilterPopup} ref={solidGlobalSearchElementRef} viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
818
- </div>
819
- }
952
+ <div className="hidden lg:flex">
953
+ {/* Keep global search mounted for now because kanban bootstrap/filter hydration still flows through this element. */}
954
+ <SolidGlobalSearchElement viewType="kanban" showSaveFilterPopup={showSaveFilterPopup} setShowSaveFilterPopup={setShowSaveFilterPopup} ref={solidGlobalSearchElementRef} viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
955
+ </div>
820
956
  </div>
821
957
 
822
958
  <div className="flex align-items-center solid-header-buttons-wrapper solid-list-toolbar-actions">
823
959
  <SolidHeaderRequestStatus label={headerRequestStatusLabel} />
824
- {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true &&
825
- <div className="flex lg:hidden">
826
- <SolidButton
827
- type="button"
828
- variant="outline"
829
- size="sm"
830
- className="solid-icon-button"
831
- onClick={() => setShowGlobalSearchElement(!showGlobalSearchElement)}
832
- aria-label="Toggle search"
833
- leftIcon={<SolidIcon name="si-search" aria-hidden />}
834
- />
835
- </div>
836
- }
960
+ <div className="flex lg:hidden">
961
+ <SolidButton
962
+ type="button"
963
+ variant="outline"
964
+ size="sm"
965
+ className="solid-icon-button"
966
+ onClick={() => setShowGlobalSearchElement(!showGlobalSearchElement)}
967
+ aria-label="Toggle search"
968
+ leftIcon={<SolidIcon name="si-search" aria-hidden />}
969
+ />
970
+ </div>
837
971
 
838
972
  {actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) && solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.create !== false &&
839
973
  <SolidCreateButton createButtonUrl={createButtonUrl} createActionQueryParams={createActionQueryParams} responsiveIconOnly={true} />
@@ -870,7 +1004,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
870
1004
  />
871
1005
  </div>
872
1006
  </div>
873
- {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true && showGlobalSearchElement && (
1007
+ {showGlobalSearchElement && (
874
1008
  <div className="flex lg:hidden">
875
1009
  <SolidGlobalSearchElement viewType="kanban" showSaveFilterPopup={showSaveFilterPopup} setShowSaveFilterPopup={setShowSaveFilterPopup} ref={solidGlobalSearchElementRef} viewData={solidKanbanViewMetaData} handleApplyCustomFilter={handleApplyCustomFilter} ></SolidGlobalSearchElement>
876
1010
  </div>
@@ -884,32 +1018,21 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
884
1018
  </div>
885
1019
  </div>
886
1020
 
887
- <SolidDialog
1021
+ <SolidConfirmDialog
888
1022
  open={isDialogVisible}
889
- onOpenChange={(open) => {
890
- if (!open) {
891
- onDeleteClose();
892
- }
893
- }}
1023
+ onCancel={onDeleteClose}
1024
+ onConfirm={deleteBulk}
894
1025
  className="solid-shadcn-confirm-dialog solid-delete-confirm-dialog"
895
- >
896
- <SolidDialogHeader className="solid-shadcn-dialog-head">
897
- <SolidDialogTitle>Confirm Delete</SolidDialogTitle>
898
- <SolidDialogClose />
899
- </SolidDialogHeader>
900
- <SolidDialogSeparator className="solid-shadcn-dialog-sep" />
901
- <SolidDialogBody className="solid-shadcn-dialog-body">
902
- <p className="solid-shadcn-dialog-text">Are you sure you want to delete the selected records?</p>
903
- </SolidDialogBody>
904
- <SolidDialogFooter className="solid-shadcn-dialog-actions">
905
- <SolidButton variant="destructive" size="sm" autoFocus onClick={deleteBulk}>
906
- Delete
907
- </SolidButton>
908
- <SolidButton variant="outline" size="sm" onClick={onDeleteClose}>
909
- Cancel
910
- </SolidButton>
911
- </SolidDialogFooter>
912
- </SolidDialog>
1026
+ headerClassName="solid-shadcn-dialog-head"
1027
+ bodyClassName="solid-shadcn-dialog-body"
1028
+ footerClassName="solid-shadcn-dialog-actions"
1029
+ separatorClassName="solid-shadcn-dialog-sep"
1030
+ showSeparator
1031
+ title={`Delete ${entityDisplayName}`}
1032
+ message={<p className="solid-shadcn-dialog-text">{`Are you sure you want to delete the selected ${entityDisplayName} records?`}</p>}
1033
+ confirmLabel="Delete"
1034
+ cancelLabel="Cancel"
1035
+ />
913
1036
  {openLightbox && (
914
1037
  <SolidLightbox
915
1038
  open={openLightbox}
@@ -110,7 +110,7 @@ export var SolidKanbanViewConfigure = function (_a) {
110
110
  }, children: [_jsx(SolidIcon, { name: "si-download", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Import" })] })), canExport && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
111
111
  setExportView(true);
112
112
  setIsCogMenuOpen(false);
113
- }, children: [_jsx(SolidIcon, { name: "si-upload", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Export" })] })), (canCustomizeLayout || canSaveCustomFilter) && _jsx(SolidDropdownMenuSeparator, {}), canCustomizeLayout && (_jsxs(SolidDropdownMenuSub, { children: [_jsxs(SolidDropdownMenuSubTrigger, { className: "solid-header-dropdown-item", children: [_jsx(SolidIcon, { name: "si-sliders-h", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Customize Layout" })] }), _jsxs(SolidDropdownMenuSubContent, { className: "customize-layout-panel", children: [showSwitchType && (_jsxs(_Fragment, { children: [_jsx(SolidDropdownMenuLabel, { children: "Switch Type" }), _jsx(SolidDropdownMenuRadioGroup, { value: view, onValueChange: handleViewChange, children: visibleViewModes.map(function (option) { return (_jsx(SolidDropdownMenuRadioItem, { value: option.type, children: option.label }, option.type)); }) }), _jsx(SolidDropdownMenuSeparator, {})] })), _jsxs(SolidDropdownMenuItem, { onSelect: function () {
113
+ }, children: [_jsx(SolidIcon, { name: "si-upload", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Export" })] })), (canCustomizeLayout || canSaveCustomFilter) && _jsx(SolidDropdownMenuSeparator, {}), canCustomizeLayout && (_jsxs(SolidDropdownMenuSub, { children: [_jsxs(SolidDropdownMenuSubTrigger, { className: "solid-header-dropdown-item", children: [_jsx(SolidIcon, { name: "si-sliders-h", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Layout" })] }), _jsxs(SolidDropdownMenuSubContent, { className: "customize-layout-panel", children: [showSwitchType && (_jsxs(_Fragment, { children: [_jsx(SolidDropdownMenuLabel, { children: "Switch Type" }), _jsx(SolidDropdownMenuRadioGroup, { value: view, onValueChange: handleViewChange, children: visibleViewModes.map(function (option) { return (_jsx(SolidDropdownMenuRadioItem, { value: option.type, children: option.label }, option.type)); }) }), _jsx(SolidDropdownMenuSeparator, {})] })), _jsxs(SolidDropdownMenuItem, { onSelect: function () {
114
114
  setLayoutDialogVisible(true);
115
115
  setIsCogMenuOpen(false);
116
116
  }, children: [_jsx(SolidIcon, { name: "si-code", className: "solid-header-action-button-icon", "aria-hidden": true }), _jsx("span", { className: "solid-header-action-button-label", children: "Layout Editor" })] })] })] })), canSaveCustomFilter && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidKanbanViewConfigure.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidKanbanViewConfigure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { SolidExport } from \"../../../components/common/SolidExport\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuLabel,\n SolidDropdownMenuRadioGroup,\n SolidDropdownMenuRadioItem,\n SolidDropdownMenuSeparator,\n SolidDropdownMenuSub,\n SolidDropdownMenuSubContent,\n SolidDropdownMenuSubTrigger,\n SolidDropdownMenuTrigger,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogDescription,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\nconst normalizeViewModes = (viewModes: any[] = []) => {\n return viewModes\n .map((option: any) => {\n if (!option) return null;\n\n if (typeof option === \"string\") {\n return {\n type: option,\n label: option.charAt(0).toUpperCase() + option.slice(1),\n };\n }\n\n const type = option.type || option.value;\n if (!type) return null;\n\n return {\n ...option,\n type,\n label: option.label || (type.charAt(0).toUpperCase() + type.slice(1)),\n };\n })\n .filter(Boolean);\n};\n\nexport const SolidKanbanViewConfigure = ({\n solidKanbanViewMetaData,\n modelName,\n actionsAllowed,\n setLayoutDialogVisible,\n viewModes,\n setShowSaveFilterPopup,\n filters,\n handleRefreshView,\n}: any) => {\n const pathname = usePathname();\n const router = useRouter();\n const searchParams = useSearchParams();\n const [view, setView] = useState<string>(\"\");\n const [isCogMenuOpen, setIsCogMenuOpen] = useState(false);\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const [exportView, setExportView] = useState(false);\n\n const visibleViewModes = normalizeViewModes(Array.isArray(viewModes) ? viewModes : []);\n const showSwitchType = visibleViewModes.length > 1;\n const layoutAttrs = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs ?? {};\n\n useEffect(() => {\n if (typeof pathname === \"string\") {\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0) {\n setView(pathSegments[pathSegments.length - 1]);\n }\n }\n }, [pathname]);\n\n const handleViewChange = (newViewType: string) => {\n if (view === newViewType) return;\n\n const nextView = visibleViewModes.find((option: any) => option.type === newViewType);\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n pathSegments[pathSegments.length - 1] = newViewType;\n const nextSearchParams = new URLSearchParams(searchParams.toString());\n const currentQuery = {\n menuItemId: searchParams.get(\"menuItemId\"),\n menuItemName: searchParams.get(\"menuItemName\"),\n actionId: searchParams.get(\"actionId\"),\n actionName: searchParams.get(\"actionName\"),\n };\n\n const queryFields = {\n menuItemId: nextView?.menuItemId ?? currentQuery.menuItemId,\n menuItemName: nextView?.menuItemName ?? currentQuery.menuItemName,\n actionId: nextView?.actionId ?? currentQuery.actionId,\n actionName: nextView?.actionName ?? currentQuery.actionName,\n };\n\n Object.entries(queryFields).forEach(([key, value]) => {\n if (value) {\n nextSearchParams.set(key, value);\n } else {\n nextSearchParams.delete(key);\n }\n });\n\n const newPath = \"/\" + pathSegments.join(\"/\");\n const nextQueryString = nextSearchParams.toString();\n router.push(nextQueryString ? `${newPath}?${nextQueryString}` : newPath);\n };\n\n const clearLocalstorageCache = () => {\n const currentPageUrl = window.location.pathname;\n localStorage.removeItem(currentPageUrl);\n window.location.reload();\n };\n\n const canImport =\n Boolean(modelName) &&\n actionsAllowed.includes(`${permissionExpression(modelName, \"create\")}`) &&\n actionsAllowed.includes(`${permissionExpression(\"importTransaction\", \"create\")}`);\n\n const canExport =\n Boolean(modelName) &&\n actionsAllowed.includes(`${permissionExpression(modelName, \"findMany\")}`) &&\n actionsAllowed.includes(`${permissionExpression(\"exportTransaction\", \"create\")}`);\n\n const canCustomizeLayout = actionsAllowed.includes(`${permissionExpression(\"userViewMetadata\", \"create\")}`);\n const canSaveCustomFilter = actionsAllowed.includes(`${permissionExpression(\"savedFilters\", \"create\")}`);\n\n return (\n <div className=\"position-relative\">\n <SolidDropdownMenu open={isCogMenuOpen} onOpenChange={setIsCogMenuOpen}>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-icon-button solid-header-cog-trigger\"\n aria-label=\"Open kanban options\"\n >\n <SolidIcon name=\"si-cog\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"listview-cogwheel-panel\">\n {canImport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setOpenImportDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-download\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Import</span>\n </SolidDropdownMenuItem>\n )}\n\n {canExport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setExportView(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-upload\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Export</span>\n </SolidDropdownMenuItem>\n )}\n\n {(canCustomizeLayout || canSaveCustomFilter) && <SolidDropdownMenuSeparator />}\n\n {canCustomizeLayout && (\n <SolidDropdownMenuSub>\n <SolidDropdownMenuSubTrigger className=\"solid-header-dropdown-item\">\n <SolidIcon name=\"si-sliders-h\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Customize Layout</span>\n </SolidDropdownMenuSubTrigger>\n <SolidDropdownMenuSubContent className=\"customize-layout-panel\">\n {showSwitchType && (\n <>\n <SolidDropdownMenuLabel>Switch Type</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={view} onValueChange={handleViewChange}>\n {visibleViewModes.map((option: any) => (\n <SolidDropdownMenuRadioItem key={option.type} value={option.type}>\n {option.label}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n </>\n )}\n <SolidDropdownMenuItem\n onSelect={() => {\n setLayoutDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-code\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout Editor</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuSubContent>\n </SolidDropdownMenuSub>\n )}\n\n {canSaveCustomFilter && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setShowSaveFilterPopup(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-save\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Save Custom Filter</span>\n </SolidDropdownMenuItem>\n )}\n\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n clearLocalstorageCache();\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-trash\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Clear cache</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n\n <SolidDialog\n open={exportView}\n onOpenChange={setExportView}\n className=\"solid-kanban-export-dialog\"\n style={{ width: \"min(960px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader className=\"solid-export-dialog-header\">\n <div>\n <SolidDialogTitle>Export</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose the file format, refine the field set, and save reusable export templates.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-export-dialog-body\">\n <SolidExport listViewMetaData={solidKanbanViewMetaData} filters={filters} />\n </SolidDialogBody>\n </SolidDialog>\n\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidKanbanViewMetaData}\n handleFetchUpdatedRecords={handleRefreshView}\n />\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidKanbanViewConfigure.js","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidKanbanViewConfigure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { SolidExport } from \"../../../components/common/SolidExport\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport {\n SolidDropdownMenu,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuLabel,\n SolidDropdownMenuRadioGroup,\n SolidDropdownMenuRadioItem,\n SolidDropdownMenuSeparator,\n SolidDropdownMenuSub,\n SolidDropdownMenuSubContent,\n SolidDropdownMenuSubTrigger,\n SolidDropdownMenuTrigger,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogDescription,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidIcon,\n} from \"../../shad-cn-ui\";\n\nconst normalizeViewModes = (viewModes: any[] = []) => {\n return viewModes\n .map((option: any) => {\n if (!option) return null;\n\n if (typeof option === \"string\") {\n return {\n type: option,\n label: option.charAt(0).toUpperCase() + option.slice(1),\n };\n }\n\n const type = option.type || option.value;\n if (!type) return null;\n\n return {\n ...option,\n type,\n label: option.label || (type.charAt(0).toUpperCase() + type.slice(1)),\n };\n })\n .filter(Boolean);\n};\n\nexport const SolidKanbanViewConfigure = ({\n solidKanbanViewMetaData,\n modelName,\n actionsAllowed,\n setLayoutDialogVisible,\n viewModes,\n setShowSaveFilterPopup,\n filters,\n handleRefreshView,\n}: any) => {\n const pathname = usePathname();\n const router = useRouter();\n const searchParams = useSearchParams();\n const [view, setView] = useState<string>(\"\");\n const [isCogMenuOpen, setIsCogMenuOpen] = useState(false);\n const [openImportDialog, setOpenImportDialog] = useState(false);\n const [exportView, setExportView] = useState(false);\n\n const visibleViewModes = normalizeViewModes(Array.isArray(viewModes) ? viewModes : []);\n const showSwitchType = visibleViewModes.length > 1;\n const layoutAttrs = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs ?? {};\n\n useEffect(() => {\n if (typeof pathname === \"string\") {\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0) {\n setView(pathSegments[pathSegments.length - 1]);\n }\n }\n }, [pathname]);\n\n const handleViewChange = (newViewType: string) => {\n if (view === newViewType) return;\n\n const nextView = visibleViewModes.find((option: any) => option.type === newViewType);\n const pathSegments = pathname.split(\"/\").filter(Boolean);\n pathSegments[pathSegments.length - 1] = newViewType;\n const nextSearchParams = new URLSearchParams(searchParams.toString());\n const currentQuery = {\n menuItemId: searchParams.get(\"menuItemId\"),\n menuItemName: searchParams.get(\"menuItemName\"),\n actionId: searchParams.get(\"actionId\"),\n actionName: searchParams.get(\"actionName\"),\n };\n\n const queryFields = {\n menuItemId: nextView?.menuItemId ?? currentQuery.menuItemId,\n menuItemName: nextView?.menuItemName ?? currentQuery.menuItemName,\n actionId: nextView?.actionId ?? currentQuery.actionId,\n actionName: nextView?.actionName ?? currentQuery.actionName,\n };\n\n Object.entries(queryFields).forEach(([key, value]) => {\n if (value) {\n nextSearchParams.set(key, value);\n } else {\n nextSearchParams.delete(key);\n }\n });\n\n const newPath = \"/\" + pathSegments.join(\"/\");\n const nextQueryString = nextSearchParams.toString();\n router.push(nextQueryString ? `${newPath}?${nextQueryString}` : newPath);\n };\n\n const clearLocalstorageCache = () => {\n const currentPageUrl = window.location.pathname;\n localStorage.removeItem(currentPageUrl);\n window.location.reload();\n };\n\n const canImport =\n Boolean(modelName) &&\n actionsAllowed.includes(`${permissionExpression(modelName, \"create\")}`) &&\n actionsAllowed.includes(`${permissionExpression(\"importTransaction\", \"create\")}`);\n\n const canExport =\n Boolean(modelName) &&\n actionsAllowed.includes(`${permissionExpression(modelName, \"findMany\")}`) &&\n actionsAllowed.includes(`${permissionExpression(\"exportTransaction\", \"create\")}`);\n\n const canCustomizeLayout = actionsAllowed.includes(`${permissionExpression(\"userViewMetadata\", \"create\")}`);\n const canSaveCustomFilter = actionsAllowed.includes(`${permissionExpression(\"savedFilters\", \"create\")}`);\n\n return (\n <div className=\"position-relative\">\n <SolidDropdownMenu open={isCogMenuOpen} onOpenChange={setIsCogMenuOpen}>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-icon-button solid-header-cog-trigger\"\n aria-label=\"Open kanban options\"\n >\n <SolidIcon name=\"si-cog\" aria-hidden />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"listview-cogwheel-panel\">\n {canImport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setOpenImportDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-download\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Import</span>\n </SolidDropdownMenuItem>\n )}\n\n {canExport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setExportView(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-upload\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Export</span>\n </SolidDropdownMenuItem>\n )}\n\n {(canCustomizeLayout || canSaveCustomFilter) && <SolidDropdownMenuSeparator />}\n\n {canCustomizeLayout && (\n <SolidDropdownMenuSub>\n <SolidDropdownMenuSubTrigger className=\"solid-header-dropdown-item\">\n <SolidIcon name=\"si-sliders-h\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout</span>\n </SolidDropdownMenuSubTrigger>\n <SolidDropdownMenuSubContent className=\"customize-layout-panel\">\n {showSwitchType && (\n <>\n <SolidDropdownMenuLabel>Switch Type</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={view} onValueChange={handleViewChange}>\n {visibleViewModes.map((option: any) => (\n <SolidDropdownMenuRadioItem key={option.type} value={option.type}>\n {option.label}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n </>\n )}\n <SolidDropdownMenuItem\n onSelect={() => {\n setLayoutDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-code\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Layout Editor</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuSubContent>\n </SolidDropdownMenuSub>\n )}\n\n {canSaveCustomFilter && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setShowSaveFilterPopup(true);\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-save\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Save Custom Filter</span>\n </SolidDropdownMenuItem>\n )}\n\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n clearLocalstorageCache();\n setIsCogMenuOpen(false);\n }}\n >\n <SolidIcon name=\"si-trash\" className=\"solid-header-action-button-icon\" aria-hidden />\n <span className=\"solid-header-action-button-label\">Clear cache</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n\n <SolidDialog\n open={exportView}\n onOpenChange={setExportView}\n className=\"solid-kanban-export-dialog\"\n style={{ width: \"min(960px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader className=\"solid-export-dialog-header\">\n <div>\n <SolidDialogTitle>Export</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose the file format, refine the field set, and save reusable export templates.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-export-dialog-body\">\n <SolidExport listViewMetaData={solidKanbanViewMetaData} filters={filters} />\n </SolidDialogBody>\n </SolidDialog>\n\n {openImportDialog && (\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={solidKanbanViewMetaData}\n handleFetchUpdatedRecords={handleRefreshView}\n />\n )}\n </div>\n );\n};\n"]}
@@ -180,7 +180,7 @@ export const SolidKanbanViewConfigure = ({
180
180
  <SolidDropdownMenuSub>
181
181
  <SolidDropdownMenuSubTrigger className="solid-header-dropdown-item">
182
182
  <SolidIcon name="si-sliders-h" className="solid-header-action-button-icon" aria-hidden />
183
- <span className="solid-header-action-button-label">Customize Layout</span>
183
+ <span className="solid-header-action-button-label">Layout</span>
184
184
  </SolidDropdownMenuSubTrigger>
185
185
  <SolidDropdownMenuSubContent className="customize-layout-panel">
186
186
  {showSwitchType && (
@@ -1 +1 @@
1
- {"version":3,"file":"SolidManyToOneFilterElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidManyToOneFilterElement.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,2BAA2B,kDAAmD,GAAG,4CAmD7F,CAAA"}
1
+ {"version":3,"file":"SolidManyToOneFilterElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/kanban/SolidManyToOneFilterElement.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,2BAA2B,kDAAmD,GAAG,4CAmD7F,CAAA"}