@solidstarters/solid-core-ui 1.0.2 → 1.1.0

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 (276) hide show
  1. package/dist/components/auth/SolidForgotPassword.d.ts +3 -0
  2. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -0
  3. package/dist/components/auth/SolidForgotPassword.js +108 -0
  4. package/dist/components/auth/SolidForgotPassword.js.map +1 -0
  5. package/dist/components/auth/SolidLogin.d.ts +3 -0
  6. package/dist/components/auth/SolidLogin.d.ts.map +1 -0
  7. package/dist/components/auth/SolidLogin.js +115 -0
  8. package/dist/components/auth/SolidLogin.js.map +1 -0
  9. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  10. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  11. package/dist/components/auth/SolidOTPVerify.js +108 -0
  12. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  13. package/dist/components/auth/SolidRegister.d.ts +3 -0
  14. package/dist/components/auth/SolidRegister.d.ts.map +1 -0
  15. package/dist/components/auth/SolidRegister.js +166 -0
  16. package/dist/components/auth/SolidRegister.js.map +1 -0
  17. package/dist/components/auth/SolidResetPassword.d.ts +3 -0
  18. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -0
  19. package/dist/components/auth/SolidResetPassword.js +119 -0
  20. package/dist/components/auth/SolidResetPassword.js.map +1 -0
  21. package/dist/components/core/common/FilterComponent.d.ts +33 -1
  22. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  23. package/dist/components/core/common/FilterComponent.js +26 -25
  24. package/dist/components/core/common/FilterComponent.js.map +1 -1
  25. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts.map +1 -1
  26. package/dist/components/core/common/SolidConfigureLayoutElement.js +3 -3
  27. package/dist/components/core/common/SolidConfigureLayoutElement.js.map +1 -1
  28. package/dist/components/core/common/SolidCreateButton.js +1 -1
  29. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  30. package/dist/components/core/common/SolidGlobalSearchElement.d.ts +1 -1
  31. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  32. package/dist/components/core/common/SolidGlobalSearchElement.js +14 -9
  33. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  34. package/dist/components/core/common/SolidLayoutViews.d.ts +19 -0
  35. package/dist/components/core/common/SolidLayoutViews.d.ts.map +1 -0
  36. package/dist/components/core/common/SolidLayoutViews.js +14 -0
  37. package/dist/components/core/common/SolidLayoutViews.js.map +1 -0
  38. package/dist/components/core/common/SolidListViewOptions.d.ts +2 -0
  39. package/dist/components/core/common/SolidListViewOptions.d.ts.map +1 -0
  40. package/dist/components/core/common/SolidListViewOptions.js +11 -0
  41. package/dist/components/core/common/SolidListViewOptions.js.map +1 -0
  42. package/dist/components/core/filter/SolidManyToOneFilterElement.js +1 -1
  43. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  44. package/dist/components/core/filter/columns/SolidBigintField.d.ts +4 -0
  45. package/dist/components/core/filter/columns/SolidBigintField.d.ts.map +1 -0
  46. package/dist/components/core/filter/columns/SolidBigintField.js +8 -0
  47. package/dist/components/core/filter/columns/SolidBigintField.js.map +1 -0
  48. package/dist/components/core/filter/columns/SolidBooleanField.d.ts +4 -0
  49. package/dist/components/core/filter/columns/SolidBooleanField.d.ts.map +1 -0
  50. package/dist/components/core/filter/columns/SolidBooleanField.js +27 -0
  51. package/dist/components/core/filter/columns/SolidBooleanField.js.map +1 -0
  52. package/dist/components/core/filter/columns/SolidComputedField.d.ts +4 -0
  53. package/dist/components/core/filter/columns/SolidComputedField.d.ts.map +1 -0
  54. package/dist/components/core/filter/columns/SolidComputedField.js +22 -0
  55. package/dist/components/core/filter/columns/SolidComputedField.js.map +1 -0
  56. package/dist/components/core/filter/columns/SolidDateField.d.ts +9 -0
  57. package/dist/components/core/filter/columns/SolidDateField.d.ts.map +1 -0
  58. package/dist/components/core/filter/columns/SolidDateField.js +35 -0
  59. package/dist/components/core/filter/columns/SolidDateField.js.map +1 -0
  60. package/dist/components/core/filter/columns/SolidDatetimeField.d.ts +4 -0
  61. package/dist/components/core/filter/columns/SolidDatetimeField.d.ts.map +1 -0
  62. package/dist/components/core/filter/columns/SolidDatetimeField.js +24 -0
  63. package/dist/components/core/filter/columns/SolidDatetimeField.js.map +1 -0
  64. package/dist/components/core/filter/columns/SolidDecimalField.d.ts +4 -0
  65. package/dist/components/core/filter/columns/SolidDecimalField.d.ts.map +1 -0
  66. package/dist/components/core/filter/columns/SolidDecimalField.js +8 -0
  67. package/dist/components/core/filter/columns/SolidDecimalField.js.map +1 -0
  68. package/dist/components/core/filter/columns/SolidExternalIdField.d.ts +4 -0
  69. package/dist/components/core/filter/columns/SolidExternalIdField.d.ts.map +1 -0
  70. package/dist/components/core/filter/columns/SolidExternalIdField.js +25 -0
  71. package/dist/components/core/filter/columns/SolidExternalIdField.js.map +1 -0
  72. package/dist/components/core/filter/columns/SolidFloatField.d.ts +4 -0
  73. package/dist/components/core/filter/columns/SolidFloatField.d.ts.map +1 -0
  74. package/dist/components/core/filter/columns/SolidFloatField.js +8 -0
  75. package/dist/components/core/filter/columns/SolidFloatField.js.map +1 -0
  76. package/dist/components/core/filter/columns/SolidIdField.d.ts +4 -0
  77. package/dist/components/core/filter/columns/SolidIdField.d.ts.map +1 -0
  78. package/dist/components/core/filter/columns/SolidIdField.js +25 -0
  79. package/dist/components/core/filter/columns/SolidIdField.js.map +1 -0
  80. package/dist/components/core/filter/columns/SolidIntField.d.ts +4 -0
  81. package/dist/components/core/filter/columns/SolidIntField.d.ts.map +1 -0
  82. package/dist/components/core/filter/columns/SolidIntField.js +34 -0
  83. package/dist/components/core/filter/columns/SolidIntField.js.map +1 -0
  84. package/dist/components/core/filter/columns/SolidLongTextField.d.ts +4 -0
  85. package/dist/components/core/filter/columns/SolidLongTextField.d.ts.map +1 -0
  86. package/dist/components/core/filter/columns/SolidLongTextField.js +8 -0
  87. package/dist/components/core/filter/columns/SolidLongTextField.js.map +1 -0
  88. package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts +4 -0
  89. package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts.map +1 -0
  90. package/dist/components/core/filter/columns/SolidMediaMultipleField.js +35 -0
  91. package/dist/components/core/filter/columns/SolidMediaMultipleField.js.map +1 -0
  92. package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts +4 -0
  93. package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts.map +1 -0
  94. package/dist/components/core/filter/columns/SolidMediaSingleField.js +35 -0
  95. package/dist/components/core/filter/columns/SolidMediaSingleField.js.map +1 -0
  96. package/dist/components/core/filter/columns/SolidRelationField.d.ts +4 -0
  97. package/dist/components/core/filter/columns/SolidRelationField.d.ts.map +1 -0
  98. package/dist/components/core/filter/columns/SolidRelationField.js +12 -0
  99. package/dist/components/core/filter/columns/SolidRelationField.js.map +1 -0
  100. package/dist/components/core/filter/columns/SolidRichTextField.d.ts +4 -0
  101. package/dist/components/core/filter/columns/SolidRichTextField.d.ts.map +1 -0
  102. package/dist/components/core/filter/columns/SolidRichTextField.js +8 -0
  103. package/dist/components/core/filter/columns/SolidRichTextField.js.map +1 -0
  104. package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts +4 -0
  105. package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts.map +1 -0
  106. package/dist/components/core/filter/columns/SolidSelectionDynamicField.js +25 -0
  107. package/dist/components/core/filter/columns/SolidSelectionDynamicField.js.map +1 -0
  108. package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts +4 -0
  109. package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts.map +1 -0
  110. package/dist/components/core/filter/columns/SolidSelectionStaticField.js +26 -0
  111. package/dist/components/core/filter/columns/SolidSelectionStaticField.js.map +1 -0
  112. package/dist/components/core/filter/columns/SolidShortTextField.d.ts +4 -0
  113. package/dist/components/core/filter/columns/SolidShortTextField.d.ts.map +1 -0
  114. package/dist/components/core/filter/columns/SolidShortTextField.js +33 -0
  115. package/dist/components/core/filter/columns/SolidShortTextField.js.map +1 -0
  116. package/dist/components/core/filter/columns/SolidTimeField.d.ts +4 -0
  117. package/dist/components/core/filter/columns/SolidTimeField.d.ts.map +1 -0
  118. package/dist/components/core/filter/columns/SolidTimeField.js +24 -0
  119. package/dist/components/core/filter/columns/SolidTimeField.js.map +1 -0
  120. package/dist/components/core/filter/columns/SolidUuidField.d.ts +4 -0
  121. package/dist/components/core/filter/columns/SolidUuidField.d.ts.map +1 -0
  122. package/dist/components/core/filter/columns/SolidUuidField.js +25 -0
  123. package/dist/components/core/filter/columns/SolidUuidField.js.map +1 -0
  124. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts +4 -0
  125. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts.map +1 -0
  126. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js +54 -0
  127. package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js.map +1 -0
  128. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  129. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  130. package/dist/components/core/kanban/KanbanBoard.js +11 -11
  131. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  132. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  133. package/dist/components/core/kanban/SolidKanbanView.js +113 -202
  134. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  135. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  136. package/dist/components/core/list/SolidListView.js +312 -62
  137. package/dist/components/core/list/SolidListView.js.map +1 -1
  138. package/dist/components/core/list/SolidManyToOneFilterElement.js +2 -3
  139. package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
  140. package/dist/components/core/list/columns/SolidBooleanColumn.js +3 -1
  141. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  142. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js +3 -1
  143. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
  144. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  145. package/dist/components/core/list/columns/SolidShortTextColumn.js +5 -1
  146. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  147. package/dist/components/core/list/columns/SolidTimeColumn.js +3 -1
  148. package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
  149. package/dist/components/core/list/columns/SolidUuidColumn.js +3 -1
  150. package/dist/components/core/list/columns/SolidUuidColumn.js.map +1 -1
  151. package/dist/components/layout/AppConfig.d.ts +4 -0
  152. package/dist/components/layout/AppConfig.d.ts.map +1 -0
  153. package/dist/components/layout/AppConfig.js +57 -0
  154. package/dist/components/layout/AppConfig.js.map +1 -0
  155. package/dist/components/layout/AppSidebar.d.ts +3 -0
  156. package/dist/components/layout/AppSidebar.d.ts.map +1 -0
  157. package/dist/components/layout/AppSidebar.js +75 -0
  158. package/dist/components/layout/AppSidebar.js.map +1 -0
  159. package/dist/components/layout/CustomPagination.d.ts +0 -6
  160. package/dist/components/layout/CustomPagination.d.ts.map +1 -1
  161. package/dist/components/layout/CustomPagination.js +48 -27
  162. package/dist/components/layout/CustomPagination.js.map +1 -1
  163. package/dist/components/layout/FilterMenu.d.ts.map +1 -1
  164. package/dist/components/layout/FilterMenu.js +1 -2
  165. package/dist/components/layout/FilterMenu.js.map +1 -1
  166. package/dist/components/layout/context/layoutcontext.d.ts +5 -0
  167. package/dist/components/layout/context/layoutcontext.d.ts.map +1 -0
  168. package/dist/components/layout/context/layoutcontext.js +56 -0
  169. package/dist/components/layout/context/layoutcontext.js.map +1 -0
  170. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  171. package/dist/components/layout/navbar-two-menu.js +5 -5
  172. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  173. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  174. package/dist/components/layout/user-profile-menu.js +37 -5
  175. package/dist/components/layout/user-profile-menu.js.map +1 -1
  176. package/dist/components/modelsComponents/filterIcon.d.ts.map +1 -1
  177. package/dist/components/modelsComponents/filterIcon.js.map +1 -1
  178. package/dist/components/tables/ListViewTable.d.ts.map +1 -1
  179. package/dist/components/tables/ListViewTable.js +2 -1
  180. package/dist/components/tables/ListViewTable.js.map +1 -1
  181. package/dist/helpers/helpers.d.ts +1 -1
  182. package/dist/helpers/helpers.d.ts.map +1 -1
  183. package/dist/index.d.ts +19 -14
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +40 -32
  186. package/dist/index.js.map +1 -1
  187. package/package.json +2 -1
  188. package/src/components/auth/SolidForgotPassword.tsx +124 -0
  189. package/src/components/auth/SolidLogin.tsx +156 -0
  190. package/src/components/auth/SolidOTPVerify.tsx +127 -0
  191. package/src/components/auth/SolidRegister.tsx +221 -0
  192. package/src/components/auth/SolidResetPassword.tsx +160 -0
  193. package/src/components/core/common/FilterComponent.tsx +45 -40
  194. package/src/components/core/common/SolidConfigureLayoutElement.tsx +11 -10
  195. package/src/components/core/common/SolidCreateButton.tsx +1 -1
  196. package/src/components/core/common/SolidGlobalSearchElement.tsx +33 -13
  197. package/src/components/core/common/SolidLayoutViews.tsx +87 -0
  198. package/src/components/core/common/SolidListViewOptions.tsx +31 -0
  199. package/src/components/core/filter/SolidManyToOneFilterElement.tsx +1 -1
  200. package/src/components/core/kanban/KanbanBoard.tsx +7 -4
  201. package/src/components/core/kanban/SolidKanbanView.tsx +110 -248
  202. package/src/components/core/list/SolidListView.tsx +421 -96
  203. package/src/components/core/list/SolidManyToOneFilterElement.tsx +3 -3
  204. package/src/components/core/list/columns/SolidBooleanColumn.tsx +1 -1
  205. package/src/components/core/list/columns/SolidSelectionStaticColumn.tsx +1 -1
  206. package/src/components/core/list/columns/SolidShortTextColumn.tsx +8 -3
  207. package/src/components/core/list/columns/SolidTimeColumn.tsx +1 -1
  208. package/src/components/core/list/columns/SolidUuidColumn.tsx +1 -1
  209. package/src/components/layout/AppConfig.tsx +103 -0
  210. package/src/components/layout/AppSidebar.tsx +170 -0
  211. package/src/components/layout/CustomPagination.tsx +55 -55
  212. package/src/components/layout/FilterMenu.tsx +1 -2
  213. package/src/components/layout/context/layoutcontext.tsx +52 -0
  214. package/src/components/layout/navbar-two-menu.tsx +12 -9
  215. package/src/components/layout/user-profile-menu.tsx +74 -189
  216. package/src/components/modelsComponents/filterIcon.tsx +0 -1
  217. package/src/components/tables/ListViewTable.tsx +4 -3
  218. package/src/index.ts +157 -144
  219. package/src/types/index.d.ts +26 -0
  220. package/src/types/layout.d.ts +94 -0
  221. package/src/types/next-auth.d.ts +0 -0
  222. package/dist/components/core/kanban/SolidKanbanFilter.d.ts +0 -2
  223. package/dist/components/core/kanban/SolidKanbanFilter.d.ts.map +0 -1
  224. package/dist/components/core/kanban/SolidKanbanViewSearchColumn.d.ts +0 -10
  225. package/dist/components/core/kanban/SolidKanbanViewSearchColumn.d.ts.map +0 -1
  226. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +0 -2
  227. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +0 -1
  228. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +0 -2
  229. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +0 -1
  230. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +0 -2
  231. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +0 -1
  232. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +0 -12
  233. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +0 -1
  234. package/dist/components/core/kanban/columns/SolidBigintColumn.d.ts +0 -4
  235. package/dist/components/core/kanban/columns/SolidBigintColumn.d.ts.map +0 -1
  236. package/dist/components/core/kanban/columns/SolidBooleanColumn.d.ts +0 -4
  237. package/dist/components/core/kanban/columns/SolidBooleanColumn.d.ts.map +0 -1
  238. package/dist/components/core/kanban/columns/SolidComputedColumn.d.ts +0 -4
  239. package/dist/components/core/kanban/columns/SolidComputedColumn.d.ts.map +0 -1
  240. package/dist/components/core/kanban/columns/SolidDateColumn.d.ts +0 -9
  241. package/dist/components/core/kanban/columns/SolidDateColumn.d.ts.map +0 -1
  242. package/dist/components/core/kanban/columns/SolidDatetimeColumn.d.ts +0 -4
  243. package/dist/components/core/kanban/columns/SolidDatetimeColumn.d.ts.map +0 -1
  244. package/dist/components/core/kanban/columns/SolidDecimalColumn.d.ts +0 -4
  245. package/dist/components/core/kanban/columns/SolidDecimalColumn.d.ts.map +0 -1
  246. package/dist/components/core/kanban/columns/SolidExternalIdColumn.d.ts +0 -4
  247. package/dist/components/core/kanban/columns/SolidExternalIdColumn.d.ts.map +0 -1
  248. package/dist/components/core/kanban/columns/SolidFloatColumn.d.ts +0 -4
  249. package/dist/components/core/kanban/columns/SolidFloatColumn.d.ts.map +0 -1
  250. package/dist/components/core/kanban/columns/SolidIdColumn.d.ts +0 -4
  251. package/dist/components/core/kanban/columns/SolidIdColumn.d.ts.map +0 -1
  252. package/dist/components/core/kanban/columns/SolidIntColumn.d.ts +0 -4
  253. package/dist/components/core/kanban/columns/SolidIntColumn.d.ts.map +0 -1
  254. package/dist/components/core/kanban/columns/SolidLongTextColumn.d.ts +0 -4
  255. package/dist/components/core/kanban/columns/SolidLongTextColumn.d.ts.map +0 -1
  256. package/dist/components/core/kanban/columns/SolidMediaMultipleColumn.d.ts +0 -4
  257. package/dist/components/core/kanban/columns/SolidMediaMultipleColumn.d.ts.map +0 -1
  258. package/dist/components/core/kanban/columns/SolidMediaSingleColumn.d.ts +0 -4
  259. package/dist/components/core/kanban/columns/SolidMediaSingleColumn.d.ts.map +0 -1
  260. package/dist/components/core/kanban/columns/SolidRelationColumn.d.ts +0 -4
  261. package/dist/components/core/kanban/columns/SolidRelationColumn.d.ts.map +0 -1
  262. package/dist/components/core/kanban/columns/SolidRichTextColumn.d.ts +0 -4
  263. package/dist/components/core/kanban/columns/SolidRichTextColumn.d.ts.map +0 -1
  264. package/dist/components/core/kanban/columns/SolidSelectionDynamicColumn.d.ts +0 -4
  265. package/dist/components/core/kanban/columns/SolidSelectionDynamicColumn.d.ts.map +0 -1
  266. package/dist/components/core/kanban/columns/SolidSelectionStaticColumn.d.ts +0 -4
  267. package/dist/components/core/kanban/columns/SolidSelectionStaticColumn.d.ts.map +0 -1
  268. package/dist/components/core/kanban/columns/SolidShortTextColumn.d.ts +0 -4
  269. package/dist/components/core/kanban/columns/SolidShortTextColumn.d.ts.map +0 -1
  270. package/dist/components/core/kanban/columns/SolidTimeColumn.d.ts +0 -4
  271. package/dist/components/core/kanban/columns/SolidTimeColumn.d.ts.map +0 -1
  272. package/dist/components/core/kanban/columns/SolidUuidColumn.d.ts +0 -4
  273. package/dist/components/core/kanban/columns/SolidUuidColumn.d.ts.map +0 -1
  274. package/dist/components/core/kanban/columns/relations/SolidRelationManyToOneColumn.d.ts +0 -4
  275. package/dist/components/core/kanban/columns/relations/SolidRelationManyToOneColumn.d.ts.map +0 -1
  276. package/src/components/common/FilterComponent.tsx +0 -428
@@ -8,15 +8,12 @@ import Link from "next/link";
8
8
  import { FilterMatchMode } from "primereact/api";
9
9
  import { Button } from "primereact/button";
10
10
  import {
11
- DataTableFilterMeta,
12
- DataTableStateEvent
11
+ DataTableFilterMeta
13
12
  } from "primereact/datatable";
14
13
  import { Dialog } from "primereact/dialog";
15
14
  import qs from "qs";
16
15
  import { useEffect, useState } from "react";
17
- import { SolidConfigureLayoutElement } from "../common/SolidConfigureLayoutElement";
18
16
  import { SolidCreateButton } from "../common/SolidCreateButton";
19
- import { SolidGlobalSearchElement } from "../common/SolidGlobalSearchElement";
20
17
  import KanbanBoard from "./KanbanBoard";
21
18
 
22
19
  type SolidKanbanViewParams = {
@@ -79,13 +76,13 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
79
76
  const kanbanViewMetaDataQs = qs.stringify({ ...params, viewType: 'kanban' }, {
80
77
  encodeValuesOnly: true,
81
78
  });
82
- const [kanbanViewMetaData, setKanbanViewMetaData] = useState({});
79
+ const [kanbanViewMetaData, setKanbanViewMetaData] = useState<any>({});
80
+
83
81
  const {
84
82
  data: solidKanbanViewMetaData,
85
83
  error: solidKanbanViewMetaDataError,
86
84
  isLoading: solidKanbanViewMetaDataIsLoading,
87
- isError: solidKanbanViewMetaDataIsError,
88
- refetch
85
+ isError: solidKanbanViewMetaDataIsError
89
86
  } = useGetSolidViewLayoutQuery(kanbanViewMetaDataQs);
90
87
 
91
88
 
@@ -97,46 +94,58 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
97
94
 
98
95
  const initialFilters: any = {};
99
96
  const toPopulate: string[] = [];
100
- // for (let i = 0; i < solidView.layout.children.length; i++) {
101
- // const column = solidView.layout.children[i];
102
- // const fieldMetadata = solidFieldsMetadata[column.attrs.name];
103
-
104
- // // Form the initial filters after iterating over the columns and field metadata.
105
- // if (['int', 'bigint', 'float', 'decimal'].includes(fieldMetadata.type)) {
106
- // // initialFilters[column.attrs.name] = { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] }
107
- // initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.EQUALS }
108
- // }
109
- // else if (['date', 'datetime', 'time', 'boolean'].includes(fieldMetadata.type)) {
110
- // // initialFilters[column.attrs.name] = { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] }
111
- // initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.EQUALS }
112
- // }
113
- // else if (['relation', 'selectionStatic', 'selectionDynamic'].includes(fieldMetadata.type)) {
114
- // initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.IN }
115
- // }
116
- // else {
117
- // // initialFilters[column.attrs.name] = { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] }
118
- // initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.STARTS_WITH }
119
- // }
120
-
121
- // if (column.attrs.name === 'id') {
122
- // initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.IN }
123
- // }
124
-
125
- // // Form the "toPopulate" array.
126
- // if (fieldMetadata.type === 'relation' && fieldMetadata.relationType === 'many-to-one') {
127
- // toPopulate.push(fieldMetadata.name);
128
- // }
129
- // }
97
+ function extractFields(node: any, result: any = []) {
98
+ if (node.type === "field") {
99
+ result.push(node);
100
+ }
101
+ if (node.children) {
102
+ node.children.forEach((child: any) => extractFields(child, result));
103
+ }
104
+ return result;
105
+ }
106
+
107
+ const data = { /* Your JSON object here */ };
108
+ const layoutFields = extractFields(solidView.layout);
109
+
110
+ for (let i = 0; i < layoutFields.length; i++) {
111
+ const column = layoutFields[i];
112
+ const fieldMetadata = solidFieldsMetadata[column.attrs.name];
113
+
114
+ // Form the initial filters after iterating over the columns and field metadata.
115
+ if (['int', 'bigint', 'float', 'decimal'].includes(fieldMetadata.type)) {
116
+ // initialFilters[column.attrs.name] = { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] }
117
+ initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.EQUALS }
118
+ }
119
+ else if (['date', 'datetime', 'time', 'boolean'].includes(fieldMetadata.type)) {
120
+ // initialFilters[column.attrs.name] = { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] }
121
+ initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.EQUALS }
122
+ }
123
+ else if (['relation', 'selectionStatic', 'selectionDynamic'].includes(fieldMetadata.type)) {
124
+ initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.IN }
125
+ }
126
+ else {
127
+ // initialFilters[column.attrs.name] = { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] }
128
+ initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.STARTS_WITH }
129
+ }
130
+
131
+ if (column.attrs.name === 'id') {
132
+ initialFilters[column.attrs.name] = { value: null, matchMode: FilterMatchMode.IN }
133
+ }
134
+
135
+ // Form the "toPopulate" array.
136
+ if (fieldMetadata.type === 'relation' && fieldMetadata.relationType === 'many-to-one') {
137
+ toPopulate.push(fieldMetadata.name);
138
+ }
139
+ }
130
140
  setFilters(initialFilters);
131
- setRows(solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.defaultPageSize ? solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.defaultPageSize : 25)
141
+ setRows(kanbanViewMetaData?.data?.solidView?.layout?.attrs?.defaultPageSize ? kanbanViewMetaData?.data?.solidView?.layout?.attrs.defaultPageSize : 25)
132
142
  setToPopulate(toPopulate);
133
143
  }
134
144
 
135
145
  useEffect(() => {
136
- // refetch();
146
+
137
147
  if (solidKanbanViewMetaData) {
138
148
  setKanbanViewMetaData(solidKanbanViewMetaData);
139
-
140
149
  initialFilterMethod()
141
150
  }
142
151
  }, [solidKanbanViewMetaData]);
@@ -150,13 +159,16 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
150
159
  const [filterValues, setFilterValues] = useState([{ field: '', operator: '', value: '' }]);
151
160
  const [first, setFirst] = useState(0);
152
161
  const [rows, setRows] = useState(25);
153
- const [sortField, setSortField] = useState("");
154
- const [sortOrder, setSortOrder] = useState(0);
155
162
  const [selectedRecords, setSelectedRecords] = useState<any[]>([]);
156
163
  const [loading, setLoading] = useState<boolean>(true);
157
164
  const [isDialogVisible, setDialogVisible] = useState(false);
158
165
  const [createButtonUrl, setCreateButtonUrl] = useState<string>();
159
166
  const [editButtonUrl, setEditButtonUrl] = useState<string>();
167
+ const [columnsCount, setColumnsCount] = useState(5);
168
+ const [swimLaneCurrentPageNumber, setSwimLaneCurrentPageNumber] = useState(1);
169
+
170
+ console.log("kanbanViewData", kanbanViewData);
171
+
160
172
 
161
173
  // Get the kanban view data.
162
174
  // const [triggerGetSolidEntitiesForKanban, { data: solidEntityKanbanViewData, isLoading, error }] = useLazyGetSolidKanbanEntitiesQuery();
@@ -183,22 +195,6 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
183
195
  }
184
196
  }, [solidEntityKanbanViewData]);
185
197
 
186
-
187
- useEffect(() => {
188
- if (solidKanbanViewMetaData) {
189
- const createActionUrl = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.createAction && solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.createAction?.type === "custom" ? solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.createAction?.customComponent : "form/new";
190
- const editActionUrl = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.editAction && solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.editAction?.type === "custom" ? solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.editAction?.customComponent : "form";
191
- if (createActionUrl) {
192
- setCreateButtonUrl(createActionUrl)
193
- }
194
- if (editActionUrl) {
195
- setEditButtonUrl(editActionUrl)
196
- }
197
- }
198
- }, [solidKanbanViewMetaData])
199
- console.log("solidKanbanViewMetaData", solidKanbanViewMetaData);
200
-
201
-
202
198
  // Delete mutation
203
199
  const [
204
200
  deleteManySolidEntities,
@@ -213,10 +209,28 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
213
209
 
214
210
 
215
211
 
212
+
213
+
216
214
  // Fetch data after toPopulate has been populated...
217
215
  useEffect(() => {
216
+
217
+ if (solidKanbanViewMetaData) {
218
+ const createActionUrl = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.createAction && solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.createAction?.type === "custom" ? solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.createAction?.customComponent : "form/new";
219
+ const editActionUrl = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.editAction && solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.editAction?.type === "custom" ? solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.editAction?.customComponent : "form";
220
+ if (solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.pageSize) {
221
+ setColumnsCount(solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.pageSize)
222
+ }
223
+ if (createActionUrl) {
224
+ setCreateButtonUrl(createActionUrl)
225
+ }
226
+ if (editActionUrl) {
227
+ setEditButtonUrl(editActionUrl)
228
+ }
229
+ }
218
230
  if (solidKanbanViewMetaData) {
219
231
  const groupByFieldName = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.groupBy;
232
+ const columnsToLoadCount = solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.pageSize || 5;
233
+
220
234
  if (toPopulate) {
221
235
  const queryData = {
222
236
  offset: 0,
@@ -226,7 +240,7 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
226
240
  populate: toPopulate,
227
241
  populateGroup: true,
228
242
  groupFilter: {
229
- limit: 100,
243
+ limit: rows,
230
244
  offset: 0
231
245
  }
232
246
  // sort: [`id:desc`],
@@ -243,182 +257,8 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
243
257
 
244
258
  }, [isDeleteSolidEntitiesSucess, toPopulate, solidKanbanViewMetaData]);
245
259
 
246
- // Handle pagination event.
247
- const onPageChange = (event: any) => {
248
- setFirst(event.first);
249
- setRows(event.rows);
250
- setQueryString(event.first, event.rows, sortField, sortOrder, filters);
251
- };
252
260
 
253
- // Handle sort event.
254
- const onSort = (event: DataTableStateEvent) => {
255
- const { sortField, sortOrder } = event;
256
- const validSortOrder = sortOrder === 1 || sortOrder === -1 ? sortOrder : 0;
257
- setSortField(sortField);
258
- setSortOrder(validSortOrder);
259
- setFirst(0);
260
- setQueryString(
261
- 0,
262
- rows,
263
- sortField,
264
- sortOrder === 1 || sortOrder === -1 ? sortOrder : 0,
265
- filters
266
- );
267
- };
268
-
269
- // handle change in the records which are currently selected...
270
- const onSelectionChange = (event: any) => {
271
- const value = event.value;
272
- setSelectedRecords(value);
273
- };
274
-
275
- const identifySolidOperatorAndValue = (primeReactMatchMode: FilterMatchMode, value: any): { operator: string, value: string | string[] | any[] } => {
276
- // @ts-ignore
277
- if (primeReactMatchMode.label && primeReactMatchMode.label === 'Not In') {
278
- primeReactMatchMode = FilterMatchMode.NOT_IN;
279
- }
280
-
281
- // Default value, this might not be useful as the solid server might not support these match modes.
282
- let solidOperator = '';
283
- let solidValue = value[0];
284
-
285
- switch (primeReactMatchMode) {
286
- case FilterMatchMode.STARTS_WITH:
287
- solidOperator = "$startsWithi";
288
- break;
289
- case FilterMatchMode.CONTAINS:
290
- solidOperator = "$containsi";
291
- break;
292
- case FilterMatchMode.NOT_CONTAINS:
293
- solidOperator = "$notContains";
294
- break;
295
- case FilterMatchMode.ENDS_WITH:
296
- solidOperator = "$endsWith";
297
- break;
298
- case FilterMatchMode.EQUALS:
299
- solidOperator = "$eqi";
300
- solidValue = value;
301
- break;
302
- case FilterMatchMode.NOT_EQUALS:
303
- solidOperator = "$nei";
304
- solidValue = value;
305
- break;
306
- case FilterMatchMode.IN:
307
- solidOperator = "$in";
308
- solidValue = value;
309
- break;
310
- case FilterMatchMode.NOT_IN:
311
- solidOperator = "$notIn";
312
- solidValue = value;
313
- break;
314
- case FilterMatchMode.LESS_THAN:
315
- solidOperator = "$lt";
316
- break;
317
- case FilterMatchMode.LESS_THAN_OR_EQUAL_TO:
318
- solidOperator = "$lte";
319
- break;
320
- case FilterMatchMode.GREATER_THAN:
321
- solidOperator = "$gt";
322
- break;
323
- case FilterMatchMode.GREATER_THAN_OR_EQUAL_TO:
324
- solidOperator = "$gte";
325
- break;
326
- case FilterMatchMode.BETWEEN:
327
- solidOperator = "$between";
328
- solidValue = value;
329
- break;
330
- }
331
-
332
- return { operator: solidOperator, value: solidValue };
333
-
334
- }
335
-
336
- // Common utility function that gets called on filter, sort & pagination events.
337
- // This function creates the query string as per the solid backend API specification
338
- const setQueryString = async (
339
- offset?: number,
340
- limit?: number,
341
- sortField?: string,
342
- sortOrder?: number,
343
- filterQuery?: any
344
- ) => {
345
-
346
- const formattedFilters: any = {};
347
- const solidFieldsMetadata = solidKanbanViewMetaData.data.solidFieldsMetadata;
348
-
349
- filterQuery.forEach((fieldData: any) => {
350
-
351
- const filterFieldMeta = solidFieldsMetadata[fieldData.field];
352
-
353
- // Some filters will not have constraints
354
- if (!fieldData.constraints) {
355
- if (fieldData.value != null) {
356
- const { operator, value } = identifySolidOperatorAndValue(fieldData.operator, fieldData.value);
357
-
358
- // Massage the filter value for relation many-to-one before sending to the server.
359
- if (filterFieldMeta.type === 'relation' && filterFieldMeta.relationType === 'many-to-one') {
360
- // @ts-ignore
361
- const manyToOneIds = value.map(i => i.value);
362
- formattedFilters[fieldData.field] = { [operator]: manyToOneIds };
363
- }
364
- // Massage the filter value for selectionStatic before sending to the server.
365
- else if (['selectionStatic', 'selectionDynamic'].includes(filterFieldMeta.type)) {
366
- // @ts-ignore
367
- const values = value.map(i => i.value);
368
- formattedFilters[fieldData.field] = { [operator]: values };
369
- }
370
- else {
371
- formattedFilters[fieldData.field] = { [operator]: value };
372
- }
373
- }
374
- }
375
- // TODO: Incase we start supporting multiple constraints in the future then we need to implement an else block here.
376
- else { }
377
-
378
- });
379
261
 
380
- const groupByFieldName = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.groupBy;
381
- const queryData: any = {
382
- offset: offset ?? first,
383
- limit: limit ?? rows,
384
- populate: toPopulate,
385
- fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
386
- groupBy: groupByFieldName,
387
- populateGroup: true,
388
- filters: formattedFilters,
389
- };
390
-
391
- // if (sortField) {
392
- // const sortFieldMetadata = solidFieldsMetadata[sortField];
393
- // if (sortFieldMetadata.type === 'relation' && sortFieldMetadata.relationType === 'many-to-one') {
394
- // sortField = `${sortField}.${sortFieldMetadata.relationModel.userKeyField.name}`;
395
- // }
396
- // queryData.sort = [
397
- // `${sortField}:${sortOrder == 0 ? null : sortOrder == 1 ? "asc" : "desc"}`,
398
- // ];
399
- // }
400
- // else {
401
- // queryData.sort = [`id:desc`];
402
- // }
403
-
404
- const queryString = qs.stringify(queryData, {
405
- encodeValuesOnly: true,
406
- });
407
-
408
- triggerGetSolidEntities(queryString);
409
- };
410
-
411
- // handle filter...
412
- const onFilter = (e: any) => {
413
- setFilters(e.filters);
414
- setQueryString(
415
- 0,
416
- rows,
417
- sortField,
418
- sortOrder === 1 || sortOrder === -1 ? sortOrder : 0,
419
- e.filters
420
- );
421
- };
422
262
 
423
263
  // clear Filter
424
264
  const clearFilter = () => {
@@ -587,18 +427,40 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
587
427
  );
588
428
  };
589
429
 
590
- const applyFilter = (filter: any) => {
591
- setQueryString(
592
- 0,
593
- rows,
594
- sortField,
595
- sortOrder === 1 || sortOrder === -1 ? sortOrder : 0,
596
- filter
597
- )
598
- console.log("filter in kanbanview", filter);
430
+
431
+ const handleSwimLinPagination = async () => {
432
+
433
+ if (solidKanbanViewMetaData) {
434
+ const groupByFieldName = solidKanbanViewMetaData?.data?.solidView?.layout?.attrs?.groupBy;
435
+ const columnsToLoadCount = solidKanbanViewMetaData?.data.solidView?.layout?.attrs?.pageSize || 5;
436
+ const queryData = {
437
+ offset: swimLaneCurrentPageNumber * 2,
438
+ limit: 2,
439
+ fields: [`${groupByFieldName}`, `count(${groupByFieldName})`],
440
+ groupBy: groupByFieldName,
441
+ populate: toPopulate,
442
+ populateGroup: true,
443
+ groupFilter: {
444
+ limit: rows,
445
+ offset: 0
446
+ }
447
+ // sort: [`id:desc`],
448
+ };
449
+ // fields=status&groupBy=status&fields=count(status)&populateGroup=true
450
+ const queryString = qs.stringify(queryData, {
451
+ encodeValuesOnly: true
452
+ });
453
+
454
+ const data: any = await triggerGetSolidEntities(queryString);
455
+ console.log("data", data);
456
+ if (data && data?.data?.groupRecords.length > 0) {
457
+ const updatedData = [...kanbanViewData, ...data.data.groupRecords];
458
+ setKanbanViewData(updatedData);
459
+ }
460
+ setSwimLaneCurrentPageNumber(swimLaneCurrentPageNumber + 1)
461
+ }
599
462
  }
600
463
 
601
-
602
464
 
603
465
  return (
604
466
  <>
@@ -629,17 +491,17 @@ export const SolidKanbanView = (params: SolidKanbanViewParams) => {
629
491
  />
630
492
  }
631
493
 
632
- {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true &&
633
- <SolidGlobalSearchElement solidKanbanViewMetaData={solidKanbanViewMetaData} applyFilter={applyFilter} filterValues={filterValues} setFilterValues={setFilterValues}></SolidGlobalSearchElement>
634
- }
494
+ {/* {solidKanbanViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true &&
495
+ // <SolidGlobalSearchElement solidKanbanViewMetaData={solidKanbanViewMetaData} applyFilter={applyFilter} filterValues={filterValues} setFilterValues={setFilterValues}></SolidGlobalSearchElement>
496
+ } */}
635
497
  </div>
636
498
 
637
- <SolidConfigureLayoutElement></SolidConfigureLayoutElement>
499
+ {/* <SolidConfigureLayoutElement></SolidConfigureLayoutElement> */}
638
500
 
639
501
  </div>
640
502
  <style>{`.p-datatable .p-datatable-loading-overlay {background-color: rgba(0, 0, 0, 0.0);}`}</style>
641
503
  {solidKanbanViewMetaData && kanbanViewData &&
642
- <KanbanBoard kanbanViewData={kanbanViewData} solidViewMetaData={solidKanbanViewMetaData?.data} setKanbanViewData={setKanbanViewData} handleLoadMore={handleLoadMore} onDragEnd={onDragEnd}></KanbanBoard>
504
+ <KanbanBoard kanbanViewData={kanbanViewData} solidViewMetaData={solidKanbanViewMetaData?.data} setKanbanViewData={setKanbanViewData} handleLoadMore={handleLoadMore} onDragEnd={onDragEnd} handleSwimLinPagination={handleSwimLinPagination}></KanbanBoard>
643
505
  }
644
506
 
645
507
  <Dialog