@wix/auto-patterns 1.8.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 (259) hide show
  1. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  2. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -25
  3. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  4. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +20 -13
  5. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  6. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
  7. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  8. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +66 -30
  9. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  10. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +7 -4
  11. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  12. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +83 -0
  13. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  14. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +35 -18
  15. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  16. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +42 -37
  17. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  18. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +46 -29
  19. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  20. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +35 -40
  21. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  22. package/dist/cjs/components/modals/actions/BulkDeleteModal.js +12 -10
  23. package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -1
  24. package/dist/cjs/components/modals/actions/CreateModal.js +138 -0
  25. package/dist/cjs/components/modals/actions/CreateModal.js.map +1 -0
  26. package/dist/cjs/components/modals/actions/EditModal.js +17 -13
  27. package/dist/cjs/components/modals/actions/EditModal.js.map +1 -1
  28. package/dist/cjs/components/modals/actions/index.js +6 -0
  29. package/dist/cjs/components/modals/actions/index.js.map +1 -1
  30. package/dist/cjs/components/modals/actions/types.js.map +1 -1
  31. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  32. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  33. package/dist/cjs/hooks/index.js +6 -0
  34. package/dist/cjs/hooks/index.js.map +1 -1
  35. package/dist/cjs/hooks/useActionCell.js +5 -7
  36. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  37. package/dist/cjs/hooks/useActionsSDK.js +34 -0
  38. package/dist/cjs/hooks/useActionsSDK.js.map +1 -0
  39. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +11 -1
  40. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  41. package/dist/cjs/hooks/{useSharedDataForActions.js → useBaseSDK.js} +7 -16
  42. package/dist/cjs/hooks/useBaseSDK.js.map +1 -0
  43. package/dist/cjs/hooks/useBulkActionToolbar.js +7 -9
  44. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  45. package/dist/cjs/hooks/useCollectionPageActions.js +124 -0
  46. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -0
  47. package/dist/cjs/hooks/useCommonCollectionFeatures.js +5 -8
  48. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  49. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +27 -0
  50. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -0
  51. package/dist/cjs/hooks/useGridFeatures.js +2 -1
  52. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  53. package/dist/cjs/hooks/useNavigationUtils.js +9 -5
  54. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
  55. package/dist/cjs/hooks/useTableFeatures.js +2 -2
  56. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  57. package/dist/cjs/providers/OptimisticActionsContext.js +43 -0
  58. package/dist/cjs/providers/OptimisticActionsContext.js.map +1 -0
  59. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  60. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  61. package/dist/cjs/providers/RootAppProvider.js +13 -5
  62. package/dist/cjs/providers/RootAppProvider.js.map +1 -1
  63. package/dist/cjs/types/BaseSDK.js +4 -0
  64. package/dist/cjs/types/BaseSDK.js.map +1 -0
  65. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  66. package/dist/cjs/types/actions/base.js.map +1 -1
  67. package/dist/cjs/types/actions/collectionPageActions.js +4 -0
  68. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -0
  69. package/dist/cjs/types/actions/index.js +6 -0
  70. package/dist/cjs/types/actions/index.js.map +1 -1
  71. package/dist/cjs/types/index.js +6 -0
  72. package/dist/cjs/types/index.js.map +1 -1
  73. package/dist/cjs/types/types.js.map +1 -1
  74. package/dist/cjs/utils/actions/bulkDeleteAction.js +3 -3
  75. package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -1
  76. package/dist/cjs/utils/actions/createAction.js +38 -0
  77. package/dist/cjs/utils/actions/createAction.js.map +1 -0
  78. package/dist/cjs/utils/actions/customAction.js +4 -4
  79. package/dist/cjs/utils/actions/customAction.js.map +1 -1
  80. package/dist/cjs/utils/actions/customModalAction.js +3 -3
  81. package/dist/cjs/utils/actions/customModalAction.js.map +1 -1
  82. package/dist/cjs/utils/actions/deleteAction.js +7 -5
  83. package/dist/cjs/utils/actions/deleteAction.js.map +1 -1
  84. package/dist/cjs/utils/actions/index.js +6 -0
  85. package/dist/cjs/utils/actions/index.js.map +1 -1
  86. package/dist/cjs/utils/actions/types.js.map +1 -1
  87. package/dist/cjs/utils/actions/updateAction.js +4 -10
  88. package/dist/cjs/utils/actions/updateAction.js.map +1 -1
  89. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  90. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +6 -5
  91. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  92. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +14 -7
  93. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  94. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
  95. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  96. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +61 -25
  97. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  98. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +6 -3
  99. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  100. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +64 -0
  101. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  102. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +33 -15
  103. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  104. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +41 -35
  105. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  106. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +43 -25
  107. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  108. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +32 -34
  109. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  110. package/dist/esm/components/modals/actions/BulkDeleteModal.js +7 -5
  111. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
  112. package/dist/esm/components/modals/actions/CreateModal.js +80 -0
  113. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -0
  114. package/dist/esm/components/modals/actions/EditModal.js +9 -5
  115. package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
  116. package/dist/esm/components/modals/actions/index.js +1 -0
  117. package/dist/esm/components/modals/actions/index.js.map +1 -1
  118. package/dist/esm/components/modals/actions/types.js.map +1 -1
  119. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  120. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  121. package/dist/esm/hooks/index.js +1 -0
  122. package/dist/esm/hooks/index.js.map +1 -1
  123. package/dist/esm/hooks/useActionCell.js +5 -7
  124. package/dist/esm/hooks/useActionCell.js.map +1 -1
  125. package/dist/esm/hooks/useActionsSDK.js +30 -0
  126. package/dist/esm/hooks/useActionsSDK.js.map +1 -0
  127. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +11 -1
  128. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  129. package/dist/esm/hooks/{useSharedDataForActions.js → useBaseSDK.js} +6 -16
  130. package/dist/esm/hooks/useBaseSDK.js.map +1 -0
  131. package/dist/esm/hooks/useBulkActionToolbar.js +6 -8
  132. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  133. package/dist/esm/hooks/useCollectionPageActions.js +101 -0
  134. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -0
  135. package/dist/esm/hooks/useCommonCollectionFeatures.js +1 -4
  136. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  137. package/dist/esm/hooks/useEntityPageHeaderTexts.js +23 -0
  138. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -0
  139. package/dist/esm/hooks/useGridFeatures.js +2 -1
  140. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  141. package/dist/esm/hooks/useNavigationUtils.js +10 -6
  142. package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
  143. package/dist/esm/hooks/useTableFeatures.js +1 -1
  144. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  145. package/dist/esm/providers/OptimisticActionsContext.js +29 -0
  146. package/dist/esm/providers/OptimisticActionsContext.js.map +1 -0
  147. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  148. package/dist/esm/providers/RootAppProvider.js +2 -1
  149. package/dist/esm/providers/RootAppProvider.js.map +1 -1
  150. package/dist/esm/types/BaseSDK.js +2 -0
  151. package/dist/esm/types/BaseSDK.js.map +1 -0
  152. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  153. package/dist/esm/types/actions/base.js.map +1 -1
  154. package/dist/esm/types/actions/collectionPageActions.js +2 -0
  155. package/dist/esm/types/actions/collectionPageActions.js.map +1 -0
  156. package/dist/esm/types/actions/index.js +1 -0
  157. package/dist/esm/types/actions/index.js.map +1 -1
  158. package/dist/esm/types/index.js +1 -0
  159. package/dist/esm/types/index.js.map +1 -1
  160. package/dist/esm/types/types.js.map +1 -1
  161. package/dist/esm/utils/actions/bulkDeleteAction.js +3 -3
  162. package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -1
  163. package/dist/esm/utils/actions/createAction.js +33 -0
  164. package/dist/esm/utils/actions/createAction.js.map +1 -0
  165. package/dist/esm/utils/actions/customAction.js +4 -4
  166. package/dist/esm/utils/actions/customAction.js.map +1 -1
  167. package/dist/esm/utils/actions/customModalAction.js +3 -3
  168. package/dist/esm/utils/actions/customModalAction.js.map +1 -1
  169. package/dist/esm/utils/actions/deleteAction.js +7 -5
  170. package/dist/esm/utils/actions/deleteAction.js.map +1 -1
  171. package/dist/esm/utils/actions/index.js +1 -0
  172. package/dist/esm/utils/actions/index.js.map +1 -1
  173. package/dist/esm/utils/actions/types.js.map +1 -1
  174. package/dist/esm/utils/actions/updateAction.js +4 -10
  175. package/dist/esm/utils/actions/updateAction.js.map +1 -1
  176. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +2 -2
  177. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
  178. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  179. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  180. package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +1 -1
  181. package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
  182. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
  183. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts +6 -0
  184. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -0
  185. package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +1 -1
  186. package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +1 -1
  187. package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +1 -1
  188. package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +1 -1
  189. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +1 -1
  190. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -1
  191. package/dist/types/components/modals/actions/CreateModal.d.ts +8 -0
  192. package/dist/types/components/modals/actions/CreateModal.d.ts.map +1 -0
  193. package/dist/types/components/modals/actions/EditModal.d.ts +1 -1
  194. package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -1
  195. package/dist/types/components/modals/actions/index.d.ts +1 -0
  196. package/dist/types/components/modals/actions/index.d.ts.map +1 -1
  197. package/dist/types/components/modals/actions/types.d.ts +2 -2
  198. package/dist/types/components/modals/actions/types.d.ts.map +1 -1
  199. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  200. package/dist/types/hooks/index.d.ts +1 -0
  201. package/dist/types/hooks/index.d.ts.map +1 -1
  202. package/dist/types/hooks/useActionCell.d.ts +1 -3
  203. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  204. package/dist/types/hooks/useActionsSDK.d.ts +6 -0
  205. package/dist/types/hooks/useActionsSDK.d.ts.map +1 -0
  206. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +1 -1
  207. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
  208. package/dist/types/hooks/useBaseSDK.d.ts +3 -0
  209. package/dist/types/hooks/useBaseSDK.d.ts.map +1 -0
  210. package/dist/types/hooks/useBulkActionToolbar.d.ts +2 -3
  211. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
  212. package/dist/types/hooks/useCollectionPageActions.d.ts +10 -0
  213. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -0
  214. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +1 -1
  215. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  216. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +18 -0
  217. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -0
  218. package/dist/types/hooks/useGridFeatures.d.ts +1 -0
  219. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  220. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
  221. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  222. package/dist/types/providers/OptimisticActionsContext.d.ts +12 -0
  223. package/dist/types/providers/OptimisticActionsContext.d.ts.map +1 -0
  224. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +1 -3
  225. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  226. package/dist/types/providers/RootAppProvider.d.ts.map +1 -1
  227. package/dist/types/types/BaseSDK.d.ts +12 -0
  228. package/dist/types/types/BaseSDK.d.ts.map +1 -0
  229. package/dist/types/types/CollectionPageConfig.d.ts +5 -1
  230. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  231. package/dist/types/types/actions/base.d.ts +15 -6
  232. package/dist/types/types/actions/base.d.ts.map +1 -1
  233. package/dist/types/types/actions/collectionPageActions.d.ts +27 -0
  234. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -0
  235. package/dist/types/types/actions/index.d.ts +1 -0
  236. package/dist/types/types/actions/index.d.ts.map +1 -1
  237. package/dist/types/types/index.d.ts +1 -0
  238. package/dist/types/types/index.d.ts.map +1 -1
  239. package/dist/types/types/types.d.ts +1 -4
  240. package/dist/types/types/types.d.ts.map +1 -1
  241. package/dist/types/utils/actions/createAction.d.ts +7 -0
  242. package/dist/types/utils/actions/createAction.d.ts.map +1 -0
  243. package/dist/types/utils/actions/deleteAction.d.ts.map +1 -1
  244. package/dist/types/utils/actions/index.d.ts +1 -0
  245. package/dist/types/utils/actions/index.d.ts.map +1 -1
  246. package/dist/types/utils/actions/types.d.ts +9 -13
  247. package/dist/types/utils/actions/types.d.ts.map +1 -1
  248. package/dist/types/utils/actions/updateAction.d.ts.map +1 -1
  249. package/package.json +5 -4
  250. package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -39
  251. package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
  252. package/dist/cjs/hooks/useSharedDataForActions.js.map +0 -1
  253. package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -35
  254. package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
  255. package/dist/esm/hooks/useSharedDataForActions.js.map +0 -1
  256. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts +0 -12
  257. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts.map +0 -1
  258. package/dist/types/hooks/useSharedDataForActions.d.ts +0 -8
  259. package/dist/types/hooks/useSharedDataForActions.d.ts.map +0 -1
@@ -0,0 +1,101 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import { useActionsSDK } from './useActionsSDK';
3
+ import { createAction, customAction, customModalAction, resolveAction, resolveIcon } from '../utils/actions';
4
+ import { PrimaryActions, SecondaryActions } from '@wix/patterns';
5
+ export const useCollectionPageActions = _ref => {
6
+ let {
7
+ collectionPageActions
8
+ } = _ref;
9
+ const sdk = useActionsSDK({
10
+ collectionId: ''
11
+ });
12
+ const buildCollectionPageActions = useCallback(() => {
13
+ if (!collectionPageActions) {
14
+ return;
15
+ }
16
+ const buildAction = actionConfig => {
17
+ let actionToResolve = null;
18
+ const baseParams = {
19
+ actionParams: {},
20
+ sdk
21
+ };
22
+ switch (actionConfig.type) {
23
+ case 'create':
24
+ actionToResolve = createAction({
25
+ action: actionConfig,
26
+ ...baseParams
27
+ });
28
+ break;
29
+ case 'customModal':
30
+ actionToResolve = customModalAction({
31
+ action: actionConfig,
32
+ ...baseParams
33
+ });
34
+ break;
35
+ case 'custom':
36
+ actionToResolve = customAction({
37
+ action: actionConfig,
38
+ ...baseParams
39
+ });
40
+ break;
41
+ default:
42
+ return null;
43
+ }
44
+ if (!actionToResolve) {
45
+ return null;
46
+ }
47
+ const resolvedAction = resolveAction(actionConfig, actionToResolve);
48
+ const {
49
+ tooltip,
50
+ icon,
51
+ ...resolvedActionProps
52
+ } = resolvedAction;
53
+ return {
54
+ ...resolvedActionProps,
55
+ prefixIcon: icon,
56
+ disabledDescription: resolvedAction.tooltip
57
+ };
58
+ };
59
+ const handleActionsType = actions => {
60
+ if (actions.type === 'single') {
61
+ return buildAction(actions.single.item);
62
+ }
63
+ if (actions.type === 'multi') {
64
+ const subItems = actions.multi.items.map(buildAction).filter(action => action !== null);
65
+ if (!subItems.length) {
66
+ return null;
67
+ }
68
+ return {
69
+ label: actions.multi.label,
70
+ prefixIcon: resolveIcon(actions.multi.icon),
71
+ subItems
72
+ };
73
+ }
74
+ return null;
75
+ };
76
+ const primaryActions = (collectionPageActions == null ? void 0 : collectionPageActions.primaryActions) && handleActionsType(collectionPageActions.primaryActions);
77
+ const secondaryActions = (collectionPageActions == null ? void 0 : collectionPageActions.secondaryActions) && handleActionsType(collectionPageActions.secondaryActions);
78
+ if (!primaryActions && !secondaryActions) {
79
+ return;
80
+ }
81
+ return {
82
+ primaryActions: primaryActions ? /*#__PURE__*/React.createElement(PrimaryActions, primaryActions) : undefined,
83
+ secondaryActions: secondaryActions ? /*#__PURE__*/React.createElement(SecondaryActions, secondaryActions) : undefined
84
+ };
85
+ }, [collectionPageActions, sdk]);
86
+ const actions = useMemo(() => {
87
+ return {
88
+ primaryActions: undefined,
89
+ secondaryActions: undefined
90
+ };
91
+ }, []);
92
+ if (!(collectionPageActions != null && collectionPageActions.primaryActions) && !(collectionPageActions != null && collectionPageActions.secondaryActions)) {
93
+ return {
94
+ ...actions
95
+ };
96
+ }
97
+ return buildCollectionPageActions() ?? {
98
+ ...actions
99
+ };
100
+ };
101
+ //# sourceMappingURL=useCollectionPageActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","useActionsSDK","createAction","customAction","customModalAction","resolveAction","resolveIcon","PrimaryActions","SecondaryActions","useCollectionPageActions","_ref","collectionPageActions","sdk","collectionId","buildCollectionPageActions","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","action","resolvedAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","single","item","subItems","multi","items","map","filter","length","label","primaryActions","secondaryActions","createElement","undefined"],"sources":["../../../src/hooks/useCollectionPageActions.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport {\n CollectionPageActionConfig,\n CollectionPageConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n createAction,\n customAction,\n customModalAction,\n resolveAction,\n resolveIcon,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseCollectionPageActionsParams {\n collectionPageActions: CollectionPageConfig['actions'];\n}\n\nexport const useCollectionPageActions = ({\n collectionPageActions,\n}: UseCollectionPageActionsParams) => {\n const sdk = useActionsSDK({\n collectionId: '',\n });\n\n const buildCollectionPageActions = useCallback(() => {\n if (!collectionPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: CollectionPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {},\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'create':\n actionToResolve = createAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n prefixIcon: icon as IconElement,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const handleActionsType = (\n actions: CollectionPagePrimaryActions | CollectionPageSecondaryActions,\n ) => {\n if (actions.type === 'single') {\n return buildAction(actions.single.item);\n }\n\n if (actions.type === 'multi') {\n const subItems = actions.multi.items\n .map(buildAction)\n .filter((action) => action !== null);\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.multi.label,\n prefixIcon: resolveIcon(actions.multi.icon) as IconElement,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n collectionPageActions?.primaryActions &&\n handleActionsType(collectionPageActions.primaryActions);\n\n const secondaryActions =\n collectionPageActions?.secondaryActions &&\n handleActionsType(collectionPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return {\n primaryActions: primaryActions ? (\n <PrimaryActions {...primaryActions} />\n ) : undefined,\n secondaryActions: secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined,\n };\n }, [collectionPageActions, sdk]);\n\n const actions = useMemo(() => {\n return {\n primaryActions: undefined,\n secondaryActions: undefined,\n };\n }, []);\n\n if (\n !collectionPageActions?.primaryActions &&\n !collectionPageActions?.secondaryActions\n ) {\n return { ...actions };\n }\n\n return buildCollectionPageActions() ?? { ...actions };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,6 @@ export const useCommonCollectionFeatures = _ref => {
13
13
  search,
14
14
  emptyState: emptyStateConfig,
15
15
  collection,
16
- optimisticActions,
17
16
  collectionType,
18
17
  entityPageId
19
18
  } = _ref;
@@ -23,14 +22,12 @@ export const useCommonCollectionFeatures = _ref => {
23
22
  const actionCell = useActionCell({
24
23
  config: actionCellConfig,
25
24
  collectionId: collection.collectionId,
26
- optimisticActions,
27
25
  collectionType,
28
26
  entityPageId
29
27
  });
30
28
  const bulkActionToolbar = useBulkActionToolbar({
31
29
  config: bulkActionToolbarConfig,
32
- collectionId: collection.collectionId,
33
- optimisticActions
30
+ collectionId: collection.collectionId
34
31
  });
35
32
  const title = toolbarTitle && /*#__PURE__*/React.createElement(ToolbarTitle, {
36
33
  title: toolbarTitle.title,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEmptyStates","ToolbarTitle","Box","Text","TextButton","useActionCell","useBulkActionToolbar","useCommonCollectionFeatures","_ref","_toolbarTitle$subtitl","_toolbarTitle$subtitl2","_toolbarTitle$subtitl3","_toolbarTitle$subtitl4","_toolbarTitle$subtitl5","_toolbarTitle$subtitl6","_toolbarTitle$subtitl7","actionCell","actionCellConfig","bulkActionToolbar","bulkActionToolbarConfig","toolbarTitle","search","emptyState","emptyStateConfig","collection","optimisticActions","collectionType","entityPageId","config","collectionId","title","createElement","subtitle","text","learnMore","info","content","direction","gap","dataHook","light","size","link","underline","skin","as","rel","target","href","url","label","itemsLimit","showTotal","shown"],"sources":["../../../src/hooks/useCommonCollectionFeatures.tsx"],"sourcesContent":["import React from 'react';\nimport { useEmptyStates } from './useEmptyStates';\n\nimport { CollectionOptimisticActions, ToolbarTitle } from '@wix/patterns';\n\nimport { Box, Text, TextButton } from '@wix/design-system';\nimport { BaseCollectionComponentConfig, ComponentConfig } from '../types';\nimport { useActionCell } from './useActionCell';\nimport { useBulkActionToolbar } from './useBulkActionToolbar';\n\nexport type UseCommonCollectionFeaturesParams = Pick<\n BaseCollectionComponentConfig,\n | 'actionCell'\n | 'toolbarTitle'\n | 'search'\n | 'emptyState'\n | 'collection'\n | 'bulkActionToolbar'\n | 'entityPageId'\n> & {\n optimisticActions: CollectionOptimisticActions<any, any>;\n collectionType?: ComponentConfig['type'];\n};\n\nexport const useCommonCollectionFeatures = ({\n actionCell: actionCellConfig,\n bulkActionToolbar: bulkActionToolbarConfig,\n toolbarTitle,\n search,\n emptyState: emptyStateConfig,\n collection,\n optimisticActions,\n collectionType,\n entityPageId,\n}: UseCommonCollectionFeaturesParams) => {\n const { emptyState } = useEmptyStates(emptyStateConfig);\n const actionCell = useActionCell({\n config: actionCellConfig,\n collectionId: collection.collectionId,\n optimisticActions,\n collectionType,\n entityPageId,\n });\n\n const bulkActionToolbar = useBulkActionToolbar({\n config: bulkActionToolbarConfig,\n collectionId: collection.collectionId,\n optimisticActions,\n });\n\n const title = toolbarTitle && (\n <ToolbarTitle\n title={toolbarTitle.title}\n subtitle={{\n text: toolbarTitle.subtitle?.text ?? '',\n learnMore: toolbarTitle.subtitle?.learnMore,\n info: toolbarTitle.subtitle?.info && {\n content: (\n <Box direction=\"vertical\" gap=\"6px\">\n <Text\n dataHook=\"toolbar-title-subtitle-info-content\"\n light\n size=\"small\"\n >\n {toolbarTitle.subtitle?.info?.content.text}\n </Text>\n {toolbarTitle.subtitle?.info?.content.link && (\n <TextButton\n dataHook=\"toolbar-title-subtitle-info-link\"\n size=\"small\"\n underline=\"always\"\n skin=\"light\"\n as=\"a\"\n rel=\"noopener\"\n target=\"_blank\"\n href={toolbarTitle.subtitle?.info?.content.link.url}\n >\n {toolbarTitle.subtitle?.info?.content.link.label}\n </TextButton>\n )}\n </Box>\n ),\n },\n }}\n itemsLimit={toolbarTitle.itemsLimit}\n showTotal={toolbarTitle.showTotal}\n />\n );\n\n return {\n search: search?.shown !== false,\n title,\n emptyState,\n actionCell,\n bulkActionToolbar,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEmptyStates","ToolbarTitle","Box","Text","TextButton","useActionCell","useBulkActionToolbar","useCommonCollectionFeatures","_ref","_toolbarTitle$subtitl","_toolbarTitle$subtitl2","_toolbarTitle$subtitl3","_toolbarTitle$subtitl4","_toolbarTitle$subtitl5","_toolbarTitle$subtitl6","_toolbarTitle$subtitl7","actionCell","actionCellConfig","bulkActionToolbar","bulkActionToolbarConfig","toolbarTitle","search","emptyState","emptyStateConfig","collection","collectionType","entityPageId","config","collectionId","title","createElement","subtitle","text","learnMore","info","content","direction","gap","dataHook","light","size","link","underline","skin","as","rel","target","href","url","label","itemsLimit","showTotal","shown"],"sources":["../../../src/hooks/useCommonCollectionFeatures.tsx"],"sourcesContent":["import React from 'react';\nimport { useEmptyStates } from './useEmptyStates';\n\nimport { CollectionOptimisticActions, ToolbarTitle } from '@wix/patterns';\n\nimport { Box, Text, TextButton } from '@wix/design-system';\nimport { BaseCollectionComponentConfig, ComponentConfig } from '../types';\nimport { useActionCell } from './useActionCell';\nimport { useBulkActionToolbar } from './useBulkActionToolbar';\n\nexport type UseCommonCollectionFeaturesParams = Pick<\n BaseCollectionComponentConfig,\n | 'actionCell'\n | 'toolbarTitle'\n | 'search'\n | 'emptyState'\n | 'collection'\n | 'bulkActionToolbar'\n | 'entityPageId'\n> & {\n optimisticActions: CollectionOptimisticActions<any, any>;\n collectionType?: ComponentConfig['type'];\n};\n\nexport const useCommonCollectionFeatures = ({\n actionCell: actionCellConfig,\n bulkActionToolbar: bulkActionToolbarConfig,\n toolbarTitle,\n search,\n emptyState: emptyStateConfig,\n collection,\n collectionType,\n entityPageId,\n}: UseCommonCollectionFeaturesParams) => {\n const { emptyState } = useEmptyStates(emptyStateConfig);\n const actionCell = useActionCell({\n config: actionCellConfig,\n collectionId: collection.collectionId,\n collectionType,\n entityPageId,\n });\n\n const bulkActionToolbar = useBulkActionToolbar({\n config: bulkActionToolbarConfig,\n collectionId: collection.collectionId,\n });\n\n const title = toolbarTitle && (\n <ToolbarTitle\n title={toolbarTitle.title}\n subtitle={{\n text: toolbarTitle.subtitle?.text ?? '',\n learnMore: toolbarTitle.subtitle?.learnMore,\n info: toolbarTitle.subtitle?.info && {\n content: (\n <Box direction=\"vertical\" gap=\"6px\">\n <Text\n dataHook=\"toolbar-title-subtitle-info-content\"\n light\n size=\"small\"\n >\n {toolbarTitle.subtitle?.info?.content.text}\n </Text>\n {toolbarTitle.subtitle?.info?.content.link && (\n <TextButton\n dataHook=\"toolbar-title-subtitle-info-link\"\n size=\"small\"\n underline=\"always\"\n skin=\"light\"\n as=\"a\"\n rel=\"noopener\"\n target=\"_blank\"\n href={toolbarTitle.subtitle?.info?.content.link.url}\n >\n {toolbarTitle.subtitle?.info?.content.link.label}\n </TextButton>\n )}\n </Box>\n ),\n },\n }}\n itemsLimit={toolbarTitle.itemsLimit}\n showTotal={toolbarTitle.showTotal}\n />\n );\n\n return {\n search: search?.shown !== false,\n title,\n emptyState,\n actionCell,\n bulkActionToolbar,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,SAAsCC,YAAY,QAAQ,eAAe;AAEzE,SAASC,GAAG,EAAEC,IAAI,EAAEC,UAAU,QAAQ,oBAAoB;AAE1D,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,wBAAwB;AAgB7D,OAAO,MAAMC,2BAA2B,GAAGC,IAAA,IASF;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAAA,IATG;IAC1CC,UAAU,EAAEC,gBAAgB;IAC5BC,iBAAiB,EAAEC,uBAAuB;IAC1CC,YAAY;IACZC,MAAM;IACNC,UAAU,EAAEC,gBAAgB;IAC5BC,UAAU;IACVC,cAAc;IACdC;EACiC,CAAC,GAAAlB,IAAA;EAClC,MAAM;IAAEc;EAAW,CAAC,GAAGtB,cAAc,CAACuB,gBAAgB,CAAC;EACvD,MAAMP,UAAU,GAAGX,aAAa,CAAC;IAC/BsB,MAAM,EAAEV,gBAAgB;IACxBW,YAAY,EAAEJ,UAAU,CAACI,YAAY;IACrCH,cAAc;IACdC;EACF,CAAC,CAAC;EAEF,MAAMR,iBAAiB,GAAGZ,oBAAoB,CAAC;IAC7CqB,MAAM,EAAER,uBAAuB;IAC/BS,YAAY,EAAEJ,UAAU,CAACI;EAC3B,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGT,YAAY,iBACxBrB,KAAA,CAAA+B,aAAA,CAAC7B,YAAY;IACX4B,KAAK,EAAET,YAAY,CAACS,KAAM;IAC1BE,QAAQ,EAAE;MACRC,IAAI,EAAE,EAAAvB,qBAAA,GAAAW,YAAY,CAACW,QAAQ,qBAArBtB,qBAAA,CAAuBuB,IAAI,KAAI,EAAE;MACvCC,SAAS,GAAAvB,sBAAA,GAAEU,YAAY,CAACW,QAAQ,qBAArBrB,sBAAA,CAAuBuB,SAAS;MAC3CC,IAAI,EAAE,EAAAvB,sBAAA,GAAAS,YAAY,CAACW,QAAQ,qBAArBpB,sBAAA,CAAuBuB,IAAI,KAAI;QACnCC,OAAO,eACLpC,KAAA,CAAA+B,aAAA,CAAC5B,GAAG;UAACkC,SAAS,EAAC,UAAU;UAACC,GAAG,EAAC;QAAK,gBACjCtC,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;UACHmC,QAAQ,EAAC,qCAAqC;UAC9CC,KAAK;UACLC,IAAI,EAAC;QAAO,IAAA5B,sBAAA,GAEXQ,YAAY,CAACW,QAAQ,cAAAnB,sBAAA,GAArBA,sBAAA,CAAuBsB,IAAI,qBAA3BtB,sBAAA,CAA6BuB,OAAO,CAACH,IAClC,CAAC,EACN,EAAAnB,sBAAA,GAAAO,YAAY,CAACW,QAAQ,cAAAlB,sBAAA,GAArBA,sBAAA,CAAuBqB,IAAI,qBAA3BrB,sBAAA,CAA6BsB,OAAO,CAACM,IAAI,kBACxC1C,KAAA,CAAA+B,aAAA,CAAC1B,UAAU;UACTkC,QAAQ,EAAC,kCAAkC;UAC3CE,IAAI,EAAC,OAAO;UACZE,SAAS,EAAC,QAAQ;UAClBC,IAAI,EAAC,OAAO;UACZC,EAAE,EAAC,GAAG;UACNC,GAAG,EAAC,UAAU;UACdC,MAAM,EAAC,QAAQ;UACfC,IAAI,GAAAjC,sBAAA,GAAEM,YAAY,CAACW,QAAQ,cAAAjB,sBAAA,GAArBA,sBAAA,CAAuBoB,IAAI,qBAA3BpB,sBAAA,CAA6BqB,OAAO,CAACM,IAAI,CAACO;QAAI,IAAAjC,sBAAA,GAEnDK,YAAY,CAACW,QAAQ,cAAAhB,sBAAA,GAArBA,sBAAA,CAAuBmB,IAAI,qBAA3BnB,sBAAA,CAA6BoB,OAAO,CAACM,IAAI,CAACQ,KACjC,CAEX;MAET;IACF,CAAE;IACFC,UAAU,EAAE9B,YAAY,CAAC8B,UAAW;IACpCC,SAAS,EAAE/B,YAAY,CAAC+B;EAAU,CACnC,CACF;EAED,OAAO;IACL9B,MAAM,EAAE,CAAAA,MAAM,oBAANA,MAAM,CAAE+B,KAAK,MAAK,KAAK;IAC/BvB,KAAK;IACLP,UAAU;IACVN,UAAU;IACVE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import { useMemo } from 'react';
2
+ export const useEntityPageHeaderTexts = _ref => {
3
+ let {
4
+ config,
5
+ isCreateMode,
6
+ entityDisplayName
7
+ } = _ref;
8
+ const title = useMemo(() => {
9
+ if (config.title) {
10
+ return config.title;
11
+ } else {
12
+ return {
13
+ text: isCreateMode ? 'Create New Item' : entityDisplayName ?? 'Edit Item'
14
+ };
15
+ }
16
+ }, [config.title, entityDisplayName, isCreateMode]);
17
+ const subtitle = useMemo(() => config.subtitle, [config.subtitle]);
18
+ return {
19
+ title,
20
+ subtitle
21
+ };
22
+ };
23
+ //# sourceMappingURL=useEntityPageHeaderTexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useEntityPageHeaderTexts","_ref","config","isCreateMode","entityDisplayName","title","text","subtitle"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n entityDisplayName,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n entityDisplayName?: string;\n}) => {\n const title = useMemo(() => {\n if (config.title) {\n return config.title;\n } else {\n return {\n text: isCreateMode\n ? 'Create New Item'\n : entityDisplayName ?? 'Edit Item',\n };\n }\n }, [config.title, entityDisplayName, isCreateMode]);\n\n const subtitle = useMemo(() => config.subtitle, [config.subtitle]);\n\n return { title, subtitle };\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAG/B,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAQlC;EAAA,IARmC;IACvCC,MAAM;IACNC,YAAY;IACZC;EAKF,CAAC,GAAAH,IAAA;EACC,MAAMI,KAAK,GAAGN,OAAO,CAAC,MAAM;IAC1B,IAAIG,MAAM,CAACG,KAAK,EAAE;MAChB,OAAOH,MAAM,CAACG,KAAK;IACrB,CAAC,MAAM;MACL,OAAO;QACLC,IAAI,EAAEH,YAAY,GACd,iBAAiB,GACjBC,iBAAiB,IAAI;MAC3B,CAAC;IACH;EACF,CAAC,EAAE,CAACF,MAAM,CAACG,KAAK,EAAED,iBAAiB,EAAED,YAAY,CAAC,CAAC;EAEnD,MAAMI,QAAQ,GAAGR,OAAO,CAAC,MAAMG,MAAM,CAACK,QAAQ,EAAE,CAACL,MAAM,CAACK,QAAQ,CAAC,CAAC;EAElE,OAAO;IAAEF,KAAK;IAAEE;EAAS,CAAC;AAC5B,CAAC","ignoreList":[]}
@@ -57,7 +57,7 @@ export const useGridFeatures = configuration => {
57
57
  disableAutoSelectAllCount,
58
58
  selectionConsistencyMode
59
59
  });
60
- const optimisticActions = useAutoPatternsOptimisticActions(state.collection);
60
+ const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
61
61
  const commonFeatures = useCommonCollectionFeatures({
62
62
  ...configuration,
63
63
  optimisticActions,
@@ -78,6 +78,7 @@ export const useGridFeatures = configuration => {
78
78
  state,
79
79
  imagePlacement,
80
80
  preset,
81
+ optimisticActions,
81
82
  renderItem,
82
83
  filters: filterComponent
83
84
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","useGridCollection","useCommonCollectionFeatures","useFilters","useMemo","useSchema","useAutoPatternsOptimisticActions","getImageUrl","useGridFeatures","configuration","item","collection","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","titleFieldId","subtitleFieldId","imageFieldId","imagePlacement","cardContentMode","preset","filterComponent","filtersObject","filtersMapping","filters","visibleFieldIds","filter","Boolean","fetchData","collectionConfig","schema","state","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","collectionType","renderItem","id","title","subtitle","backgroundImageUrl"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useMemo } from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { item, collection } = configuration;\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = collection;\n\n const {\n titleFieldId,\n subtitleFieldId,\n imageFieldId,\n imagePlacement,\n cardContentMode: preset,\n } = item;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n\n const visibleFieldIds = useMemo(\n () =>\n [titleFieldId, subtitleFieldId, imageFieldId].filter(Boolean) as string[],\n [titleFieldId, subtitleFieldId, imageFieldId],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n const schema = useSchema();\n\n const state = useGridCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (gridItem) => gridItem[schema.idField],\n itemName: (gridItem) => gridItem[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (gridItem) => gridItem.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(state.collection);\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n collectionType: 'Grid',\n });\n\n const renderItem = useMemo(\n () => (gridItem: any) => ({\n id: gridItem[schema.idField],\n title: `${gridItem[titleFieldId]}`,\n ...(subtitleFieldId\n ? { subtitle: `${gridItem[subtitleFieldId] ?? ''}` }\n : {}),\n ...(imageFieldId\n ? { backgroundImageUrl: getImageUrl(gridItem[imageFieldId]) }\n : {}),\n }),\n [titleFieldId, subtitleFieldId, imageFieldId, schema.idField],\n );\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useFetchData","useGridCollection","useCommonCollectionFeatures","useFilters","useMemo","useSchema","useAutoPatternsOptimisticActions","getImageUrl","useGridFeatures","configuration","item","collection","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","titleFieldId","subtitleFieldId","imageFieldId","imagePlacement","cardContentMode","preset","filterComponent","filtersObject","filtersMapping","filters","visibleFieldIds","filter","Boolean","fetchData","collectionConfig","schema","state","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","collectionType","renderItem","id","title","subtitle","backgroundImageUrl"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useMemo } from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { item, collection } = configuration;\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = collection;\n\n const {\n titleFieldId,\n subtitleFieldId,\n imageFieldId,\n imagePlacement,\n cardContentMode: preset,\n } = item;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n\n const visibleFieldIds = useMemo(\n () =>\n [titleFieldId, subtitleFieldId, imageFieldId].filter(Boolean) as string[],\n [titleFieldId, subtitleFieldId, imageFieldId],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n const schema = useSchema();\n\n const state = useGridCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (gridItem) => gridItem[schema.idField],\n itemName: (gridItem) => gridItem[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (gridItem) => gridItem.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n collectionType: 'Grid',\n });\n\n const renderItem = useMemo(\n () => (gridItem: any) => ({\n id: gridItem[schema.idField],\n title: `${gridItem[titleFieldId]}`,\n ...(subtitleFieldId\n ? { subtitle: `${gridItem[subtitleFieldId] ?? ''}` }\n : {}),\n ...(imageFieldId\n ? { backgroundImageUrl: getImageUrl(gridItem[imageFieldId]) }\n : {}),\n }),\n [titleFieldId, subtitleFieldId, imageFieldId, schema.idField],\n );\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n optimisticActions,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { useCallback } from 'react';
2
2
  import { usePatternsNavigate } from '@wix/patterns';
3
- import { useAppConfigContext, useSchema } from '../providers';
3
+ import { useAppConfigContext, useSchemaRegistry } from '../providers';
4
4
  import { generatePath } from 'react-router-dom';
5
5
  import { usePagePath } from './usePagePath';
6
6
  export const useNavigation = () => {
@@ -8,7 +8,9 @@ export const useNavigation = () => {
8
8
  navigateToEntityPage: navigateToEntityPagePatterns
9
9
  } = usePatternsNavigate();
10
10
  const appConfig = useAppConfigContext();
11
- const schema = useSchema();
11
+ const {
12
+ getSchema
13
+ } = useSchemaRegistry();
12
14
  const {
13
15
  getPagePath
14
16
  } = usePagePath(appConfig);
@@ -23,18 +25,20 @@ export const useNavigation = () => {
23
25
  return;
24
26
  }
25
27
  const {
26
- route
28
+ route,
29
+ collectionId
27
30
  } = entityPage.entityPage;
28
- if (route.path && (_route$params = route.params) != null && _route$params.id) {
31
+ const schema = getSchema(collectionId);
32
+ if (route.path && (_route$params = route.params) != null && _route$params.id && schema) {
29
33
  const path = generatePath(route.path, {
30
- [route.params.id]: item[schema.idField]
34
+ [route.params.id]: (item == null ? void 0 : item[schema.idField]) ?? ''
31
35
  });
32
36
  navigateToEntityPagePatterns({
33
37
  path,
34
38
  entity: item
35
39
  });
36
40
  }
37
- }, [appConfig, navigateToEntityPagePatterns, schema.idField]);
41
+ }, [appConfig, navigateToEntityPagePatterns, getSchema]);
38
42
  const getParentPagePath = useCallback(parentPageId => {
39
43
  return getPagePath(parentPageId);
40
44
  }, [getPagePath]);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchema","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","appConfig","schema","getPagePath","_ref","_route$params","item","entityPageId","entityPage","pages","find","page","id","route","path","params","idField","entity","getParentPagePath","parentPageId"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns';\nimport { useAppConfigContext, useSchema } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const { navigateToEntityPage: navigateToEntityPagePatterns } =\n usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const schema = useSchema();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route } = entityPage.entityPage as EntityPageConfig;\n if (route.path && route.params?.id) {\n const path = generatePath(route.path, {\n [route.params.id]: item[schema.idField],\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, schema.idField],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,mBAAmB,EAAEC,SAAS,QAAQ,cAAc;AAC7D,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,WAAW,QAAQ,eAAe;AAO3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC,oBAAoB,EAAEC;EAA6B,CAAC,GAC1DP,mBAAmB,CAAC,CAAC;EACvB,MAAMQ,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAMQ,MAAM,GAAGP,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEQ;EAAY,CAAC,GAAGN,WAAW,CAACI,SAAS,CAAC;EAE9C,MAAMF,oBAAoB,GAAGP,WAAW,CACtCY,IAAA,IAA4B;IAAA,IAAAC,aAAA;IAAA,IAA3B;MAAEC,IAAI;MAAEC;IAAa,CAAC,GAAAH,IAAA;IACrB,MAAMI,UAAU,GAAGD,YAAY,GAC3BN,SAAS,CAACQ,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK;IAAM,CAAC,GAAGL,UAAU,CAACA,UAA8B;IAC3D,IAAIK,KAAK,CAACC,IAAI,KAAAT,aAAA,GAAIQ,KAAK,CAACE,MAAM,aAAZV,aAAA,CAAcO,EAAE,EAAE;MAClC,MAAME,IAAI,GAAGlB,YAAY,CAACiB,KAAK,CAACC,IAAI,EAAE;QACpC,CAACD,KAAK,CAACE,MAAM,CAACH,EAAE,GAAGN,IAAI,CAACJ,MAAM,CAACc,OAAO;MACxC,CAAC,CAAC;MACFhB,4BAA4B,CAAC;QAC3Bc,IAAI;QACJG,MAAM,EAAEX;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACL,SAAS,EAAED,4BAA4B,EAAEE,MAAM,CAACc,OAAO,CAC1D,CAAC;EAED,MAAME,iBAAiB,GAAG1B,WAAW,CAClC2B,YAAqB,IAAyB;IAC7C,OAAOhB,WAAW,CAACgB,YAAY,CAAC;EAClC,CAAC,EACD,CAAChB,WAAW,CACd,CAAC;EAED,OAAO;IACLJ,oBAAoB;IACpBmB,iBAAiB;IACjBf;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","appConfig","getSchema","getPagePath","_ref","_route$params","item","entityPageId","entityPage","pages","find","page","id","route","collectionId","schema","path","params","idField","entity","getParentPagePath","parentPageId"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const { navigateToEntityPage: navigateToEntityPagePatterns } =\n usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,cAAc;AACrE,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,WAAW,QAAQ,eAAe;AAO3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC,oBAAoB,EAAEC;EAA6B,CAAC,GAC1DP,mBAAmB,CAAC,CAAC;EACvB,MAAMQ,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEQ;EAAU,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACzC,MAAM;IAAEQ;EAAY,CAAC,GAAGN,WAAW,CAACI,SAAS,CAAC;EAE9C,MAAMF,oBAAoB,GAAGP,WAAW,CACtCY,IAAA,IAA4B;IAAA,IAAAC,aAAA;IAAA,IAA3B;MAAEC,IAAI;MAAEC;IAAa,CAAC,GAAAH,IAAA;IACrB,MAAMI,UAAU,GAAGD,YAAY,GAC3BN,SAAS,CAACQ,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGb,SAAS,CAACY,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,KAAAX,aAAA,GAAIQ,KAAK,CAACI,MAAM,aAAZZ,aAAA,CAAcO,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAGpB,YAAY,CAACiB,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAG,CAAAN,IAAI,oBAAJA,IAAI,CAAGS,MAAM,CAACG,OAAO,CAAC,KAAI;MAC/C,CAAC,CAAC;MACFlB,4BAA4B,CAAC;QAC3BgB,IAAI;QACJG,MAAM,EAAEb;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACL,SAAS,EAAED,4BAA4B,EAAEE,SAAS,CACrD,CAAC;EAED,MAAMkB,iBAAiB,GAAG5B,WAAW,CAClC6B,YAAqB,IAAyB;IAC7C,OAAOlB,WAAW,CAACkB,YAAY,CAAC;EAClC,CAAC,EACD,CAAClB,WAAW,CACd,CAAC;EAED,OAAO;IACLJ,oBAAoB;IACpBqB,iBAAiB;IACjBjB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -48,7 +48,7 @@ export const useTableFeatures = configuration => {
48
48
  disableAutoSelectAllCount,
49
49
  selectionConsistencyMode
50
50
  });
51
- const optimisticActions = useAutoPatternsOptimisticActions(state.collection);
51
+ const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
52
52
  const commonFeatures = useCommonCollectionFeatures({
53
53
  ...configuration,
54
54
  optimisticActions
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useColumns","useFetchData","CustomColumns","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","filters","columns","visibleFieldIds","map","column","id","fetchData","collectionConfig","schema","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(state.collection);\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AAErF,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGN,aAAa,CAACO,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGd,UAAU,CACnEI,aAAa,CAACW,OAChB,CAAC;EACD,MAAMC,OAAO,GAAGrB,UAAU,CAACS,aAAa,CAACY,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGvB,OAAO,CAC7B,MAAMU,aAAa,CAACY,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAAChB,aAAa,CAChB,CAAC;EAED,MAAM;IAAEiB;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,gBAAgB,EAAElB,aAAa,CAACO,UAAU;IAC1CM,eAAe;IACfH;EACF,CAAC,CAAC;EAEF,MAAMS,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAE1B,MAAMuB,KAAK,GAAG1B,kBAAkB,CAAM;IACpC2B,SAAS,EAAE,GAAGnB,YAAY,EAAE;IAC5BoB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACK,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACO,YAAY,CAAC;IAC7Cf,OAAO,EAAEF,aAAa;IACtBkB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTd,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM2B,iBAAiB,GAAGnC,gCAAgC,CAACsB,KAAK,CAACb,UAAU,CAAC;EAE5E,MAAM2B,cAAc,GAAGvC,2BAA2B,CAAC;IACjD,GAAGK,aAAa;IAChBiC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGC,cAAc;IACjBd,KAAK;IACLR,OAAO;IACPD,OAAO,EAAEH,eAAe;IACxByB,iBAAiB;IACjBE,aAAa,EAAE,CAAAlC,qBAAA,GAAAD,aAAa,CAACmC,aAAa,aAA3BlC,qBAAA,CAA6BmC,OAAO,gBACjD/C,KAAA,CAAAgD,aAAA,CAAC5C,aAAa,MAAE,CAAC,GACf6C;EACN,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useColumns","useFetchData","CustomColumns","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","filters","columns","visibleFieldIds","map","column","id","fetchData","collectionConfig","schema","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AAErF,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGN,aAAa,CAACO,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGd,UAAU,CACnEI,aAAa,CAACW,OAChB,CAAC;EACD,MAAMC,OAAO,GAAGrB,UAAU,CAACS,aAAa,CAACY,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGvB,OAAO,CAC7B,MAAMU,aAAa,CAACY,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAAChB,aAAa,CAChB,CAAC;EAED,MAAM;IAAEiB;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,gBAAgB,EAAElB,aAAa,CAACO,UAAU;IAC1CM,eAAe;IACfH;EACF,CAAC,CAAC;EAEF,MAAMS,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAE1B,MAAMuB,KAAK,GAAG1B,kBAAkB,CAAM;IACpC2B,SAAS,EAAE,GAAGnB,YAAY,EAAE;IAC5BoB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACK,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACO,YAAY,CAAC;IAC7Cf,OAAO,EAAEF,aAAa;IACtBkB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTd,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM2B,iBAAiB,GAAGnC,gCAAgC,CACxDI,YAAY,EACZkB,KAAK,CAACb,UACR,CAAC;EAED,MAAM2B,cAAc,GAAGvC,2BAA2B,CAAC;IACjD,GAAGK,aAAa;IAChBiC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGC,cAAc;IACjBd,KAAK;IACLR,OAAO;IACPD,OAAO,EAAEH,eAAe;IACxByB,iBAAiB;IACjBE,aAAa,EAAE,CAAAlC,qBAAA,GAAAD,aAAa,CAACmC,aAAa,aAA3BlC,qBAAA,CAA6BmC,OAAO,gBACjD/C,KAAA,CAAAgD,aAAA,CAAC5C,aAAa,MAAE,CAAC,GACf6C;EACN,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import React, { createContext, useCallback, useContext, useState } from 'react';
2
+ const OptimisticActionsContext = /*#__PURE__*/createContext(undefined);
3
+ export const OptimisticActionsProvider = _ref => {
4
+ let {
5
+ children
6
+ } = _ref;
7
+ const [optimisticActionsMap, setOptimisticActionsMap] = useState({});
8
+ const registerOptimisticActions = useCallback((collectionId, actions) => {
9
+ setOptimisticActionsMap(prev => ({
10
+ ...prev,
11
+ [collectionId]: actions
12
+ }));
13
+ }, []);
14
+ const getOptimisticActions = useCallback(collectionId => optimisticActionsMap[collectionId], [optimisticActionsMap]);
15
+ return /*#__PURE__*/React.createElement(OptimisticActionsContext.Provider, {
16
+ value: {
17
+ registerOptimisticActions,
18
+ getOptimisticActions
19
+ }
20
+ }, children);
21
+ };
22
+ export const useOptimisticActionsContext = () => {
23
+ const context = useContext(OptimisticActionsContext);
24
+ if (!context) {
25
+ throw new Error('useOptimisticActionsContext must be used within an OptimisticActionsProvider');
26
+ }
27
+ return context;
28
+ };
29
+ //# sourceMappingURL=OptimisticActionsContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useCallback","useContext","useState","OptimisticActionsContext","undefined","OptimisticActionsProvider","_ref","children","optimisticActionsMap","setOptimisticActionsMap","registerOptimisticActions","collectionId","actions","prev","getOptimisticActions","createElement","Provider","value","useOptimisticActionsContext","context","Error"],"sources":["../../../src/providers/OptimisticActionsContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useState } from 'react';\nimport { CollectionOptimisticActions } from '@wix/patterns';\n\ninterface OptimisticActionsContextValue {\n registerOptimisticActions: (\n collectionId: string,\n actions: CollectionOptimisticActions<any, any>,\n ) => void;\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nconst OptimisticActionsContext = createContext<\n OptimisticActionsContextValue | undefined\n>(undefined);\n\nexport const OptimisticActionsProvider: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const [optimisticActionsMap, setOptimisticActionsMap] = useState<\n Record<string, CollectionOptimisticActions<any, any>>\n >({});\n\n const registerOptimisticActions = useCallback(\n (collectionId: string, actions: CollectionOptimisticActions<any, any>) => {\n setOptimisticActionsMap((prev) => ({\n ...prev,\n [collectionId]: actions,\n }));\n },\n [],\n );\n\n const getOptimisticActions = useCallback(\n (collectionId: string) => optimisticActionsMap[collectionId],\n [optimisticActionsMap],\n );\n\n return (\n <OptimisticActionsContext.Provider\n value={{ registerOptimisticActions, getOptimisticActions }}\n >\n {children}\n </OptimisticActionsContext.Provider>\n );\n};\n\nexport const useOptimisticActionsContext = () => {\n const context = useContext(OptimisticActionsContext);\n if (!context) {\n throw new Error(\n 'useOptimisticActionsContext must be used within an OptimisticActionsProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAa/E,MAAMC,wBAAwB,gBAAGJ,aAAa,CAE5CK,SAAS,CAAC;AAEZ,OAAO,MAAMC,yBAEX,GAAGC,IAAA,IAAkB;EAAA,IAAjB;IAAEC;EAAS,CAAC,GAAAD,IAAA;EAChB,MAAM,CAACE,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGP,QAAQ,CAE9D,CAAC,CAAC,CAAC;EAEL,MAAMQ,yBAAyB,GAAGV,WAAW,CAC3C,CAACW,YAAoB,EAAEC,OAA8C,KAAK;IACxEH,uBAAuB,CAAEI,IAAI,KAAM;MACjC,GAAGA,IAAI;MACP,CAACF,YAAY,GAAGC;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,MAAME,oBAAoB,GAAGd,WAAW,CACrCW,YAAoB,IAAKH,oBAAoB,CAACG,YAAY,CAAC,EAC5D,CAACH,oBAAoB,CACvB,CAAC;EAED,oBACEV,KAAA,CAAAiB,aAAA,CAACZ,wBAAwB,CAACa,QAAQ;IAChCC,KAAK,EAAE;MAAEP,yBAAyB;MAAEI;IAAqB;EAAE,GAE1DP,QACgC,CAAC;AAExC,CAAC;AAED,OAAO,MAAMW,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,OAAO,GAAGlB,UAAU,CAACE,wBAAwB,CAAC;EACpD,IAAI,CAACgB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n IColumnValue,\n PagePrimaryActionProps,\n PageSecondaryActionProps,\n} from '../types';\nimport { CollectionConfig } from '@wix/patterns';\nimport { CustomActionParams, ResolvedAction } from '../utils/actions/types';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: CustomActionParams) => ResolvedAction>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n usePagePrimaryAction?: () => PagePrimaryActionProps;\n usePageSecondaryAction?: () => PageSecondaryActionProps;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAsBnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport { CustomComponentProps, IColumnValue } from '../types';\nimport { CollectionConfig } from '@wix/patterns';\nimport { CustomActionParams, ResolvedAction } from '../utils/actions/types';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: CustomActionParams) => ResolvedAction>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAenE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { AppConfigProvider } from './AppConfigContext';
3
3
  import { ModalProvider } from './ModalContext';
4
4
  import { SchemaRegistryProvider } from './SchemaRegistryContext';
5
+ import { OptimisticActionsProvider } from './OptimisticActionsContext';
5
6
  export const RootAppProvider = _ref => {
6
7
  let {
7
8
  appConfig,
@@ -9,6 +10,6 @@ export const RootAppProvider = _ref => {
9
10
  } = _ref;
10
11
  return /*#__PURE__*/React.createElement(AppConfigProvider, {
11
12
  appConfig: appConfig
12
- }, /*#__PURE__*/React.createElement(SchemaRegistryProvider, null, /*#__PURE__*/React.createElement(ModalProvider, null, children)));
13
+ }, /*#__PURE__*/React.createElement(SchemaRegistryProvider, null, /*#__PURE__*/React.createElement(OptimisticActionsProvider, null, /*#__PURE__*/React.createElement(ModalProvider, null, children))));
13
14
  };
14
15
  //# sourceMappingURL=RootAppProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","AppConfigProvider","ModalProvider","SchemaRegistryProvider","RootAppProvider","_ref","appConfig","children","createElement"],"sources":["../../../src/providers/RootAppProvider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { AppConfig } from '../types';\nimport { AppConfigProvider } from './AppConfigContext';\nimport { ModalProvider } from './ModalContext';\nimport { SchemaRegistryProvider } from './SchemaRegistryContext';\n\nexport const RootAppProvider = ({\n appConfig,\n children,\n}: {\n appConfig: AppConfig;\n children: ReactNode;\n}) => {\n return (\n <AppConfigProvider appConfig={appConfig}>\n <SchemaRegistryProvider>\n <ModalProvider>{children}</ModalProvider>\n </SchemaRegistryProvider>\n </AppConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AAExC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,sBAAsB,QAAQ,yBAAyB;AAEhE,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAMzB;EAAA,IAN0B;IAC9BC,SAAS;IACTC;EAIF,CAAC,GAAAF,IAAA;EACC,oBACEL,KAAA,CAAAQ,aAAA,CAACP,iBAAiB;IAACK,SAAS,EAAEA;EAAU,gBACtCN,KAAA,CAAAQ,aAAA,CAACL,sBAAsB,qBACrBH,KAAA,CAAAQ,aAAA,CAACN,aAAa,QAAEK,QAAwB,CAClB,CACP,CAAC;AAExB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","AppConfigProvider","ModalProvider","SchemaRegistryProvider","OptimisticActionsProvider","RootAppProvider","_ref","appConfig","children","createElement"],"sources":["../../../src/providers/RootAppProvider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { AppConfig } from '../types';\nimport { AppConfigProvider } from './AppConfigContext';\nimport { ModalProvider } from './ModalContext';\nimport { SchemaRegistryProvider } from './SchemaRegistryContext';\nimport { OptimisticActionsProvider } from './OptimisticActionsContext';\n\nexport const RootAppProvider = ({\n appConfig,\n children,\n}: {\n appConfig: AppConfig;\n children: ReactNode;\n}) => {\n return (\n <AppConfigProvider appConfig={appConfig}>\n <SchemaRegistryProvider>\n <OptimisticActionsProvider>\n <ModalProvider>{children}</ModalProvider>\n </OptimisticActionsProvider>\n </SchemaRegistryProvider>\n </AppConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AAExC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,sBAAsB,QAAQ,yBAAyB;AAChE,SAASC,yBAAyB,QAAQ,4BAA4B;AAEtE,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAMzB;EAAA,IAN0B;IAC9BC,SAAS;IACTC;EAIF,CAAC,GAAAF,IAAA;EACC,oBACEN,KAAA,CAAAS,aAAA,CAACR,iBAAiB;IAACM,SAAS,EAAEA;EAAU,gBACtCP,KAAA,CAAAS,aAAA,CAACN,sBAAsB,qBACrBH,KAAA,CAAAS,aAAA,CAACL,yBAAyB,qBACxBJ,KAAA,CAAAS,aAAA,CAACP,aAAa,QAAEM,QAAwB,CACf,CACL,CACP,CAAC;AAExB,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BaseSDK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/types/BaseSDK.ts"],"sourcesContent":["import { ModalId } from '../providers/ModalContext';\nimport { PatternsWizardOverridesContextProps } from '../providers';\nimport { AppConfig } from './types';\nimport { NavigateToEntityPageFunc } from '../hooks';\n\nexport interface BaseSDK {\n appConfig: AppConfig;\n openModal: (id: ModalId, props?: Record<string, any>) => void;\n closeModal: () => void;\n overrides?: PatternsWizardOverridesContextProps;\n navigateToEntityPage?: NavigateToEntityPageFunc;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport { ActionCellConfig, BulkActionsConfig } from './actions';\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n components: ComponentConfig[];\n}\n\nexport interface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n}\n\nexport interface CollectionConfig extends BaseCollectionConfig {\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":"AAkIA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n}\n\nexport interface CollectionConfig extends BaseCollectionConfig {\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":"AA2IA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n icon?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface UpdateActionModal extends BaseActionModal {\n fields: ActionModalField[];\n}\n\nexport interface UpdateActionPage extends BaseActionPage {}\n\nexport type UpdateAction =\n | {\n mode: 'modal';\n modal: UpdateActionModal;\n page?: never;\n }\n | {\n mode: 'page';\n page: UpdateActionPage;\n modal?: never;\n };\n\nexport type UpdateActionConfig = BaseActionItemConfig & {\n type: 'update';\n update: UpdateAction;\n};\n\nexport type DeleteActionConfig = BaseActionItemConfig & {\n type: 'delete';\n delete: DeleteAction;\n};\n\nexport type BulkDeleteActionConfig = BaseActionItemConfig & {\n type: 'bulkDelete';\n bulkDelete: BulkDeleteAction;\n};\n\nexport type CustomModalActionConfig = BaseActionItemConfig & {\n type: 'customModal';\n customModal: CustomModalAction;\n};\n\nexport type CustomActionConfig = BaseActionItemConfig & {\n type: 'custom';\n custom: CustomAction;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n icon?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface ActionModalWithFields extends BaseActionModal {\n fields: ActionModalField[];\n}\n\nexport interface UpdateActionModal extends ActionModalWithFields {}\n\nexport interface CreateActionModal extends ActionModalWithFields {}\n\nexport interface UpdateActionPage extends BaseActionPage {}\n\nexport interface CreateActionPage extends BaseActionPage {}\n\nexport type UpdateAction = {\n mode: 'page';\n page: UpdateActionPage;\n};\n\nexport type CreateAction = {\n mode: 'page';\n page: CreateActionPage;\n};\n\nexport type CreateActionConfig = BaseActionItemConfig & {\n type: 'create';\n create: CreateAction;\n};\n\nexport type UpdateActionConfig = BaseActionItemConfig & {\n type: 'update';\n update: UpdateAction;\n};\n\nexport type DeleteActionConfig = BaseActionItemConfig & {\n type: 'delete';\n delete: DeleteAction;\n};\n\nexport type BulkDeleteActionConfig = BaseActionItemConfig & {\n type: 'bulkDelete';\n bulkDelete: BulkDeleteAction;\n};\n\nexport type CustomModalActionConfig = BaseActionItemConfig & {\n type: 'customModal';\n customModal: CustomModalAction;\n};\n\nexport type CustomActionConfig = BaseActionItemConfig & {\n type: 'custom';\n custom: CustomAction;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=collectionPageActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/collectionPageActions.ts"],"sourcesContent":["import {\n CreateActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n} from './base';\n\nexport type CollectionPageActionConfig = (\n | CreateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n) & {\n collection: {\n collectionId: string;\n entityTypeSource: 'cms';\n };\n};\n\ntype CollectionPageSingleAction = {\n type: 'single';\n single: {\n item: CollectionPageActionConfig;\n };\n multi?: never;\n};\n\ntype CollectionPageMultiAction = {\n type: 'multi';\n multi: {\n label: string;\n icon?: string;\n items: CollectionPageActionConfig[];\n };\n single?: never;\n};\n\nexport type CollectionPagePrimaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n\nexport type CollectionPageSecondaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  export * from './base';
2
2
  export * from './actionCell';
3
3
  export * from './bulkActions';
4
+ export * from './collectionPageActions';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/index.ts"],"sourcesContent":["export * from './base';\nexport * from './actionCell';\nexport * from './bulkActions';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,eAAe","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/index.ts"],"sourcesContent":["export * from './base';\nexport * from './actionCell';\nexport * from './bulkActions';\nexport * from './collectionPageActions';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,eAAe;AAC7B,cAAc,yBAAyB","ignoreList":[]}
@@ -3,4 +3,5 @@ export * from './CollectionPageConfig';
3
3
  export * from './EntityPageConfig';
4
4
  export * from './actions';
5
5
  export * from '../utils/actions/types';
6
+ export * from './BaseSDK';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './types';\nexport * from './CollectionPageConfig';\nexport * from './EntityPageConfig';\nexport * from './actions';\nexport * from '../utils/actions/types';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './types';\nexport * from './CollectionPageConfig';\nexport * from './EntityPageConfig';\nexport * from './actions';\nexport * from '../utils/actions/types';\nexport * from './BaseSDK';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,wBAAwB;AACtC,cAAc,WAAW","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/types.ts"],"sourcesContent":["import { PrimaryActions, SecondaryActions } from '@wix/patterns';\nimport { EntityPageConfig } from './EntityPageConfig';\nimport { CollectionPageConfig } from './CollectionPageConfig';\n\nexport interface BaseCollectionConfig {\n collectionId: string;\n entityTypeSource: 'cms';\n}\n\nexport type PatternsFieldType =\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'URL'\n | 'ARRAY'\n | 'REFERENCE';\n\nexport interface AppConfig {\n pages: PageConfig[];\n}\n\nexport interface BasePageConfig {\n id: string;\n appMainPage?: boolean;\n}\n\nexport interface CollectionPageConfigType extends BasePageConfig {\n type: 'collectionPage';\n collectionPage: CollectionPageConfig;\n entityPage?: never;\n}\n\nexport interface EntityPageConfigType extends BasePageConfig {\n type: 'entityPage';\n entityPage: EntityPageConfig;\n collectionPage?: never;\n}\n\nexport type PageConfig = CollectionPageConfigType | EntityPageConfigType;\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = any> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\ninterface BaseField {\n id: string;\n displayName: string;\n validation?: {\n numberRange?: NumberRange;\n stringLengthRange?: StringLengthRange;\n required: boolean;\n };\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\nexport interface ReferenceField extends BaseField {\n type: 'REFERENCE';\n referenceMetadata: {\n referencedCollectionId: string;\n };\n}\n\nexport interface NonReferenceField extends BaseField {\n type: Exclude<PatternsFieldType, 'REFERENCE'>;\n}\n\nexport type Field = ReferenceField | NonReferenceField;\n\nexport interface NumberRange {\n min?: number;\n max?: number;\n}\nexport interface StringLengthRange {\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface SchemaConfig {\n id: string;\n fields: Record<string, Field | undefined>;\n displayField: string;\n idField: string;\n imageField?: string;\n actions: {\n get: (entityId: string) => Promise<any>;\n create: (newEntity: Partial<any>) => Promise<any>;\n update: (updatedEntity: any) => Promise<any>;\n delete: (entityId: string) => Promise<any>;\n bulkDelete: (entityIds: string[]) => Promise<any>;\n };\n}\n\nexport type PagePrimaryActionProps = React.ComponentProps<\n typeof PrimaryActions\n>;\n\nexport type PageSecondaryActionProps = React.ComponentProps<\n typeof SecondaryActions\n>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/types.ts"],"sourcesContent":["import { EntityPageConfig } from './EntityPageConfig';\nimport { CollectionPageConfig } from './CollectionPageConfig';\n\nexport interface BaseCollectionConfig {\n collectionId: string;\n entityTypeSource: 'cms';\n}\n\nexport type PatternsFieldType =\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'URL'\n | 'ARRAY'\n | 'REFERENCE'\n | 'IMAGE';\n\nexport interface AppConfig {\n pages: PageConfig[];\n}\n\nexport interface BasePageConfig {\n id: string;\n appMainPage?: boolean;\n}\n\nexport interface CollectionPageConfigType extends BasePageConfig {\n type: 'collectionPage';\n collectionPage: CollectionPageConfig;\n entityPage?: never;\n}\n\nexport interface EntityPageConfigType extends BasePageConfig {\n type: 'entityPage';\n entityPage: EntityPageConfig;\n collectionPage?: never;\n}\n\nexport type PageConfig = CollectionPageConfigType | EntityPageConfigType;\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = any> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\ninterface BaseField {\n id: string;\n displayName: string;\n validation?: {\n numberRange?: NumberRange;\n stringLengthRange?: StringLengthRange;\n required: boolean;\n };\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\nexport interface ReferenceField extends BaseField {\n type: 'REFERENCE';\n referenceMetadata: {\n referencedCollectionId: string;\n };\n}\n\nexport interface NonReferenceField extends BaseField {\n type: Exclude<PatternsFieldType, 'REFERENCE'>;\n}\n\nexport type Field = ReferenceField | NonReferenceField;\n\nexport interface NumberRange {\n min?: number;\n max?: number;\n}\nexport interface StringLengthRange {\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface SchemaConfig {\n id: string;\n fields: Record<string, Field | undefined>;\n displayField: string;\n idField: string;\n imageField?: string;\n actions: {\n get: (entityId: string) => Promise<any>;\n create: (newEntity: Partial<any>) => Promise<any>;\n update: (updatedEntity: any) => Promise<any>;\n delete: (entityId: string) => Promise<any>;\n bulkDelete: (entityIds: string[]) => Promise<any>;\n };\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,16 +1,16 @@
1
1
  export const bulkDeleteAction = params => {
2
2
  const {
3
3
  action,
4
- sharedData,
4
+ sdk,
5
5
  actionParams
6
6
  } = params;
7
7
  return {
8
8
  onClick: () => {
9
9
  if (action.bulkDelete.mode === 'modal') {
10
- sharedData.openModal('BulkDeleteModal', {
10
+ sdk.openModal('BulkDeleteModal', {
11
11
  modalParams: action.bulkDelete.modal,
12
12
  actionParams,
13
- sharedData
13
+ sdk
14
14
  });
15
15
  }
16
16
  },
@@ -1 +1 @@
1
- {"version":3,"names":["bulkDeleteAction","params","action","sharedData","actionParams","onClick","bulkDelete","mode","openModal","modalParams","modal","label","icon"],"sources":["../../../../src/utils/actions/bulkDeleteAction.ts"],"sourcesContent":["import { BulkDeleteActionParams } from './types';\n\nexport const bulkDeleteAction = (params: BulkDeleteActionParams) => {\n const { action, sharedData, actionParams } = params;\n return {\n onClick: () => {\n if (action.bulkDelete.mode === 'modal') {\n sharedData.openModal('BulkDeleteModal', {\n modalParams: action.bulkDelete.modal,\n actionParams,\n sharedData,\n });\n }\n },\n label: 'Delete',\n icon: 'Delete',\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,GAAIC,MAA8B,IAAK;EAClE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAGH,MAAM;EACnD,OAAO;IACLI,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIH,MAAM,CAACI,UAAU,CAACC,IAAI,KAAK,OAAO,EAAE;QACtCJ,UAAU,CAACK,SAAS,CAAC,iBAAiB,EAAE;UACtCC,WAAW,EAAEP,MAAM,CAACI,UAAU,CAACI,KAAK;UACpCN,YAAY;UACZD;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IACDQ,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE;EACR,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["bulkDeleteAction","params","action","sdk","actionParams","onClick","bulkDelete","mode","openModal","modalParams","modal","label","icon"],"sources":["../../../../src/utils/actions/bulkDeleteAction.ts"],"sourcesContent":["import { BulkDeleteActionParams } from './types';\n\nexport const bulkDeleteAction = (params: BulkDeleteActionParams) => {\n const { action, sdk, actionParams } = params;\n return {\n onClick: () => {\n if (action.bulkDelete.mode === 'modal') {\n sdk.openModal('BulkDeleteModal', {\n modalParams: action.bulkDelete.modal,\n actionParams,\n sdk,\n });\n }\n },\n label: 'Delete',\n icon: 'Delete',\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,GAAIC,MAA8B,IAAK;EAClE,MAAM;IAAEC,MAAM;IAAEC,GAAG;IAAEC;EAAa,CAAC,GAAGH,MAAM;EAC5C,OAAO;IACLI,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIH,MAAM,CAACI,UAAU,CAACC,IAAI,KAAK,OAAO,EAAE;QACtCJ,GAAG,CAACK,SAAS,CAAC,iBAAiB,EAAE;UAC/BC,WAAW,EAAEP,MAAM,CAACI,UAAU,CAACI,KAAK;UACpCN,YAAY;UACZD;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IACDQ,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE;EACR,CAAC;AACH,CAAC","ignoreList":[]}