@wix/auto-patterns 1.7.0 → 1.9.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 (507) hide show
  1. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +10 -25
  2. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -25
  4. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  5. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +3 -2
  6. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  7. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +255 -77
  8. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  9. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +66 -21
  10. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  11. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +100 -29
  12. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  13. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +9 -4
  14. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  15. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +83 -0
  16. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  17. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +34 -6
  18. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  19. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +49 -6
  20. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  21. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +48 -6
  22. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  23. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +47 -34
  24. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  25. package/dist/cjs/components/AutoPatternsEntityPage/Fields/types.js.map +1 -1
  26. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +8 -10
  27. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  28. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +84 -0
  29. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -0
  30. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +8 -10
  31. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  32. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js +7 -8
  33. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js.map +1 -1
  34. package/dist/cjs/components/DynamicIcon.js +71 -0
  35. package/dist/cjs/components/DynamicIcon.js.map +1 -0
  36. package/dist/cjs/components/ModalRenderer.js +40 -0
  37. package/dist/cjs/components/ModalRenderer.js.map +1 -0
  38. package/dist/cjs/components/filters/DynamicCollectionFilter.js +63 -0
  39. package/dist/cjs/components/filters/DynamicCollectionFilter.js.map +1 -0
  40. package/dist/cjs/components/filters/StaticCollectionFilter.js +31 -0
  41. package/dist/cjs/components/filters/StaticCollectionFilter.js.map +1 -0
  42. package/dist/cjs/components/filters/index.js +9 -0
  43. package/dist/cjs/components/filters/index.js.map +1 -0
  44. package/dist/cjs/components/modals/actions/BulkDeleteModal.js +97 -0
  45. package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -0
  46. package/dist/cjs/components/modals/actions/CreateModal.js +138 -0
  47. package/dist/cjs/components/modals/actions/CreateModal.js.map +1 -0
  48. package/dist/cjs/components/modals/actions/EditModal.js +140 -0
  49. package/dist/cjs/components/modals/actions/EditModal.js.map +1 -0
  50. package/dist/cjs/components/modals/actions/index.js +22 -0
  51. package/dist/cjs/components/modals/actions/index.js.map +1 -0
  52. package/dist/cjs/{collectionData/CollectionData.js → components/modals/actions/types.js} +1 -1
  53. package/dist/cjs/components/modals/actions/types.js.map +1 -0
  54. package/dist/cjs/components/modals/index.js +10 -0
  55. package/dist/cjs/components/modals/index.js.map +1 -0
  56. package/dist/cjs/{collectionData/cms/CmsCollectionData.js → dataSourceAdapters/cms/cmsAdapter.js} +58 -18
  57. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -0
  58. package/dist/cjs/{collectionData → dataSourceAdapters}/cms/filterUtils.js +18 -11
  59. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -0
  60. package/dist/cjs/dataSourceAdapters/cms/sortUtils.js.map +1 -0
  61. package/dist/cjs/dataSourceAdapters/constants.js.map +1 -0
  62. package/dist/cjs/dataSourceAdapters/factory.js +34 -0
  63. package/dist/cjs/dataSourceAdapters/factory.js.map +1 -0
  64. package/dist/cjs/exports/form.js +10 -0
  65. package/dist/cjs/exports/form.js.map +1 -0
  66. package/dist/cjs/hooks/index.js +18 -0
  67. package/dist/cjs/hooks/index.js.map +1 -1
  68. package/dist/cjs/hooks/useActionCell.js +107 -0
  69. package/dist/cjs/hooks/useActionCell.js.map +1 -0
  70. package/dist/cjs/hooks/useActionsSDK.js +34 -0
  71. package/dist/cjs/hooks/useActionsSDK.js.map +1 -0
  72. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +25 -0
  73. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -0
  74. package/dist/cjs/hooks/useBaseSDK.js +35 -0
  75. package/dist/cjs/hooks/useBaseSDK.js.map +1 -0
  76. package/dist/cjs/hooks/useBulkActionToolbar.js +86 -0
  77. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -0
  78. package/dist/cjs/hooks/useCollectionPageActions.js +124 -0
  79. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -0
  80. package/dist/cjs/hooks/useColumns.js +90 -37
  81. package/dist/cjs/hooks/useColumns.js.map +1 -1
  82. package/dist/cjs/hooks/useCommonCollectionFeatures.js +24 -35
  83. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  84. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +27 -0
  85. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -0
  86. package/dist/cjs/hooks/useFetchData.js +33 -9
  87. package/dist/cjs/hooks/useFetchData.js.map +1 -1
  88. package/dist/cjs/hooks/useFilters.js +83 -92
  89. package/dist/cjs/hooks/useFilters.js.map +1 -1
  90. package/dist/cjs/hooks/useGridFeatures.js +32 -21
  91. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  92. package/dist/cjs/hooks/useNavigationUtils.js +55 -0
  93. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -0
  94. package/dist/cjs/hooks/usePagePath.js +35 -0
  95. package/dist/cjs/hooks/usePagePath.js.map +1 -0
  96. package/dist/cjs/hooks/useTableFeatures.js +23 -15
  97. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  98. package/dist/cjs/providers/AppConfigContext.js +33 -0
  99. package/dist/cjs/providers/AppConfigContext.js.map +1 -0
  100. package/dist/cjs/providers/ModalContext.js +58 -0
  101. package/dist/cjs/providers/ModalContext.js.map +1 -0
  102. package/dist/cjs/providers/OptimisticActionsContext.js +43 -0
  103. package/dist/cjs/providers/OptimisticActionsContext.js.map +1 -0
  104. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  105. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  106. package/dist/cjs/providers/RootAppProvider.js +48 -0
  107. package/dist/cjs/providers/RootAppProvider.js.map +1 -0
  108. package/dist/cjs/providers/SchemaContext.js +49 -5
  109. package/dist/cjs/providers/SchemaContext.js.map +1 -1
  110. package/dist/cjs/providers/SchemaRegistryContext.js +49 -0
  111. package/dist/cjs/providers/SchemaRegistryContext.js.map +1 -0
  112. package/dist/cjs/providers/index.js +22 -4
  113. package/dist/cjs/providers/index.js.map +1 -1
  114. package/dist/cjs/types/BaseSDK.js +4 -0
  115. package/dist/cjs/types/BaseSDK.js.map +1 -0
  116. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  117. package/dist/cjs/types/EntityPageConfig.js.map +1 -1
  118. package/dist/cjs/types/actions/actionCell.js +4 -0
  119. package/dist/cjs/types/actions/actionCell.js.map +1 -0
  120. package/dist/cjs/types/actions/base.js +4 -0
  121. package/dist/cjs/types/actions/base.js.map +1 -0
  122. package/dist/cjs/types/actions/bulkActions.js +4 -0
  123. package/dist/cjs/types/actions/bulkActions.js.map +1 -0
  124. package/dist/cjs/types/actions/collectionPageActions.js +4 -0
  125. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -0
  126. package/dist/cjs/types/actions/index.js +28 -0
  127. package/dist/cjs/types/actions/index.js.map +1 -0
  128. package/dist/cjs/types/index.js +18 -0
  129. package/dist/cjs/types/index.js.map +1 -1
  130. package/dist/cjs/types/types.js.map +1 -1
  131. package/dist/cjs/utils/actions/bulkDeleteAction.js +26 -0
  132. package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -0
  133. package/dist/cjs/utils/actions/createAction.js +38 -0
  134. package/dist/cjs/utils/actions/createAction.js.map +1 -0
  135. package/dist/cjs/utils/actions/customAction.js +23 -0
  136. package/dist/cjs/utils/actions/customAction.js.map +1 -0
  137. package/dist/cjs/utils/actions/customModalAction.js +22 -0
  138. package/dist/cjs/utils/actions/customModalAction.js.map +1 -0
  139. package/dist/cjs/utils/actions/deleteAction.js +63 -0
  140. package/dist/cjs/utils/actions/deleteAction.js.map +1 -0
  141. package/dist/cjs/utils/actions/index.js +46 -0
  142. package/dist/cjs/utils/actions/index.js.map +1 -0
  143. package/dist/cjs/utils/actions/resolveAction.js +27 -0
  144. package/dist/cjs/utils/actions/resolveAction.js.map +1 -0
  145. package/dist/cjs/utils/actions/types.js +4 -0
  146. package/dist/cjs/utils/actions/types.js.map +1 -0
  147. package/dist/cjs/utils/actions/updateAction.js +40 -0
  148. package/dist/cjs/utils/actions/updateAction.js.map +1 -0
  149. package/dist/cjs/utils/filterCreators.js +137 -0
  150. package/dist/cjs/utils/filterCreators.js.map +1 -0
  151. package/dist/cjs/utils/media/getImageUrl.js +22 -0
  152. package/dist/cjs/utils/media/getImageUrl.js.map +1 -0
  153. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +6 -14
  154. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  155. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +6 -5
  156. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  157. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -0
  158. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  159. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +168 -40
  160. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  161. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +66 -21
  162. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  163. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +96 -25
  164. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  165. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +9 -4
  166. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  167. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +64 -0
  168. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  169. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +33 -5
  170. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  171. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +48 -5
  172. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  173. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +48 -6
  174. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  175. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +43 -27
  176. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  177. package/dist/esm/components/AutoPatternsEntityPage/Fields/types.js.map +1 -1
  178. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +5 -6
  179. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  180. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js +47 -0
  181. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -0
  182. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +5 -6
  183. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  184. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js +9 -10
  185. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js.map +1 -1
  186. package/dist/esm/components/DynamicIcon.js +33 -0
  187. package/dist/esm/components/DynamicIcon.js.map +1 -0
  188. package/dist/esm/components/ModalRenderer.js +25 -0
  189. package/dist/esm/components/ModalRenderer.js.map +1 -0
  190. package/dist/esm/components/filters/DynamicCollectionFilter.js +50 -0
  191. package/dist/esm/components/filters/DynamicCollectionFilter.js.map +1 -0
  192. package/dist/esm/components/filters/StaticCollectionFilter.js +18 -0
  193. package/dist/esm/components/filters/StaticCollectionFilter.js.map +1 -0
  194. package/dist/esm/components/filters/index.js +3 -0
  195. package/dist/esm/components/filters/index.js.map +1 -0
  196. package/dist/esm/components/modals/actions/BulkDeleteModal.js +59 -0
  197. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -0
  198. package/dist/esm/components/modals/actions/CreateModal.js +80 -0
  199. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -0
  200. package/dist/esm/components/modals/actions/EditModal.js +82 -0
  201. package/dist/esm/components/modals/actions/EditModal.js.map +1 -0
  202. package/dist/esm/components/modals/actions/index.js +4 -0
  203. package/dist/esm/components/modals/actions/index.js.map +1 -0
  204. package/dist/esm/components/modals/actions/types.js +2 -0
  205. package/dist/esm/components/modals/actions/types.js.map +1 -0
  206. package/dist/esm/components/modals/index.js +2 -0
  207. package/dist/esm/components/modals/index.js.map +1 -0
  208. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +132 -0
  209. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -0
  210. package/dist/esm/{collectionData → dataSourceAdapters}/cms/filterUtils.js +18 -11
  211. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -0
  212. package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -0
  213. package/dist/esm/dataSourceAdapters/constants.js.map +1 -0
  214. package/dist/esm/dataSourceAdapters/factory.js +30 -0
  215. package/dist/esm/dataSourceAdapters/factory.js.map +1 -0
  216. package/dist/esm/exports/form.js +2 -0
  217. package/dist/esm/exports/form.js.map +1 -0
  218. package/dist/esm/hooks/index.js +3 -0
  219. package/dist/esm/hooks/index.js.map +1 -1
  220. package/dist/esm/hooks/useActionCell.js +103 -0
  221. package/dist/esm/hooks/useActionCell.js.map +1 -0
  222. package/dist/esm/hooks/useActionsSDK.js +30 -0
  223. package/dist/esm/hooks/useActionsSDK.js.map +1 -0
  224. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +23 -0
  225. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -0
  226. package/dist/esm/hooks/useBaseSDK.js +30 -0
  227. package/dist/esm/hooks/useBaseSDK.js.map +1 -0
  228. package/dist/esm/hooks/useBulkActionToolbar.js +73 -0
  229. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -0
  230. package/dist/esm/hooks/useCollectionPageActions.js +101 -0
  231. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -0
  232. package/dist/esm/hooks/useColumns.js +70 -38
  233. package/dist/esm/hooks/useColumns.js.map +1 -1
  234. package/dist/esm/hooks/useCommonCollectionFeatures.js +20 -24
  235. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  236. package/dist/esm/hooks/useEntityPageHeaderTexts.js +23 -0
  237. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -0
  238. package/dist/esm/hooks/useFetchData.js +34 -10
  239. package/dist/esm/hooks/useFetchData.js.map +1 -1
  240. package/dist/esm/hooks/useFilters.js +75 -85
  241. package/dist/esm/hooks/useFilters.js.map +1 -1
  242. package/dist/esm/hooks/useGridFeatures.js +32 -21
  243. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  244. package/dist/esm/hooks/useNavigationUtils.js +51 -0
  245. package/dist/esm/hooks/useNavigationUtils.js.map +1 -0
  246. package/dist/esm/hooks/usePagePath.js +30 -0
  247. package/dist/esm/hooks/usePagePath.js.map +1 -0
  248. package/dist/esm/hooks/useTableFeatures.js +20 -13
  249. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  250. package/dist/esm/providers/AppConfigContext.js +19 -0
  251. package/dist/esm/providers/AppConfigContext.js.map +1 -0
  252. package/dist/esm/providers/ModalContext.js +37 -0
  253. package/dist/esm/providers/ModalContext.js.map +1 -0
  254. package/dist/esm/providers/OptimisticActionsContext.js +29 -0
  255. package/dist/esm/providers/OptimisticActionsContext.js.map +1 -0
  256. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  257. package/dist/esm/providers/RootAppProvider.js +15 -0
  258. package/dist/esm/providers/RootAppProvider.js.map +1 -0
  259. package/dist/esm/providers/SchemaContext.js +48 -4
  260. package/dist/esm/providers/SchemaContext.js.map +1 -1
  261. package/dist/esm/providers/SchemaRegistryContext.js +35 -0
  262. package/dist/esm/providers/SchemaRegistryContext.js.map +1 -0
  263. package/dist/esm/providers/index.js +4 -1
  264. package/dist/esm/providers/index.js.map +1 -1
  265. package/dist/esm/types/BaseSDK.js +2 -0
  266. package/dist/esm/types/BaseSDK.js.map +1 -0
  267. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  268. package/dist/esm/types/EntityPageConfig.js.map +1 -1
  269. package/dist/esm/types/actions/actionCell.js +2 -0
  270. package/dist/esm/types/actions/actionCell.js.map +1 -0
  271. package/dist/esm/types/actions/base.js +2 -0
  272. package/dist/esm/types/actions/base.js.map +1 -0
  273. package/dist/esm/types/actions/bulkActions.js +2 -0
  274. package/dist/esm/types/actions/bulkActions.js.map +1 -0
  275. package/dist/esm/types/actions/collectionPageActions.js +2 -0
  276. package/dist/esm/types/actions/collectionPageActions.js.map +1 -0
  277. package/dist/esm/types/actions/index.js +5 -0
  278. package/dist/esm/types/actions/index.js.map +1 -0
  279. package/dist/esm/types/index.js +3 -0
  280. package/dist/esm/types/index.js.map +1 -1
  281. package/dist/esm/types/types.js.map +1 -1
  282. package/dist/esm/utils/actions/bulkDeleteAction.js +21 -0
  283. package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -0
  284. package/dist/esm/utils/actions/createAction.js +33 -0
  285. package/dist/esm/utils/actions/createAction.js.map +1 -0
  286. package/dist/esm/utils/actions/customAction.js +18 -0
  287. package/dist/esm/utils/actions/customAction.js.map +1 -0
  288. package/dist/esm/utils/actions/customModalAction.js +17 -0
  289. package/dist/esm/utils/actions/customModalAction.js.map +1 -0
  290. package/dist/esm/utils/actions/deleteAction.js +58 -0
  291. package/dist/esm/utils/actions/deleteAction.js.map +1 -0
  292. package/dist/esm/utils/actions/index.js +9 -0
  293. package/dist/esm/utils/actions/index.js.map +1 -0
  294. package/dist/esm/utils/actions/resolveAction.js +13 -0
  295. package/dist/esm/utils/actions/resolveAction.js.map +1 -0
  296. package/dist/esm/utils/actions/types.js +2 -0
  297. package/dist/esm/utils/actions/types.js.map +1 -0
  298. package/dist/esm/utils/actions/updateAction.js +35 -0
  299. package/dist/esm/utils/actions/updateAction.js.map +1 -0
  300. package/dist/esm/utils/filterCreators.js +139 -0
  301. package/dist/esm/utils/filterCreators.js.map +1 -0
  302. package/dist/esm/utils/media/getImageUrl.js +16 -0
  303. package/dist/esm/utils/media/getImageUrl.js.map +1 -0
  304. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +2 -2
  305. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
  306. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  307. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  308. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  309. package/dist/types/components/AutoPatternsEntityPage/Fields/Checkbox.d.ts.map +1 -1
  310. package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +1 -1
  311. package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
  312. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts +3 -1
  313. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
  314. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts +6 -0
  315. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -0
  316. package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +1 -1
  317. package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +1 -1
  318. package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +1 -1
  319. package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +1 -1
  320. package/dist/types/components/AutoPatternsEntityPage/Fields/types.d.ts +2 -0
  321. package/dist/types/components/AutoPatternsEntityPage/Fields/types.d.ts.map +1 -1
  322. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/dates.d.ts.map +1 -1
  323. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
  324. package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts.map +1 -1
  325. package/dist/types/components/AutoPatternsRoute/AutoPatternsPage.d.ts.map +1 -1
  326. package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts +6 -0
  327. package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts.map +1 -0
  328. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
  329. package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts.map +1 -1
  330. package/dist/types/components/DynamicIcon.d.ts +6 -0
  331. package/dist/types/components/DynamicIcon.d.ts.map +1 -0
  332. package/dist/types/components/ModalRenderer.d.ts +3 -0
  333. package/dist/types/components/ModalRenderer.d.ts.map +1 -0
  334. package/dist/types/components/filters/DynamicCollectionFilter.d.ts +12 -0
  335. package/dist/types/components/filters/DynamicCollectionFilter.d.ts.map +1 -0
  336. package/dist/types/components/filters/StaticCollectionFilter.d.ts +14 -0
  337. package/dist/types/components/filters/StaticCollectionFilter.d.ts.map +1 -0
  338. package/dist/types/components/filters/index.d.ts +3 -0
  339. package/dist/types/components/filters/index.d.ts.map +1 -0
  340. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +9 -0
  341. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -0
  342. package/dist/types/components/modals/actions/CreateModal.d.ts +8 -0
  343. package/dist/types/components/modals/actions/CreateModal.d.ts.map +1 -0
  344. package/dist/types/components/modals/actions/EditModal.d.ts +11 -0
  345. package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -0
  346. package/dist/types/components/modals/actions/index.d.ts +4 -0
  347. package/dist/types/components/modals/actions/index.d.ts.map +1 -0
  348. package/dist/types/components/modals/actions/types.d.ts +7 -0
  349. package/dist/types/components/modals/actions/types.d.ts.map +1 -0
  350. package/dist/types/components/modals/index.d.ts +2 -0
  351. package/dist/types/components/modals/index.d.ts.map +1 -0
  352. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts +14 -0
  353. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -0
  354. package/dist/types/{collectionData → dataSourceAdapters}/cms/filterUtils.d.ts +3 -2
  355. package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -0
  356. package/dist/types/dataSourceAdapters/cms/sortUtils.d.ts.map +1 -0
  357. package/dist/types/dataSourceAdapters/constants.d.ts.map +1 -0
  358. package/dist/types/dataSourceAdapters/factory.d.ts +13 -0
  359. package/dist/types/dataSourceAdapters/factory.d.ts.map +1 -0
  360. package/dist/types/exports/form.d.ts +2 -0
  361. package/dist/types/exports/form.d.ts.map +1 -0
  362. package/dist/types/hooks/index.d.ts +3 -0
  363. package/dist/types/hooks/index.d.ts.map +1 -1
  364. package/dist/types/hooks/useActionCell.d.ts +9 -0
  365. package/dist/types/hooks/useActionCell.d.ts.map +1 -0
  366. package/dist/types/hooks/useActionsSDK.d.ts +6 -0
  367. package/dist/types/hooks/useActionsSDK.d.ts.map +1 -0
  368. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +3 -0
  369. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -0
  370. package/dist/types/hooks/useBaseSDK.d.ts +3 -0
  371. package/dist/types/hooks/useBaseSDK.d.ts.map +1 -0
  372. package/dist/types/hooks/useBulkActionToolbar.d.ts +10 -0
  373. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -0
  374. package/dist/types/hooks/useCollectionPageActions.d.ts +10 -0
  375. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -0
  376. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  377. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +9 -9
  378. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  379. package/dist/types/hooks/useEmptyStates.d.ts.map +1 -1
  380. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +18 -0
  381. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -0
  382. package/dist/types/hooks/useFetchData.d.ts +6 -2
  383. package/dist/types/hooks/useFetchData.d.ts.map +1 -1
  384. package/dist/types/hooks/useFilters.d.ts +5 -1
  385. package/dist/types/hooks/useFilters.d.ts.map +1 -1
  386. package/dist/types/hooks/useGridFeatures.d.ts +3 -8
  387. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  388. package/dist/types/hooks/useNavigationUtils.d.ts +10 -0
  389. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -0
  390. package/dist/types/hooks/usePagePath.d.ts +5 -0
  391. package/dist/types/hooks/usePagePath.d.ts.map +1 -0
  392. package/dist/types/hooks/useTableFeatures.d.ts +3 -7
  393. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  394. package/dist/types/providers/AppConfigContext.d.ts +8 -0
  395. package/dist/types/providers/AppConfigContext.d.ts.map +1 -0
  396. package/dist/types/providers/ModalContext.d.ts +20 -0
  397. package/dist/types/providers/ModalContext.d.ts.map +1 -0
  398. package/dist/types/providers/OptimisticActionsContext.d.ts +12 -0
  399. package/dist/types/providers/OptimisticActionsContext.d.ts.map +1 -0
  400. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +5 -4
  401. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  402. package/dist/types/providers/RootAppProvider.d.ts +7 -0
  403. package/dist/types/providers/RootAppProvider.d.ts.map +1 -0
  404. package/dist/types/providers/SchemaContext.d.ts.map +1 -1
  405. package/dist/types/providers/SchemaRegistryContext.d.ts +13 -0
  406. package/dist/types/providers/SchemaRegistryContext.d.ts.map +1 -0
  407. package/dist/types/providers/index.d.ts +4 -1
  408. package/dist/types/providers/index.d.ts.map +1 -1
  409. package/dist/types/types/BaseSDK.d.ts +12 -0
  410. package/dist/types/types/BaseSDK.d.ts.map +1 -0
  411. package/dist/types/types/CollectionPageConfig.d.ts +37 -32
  412. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  413. package/dist/types/types/EntityPageConfig.d.ts +51 -2
  414. package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
  415. package/dist/types/types/actions/actionCell.d.ts +24 -0
  416. package/dist/types/types/actions/actionCell.d.ts.map +1 -0
  417. package/dist/types/types/actions/base.d.ts +102 -0
  418. package/dist/types/types/actions/base.d.ts.map +1 -0
  419. package/dist/types/types/actions/bulkActions.d.ts +28 -0
  420. package/dist/types/types/actions/bulkActions.d.ts.map +1 -0
  421. package/dist/types/types/actions/collectionPageActions.d.ts +27 -0
  422. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -0
  423. package/dist/types/types/actions/index.d.ts +5 -0
  424. package/dist/types/types/actions/index.d.ts.map +1 -0
  425. package/dist/types/types/index.d.ts +3 -0
  426. package/dist/types/types/index.d.ts.map +1 -1
  427. package/dist/types/types/types.d.ts +47 -12
  428. package/dist/types/types/types.d.ts.map +1 -1
  429. package/dist/types/utils/actions/bulkDeleteAction.d.ts +7 -0
  430. package/dist/types/utils/actions/bulkDeleteAction.d.ts.map +1 -0
  431. package/dist/types/utils/actions/createAction.d.ts +7 -0
  432. package/dist/types/utils/actions/createAction.d.ts.map +1 -0
  433. package/dist/types/utils/actions/customAction.d.ts +3 -0
  434. package/dist/types/utils/actions/customAction.d.ts.map +1 -0
  435. package/dist/types/utils/actions/customModalAction.d.ts +5 -0
  436. package/dist/types/utils/actions/customModalAction.d.ts.map +1 -0
  437. package/dist/types/utils/actions/deleteAction.d.ts +7 -0
  438. package/dist/types/utils/actions/deleteAction.d.ts.map +1 -0
  439. package/dist/types/utils/actions/index.d.ts +9 -0
  440. package/dist/types/utils/actions/index.d.ts.map +1 -0
  441. package/dist/types/utils/actions/resolveAction.d.ts +11 -0
  442. package/dist/types/utils/actions/resolveAction.d.ts.map +1 -0
  443. package/dist/types/utils/actions/types.d.ts +61 -0
  444. package/dist/types/utils/actions/types.d.ts.map +1 -0
  445. package/dist/types/utils/actions/updateAction.d.ts +7 -0
  446. package/dist/types/utils/actions/updateAction.d.ts.map +1 -0
  447. package/dist/types/utils/filterCreators.d.ts +48 -0
  448. package/dist/types/utils/filterCreators.d.ts.map +1 -0
  449. package/dist/types/utils/media/getImageUrl.d.ts +3 -0
  450. package/dist/types/utils/media/getImageUrl.d.ts.map +1 -0
  451. package/form/package.json +6 -0
  452. package/package.json +11 -8
  453. package/dist/cjs/collectionData/CollectionData.js.map +0 -1
  454. package/dist/cjs/collectionData/CollectionDataFactory.js +0 -12
  455. package/dist/cjs/collectionData/CollectionDataFactory.js.map +0 -1
  456. package/dist/cjs/collectionData/SchemaFactory.js +0 -12
  457. package/dist/cjs/collectionData/SchemaFactory.js.map +0 -1
  458. package/dist/cjs/collectionData/cms/CmsCollectionData.js.map +0 -1
  459. package/dist/cjs/collectionData/cms/filterUtils.js.map +0 -1
  460. package/dist/cjs/collectionData/cms/sortUtils.js.map +0 -1
  461. package/dist/cjs/collectionData/constants.js.map +0 -1
  462. package/dist/cjs/collectionData/index.js +0 -10
  463. package/dist/cjs/collectionData/index.js.map +0 -1
  464. package/dist/cjs/providers/CollectionDataContext.js +0 -44
  465. package/dist/cjs/providers/CollectionDataContext.js.map +0 -1
  466. package/dist/cjs/utils/filters.js +0 -53
  467. package/dist/cjs/utils/filters.js.map +0 -1
  468. package/dist/esm/collectionData/CollectionData.js +0 -2
  469. package/dist/esm/collectionData/CollectionData.js.map +0 -1
  470. package/dist/esm/collectionData/CollectionDataFactory.js +0 -8
  471. package/dist/esm/collectionData/CollectionDataFactory.js.map +0 -1
  472. package/dist/esm/collectionData/SchemaFactory.js +0 -8
  473. package/dist/esm/collectionData/SchemaFactory.js.map +0 -1
  474. package/dist/esm/collectionData/cms/CmsCollectionData.js +0 -91
  475. package/dist/esm/collectionData/cms/CmsCollectionData.js.map +0 -1
  476. package/dist/esm/collectionData/cms/filterUtils.js.map +0 -1
  477. package/dist/esm/collectionData/cms/sortUtils.js.map +0 -1
  478. package/dist/esm/collectionData/constants.js.map +0 -1
  479. package/dist/esm/collectionData/index.js +0 -2
  480. package/dist/esm/collectionData/index.js.map +0 -1
  481. package/dist/esm/providers/CollectionDataContext.js +0 -30
  482. package/dist/esm/providers/CollectionDataContext.js.map +0 -1
  483. package/dist/esm/utils/filters.js +0 -49
  484. package/dist/esm/utils/filters.js.map +0 -1
  485. package/dist/types/collectionData/CollectionData.d.ts +0 -9
  486. package/dist/types/collectionData/CollectionData.d.ts.map +0 -1
  487. package/dist/types/collectionData/CollectionDataFactory.d.ts +0 -4
  488. package/dist/types/collectionData/CollectionDataFactory.d.ts.map +0 -1
  489. package/dist/types/collectionData/SchemaFactory.d.ts +0 -3
  490. package/dist/types/collectionData/SchemaFactory.d.ts.map +0 -1
  491. package/dist/types/collectionData/cms/CmsCollectionData.d.ts +0 -8
  492. package/dist/types/collectionData/cms/CmsCollectionData.d.ts.map +0 -1
  493. package/dist/types/collectionData/cms/filterUtils.d.ts.map +0 -1
  494. package/dist/types/collectionData/cms/sortUtils.d.ts.map +0 -1
  495. package/dist/types/collectionData/constants.d.ts.map +0 -1
  496. package/dist/types/collectionData/index.d.ts +0 -2
  497. package/dist/types/collectionData/index.d.ts.map +0 -1
  498. package/dist/types/providers/CollectionDataContext.d.ts +0 -12
  499. package/dist/types/providers/CollectionDataContext.d.ts.map +0 -1
  500. package/dist/types/utils/filters.d.ts +0 -7
  501. package/dist/types/utils/filters.d.ts.map +0 -1
  502. /package/dist/cjs/{collectionData → dataSourceAdapters}/cms/sortUtils.js +0 -0
  503. /package/dist/cjs/{collectionData → dataSourceAdapters}/constants.js +0 -0
  504. /package/dist/esm/{collectionData → dataSourceAdapters}/cms/sortUtils.js +0 -0
  505. /package/dist/esm/{collectionData → dataSourceAdapters}/constants.js +0 -0
  506. /package/dist/types/{collectionData → dataSourceAdapters}/cms/sortUtils.d.ts +0 -0
  507. /package/dist/types/{collectionData → dataSourceAdapters}/constants.d.ts +0 -0
@@ -0,0 +1,80 @@
1
+ import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';
2
+ import React, { useState } from 'react';
3
+ export const CreateModal = _ref => {
4
+ var _modalParams$title, _modalParams$actions, _modalParams$actions2;
5
+ let {
6
+ sdk,
7
+ modalParams
8
+ } = _ref;
9
+ const [values, setValues] = useState(modalParams.fields.reduce((acc, field) => {
10
+ acc[field.id] = '';
11
+ return acc;
12
+ }, {}));
13
+ const {
14
+ closeModal
15
+ } = sdk;
16
+ const {
17
+ getOptimisticActions,
18
+ collectionId
19
+ } = sdk;
20
+ const optimisticActions = getOptimisticActions(collectionId);
21
+ return /*#__PURE__*/React.createElement(Modal, {
22
+ isOpen: true,
23
+ onRequestClose: closeModal
24
+ }, /*#__PURE__*/React.createElement(CustomModalLayout, {
25
+ title: ((_modalParams$title = modalParams.title) == null ? void 0 : _modalParams$title.text) || 'Create',
26
+ onCloseButtonClick: () => {
27
+ closeModal();
28
+ },
29
+ primaryButtonOnClick: () => {
30
+ var _modalParams$feedback;
31
+ const schema = sdk.getSchema(sdk.collectionId);
32
+ const createdItem = {
33
+ ...values
34
+ };
35
+ optimisticActions == null || optimisticActions.createOne(createdItem, {
36
+ successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item created successfully',
37
+ errorToast: () => {
38
+ var _modalParams$feedback2;
39
+ return ((_modalParams$feedback2 = modalParams.feedback) == null || (_modalParams$feedback2 = _modalParams$feedback2.errorToast) == null ? void 0 : _modalParams$feedback2.text) || 'Failed to create item';
40
+ },
41
+ submit: async () => {
42
+ if (!schema) {
43
+ throw new Error('Schema not found');
44
+ }
45
+ const result = await schema.actions.create(createdItem);
46
+ return [result];
47
+ }
48
+ });
49
+ closeModal();
50
+ },
51
+ secondaryButtonOnClick: () => {
52
+ closeModal();
53
+ },
54
+ primaryButtonText: ((_modalParams$actions = modalParams.actions) == null || (_modalParams$actions = _modalParams$actions.submit) == null ? void 0 : _modalParams$actions.text) || 'Save',
55
+ secondaryButtonText: ((_modalParams$actions2 = modalParams.actions) == null || (_modalParams$actions2 = _modalParams$actions2.cancel) == null ? void 0 : _modalParams$actions2.text) || 'Cancel',
56
+ content: /*#__PURE__*/React.createElement(Box, {
57
+ direction: "vertical",
58
+ width: "552px",
59
+ gap: "SP2",
60
+ paddingTop: "SP1",
61
+ paddingBottom: "SP1"
62
+ }, modalParams.fields.map(field => {
63
+ return /*#__PURE__*/React.createElement(Box, {
64
+ key: field.id,
65
+ direction: "vertical",
66
+ width: "100%",
67
+ gap: "SP2"
68
+ }, /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Text, null, field.label)), /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Input, {
69
+ value: values[field.id],
70
+ onChange: e => {
71
+ setValues(prev => ({
72
+ ...prev,
73
+ [field.id]: e.target.value
74
+ }));
75
+ }
76
+ })));
77
+ }))
78
+ }));
79
+ };
80
+ //# sourceMappingURL=CreateModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","CreateModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sdk","modalParams","values","setValues","fields","reduce","acc","field","id","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","createdItem","createOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","create","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/CreateModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { CreateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface CreateModalProps extends ActionModalProps {\n modalParams: CreateActionModal;\n}\n\nexport const CreateModal = ({ sdk, modalParams }: CreateModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = '';\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Create'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const createdItem = { ...values };\n optimisticActions?.createOne(createdItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item created successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to create item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.create(createdItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';
2
+ import React, { useState } from 'react';
3
+ export const EditModal = _ref => {
4
+ var _modalParams$title, _modalParams$actions, _modalParams$actions2;
5
+ let {
6
+ sdk,
7
+ modalParams,
8
+ actionParams
9
+ } = _ref;
10
+ const [values, setValues] = useState(modalParams.fields.reduce((acc, field) => {
11
+ acc[field.id] = actionParams.item[field.id];
12
+ return acc;
13
+ }, {}));
14
+ const {
15
+ closeModal
16
+ } = sdk;
17
+ const {
18
+ getOptimisticActions,
19
+ collectionId
20
+ } = sdk;
21
+ const optimisticActions = getOptimisticActions(collectionId);
22
+ return /*#__PURE__*/React.createElement(Modal, {
23
+ isOpen: true,
24
+ onRequestClose: closeModal
25
+ }, /*#__PURE__*/React.createElement(CustomModalLayout, {
26
+ title: ((_modalParams$title = modalParams.title) == null ? void 0 : _modalParams$title.text) || 'Edit',
27
+ onCloseButtonClick: () => {
28
+ closeModal();
29
+ },
30
+ primaryButtonOnClick: () => {
31
+ var _modalParams$feedback;
32
+ const schema = sdk.getSchema(sdk.collectionId);
33
+ const updatedItem = {
34
+ ...actionParams.item,
35
+ ...values
36
+ };
37
+ optimisticActions == null || optimisticActions.updateOne(updatedItem, {
38
+ successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item updated successfully',
39
+ errorToast: () => {
40
+ var _modalParams$feedback2;
41
+ return ((_modalParams$feedback2 = modalParams.feedback) == null || (_modalParams$feedback2 = _modalParams$feedback2.errorToast) == null ? void 0 : _modalParams$feedback2.text) || 'Failed to update item';
42
+ },
43
+ submit: async () => {
44
+ if (!schema) {
45
+ throw new Error('Schema not found');
46
+ }
47
+ const result = await schema.actions.update(updatedItem);
48
+ return [result];
49
+ }
50
+ });
51
+ closeModal();
52
+ },
53
+ secondaryButtonOnClick: () => {
54
+ closeModal();
55
+ },
56
+ primaryButtonText: ((_modalParams$actions = modalParams.actions) == null || (_modalParams$actions = _modalParams$actions.submit) == null ? void 0 : _modalParams$actions.text) || 'Save',
57
+ secondaryButtonText: ((_modalParams$actions2 = modalParams.actions) == null || (_modalParams$actions2 = _modalParams$actions2.cancel) == null ? void 0 : _modalParams$actions2.text) || 'Cancel',
58
+ content: /*#__PURE__*/React.createElement(Box, {
59
+ direction: "vertical",
60
+ width: "552px",
61
+ gap: "SP2",
62
+ paddingTop: "SP1",
63
+ paddingBottom: "SP1"
64
+ }, modalParams.fields.map(field => {
65
+ return /*#__PURE__*/React.createElement(Box, {
66
+ key: field.id,
67
+ direction: "vertical",
68
+ width: "100%",
69
+ gap: "SP2"
70
+ }, /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Text, null, field.label)), /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Input, {
71
+ value: values[field.id],
72
+ onChange: e => {
73
+ setValues(prev => ({
74
+ ...prev,
75
+ [field.id]: e.target.value
76
+ }));
77
+ }
78
+ })));
79
+ }))
80
+ }));
81
+ };
82
+ //# sourceMappingURL=EditModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","EditModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sdk","modalParams","actionParams","values","setValues","fields","reduce","acc","field","id","item","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","updatedItem","updateOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","update","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/EditModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { UpdateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface EditModalProps extends ActionModalProps {\n modalParams: UpdateActionModal;\n actionParams: { item: any };\n}\n\nexport const EditModal = ({\n sdk,\n modalParams,\n actionParams,\n}: EditModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = actionParams.item[field.id];\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Edit'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const updatedItem = { ...actionParams.item, ...values };\n optimisticActions?.updateOne(updatedItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item updated successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to update item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.update(updatedItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export * from './BulkDeleteModal';
2
+ export * from './EditModal';
3
+ export * from './CreateModal';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../../src/components/modals/actions/index.ts"],"sourcesContent":["export * from './BulkDeleteModal';\nexport * from './EditModal';\nexport * from './CreateModal';\n"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,eAAe","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../../src/components/modals/actions/types.ts"],"sourcesContent":["import { ActionsSDK } from '../../../types';\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './actions';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/components/modals/index.tsx"],"sourcesContent":["export * from './actions';\n"],"mappings":"AAAA,cAAc,WAAW","ignoreList":[]}
@@ -0,0 +1,132 @@
1
+ import { collections, items } from '@wix/data';
2
+ import { addFiltersToDataQuery, addSearchToDataQuery } from './filterUtils';
3
+ import { addSortToDataQuery } from './sortUtils';
4
+ export const CmsFieldTypeToPatternsFieldType = {
5
+ [collections.Type.TEXT]: 'SHORT_TEXT',
6
+ [collections.Type.DATE]: 'DATE',
7
+ [collections.Type.DATETIME]: 'DATETIME',
8
+ [collections.Type.NUMBER]: 'NUMBER',
9
+ [collections.Type.BOOLEAN]: 'BOOLEAN',
10
+ [collections.Type.URL]: 'URL',
11
+ [collections.Type.ADDRESS]: 'SHORT_TEXT',
12
+ [collections.Type.OBJECT]: 'LONG_TEXT',
13
+ [collections.Type.RICH_TEXT]: 'LONG_TEXT',
14
+ [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',
15
+ [collections.Type.ARRAY]: 'ARRAY',
16
+ [collections.Type.ARRAY_STRING]: 'ARRAY',
17
+ [collections.Type.REFERENCE]: 'REFERENCE',
18
+ [collections.Type.IMAGE]: 'IMAGE'
19
+ };
20
+ export async function fetchCmsSchema(collectionId) {
21
+ var _schema$fields$find;
22
+ const schema = await collections.getDataCollection(collectionId);
23
+ return {
24
+ id: collectionId,
25
+ displayField: schema.displayField ?? '_id',
26
+ idField: '_id',
27
+ imageField: (_schema$fields$find = schema.fields.find(field => field.type === 'IMAGE')) == null ? void 0 : _schema$fields$find.key,
28
+ fields: schema.fields.reduce((acc, field) => {
29
+ var _field$capabilities, _field$capabilities2, _field$typeMetadata;
30
+ if (!field.key) {
31
+ return acc;
32
+ }
33
+ const fieldType = field.type ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT' : 'SHORT_TEXT';
34
+ const baseField = {
35
+ id: field.key,
36
+ displayName: field.displayName || '',
37
+ validation: {
38
+ numberRange: field.numberRange ? {
39
+ min: field.numberRange.min ?? undefined,
40
+ max: field.numberRange.max ?? undefined
41
+ } : undefined,
42
+ stringLengthRange: field.stringLengthRange ? {
43
+ minLength: field.stringLengthRange.minLength ?? undefined,
44
+ maxLength: field.stringLengthRange.maxLength ?? undefined
45
+ } : undefined,
46
+ required: field.required ?? false
47
+ },
48
+ capabilities: {
49
+ supportedQueryOperators: ((_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.queryOperators) || [],
50
+ sortable: ((_field$capabilities2 = field.capabilities) == null ? void 0 : _field$capabilities2.sortable) || false
51
+ }
52
+ };
53
+ if (fieldType === 'REFERENCE' && (_field$typeMetadata = field.typeMetadata) != null && (_field$typeMetadata = _field$typeMetadata.reference) != null && _field$typeMetadata.referencedCollectionId) {
54
+ const referenceField = {
55
+ ...baseField,
56
+ type: 'REFERENCE',
57
+ referenceMetadata: {
58
+ referencedCollectionId: field.typeMetadata.reference.referencedCollectionId
59
+ }
60
+ };
61
+ acc[field.key] = referenceField;
62
+ } else {
63
+ const nonReferenceType = fieldType === 'REFERENCE' ? 'SHORT_TEXT' : fieldType;
64
+ const nonReferenceField = {
65
+ ...baseField,
66
+ type: nonReferenceType
67
+ };
68
+ acc[field.key] = nonReferenceField;
69
+ }
70
+ return acc;
71
+ }, {}),
72
+ actions: {
73
+ get: entityId => {
74
+ return items.get(collectionId, entityId);
75
+ },
76
+ create: entity => {
77
+ return items.insert(collectionId, entity);
78
+ },
79
+ update: entity => {
80
+ return items.update(collectionId, entity);
81
+ },
82
+ delete: entityId => {
83
+ return items.remove(collectionId, entityId);
84
+ },
85
+ bulkDelete: entityIds => {
86
+ return items.bulkRemove(collectionId, entityIds);
87
+ }
88
+ }
89
+ };
90
+ }
91
+ export function createCmsDataProvider(_ref) {
92
+ let {
93
+ collectionId,
94
+ schema,
95
+ visibleFieldIds,
96
+ filtersMapping
97
+ } = _ref;
98
+ return {
99
+ fetchData: async query => {
100
+ let dataQuery = items.query(collectionId);
101
+ dataQuery = addSearchToDataQuery({
102
+ dataQuery,
103
+ query,
104
+ schema,
105
+ visibleFieldIds
106
+ });
107
+ dataQuery = addFiltersToDataQuery({
108
+ dataQuery,
109
+ query,
110
+ schema,
111
+ filtersMapping
112
+ });
113
+ dataQuery = addSortToDataQuery({
114
+ dataQuery,
115
+ query,
116
+ schema
117
+ });
118
+ const referenceFieldIds = Object.values(schema.fields).filter(field => !!field && field.type === 'REFERENCE' && visibleFieldIds.includes(field.id)).map(field => field.id);
119
+ if (referenceFieldIds.length > 0) {
120
+ dataQuery = dataQuery.include(...referenceFieldIds);
121
+ }
122
+ const res = await dataQuery.skip(query.offset).limit(query.limit).find({
123
+ returnTotalCount: true
124
+ });
125
+ return {
126
+ items: res.items,
127
+ total: res.totalCount ?? 0
128
+ };
129
+ }
130
+ };
131
+ }
132
+ //# sourceMappingURL=cmsAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["collections","items","addFiltersToDataQuery","addSearchToDataQuery","addSortToDataQuery","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","IMAGE","fetchCmsSchema","collectionId","_schema$fields$find","schema","getDataCollection","id","displayField","idField","imageField","fields","find","field","type","key","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","typeMetadata","reference","referencedCollectionId","referenceField","referenceMetadata","nonReferenceType","nonReferenceField","actions","get","entityId","create","entity","insert","update","delete","remove","bulkDelete","entityIds","bulkRemove","createCmsDataProvider","_ref","visibleFieldIds","filtersMapping","fetchData","query","dataQuery","referenceFieldIds","Object","values","filter","includes","map","length","include","res","skip","offset","limit","returnTotalCount","total","totalCount"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType, Filter } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { ComputedQuery, CollectionConfig } from '@wix/patterns';\nimport { addFiltersToDataQuery, addSearchToDataQuery } from './filterUtils';\nimport { addSortToDataQuery } from './sortUtils';\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'SHORT_TEXT',\n [collections.Type.OBJECT]: 'LONG_TEXT',\n [collections.Type.RICH_TEXT]: 'LONG_TEXT',\n [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<SchemaConfig> {\n const schema = await collections.getDataCollection(collectionId);\n\n return {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n imageField: schema.fields.find((field) => field.type === 'IMAGE')?.key,\n fields: schema.fields.reduce<Record<string, Field>>((acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n if (\n fieldType === 'REFERENCE' &&\n field.typeMetadata?.reference?.referencedCollectionId\n ) {\n const referenceField: Field = {\n ...baseField,\n type: 'REFERENCE',\n referenceMetadata: {\n referencedCollectionId:\n field.typeMetadata.reference.referencedCollectionId,\n },\n };\n acc[field.key] = referenceField;\n } else {\n const nonReferenceType =\n fieldType === 'REFERENCE' ? 'SHORT_TEXT' : fieldType;\n const nonReferenceField: Field = {\n ...baseField,\n type: nonReferenceType,\n };\n acc[field.key] = nonReferenceField;\n }\n\n return acc;\n }, {}),\n actions: {\n get: (entityId: string) => {\n return items.get(collectionId, entityId);\n },\n create: (entity) => {\n return items.insert(collectionId, entity);\n },\n update: (entity) => {\n return items.update(collectionId, entity);\n },\n delete: (entityId) => {\n return items.remove(collectionId, entityId);\n },\n bulkDelete: (entityIds) => {\n return items.bulkRemove(collectionId, entityIds);\n },\n },\n };\n}\n\nexport function createCmsDataProvider({\n collectionId,\n schema,\n visibleFieldIds,\n filtersMapping,\n}: {\n collectionId: string;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n filtersMapping?: Record<string, Filter>;\n}): { fetchData: CollectionConfig<any, any>['fetchData'] } {\n return {\n fetchData: async (query: ComputedQuery<any>) => {\n let dataQuery = items.query(collectionId);\n dataQuery = addSearchToDataQuery({\n dataQuery,\n query,\n schema,\n visibleFieldIds,\n });\n dataQuery = addFiltersToDataQuery({\n dataQuery,\n query,\n schema,\n filtersMapping,\n });\n dataQuery = addSortToDataQuery({\n dataQuery,\n query,\n schema,\n });\n\n const referenceFieldIds = Object.values(schema.fields)\n .filter(\n (field): field is Field =>\n !!field &&\n field.type === 'REFERENCE' &&\n visibleFieldIds.includes(field.id),\n )\n .map((field) => field.id);\n\n if (referenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...referenceFieldIds);\n }\n\n const res = await dataQuery\n .skip(query.offset)\n .limit(query.limit)\n .find({ returnTotalCount: true });\n\n return {\n items: res.items,\n total: res.totalCount ?? 0,\n };\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,35 +29,42 @@ export function addFiltersToDataQuery(_ref) {
29
29
  let {
30
30
  dataQuery,
31
31
  query,
32
- schema
32
+ schema,
33
+ filtersMapping
33
34
  } = _ref;
35
+ if (!filtersMapping) {
36
+ return dataQuery;
37
+ }
34
38
  let dataQueryWithFilters = dataQuery;
35
39
  const {
36
40
  filters
37
41
  } = query;
38
42
  for (const fieldKey in filters) {
43
+ const fieldId = filtersMapping[fieldKey].fieldId;
39
44
  const filter = filters[fieldKey];
40
45
  if (filter) {
41
46
  if (Array.isArray(filter)) {
42
- var _schema$fields$fieldK;
47
+ var _schema$fields$fieldI;
43
48
  const filterArray = filter;
44
- if (((_schema$fields$fieldK = schema.fields[fieldKey]) == null ? void 0 : _schema$fields$fieldK.type) === 'BOOLEAN') {
49
+ if (((_schema$fields$fieldI = schema.fields[fieldId]) == null ? void 0 : _schema$fields$fieldI.type) === 'BOOLEAN') {
45
50
  if (filterArray.some(item => item.id === BooleanFilters.checked)) {
46
- dataQueryWithFilters = dataQueryWithFilters.eq(fieldKey, true);
51
+ dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);
47
52
  } else {
48
- dataQueryWithFilters = dataQueryWithFilters.eq(fieldKey, false);
53
+ const falseFilter = items.filter().eq(fieldId, false);
54
+ const undefinedFilter = items.filter().eq(fieldId, undefined);
55
+ dataQueryWithFilters = dataQueryWithFilters.and(falseFilter.or(undefinedFilter));
49
56
  }
50
57
  } else {
51
- dataQueryWithFilters = dataQueryWithFilters.hasSome(fieldKey, filterArray.map(item => item.id));
58
+ dataQueryWithFilters = dataQueryWithFilters.hasSome(fieldId, filterArray.map(item => item.id));
52
59
  }
53
60
  } else if (typeof filter === 'object') {
54
61
  const filterObj = filter;
55
62
  for (const filterProp in filterObj) {
56
63
  const operator = getOperatorForFilter(filterProp);
57
- if (operator && typeof dataQuery[operator] === 'function' && isSupportedOperator(schema, filterProp, fieldKey)) {
64
+ if (operator && typeof dataQuery[operator] === 'function' && isSupportedOperator(schema, filterProp, fieldId)) {
58
65
  const value = filterObj[filterProp];
59
66
  if (value !== undefined && value !== null) {
60
- dataQueryWithFilters = dataQueryWithFilters[operator](fieldKey, value);
67
+ dataQueryWithFilters = dataQueryWithFilters[operator](fieldId, value);
61
68
  }
62
69
  }
63
70
  }
@@ -74,9 +81,9 @@ export function addSearchToDataQuery(_ref2) {
74
81
  schema,
75
82
  visibleFieldIds
76
83
  } = _ref2;
77
- const searchableFields = Object.keys(schema.fields).filter(key => {
78
- const field = schema.fields[key];
79
- const column = visibleFieldIds.find(id => id === key);
84
+ const searchableFields = Object.keys(schema.fields).filter(fieldId => {
85
+ const field = schema.fields[fieldId];
86
+ const column = visibleFieldIds.find(id => id === fieldId);
80
87
  return column && field && TEXT_FIELD_TYPES.includes(field.type);
81
88
  });
82
89
  if (query.search && searchableFields.length > 0) {
@@ -0,0 +1 @@
1
+ {"version":3,"names":["items","BooleanFilters","FilterPropToOperator","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","schema","filterProp","filterKey","field","fields","operator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","_ref","dataQuery","query","filtersMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","_schema$fields$fieldI","filterArray","type","some","item","id","checked","eq","falseFilter","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","_ref2","visibleFieldIds","searchableFields","Object","keys","column","find","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { ComputedQuery } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { SchemaConfig, Filter } from '../../types';\n\nexport type CmsOperatorMethod = 'ge' | 'le';\n\nconst FilterPropToMethod: Record<FilterProp, CmsOperatorMethod> = {\n from: 'ge',\n to: 'le',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n schema: SchemaConfig,\n filterProp: string,\n filterKey: string,\n) => {\n const field = schema.fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities.supportedQueryOperators;\n return supportedOperators.includes(operator);\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n schema,\n filtersMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n schema: SchemaConfig;\n filtersMapping?: Record<string, Filter>;\n}) {\n if (!filtersMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filtersMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (schema.fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n const filterObj = filter as Record<string, any>;\n\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(schema, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n schema,\n visibleFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n}) {\n const searchableFields = Object.keys(schema.fields).filter((fieldId) => {\n const field = schema.fields[fieldId];\n const column = visibleFieldIds.find((id) => id === fieldId);\n\n return column && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["addSortToDataQuery","_ref","dataQuery","query","schema","dataQueryWithSort","sort","forEach","sortField","fieldName","order","fieldDefinition","fields","capabilities","sortable","ascending","descending"],"sources":["../../../../src/dataSourceAdapters/cms/sortUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { SchemaConfig } from '../../types';\nimport { ComputedQuery } from '@wix/patterns';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n schema,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n schema: SchemaConfig;\n}) {\n let dataQueryWithSort = dataQuery;\n const { sort } = query;\n sort?.forEach((sortField) => {\n const { fieldName, order } = sortField;\n if (fieldName && order) {\n const fieldDefinition = schema.fields[fieldName];\n if (fieldDefinition?.capabilities.sortable) {\n if (order === 'asc') {\n dataQueryWithSort = dataQueryWithSort.ascending(fieldName);\n } else if (order === 'desc') {\n dataQueryWithSort = dataQueryWithSort.descending(fieldName);\n }\n }\n }\n });\n\n return dataQueryWithSort;\n}\n"],"mappings":"AAIA,OAAO,SAASA,kBAAkBA,CAAAC,IAAA,EAQ/B;EAAA,IARgC;IACjCC,SAAS;IACTC,KAAK;IACLC;EAKF,CAAC,GAAAH,IAAA;EACC,IAAII,iBAAiB,GAAGH,SAAS;EACjC,MAAM;IAAEI;EAAK,CAAC,GAAGH,KAAK;EACtBG,IAAI,YAAJA,IAAI,CAAEC,OAAO,CAAEC,SAAS,IAAK;IAC3B,MAAM;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGF,SAAS;IACtC,IAAIC,SAAS,IAAIC,KAAK,EAAE;MACtB,MAAMC,eAAe,GAAGP,MAAM,CAACQ,MAAM,CAACH,SAAS,CAAC;MAChD,IAAIE,eAAe,YAAfA,eAAe,CAAEE,YAAY,CAACC,QAAQ,EAAE;QAC1C,IAAIJ,KAAK,KAAK,KAAK,EAAE;UACnBL,iBAAiB,GAAGA,iBAAiB,CAACU,SAAS,CAACN,SAAS,CAAC;QAC5D,CAAC,MAAM,IAAIC,KAAK,KAAK,MAAM,EAAE;UAC3BL,iBAAiB,GAAGA,iBAAiB,CAACW,UAAU,CAACP,SAAS,CAAC;QAC7D;MACF;IACF;EACF,CAAC,CAAC;EAEF,OAAOJ,iBAAiB;AAC1B","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FilterPropToOperator","from","to","BooleanFilters","checked","unchecked"],"sources":["../../../src/dataSourceAdapters/constants.ts"],"sourcesContent":["import { QueryOperator } from '../types';\n\nexport type FilterProp = 'from' | 'to';\n\nexport const FilterPropToOperator: Record<FilterProp, QueryOperator> = {\n from: 'GTE',\n to: 'LTE',\n};\n\nexport const BooleanFilters = {\n checked: 'checked',\n unchecked: 'unchecked',\n};\n"],"mappings":"AAIA,OAAO,MAAMA,oBAAuD,GAAG;EACrEC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE;AACN,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG;EAC5BC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE;AACb,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { fetchCmsSchema, createCmsDataProvider } from './cms/cmsAdapter';
2
+ export async function getSchema(collectionId, entityTypeSource) {
3
+ switch (entityTypeSource) {
4
+ case 'cms':
5
+ return fetchCmsSchema(collectionId);
6
+ default:
7
+ throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);
8
+ }
9
+ }
10
+ export function createDataProvider(_ref) {
11
+ let {
12
+ collectionId,
13
+ entityTypeSource,
14
+ schema,
15
+ visibleFieldIds,
16
+ filtersMapping
17
+ } = _ref;
18
+ switch (entityTypeSource) {
19
+ case 'cms':
20
+ return createCmsDataProvider({
21
+ collectionId,
22
+ schema,
23
+ visibleFieldIds,
24
+ filtersMapping
25
+ });
26
+ default:
27
+ throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fetchCmsSchema","createCmsDataProvider","getSchema","collectionId","entityTypeSource","Error","createDataProvider","_ref","schema","visibleFieldIds","filtersMapping"],"sources":["../../../src/dataSourceAdapters/factory.ts"],"sourcesContent":["import { Filter, SchemaConfig } from '../types';\nimport { fetchCmsSchema, createCmsDataProvider } from './cms/cmsAdapter';\nimport { CollectionConfig as PatternsCollectionConfig } from '@wix/patterns';\n\nexport async function getSchema(\n collectionId: string,\n entityTypeSource: string,\n): Promise<SchemaConfig> {\n switch (entityTypeSource) {\n case 'cms':\n return fetchCmsSchema(collectionId);\n default:\n throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);\n }\n}\n\nexport function createDataProvider({\n collectionId,\n entityTypeSource,\n schema,\n visibleFieldIds,\n filtersMapping,\n}: {\n collectionId: string;\n entityTypeSource: string;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n filtersMapping?: Record<string, Filter>;\n}): { fetchData: PatternsCollectionConfig<any, any>['fetchData'] } {\n switch (entityTypeSource) {\n case 'cms':\n return createCmsDataProvider({\n collectionId,\n schema,\n visibleFieldIds,\n filtersMapping,\n });\n default:\n throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);\n }\n}\n"],"mappings":"AACA,SAASA,cAAc,EAAEC,qBAAqB,QAAQ,kBAAkB;AAGxE,OAAO,eAAeC,SAASA,CAC7BC,YAAoB,EACpBC,gBAAwB,EACD;EACvB,QAAQA,gBAAgB;IACtB,KAAK,KAAK;MACR,OAAOJ,cAAc,CAACG,YAAY,CAAC;IACrC;MACE,MAAM,IAAIE,KAAK,CAAC,iCAAiCD,gBAAgB,EAAE,CAAC;EACxE;AACF;AAEA,OAAO,SAASE,kBAAkBA,CAAAC,IAAA,EAYiC;EAAA,IAZhC;IACjCJ,YAAY;IACZC,gBAAgB;IAChBI,MAAM;IACNC,eAAe;IACfC;EAOF,CAAC,GAAAH,IAAA;EACC,QAAQH,gBAAgB;IACtB,KAAK,KAAK;MACR,OAAOH,qBAAqB,CAAC;QAC3BE,YAAY;QACZK,MAAM;QACNC,eAAe;QACfC;MACF,CAAC,CAAC;IACJ;MACE,MAAM,IAAIL,KAAK,CAAC,iCAAiCD,gBAAgB,EAAE,CAAC;EACxE;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from '@wix/patterns/form';
2
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/exports/form.ts"],"sourcesContent":["export * from '@wix/patterns/form';\n"],"mappings":"AAAA,cAAc,oBAAoB","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  export * from './useTableFeatures';
2
2
  export * from './useFilters';
3
3
  export * from './useGridFeatures';
4
+ export * from './useNavigationUtils';
5
+ export * from './usePagePath';
6
+ export * from './useEntityPageHeaderTexts';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\nexport * from './useNavigationUtils';\nexport * from './usePagePath';\nexport * from './useEntityPageHeaderTexts';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,4BAA4B","ignoreList":[]}