@solidxai/core-ui 0.1.8-beta.19 → 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 (302) 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 +2 -1
  28. package/dist/components/auth/AuthLayout.js.map +1 -1
  29. package/dist/components/auth/AuthLayout.tsx +2 -1
  30. package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
  31. package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
  32. package/dist/components/auth/FacebookAuthChecking.js +103 -0
  33. package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
  34. package/dist/components/auth/FacebookAuthChecking.tsx +64 -0
  35. package/dist/components/auth/GoogleAuthChecking.js +0 -1
  36. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  37. package/dist/components/auth/GoogleAuthChecking.tsx +1 -1
  38. package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
  39. package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
  40. package/dist/components/auth/MicrosoftAuthChecking.js +103 -0
  41. package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
  42. package/dist/components/auth/MicrosoftAuthChecking.tsx +64 -0
  43. package/dist/components/auth/SolidInitialLoginOtp.js +0 -1
  44. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  45. package/dist/components/auth/SolidInitialLoginOtp.tsx +1 -1
  46. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  47. package/dist/components/auth/SolidInitiateRegisterOtp.js +28 -12
  48. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  49. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +26 -11
  50. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  51. package/dist/components/auth/SolidLogin.js +7 -4
  52. package/dist/components/auth/SolidLogin.js.map +1 -1
  53. package/dist/components/auth/SolidLogin.tsx +15 -3
  54. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  55. package/dist/components/auth/SolidRegister.js +48 -17
  56. package/dist/components/auth/SolidRegister.js.map +1 -1
  57. package/dist/components/auth/SolidRegister.tsx +87 -30
  58. package/dist/components/common/AuthBanner.js.map +1 -1
  59. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  60. package/dist/components/common/GeneralSettings.js +228 -146
  61. package/dist/components/common/GeneralSettings.js.map +1 -1
  62. package/dist/components/common/GeneralSettings.tsx +1103 -772
  63. package/dist/components/common/SettingsComponent.d.ts +2 -0
  64. package/dist/components/common/SettingsComponent.d.ts.map +1 -0
  65. package/dist/components/common/SettingsComponent.js +351 -0
  66. package/dist/components/common/SettingsComponent.js.map +1 -0
  67. package/dist/components/common/SettingsComponent.module.css +421 -0
  68. package/dist/components/common/SettingsComponent.tsx +582 -0
  69. package/dist/components/common/SocialMediaLogin.d.ts +8 -1
  70. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  71. package/dist/components/common/SocialMediaLogin.js +6 -13
  72. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  73. package/dist/components/common/SocialMediaLogin.tsx +120 -58
  74. package/dist/components/common/SolidExport.d.ts.map +1 -1
  75. package/dist/components/common/SolidExport.js +1 -1
  76. package/dist/components/common/SolidExport.js.map +1 -1
  77. package/dist/components/common/SolidExport.tsx +2 -1
  78. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  79. package/dist/components/common/SolidFormStepper.js +2 -1
  80. package/dist/components/common/SolidFormStepper.js.map +1 -1
  81. package/dist/components/common/SolidFormStepper.tsx +2 -1
  82. package/dist/components/common/solid-export.css +26 -0
  83. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  84. package/dist/components/core/card/SolidCardView.js +24 -25
  85. package/dist/components/core/card/SolidCardView.js.map +1 -1
  86. package/dist/components/core/card/SolidCardView.tsx +22 -27
  87. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  88. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  89. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  90. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  91. package/dist/components/core/chatter/SolidChatter.js +39 -9
  92. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  93. package/dist/components/core/chatter/SolidChatter.tsx +42 -7
  94. package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
  95. package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
  96. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  97. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
  98. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
  99. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  100. package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
  101. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  102. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
  103. package/dist/components/core/chatter/chatter.module.css +0 -3
  104. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  105. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
  106. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  107. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
  108. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  109. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
  110. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  111. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
  112. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
  113. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
  114. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
  115. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
  116. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
  117. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  118. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  119. package/dist/components/core/form/SolidFormActionHeader.js +5 -3
  120. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  121. package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
  122. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  123. package/dist/components/core/form/SolidFormView.js +67 -27
  124. package/dist/components/core/form/SolidFormView.js.map +1 -1
  125. package/dist/components/core/form/SolidFormView.tsx +54 -7
  126. package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
  127. package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
  128. package/dist/components/core/form/fields/SolidComputedField.js +128 -0
  129. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
  130. package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
  131. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  132. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +11 -3
  133. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  134. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +13 -4
  135. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  136. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  137. package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
  138. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  139. package/dist/components/core/kanban/SolidKanbanView.js +216 -102
  140. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  141. package/dist/components/core/kanban/SolidKanbanView.tsx +204 -72
  142. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  143. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  144. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  145. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  146. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  147. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
  148. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  149. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  150. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  151. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
  152. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  153. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  154. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  155. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
  156. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  157. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
  158. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  159. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
  160. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  161. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  162. package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
  163. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
  164. package/dist/components/core/list/SolidDataTablePagination.js +22 -0
  165. package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
  166. package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
  167. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  168. package/dist/components/core/list/SolidListView.js +58 -61
  169. package/dist/components/core/list/SolidListView.js.map +1 -1
  170. package/dist/components/core/list/SolidListView.tsx +42 -46
  171. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  172. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  173. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  174. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  175. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  176. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
  177. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  178. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
  179. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  180. package/dist/components/layout/user-profile-menu.js +15 -14
  181. package/dist/components/layout/user-profile-menu.js.map +1 -1
  182. package/dist/components/layout/user-profile-menu.tsx +8 -6
  183. package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
  184. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  185. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  186. package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
  187. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
  188. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  189. package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
  190. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  191. package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
  192. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
  193. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
  194. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
  195. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
  196. package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
  197. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  198. package/dist/components/shad-cn-ui/SolidTabs.js +2 -2
  199. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  200. package/dist/components/shad-cn-ui/SolidTabs.tsx +12 -1
  201. package/dist/components/solid-ui/SolidButton.d.ts +14 -0
  202. package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
  203. package/dist/components/solid-ui/SolidButton.js +36 -0
  204. package/dist/components/solid-ui/SolidButton.js.map +1 -0
  205. package/dist/components/solid-ui/SolidButton.tsx +54 -0
  206. package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
  207. package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
  208. package/dist/components/solid-ui/SolidTabs.js +22 -0
  209. package/dist/components/solid-ui/SolidTabs.js.map +1 -0
  210. package/dist/components/solid-ui/SolidTabs.tsx +73 -0
  211. package/dist/components/solid-ui/index.d.ts +3 -0
  212. package/dist/components/solid-ui/index.d.ts.map +1 -0
  213. package/dist/components/solid-ui/index.js +3 -0
  214. package/dist/components/solid-ui/index.js.map +1 -0
  215. package/dist/components/solid-ui/index.ts +2 -0
  216. package/dist/helpers/registry.d.ts +2 -2
  217. package/dist/helpers/registry.d.ts.map +1 -1
  218. package/dist/helpers/registry.js +4 -0
  219. package/dist/helpers/registry.js.map +1 -1
  220. package/dist/helpers/registry.ts +5 -3
  221. package/dist/helpers/settingsPayload.d.ts +32 -0
  222. package/dist/helpers/settingsPayload.d.ts.map +1 -0
  223. package/dist/helpers/settingsPayload.js +72 -0
  224. package/dist/helpers/settingsPayload.js.map +1 -0
  225. package/dist/helpers/settingsPayload.ts +125 -0
  226. package/dist/index.d.ts +4 -0
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +4 -0
  229. package/dist/index.js.map +1 -1
  230. package/dist/index.ts +4 -0
  231. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  232. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  233. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  234. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  235. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  236. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  237. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  238. package/dist/resources/globals.css +5 -1
  239. package/dist/resources/shadcn-base.css +242 -81
  240. package/dist/resources/solid-responsive.css +22 -4
  241. package/dist/routes/AppEventListener.js +1 -1
  242. package/dist/routes/AppEventListener.js.map +1 -1
  243. package/dist/routes/AppEventListener.tsx +1 -1
  244. package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
  245. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  246. package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
  247. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
  248. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
  249. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
  250. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
  251. package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
  252. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
  253. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
  254. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
  255. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
  256. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
  257. package/dist/routes/solidRoutes.d.ts.map +1 -1
  258. package/dist/routes/solidRoutes.js +5 -1
  259. package/dist/routes/solidRoutes.js.map +1 -1
  260. package/dist/routes/solidRoutes.tsx +5 -1
  261. package/dist/routes/types.d.ts +1 -1
  262. package/dist/routes/types.d.ts.map +1 -1
  263. package/dist/routes/types.js.map +1 -1
  264. package/dist/routes/types.ts +2 -0
  265. package/dist/types/extension-registry.d.ts +1 -0
  266. package/dist/types/extension-registry.d.ts.map +1 -1
  267. package/dist/types/extension-registry.js +1 -0
  268. package/dist/types/extension-registry.js.map +1 -1
  269. package/dist/types/extension-registry.ts +1 -0
  270. package/dist/types/index.d.ts +2 -0
  271. package/dist/types/solid-core.d.ts +10 -0
  272. package/package.json +1 -1
  273. package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
  274. package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
  275. package/dist/components/auth/SolidOTPVerify.js +0 -67
  276. package/dist/components/auth/SolidOTPVerify.js.map +0 -1
  277. package/dist/components/auth/SolidOTPVerify.tsx +0 -133
  278. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
  279. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
  280. package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
  281. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
  282. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
  283. package/dist/nextAuth/authProviders.d.ts +0 -4
  284. package/dist/nextAuth/authProviders.d.ts.map +0 -1
  285. package/dist/nextAuth/authProviders.js +0 -198
  286. package/dist/nextAuth/authProviders.js.map +0 -1
  287. package/dist/nextAuth/authProviders.tsx +0 -232
  288. package/dist/nextAuth/handleLogout.d.ts +0 -2
  289. package/dist/nextAuth/handleLogout.d.ts.map +0 -1
  290. package/dist/nextAuth/handleLogout.js +0 -36
  291. package/dist/nextAuth/handleLogout.js.map +0 -1
  292. package/dist/nextAuth/handleLogout.tsx +0 -39
  293. package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
  294. package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
  295. package/dist/nextAuth/refreshAccessToken.js +0 -24
  296. package/dist/nextAuth/refreshAccessToken.js.map +0 -1
  297. package/dist/nextAuth/refreshAccessToken.tsx +0 -28
  298. package/dist/redux/features/settingsSlice.d.ts +0 -20
  299. package/dist/redux/features/settingsSlice.d.ts.map +0 -1
  300. package/dist/redux/features/settingsSlice.js +0 -39
  301. package/dist/redux/features/settingsSlice.js.map +0 -1
  302. package/dist/redux/features/settingsSlice.ts +0 -60
@@ -80,36 +80,78 @@ import { getMediaTypeFromUrl } from "../../../helpers/mediaType";
80
80
  import { showToast } from "../../../redux/features/toastSlice";
81
81
  import { usePathname } from "../../../hooks/usePathname";
82
82
  import { useSearchParams } from "../../../hooks/useSearchParams";
83
+ import { solidGet } from "../../../http/solidHttp";
83
84
  import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
84
85
  import { SolidButton, SolidConfirmDialog, SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidIcon, } from "../../shad-cn-ui";
85
86
  import { FilterMatchMode } from "../filter/filterMatchMode";
87
+ import { kebabCase } from "lodash";
88
+ var getKanbanSortParam = function (sortValue) {
89
+ if (!sortValue) {
90
+ return "id:asc";
91
+ }
92
+ return sortValue.includes(":") ? sortValue : "".concat(sortValue, ":asc");
93
+ };
94
+ var createEmptyKanbanGroup = function (definition, recordsInSwimlane) { return ({
95
+ groupName: definition.value,
96
+ groupLabel: definition.label,
97
+ groupData: {
98
+ records: [],
99
+ meta: {
100
+ totalRecords: 0,
101
+ perPage: recordsInSwimlane,
102
+ currentPage: 1,
103
+ prevPage: null,
104
+ nextPage: null,
105
+ },
106
+ },
107
+ }); };
108
+ var mergeKanbanGroupsWithDefinitions = function (groupRecords, swimlaneDefinitions, recordsInSwimlane) {
109
+ if (!swimlaneDefinitions.length) {
110
+ return groupRecords;
111
+ }
112
+ var groupMap = new Map((groupRecords || []).map(function (group) {
113
+ var _a;
114
+ return [
115
+ String(group === null || group === void 0 ? void 0 : group.groupName),
116
+ __assign(__assign({}, group), { groupName: String((_a = group === null || group === void 0 ? void 0 : group.groupName) !== null && _a !== void 0 ? _a : "") }),
117
+ ];
118
+ }));
119
+ return swimlaneDefinitions.map(function (definition) {
120
+ var existingGroup = groupMap.get(definition.value);
121
+ if (existingGroup) {
122
+ return __assign(__assign({}, existingGroup), { groupName: definition.value, groupLabel: definition.label });
123
+ }
124
+ return createEmptyKanbanGroup(definition, recordsInSwimlane);
125
+ });
126
+ };
86
127
  export var SolidKanbanView = function (params) {
87
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
128
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
88
129
  var visibleNavbar = useSelector(function (state) { var _a; return (_a = state.navbarState) === null || _a === void 0 ? void 0 : _a.visibleNavbar; });
89
130
  var dispatch = useDispatch();
90
131
  var solidGlobalSearchElementRef = useRef();
91
132
  var router = useRouter();
92
133
  var searchParams = useSearchParams();
93
134
  // TODO: The initial filter state will be created based on the fields which are present on this kanban view.
94
- var _w = useState(), filters = _w[0], setFilters = _w[1];
95
- var _x = useState([]), toPopulate = _x[0], setToPopulate = _x[1];
96
- var _y = useState([]), toPopulateMedia = _y[0], setToPopulateMedia = _y[1];
97
- var _z = useState([]), actionsAllowed = _z[0], setActionsAllowed = _z[1];
98
- var _0 = useState(false), showGlobalSearchElement = _0[0], setShowGlobalSearchElement = _0[1];
99
- var _1 = useState(false), showArchived = _1[0], setShowArchived = _1[1];
135
+ var _m = useState(), filters = _m[0], setFilters = _m[1];
136
+ var _o = useState([]), toPopulate = _o[0], setToPopulate = _o[1];
137
+ var _p = useState([]), toPopulateMedia = _p[0], setToPopulateMedia = _p[1];
138
+ var _q = useState([]), actionsAllowed = _q[0], setActionsAllowed = _q[1];
139
+ var _r = useState(false), showGlobalSearchElement = _r[0], setShowGlobalSearchElement = _r[1];
140
+ var _s = useState(false), showArchived = _s[0], setShowArchived = _s[1];
100
141
  var sizeOptions = [
101
142
  { label: 'Compact', value: 'small', image: CompactImage },
102
143
  { label: 'Cozy', value: 'normal', image: CozyImage },
103
144
  { label: 'Comfortable', value: 'large', image: ComfortableImage }
104
145
  ];
105
- var _2 = useState(sizeOptions[1].value), size = _2[0], setSize = _2[1];
106
- var _3 = useState([]), viewModes = _3[0], setViewModes = _3[1];
107
- var _4 = useState(""), groupByFieldName = _4[0], setGroupByFieldName = _4[1];
146
+ var _t = useState(sizeOptions[1].value), size = _t[0], setSize = _t[1];
147
+ var _u = useState([]), viewModes = _u[0], setViewModes = _u[1];
148
+ var _v = useState(""), groupByFieldName = _v[0], setGroupByFieldName = _v[1];
108
149
  var triggerCheckIfPermissionExists = useLazyCheckIfPermissionExistsQuery()[0];
109
- var _5 = useState(false), openLightbox = _5[0], setOpenLightbox = _5[1];
110
- var _6 = useState([]), lightboxUrls = _6[0], setLightboxUrls = _6[1];
111
- var _7 = useState(), filterQueryString = _7[0], setFilterQueryString = _7[1];
112
- var _8 = useState(false), isLayoutDialogVisible = _8[0], setLayoutDialogVisible = _8[1];
150
+ var _w = useState(false), openLightbox = _w[0], setOpenLightbox = _w[1];
151
+ var _x = useState([]), lightboxUrls = _x[0], setLightboxUrls = _x[1];
152
+ var _y = useState(), filterQueryString = _y[0], setFilterQueryString = _y[1];
153
+ var _z = useState(false), isLayoutDialogVisible = _z[0], setLayoutDialogVisible = _z[1];
154
+ var _0 = useState([]), swimlaneDefinitions = _0[0], setSwimlaneDefinitions = _0[1];
113
155
  var lightboxSlides = Array.isArray(lightboxUrls)
114
156
  ? lightboxUrls
115
157
  .map(function (item) {
@@ -188,7 +230,7 @@ export var SolidKanbanView = function (params) {
188
230
  }, {
189
231
  encodeValuesOnly: true,
190
232
  });
191
- var _9 = useState({}), kanbanViewMetaData = _9[0], setKanbanViewMetaData = _9[1];
233
+ var _1 = useState({}), kanbanViewMetaData = _1[0], setKanbanViewMetaData = _1[1];
192
234
  var solidKanbanViewMetaData = useGetSolidViewLayoutQuery(kanbanViewMetaDataQs).data;
193
235
  var initialFilterMethod = function () {
194
236
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
@@ -283,56 +325,57 @@ export var SolidKanbanView = function (params) {
283
325
  }
284
326
  }, [solidKanbanViewMetaData]);
285
327
  // All kanban view state.
286
- var _10 = useState([]), kanbanViewData = _10[0], setKanbanViewData = _10[1];
287
- var _11 = useState({}), kanbanLoadMoreData = _11[0], setKanbanLoadMoreData = _11[1];
288
- var _12 = useState(10), recordsInSwimlane = _12[0], setRecordsInSwimlane = _12[1];
289
- var _13 = useState([]), selectedRecords = _13[0], setSelectedRecords = _13[1];
290
- var _14 = useState(true), loading = _14[0], setLoading = _14[1];
291
- var _15 = useState(false), isDialogVisible = _15[0], setDialogVisible = _15[1];
292
- var _16 = useState(), createButtonUrl = _16[0], setCreateButtonUrl = _16[1];
293
- var _17 = useState(), editButtonUrl = _17[0], setEditButtonUrl = _17[1];
294
- var _18 = useState({}), createActionQueryParams = _18[0], setCreateActionQueryParams = _18[1];
295
- var _19 = useState({}), editActionQueryParams = _19[0], setEditActionQueryParams = _19[1];
296
- var _20 = useState(5), columnsCount = _20[0], setColumnsCount = _20[1];
297
- var _21 = useState(1), swimLaneCurrentPageNumber = _21[0], setSwimLaneCurrentPageNumber = _21[1];
298
- var _22 = useState(false), queryDataLoaded = _22[0], setQueryDataLoaded = _22[1];
299
- var _23 = useState(false), showSaveFilterPopup = _23[0], setShowSaveFilterPopup = _23[1];
300
- var _24 = useState(0), maxSwimLanesCount = _24[0], setMaxSwimLanesCount = _24[1];
328
+ var _2 = useState([]), kanbanViewData = _2[0], setKanbanViewData = _2[1];
329
+ var _3 = useState({}), kanbanLoadMoreData = _3[0], setKanbanLoadMoreData = _3[1];
330
+ var _4 = useState(10), recordsInSwimlane = _4[0], setRecordsInSwimlane = _4[1];
331
+ var _5 = useState([]), selectedRecords = _5[0], setSelectedRecords = _5[1];
332
+ var _6 = useState(true), loading = _6[0], setLoading = _6[1];
333
+ var _7 = useState(false), isDialogVisible = _7[0], setDialogVisible = _7[1];
334
+ var _8 = useState(), createButtonUrl = _8[0], setCreateButtonUrl = _8[1];
335
+ var _9 = useState(), editButtonUrl = _9[0], setEditButtonUrl = _9[1];
336
+ var _10 = useState({}), createActionQueryParams = _10[0], setCreateActionQueryParams = _10[1];
337
+ var _11 = useState({}), editActionQueryParams = _11[0], setEditActionQueryParams = _11[1];
338
+ var _12 = useState(5), columnsCount = _12[0], setColumnsCount = _12[1];
339
+ var _13 = useState(1), swimLaneCurrentPageNumber = _13[0], setSwimLaneCurrentPageNumber = _13[1];
340
+ var _14 = useState(false), queryDataLoaded = _14[0], setQueryDataLoaded = _14[1];
341
+ var _15 = useState(false), showSaveFilterPopup = _15[0], setShowSaveFilterPopup = _15[1];
342
+ var _16 = useState(0), maxSwimLanesCount = _16[0], setMaxSwimLanesCount = _16[1];
343
+ var _17 = useState([]), rawKanbanGroupRecords = _17[0], setRawKanbanGroupRecords = _17[1];
344
+ var _18 = useState(0), serverSwimLaneCount = _18[0], setServerSwimLaneCount = _18[1];
301
345
  var pathname = usePathname();
302
346
  // @ts-ignore
303
347
  var editBaseUrl = normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form");
304
348
  // Get the kanban view data.
305
349
  // const [triggerGetSolidEntitiesForKanban, { data: solidEntityKanbanViewData, isLoading, error }] = useLazyGetSolidKanbanEntitiesQuery();
306
- var _25 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _25[0], solidEntityKanbanViewData = _25[1].data;
350
+ var _19 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _19[0], solidEntityKanbanViewData = _19[1].data;
307
351
  // Delete mutation
308
- var _26 = useDeleteMultipleSolidEntitiesMutation(), deleteManySolidEntities = _26[0], _27 = _26[1], isDeleteSolidEntitiesLoading = _27.isLoading, isDeleteSolidEntitiesSucess = _27.isSuccess;
309
- var _28 = usePatchUpdateSolidEntityMutation(), patchKanbanView = _28[0], isPatchKanbanViewLoading = _28[1].isLoading;
352
+ var _20 = useDeleteMultipleSolidEntitiesMutation(), deleteManySolidEntities = _20[0], _21 = _20[1], isDeleteSolidEntitiesLoading = _21.isLoading, isDeleteSolidEntitiesSucess = _21.isSuccess;
353
+ var _22 = usePatchUpdateSolidEntityMutation(), patchKanbanView = _22[0], isPatchKanbanViewLoading = _22[1].isLoading;
310
354
  // After data is fetched populate the kanban view state so as to be able to render the data.
311
355
  useEffect(function () {
312
356
  var _a;
313
357
  if (solidEntityKanbanViewData) {
314
- // Merge groupRecords by groupName: update existing, add new
315
- setMaxSwimLanesCount(((_a = solidEntityKanbanViewData === null || solidEntityKanbanViewData === void 0 ? void 0 : solidEntityKanbanViewData.meta) === null || _a === void 0 ? void 0 : _a.totalRecords) || 0);
316
- var groupRecords = (solidEntityKanbanViewData === null || solidEntityKanbanViewData === void 0 ? void 0 : solidEntityKanbanViewData.groupRecords) || [];
317
- var groupMap_1 = new Map((kanbanViewData || []).map(function (g) { return [g.groupName, g]; }));
318
- groupRecords.forEach(function (newGroup) {
319
- groupMap_1.set(newGroup.groupName, newGroup);
320
- });
321
- var latestKanbanGroupData = Array.from(groupMap_1.values());
322
- setKanbanViewData(latestKanbanGroupData);
323
- var loadmoredata = Object.entries(latestKanbanGroupData).reduce(function (acc, _a) {
324
- var value = _a[1];
325
- acc[value.groupName] = {
326
- offset: (value.groupData.meta.currentPage - 1) * value.groupData.meta.perPage,
327
- limit: value.groupData.meta.perPage,
328
- count: value.groupData.meta.totalRecords
329
- };
330
- return acc;
331
- }, {});
332
- setKanbanLoadMoreData(loadmoredata);
358
+ setServerSwimLaneCount(((_a = solidEntityKanbanViewData === null || solidEntityKanbanViewData === void 0 ? void 0 : solidEntityKanbanViewData.meta) === null || _a === void 0 ? void 0 : _a.totalRecords) || 0);
359
+ setRawKanbanGroupRecords((solidEntityKanbanViewData === null || solidEntityKanbanViewData === void 0 ? void 0 : solidEntityKanbanViewData.groupRecords) || []);
333
360
  setLoading(false);
334
361
  }
335
362
  }, [solidEntityKanbanViewData]);
363
+ useEffect(function () {
364
+ var mergedKanbanGroupData = mergeKanbanGroupsWithDefinitions(rawKanbanGroupRecords, swimlaneDefinitions, recordsInSwimlane);
365
+ setKanbanViewData(mergedKanbanGroupData);
366
+ setMaxSwimLanesCount(swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : serverSwimLaneCount);
367
+ var loadmoredata = Object.entries(mergedKanbanGroupData).reduce(function (acc, _a) {
368
+ var _b, _c, _d, _e, _f, _g, _h, _j;
369
+ var value = _a[1];
370
+ acc[value.groupName] = {
371
+ offset: ((((_c = (_b = value.groupData) === null || _b === void 0 ? void 0 : _b.meta) === null || _c === void 0 ? void 0 : _c.currentPage) || 1) - 1) * (((_e = (_d = value.groupData) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.perPage) || recordsInSwimlane),
372
+ limit: ((_g = (_f = value.groupData) === null || _f === void 0 ? void 0 : _f.meta) === null || _g === void 0 ? void 0 : _g.perPage) || recordsInSwimlane,
373
+ count: ((_j = (_h = value.groupData) === null || _h === void 0 ? void 0 : _h.meta) === null || _j === void 0 ? void 0 : _j.totalRecords) || 0
374
+ };
375
+ return acc;
376
+ }, {});
377
+ setKanbanLoadMoreData(loadmoredata);
378
+ }, [rawKanbanGroupRecords, recordsInSwimlane, serverSwimLaneCount, swimlaneDefinitions]);
336
379
  useEffect(function () {
337
380
  var _a, _b, _c, _d, _e, _f, _g;
338
381
  if (solidKanbanViewMetaData) {
@@ -361,11 +404,79 @@ export var SolidKanbanView = function (params) {
361
404
  }
362
405
  }
363
406
  }, [solidKanbanViewMetaData]);
407
+ useEffect(function () {
408
+ var loadSwimlaneDefinitions = function () { return __awaiter(void 0, void 0, void 0, function () {
409
+ var fieldMeta, layoutAttrs, staticDefinitions, orderBy, relationUserKeyField_1, response, records, relationDefinitions, error_1;
410
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
411
+ return __generator(this, function (_k) {
412
+ switch (_k.label) {
413
+ case 0:
414
+ fieldMeta = (_b = (_a = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _a === void 0 ? void 0 : _a.solidFieldsMetadata) === null || _b === void 0 ? void 0 : _b[groupByFieldName];
415
+ layoutAttrs = ((_e = (_d = (_c = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.attrs) || {};
416
+ if (!groupByFieldName || !fieldMeta) {
417
+ setSwimlaneDefinitions([]);
418
+ return [2 /*return*/];
419
+ }
420
+ if (fieldMeta.type === "selectionStatic" && Array.isArray(fieldMeta.selectionStaticValues)) {
421
+ staticDefinitions = fieldMeta.selectionStaticValues
422
+ .map(function (item) {
423
+ var _a;
424
+ var _b = String(item).split(":"), rawValue = _b[0], rawLabel = _b[1];
425
+ var value = (rawValue !== null && rawValue !== void 0 ? rawValue : "").trim();
426
+ var label = ((_a = rawLabel !== null && rawLabel !== void 0 ? rawLabel : rawValue) !== null && _a !== void 0 ? _a : "").trim();
427
+ return { value: value, label: label };
428
+ })
429
+ .filter(function (item) { return item.value !== ""; });
430
+ setSwimlaneDefinitions(staticDefinitions);
431
+ return [2 /*return*/];
432
+ }
433
+ if (!(fieldMeta.type === "relation" &&
434
+ fieldMeta.relationType === "many-to-one" &&
435
+ fieldMeta.relationCoModelSingularName)) return [3 /*break*/, 4];
436
+ _k.label = 1;
437
+ case 1:
438
+ _k.trys.push([1, 3, , 4]);
439
+ orderBy = getKanbanSortParam(layoutAttrs.swimlanesOrderBy);
440
+ relationUserKeyField_1 = ((_g = (_f = fieldMeta === null || fieldMeta === void 0 ? void 0 : fieldMeta.relationModel) === null || _f === void 0 ? void 0 : _f.userKeyField) === null || _g === void 0 ? void 0 : _g.name) || "id";
441
+ return [4 /*yield*/, solidGet("/".concat(kebabCase(fieldMeta.relationCoModelSingularName)), {
442
+ params: {
443
+ offset: 0,
444
+ limit: 100,
445
+ sort: [orderBy],
446
+ },
447
+ })];
448
+ case 2:
449
+ response = _k.sent();
450
+ records = ((_j = (_h = response === null || response === void 0 ? void 0 : response.data) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.records) || [];
451
+ relationDefinitions = records
452
+ .map(function (record) {
453
+ var _a, _b, _c;
454
+ return ({
455
+ value: String((_a = record === null || record === void 0 ? void 0 : record.id) !== null && _a !== void 0 ? _a : ""),
456
+ label: String((_c = (_b = record === null || record === void 0 ? void 0 : record[relationUserKeyField_1]) !== null && _b !== void 0 ? _b : record === null || record === void 0 ? void 0 : record.id) !== null && _c !== void 0 ? _c : ""),
457
+ });
458
+ })
459
+ .filter(function (item) { return item.value !== ""; });
460
+ setSwimlaneDefinitions(relationDefinitions);
461
+ return [2 /*return*/];
462
+ case 3:
463
+ error_1 = _k.sent();
464
+ console.error(ERROR_MESSAGES.API_ERROR, error_1);
465
+ return [3 /*break*/, 4];
466
+ case 4:
467
+ setSwimlaneDefinitions([]);
468
+ return [2 /*return*/];
469
+ }
470
+ });
471
+ }); };
472
+ loadSwimlaneDefinitions();
473
+ }, [groupByFieldName, solidKanbanViewMetaData]);
364
474
  // Fetch data after toPopulate has been populated...
365
475
  useEffect(function () {
366
476
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
367
477
  if (solidKanbanViewMetaData) {
368
478
  var swimlanesCount = ((_c = (_b = (_a = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data.solidView) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.attrs) === null || _c === void 0 ? void 0 : _c.swimlanesCount) || 5;
479
+ var resolvedSwimlanesCount = swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : swimlanesCount;
369
480
  if (groupByFieldName) {
370
481
  var queryObject = getFilterObjectFromLocalStorage();
371
482
  var queryString = "";
@@ -389,7 +500,7 @@ export var SolidKanbanView = function (params) {
389
500
  // }
390
501
  var queryData = {
391
502
  offset: 0,
392
- limit: Number(queryObject.limit) + Number(queryObject.offset),
503
+ limit: swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : Number(queryObject.limit) + Number(queryObject.offset),
393
504
  // fields: queryObject.fields || [`${groupByFieldName}`, `count(${groupByFieldName})`],
394
505
  groupBy: queryObject.groupBy || groupByFieldName,
395
506
  // @ts-ignore
@@ -420,7 +531,7 @@ export var SolidKanbanView = function (params) {
420
531
  var _o = initialFilterMethod(), recordsInSwimlane_2 = _o.recordsInSwimlane, toPopulate_2 = _o.toPopulate, toPopulateMedia_2 = _o.toPopulateMedia;
421
532
  var queryData = {
422
533
  offset: 0,
423
- limit: swimlanesCount,
534
+ limit: resolvedSwimlanesCount,
424
535
  // fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
425
536
  groupBy: groupByFieldName,
426
537
  populateMedia: toPopulateMedia_2,
@@ -447,7 +558,7 @@ export var SolidKanbanView = function (params) {
447
558
  setSelectedRecords([]);
448
559
  }
449
560
  }
450
- }, [isDeleteSolidEntitiesSucess, groupByFieldName, solidKanbanViewMetaData]);
561
+ }, [groupByFieldName, isDeleteSolidEntitiesSucess, solidKanbanViewMetaData, swimlaneDefinitions]);
451
562
  // clickable link allowing one to open the detail / form view.
452
563
  // handle bulk deletion
453
564
  var deleteBulk = function () {
@@ -465,7 +576,7 @@ export var SolidKanbanView = function (params) {
465
576
  };
466
577
  // Individual Swimlane Load More
467
578
  var handleLoadMore = function (groupByField) { return __awaiter(void 0, void 0, void 0, function () {
468
- var _a, offset, limit, queryData, queryString, data, newRecords, mergeData, updatedData, loadmoredata, error_1;
579
+ var _a, offset, limit, queryData, queryString, data, newRecords, mergeData, updatedData_1, error_2;
469
580
  var _b;
470
581
  return __generator(this, function (_c) {
471
582
  switch (_c.label) {
@@ -511,22 +622,21 @@ export var SolidKanbanView = function (params) {
511
622
  }
512
623
  return originalData;
513
624
  };
514
- updatedData = mergeData(kanbanViewData, newRecords, groupByField);
515
- setKanbanViewData(updatedData);
516
- loadmoredata = Object.entries(updatedData).reduce(function (acc, _a) {
517
- var value = _a[1];
518
- acc[value.groupName] = {
519
- offset: (value.groupData.meta.currentPage - 1) * value.groupData.meta.perPage,
520
- limit: value.groupData.meta.perPage,
521
- count: value.groupData.meta.totalRecords
522
- };
523
- return acc;
524
- }, {});
525
- setKanbanLoadMoreData(loadmoredata);
625
+ updatedData_1 = mergeData(kanbanViewData, newRecords, groupByField);
626
+ setKanbanViewData(updatedData_1);
627
+ setRawKanbanGroupRecords(function (previousGroups) {
628
+ var existingGroups = Array.isArray(previousGroups) ? previousGroups : [];
629
+ return updatedData_1
630
+ .filter(function (group) { var _a, _b; return (((_b = (_a = group.groupData) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.totalRecords) || 0) > 0; })
631
+ .map(function (group) {
632
+ var existingGroup = existingGroups.find(function (item) { return String(item.groupName) === String(group.groupName); });
633
+ return existingGroup ? __assign(__assign({}, existingGroup), group) : group;
634
+ });
635
+ });
526
636
  return [3 /*break*/, 4];
527
637
  case 3:
528
- error_1 = _c.sent();
529
- console.error(ERROR_MESSAGES.LOAD_MORE_DATA, error_1);
638
+ error_2 = _c.sent();
639
+ console.error(ERROR_MESSAGES.LOAD_MORE_DATA, error_2);
530
640
  return [3 /*break*/, 4];
531
641
  case 4: return [2 /*return*/];
532
642
  }
@@ -535,10 +645,11 @@ export var SolidKanbanView = function (params) {
535
645
  // Handle drag-and-drop functionality
536
646
  // @ts-ignore
537
647
  var onDragEnd = function (result) { return __awaiter(void 0, void 0, void 0, function () {
538
- var source, destination, sourceGroupName, destinationGroupName, sourceGroupIndex, destinationGroupIndex, sourceGroup, destinationGroup, sourceRecords, destinationRecords, movedItem, updatedItem, oldkanbanViewData, formData, kanbanUpdateResponse, error_2;
648
+ var source, destination, sourceGroupName, destinationGroupName, sourceGroupIndex, destinationGroupIndex, sourceGroup, destinationGroup, sourceRecords, destinationRecords, movedItem, updatedItem, oldkanbanViewData, formData, kanbanUpdateResponse, error_3;
539
649
  var _a;
540
- return __generator(this, function (_b) {
541
- switch (_b.label) {
650
+ var _b;
651
+ return __generator(this, function (_c) {
652
+ switch (_c.label) {
542
653
  case 0:
543
654
  source = result.source, destination = result.destination;
544
655
  if (!destination)
@@ -569,16 +680,17 @@ export var SolidKanbanView = function (params) {
569
680
  sourceRecords = __spreadArray([], sourceGroup.groupData.records, true);
570
681
  destinationRecords = __spreadArray([], destinationGroup.groupData.records, true);
571
682
  movedItem = sourceRecords.splice(source.index, 1)[0];
572
- updatedItem = __assign(__assign({}, movedItem), { status: destinationGroupName });
683
+ updatedItem = groupByFieldName
684
+ ? __assign(__assign({}, movedItem), (_a = {}, _a[groupByFieldName] = destinationGroupName, _a)) : movedItem;
573
685
  // Add the updated item to the destination
574
686
  destinationRecords.splice(destination.index, 0, updatedItem);
575
687
  // Update the group data
576
688
  sourceGroup.groupData.records = sourceRecords;
577
689
  destinationGroup.groupData.records = destinationRecords;
578
690
  oldkanbanViewData = structuredClone(kanbanViewData);
579
- _b.label = 1;
691
+ _c.label = 1;
580
692
  case 1:
581
- _b.trys.push([1, 3, , 4]);
693
+ _c.trys.push([1, 3, , 4]);
582
694
  formData = new FormData();
583
695
  formData.append(groupByFieldName, destinationGroupName);
584
696
  // Update the kanbanViewData state
@@ -595,7 +707,7 @@ export var SolidKanbanView = function (params) {
595
707
  });
596
708
  return [4 /*yield*/, patchKanbanView({ id: +movedItem.id, data: formData }).unwrap()];
597
709
  case 2:
598
- kanbanUpdateResponse = _b.sent();
710
+ kanbanUpdateResponse = _c.sent();
599
711
  if ((kanbanUpdateResponse === null || kanbanUpdateResponse === void 0 ? void 0 : kanbanUpdateResponse.statusCode) === 200) {
600
712
  dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.IS_SUCCESS, detail: ERROR_MESSAGES.KANBAN_UPDATED }));
601
713
  }
@@ -606,10 +718,10 @@ export var SolidKanbanView = function (params) {
606
718
  }
607
719
  return [3 /*break*/, 4];
608
720
  case 3:
609
- error_2 = _b.sent();
721
+ error_3 = _c.sent();
610
722
  // 6. Handle 500 or network errors
611
- console.error(ERROR_MESSAGES.API_ERROR, error_2);
612
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SOMETHING_WRONG, detail: ((_a = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _a === void 0 ? void 0 : _a.message) || ERROR_MESSAGES.SOMETHING_WRONG }));
723
+ console.error(ERROR_MESSAGES.API_ERROR, error_3);
724
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SOMETHING_WRONG, detail: ((_b = error_3 === null || error_3 === void 0 ? void 0 : error_3.data) === null || _b === void 0 ? void 0 : _b.message) || ERROR_MESSAGES.SOMETHING_WRONG }));
613
725
  setKanbanViewData(oldkanbanViewData);
614
726
  return [3 /*break*/, 4];
615
727
  case 4: return [2 /*return*/];
@@ -618,16 +730,17 @@ export var SolidKanbanView = function (params) {
618
730
  }); };
619
731
  // Handle SwimLane Pagination
620
732
  var handleSwimLanePagination = function () { return __awaiter(void 0, void 0, void 0, function () {
621
- var swimlanesCount, queryData, queryString, data, updatedData;
733
+ var swimlanesCount, resolvedSwimlanesCount, queryData, queryString, data_1;
622
734
  var _a, _b, _c, _d;
623
735
  return __generator(this, function (_e) {
624
736
  switch (_e.label) {
625
737
  case 0:
626
738
  if (!solidKanbanViewMetaData) return [3 /*break*/, 2];
627
739
  swimlanesCount = ((_c = (_b = (_a = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data.solidView) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.attrs) === null || _c === void 0 ? void 0 : _c.swimlanesCount) || 5;
740
+ resolvedSwimlanesCount = swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : swimlanesCount;
628
741
  queryData = {
629
742
  offset: swimLaneCurrentPageNumber * swimlanesCount,
630
- limit: swimlanesCount,
743
+ limit: resolvedSwimlanesCount,
631
744
  // fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
632
745
  groupBy: groupByFieldName,
633
746
  populateMedia: toPopulateMedia,
@@ -647,10 +760,15 @@ export var SolidKanbanView = function (params) {
647
760
  });
648
761
  return [4 /*yield*/, triggerGetSolidEntities(queryString)];
649
762
  case 1:
650
- data = _e.sent();
651
- if (data && ((_d = data === null || data === void 0 ? void 0 : data.data) === null || _d === void 0 ? void 0 : _d.groupRecords.length) > 0) {
652
- updatedData = __spreadArray(__spreadArray([], kanbanViewData, true), data.data.groupRecords, true);
653
- setKanbanViewData(updatedData);
763
+ data_1 = _e.sent();
764
+ if (data_1 && ((_d = data_1 === null || data_1 === void 0 ? void 0 : data_1.data) === null || _d === void 0 ? void 0 : _d.groupRecords.length) > 0) {
765
+ setRawKanbanGroupRecords(function (previousGroups) {
766
+ var groupMap = new Map((previousGroups || []).map(function (group) { return [String(group.groupName), group]; }));
767
+ data_1.data.groupRecords.forEach(function (group) {
768
+ groupMap.set(String(group.groupName), group);
769
+ });
770
+ return Array.from(groupMap.values());
771
+ });
654
772
  }
655
773
  setSwimLaneCurrentPageNumber(swimLaneCurrentPageNumber + 1);
656
774
  _e.label = 2;
@@ -662,7 +780,7 @@ export var SolidKanbanView = function (params) {
662
780
  var handleApplyCustomFilter = function (filterPredicates, persistFilter) {
663
781
  if (persistFilter === void 0) { persistFilter = false; }
664
782
  return __awaiter(void 0, void 0, void 0, function () {
665
- var queryfilter, customFilter, updatedFilter, swimlanesCount, queryData, queryString, urlData, data, updatedData;
783
+ var queryfilter, customFilter, updatedFilter, swimlanesCount, resolvedSwimlanesCount, queryData, queryString, urlData, data;
666
784
  var _a, _b, _c, _d;
667
785
  return __generator(this, function (_e) {
668
786
  switch (_e.label) {
@@ -692,9 +810,10 @@ export var SolidKanbanView = function (params) {
692
810
  // Then update state
693
811
  setFilters(updatedFilter);
694
812
  swimlanesCount = ((_c = (_b = (_a = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data.solidView) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.attrs) === null || _c === void 0 ? void 0 : _c.swimlanesCount) || 5;
813
+ resolvedSwimlanesCount = swimlaneDefinitions.length > 0 ? swimlaneDefinitions.length : swimlanesCount;
695
814
  queryData = {
696
815
  offset: 0,
697
- limit: swimlanesCount,
816
+ limit: resolvedSwimlanesCount,
698
817
  // fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
699
818
  groupBy: groupByFieldName,
700
819
  populateMedia: toPopulateMedia,
@@ -731,8 +850,10 @@ export var SolidKanbanView = function (params) {
731
850
  // Update the kanban view data with the new data based on filter
732
851
  setSwimLaneCurrentPageNumber(1);
733
852
  if (data && ((_d = data === null || data === void 0 ? void 0 : data.data) === null || _d === void 0 ? void 0 : _d.groupRecords.length) > 0) {
734
- updatedData = __spreadArray([], data.data.groupRecords, true);
735
- setKanbanViewData(updatedData);
853
+ setRawKanbanGroupRecords(__spreadArray([], data.data.groupRecords, true));
854
+ }
855
+ else {
856
+ setRawKanbanGroupRecords([]);
736
857
  }
737
858
  setSelectedRecords([]);
738
859
  _e.label = 2;
@@ -756,13 +877,7 @@ export var SolidKanbanView = function (params) {
756
877
  }, [solidKanbanViewMetaData]);
757
878
  var kanbanViewTitle = (_b = (_a = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.displayName;
758
879
  var entityDisplayName = ((_e = (_d = (_c = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.model) === null || _e === void 0 ? void 0 : _e.displayName) || params.modelName;
759
- var headerRequestStatusLabel = isDeleteSolidEntitiesLoading
760
- ? "Deleting..."
761
- : isPatchKanbanViewLoading
762
- ? "Updating..."
763
- : loading || !queryDataLoaded
764
- ? "Loading..."
765
- : null;
880
+ var headerRequestStatusLabel = isDeleteSolidEntitiesLoading ? "Deleting..." : isPatchKanbanViewLoading ? "Updating..." : loading || !queryDataLoaded ? "Loading..." : null;
766
881
  var toggleBothSidebars = function () {
767
882
  if (visibleNavbar) {
768
883
  dispatch(toggleNavbar()); // close both
@@ -771,13 +886,12 @@ export var SolidKanbanView = function (params) {
771
886
  dispatch(showNavbar()); // open both
772
887
  }
773
888
  };
889
+ console.log("Logging kanban data: ", solidKanbanViewMetaData);
774
890
  return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content h-full flex flex-column flex-grow-1", children: _jsxs("div", { className: "solid-list-surface solid-kanban-surface flex flex-column flex-1 min-h-0", children: [_jsxs("div", { className: "page-header solid-list-toolbar solid-kanban-toolbar flex-column lg:flex-row", children: [_jsxs("div", { className: "flex justify-content-between w-full", children: [_jsxs("div", { className: "flex gap-3 align-items-center w-full solid-list-toolbar-left", children: [params.embeded !== true &&
775
- _jsx("div", { className: "apps-icon block md:hidden cursor-pointer", onClick: toggleBothSidebars, children: _jsx(SolidIcon, { name: "si-th-large", "aria-hidden": true }) }), _jsx("p", { className: "m-0 view-title solid-text-wrapper", children: kanbanViewTitle }), ((_h = (_g = (_f = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs.enableGlobalSearch) === true &&
776
- _jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "kanban", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidKanbanViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) })] }), _jsxs("div", { className: "flex align-items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }), ((_l = (_k = (_j = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _j === void 0 ? void 0 : _j.solidView) === null || _k === void 0 ? void 0 : _k.layout) === null || _l === void 0 ? void 0 : _l.attrs.enableGlobalSearch) === true &&
777
- _jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); }, "aria-label": "Toggle search", leftIcon: _jsx(SolidIcon, { name: "si-search", "aria-hidden": true }) }) }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) && ((_p = (_o = (_m = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _m === void 0 ? void 0 : _m.solidView) === null || _o === void 0 ? void 0 : _o.layout) === null || _p === void 0 ? void 0 : _p.attrs.create) !== false &&
778
- _jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'delete'))) && ((_s = (_r = (_q = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _q === void 0 ? void 0 : _q.solidView) === null || _r === void 0 ? void 0 : _r.layout) === null || _s === void 0 ? void 0 : _s.attrs.delete) !== false && selectedRecords.length > 0 && _jsx(SolidButton, { type: "button", variant: "destructive", size: "sm", onClick: function () { return setDialogVisible(true); }, children: "Delete" }), _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () {
891
+ _jsx("div", { className: "apps-icon block md:hidden cursor-pointer", onClick: toggleBothSidebars, children: _jsx(SolidIcon, { name: "si-th-large", "aria-hidden": true }) }), _jsx("p", { className: "m-0 view-title solid-text-wrapper", children: kanbanViewTitle }), _jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "kanban", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidKanbanViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) })] }), _jsxs("div", { className: "flex align-items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }), _jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); }, "aria-label": "Toggle search", leftIcon: _jsx(SolidIcon, { name: "si-search", "aria-hidden": true }) }) }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) && ((_h = (_g = (_f = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs.create) !== false &&
892
+ _jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'delete'))) && ((_l = (_k = (_j = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _j === void 0 ? void 0 : _j.solidView) === null || _k === void 0 ? void 0 : _k.layout) === null || _l === void 0 ? void 0 : _l.attrs.delete) !== false && selectedRecords.length > 0 && _jsx(SolidButton, { type: "button", variant: "destructive", size: "sm", onClick: function () { return setDialogVisible(true); }, children: "Delete" }), _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", className: "solid-icon-button", onClick: function () {
779
893
  window.location.reload();
780
- }, "aria-label": "Refresh board", leftIcon: _jsx(SolidIcon, { name: "si-refresh", "aria-hidden": true }) }), _jsx(SolidKanbanViewConfigure, { solidKanbanViewMetaData: solidKanbanViewMetaData, modelName: params.modelName, actionsAllowed: actionsAllowed, viewModes: viewModes, setLayoutDialogVisible: setLayoutDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleRefreshView: function () { return window.location.reload(); } })] })] }), ((_v = (_u = (_t = solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data) === null || _t === void 0 ? void 0 : _t.solidView) === null || _u === void 0 ? void 0 : _u.layout) === null || _v === void 0 ? void 0 : _v.attrs.enableGlobalSearch) === true && showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "kanban", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidKanbanViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsx("style", { children: ".p-datatable .p-datatable-loading-overlay {background-color: rgba(0, 0, 0, 0.0);}" }), solidKanbanViewMetaData && kanbanViewData &&
894
+ }, "aria-label": "Refresh board", leftIcon: _jsx(SolidIcon, { name: "si-refresh", "aria-hidden": true }) }), _jsx(SolidKanbanViewConfigure, { solidKanbanViewMetaData: solidKanbanViewMetaData, modelName: params.modelName, actionsAllowed: actionsAllowed, viewModes: viewModes, setLayoutDialogVisible: setLayoutDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleRefreshView: function () { return window.location.reload(); } })] })] }), showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "kanban", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidKanbanViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsx("style", { children: ".p-datatable .p-datatable-loading-overlay {background-color: rgba(0, 0, 0, 0.0);}" }), solidKanbanViewMetaData && kanbanViewData &&
781
895
  _jsx(KanbanBoard, { groupByFieldName: groupByFieldName, kanbanViewData: kanbanViewData, maxSwimLanesCount: maxSwimLanesCount, solidKanbanViewMetaData: solidKanbanViewMetaData === null || solidKanbanViewMetaData === void 0 ? void 0 : solidKanbanViewMetaData.data, setKanbanViewData: setKanbanViewData, handleLoadMore: handleLoadMore, onDragEnd: onDragEnd, handleSwimLanePagination: handleSwimLanePagination, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox, editButtonUrl: editBaseUrl })] }) }), _jsx(SolidConfirmDialog, { open: isDialogVisible, onCancel: onDeleteClose, onConfirm: deleteBulk, className: "solid-shadcn-confirm-dialog solid-delete-confirm-dialog", headerClassName: "solid-shadcn-dialog-head", bodyClassName: "solid-shadcn-dialog-body", footerClassName: "solid-shadcn-dialog-actions", separatorClassName: "solid-shadcn-dialog-sep", showSeparator: true, title: "Delete ".concat(entityDisplayName), message: _jsx("p", { className: "solid-shadcn-dialog-text", children: "Are you sure you want to delete the selected ".concat(entityDisplayName, " records?") }), confirmLabel: "Delete", cancelLabel: "Cancel" }), openLightbox && (_jsx(SolidLightbox, { open: openLightbox, slides: lightboxSlides, onClose: function () { return setOpenLightbox(false); } })), _jsxs(SolidDialog, { open: isLayoutDialogVisible, onOpenChange: setLayoutDialogVisible, className: "solid-kanban-layout-dialog", style: { width: "min(800px, calc(100vw - 32px))" }, children: [_jsxs(SolidDialogHeader, { children: [_jsx(SolidDialogTitle, { children: "Change Kanban Layout" }), _jsx(SolidDialogClose, {})] }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { className: "solid-kanban-layout-dialog-body", children: _jsx(KanbanUserViewLayout, { solidKanbanViewMetaData: solidKanbanViewMetaData, setLayoutDialogVisible: setLayoutDialogVisible }) })] })] }));
782
896
  };
783
897
  //# sourceMappingURL=SolidKanbanView.js.map