@wix/auto-patterns 1.27.0 → 1.29.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 (193) hide show
  1. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +19 -58
  2. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -1
  4. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  5. package/dist/cjs/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.js +48 -0
  6. package/dist/cjs/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.js.map +1 -0
  7. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +1 -1
  8. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -1
  9. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +1 -1
  10. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -1
  11. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +11 -7
  12. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -1
  13. package/dist/cjs/components/ModalRenderer.js +1 -1
  14. package/dist/cjs/components/ModalRenderer.js.map +1 -1
  15. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +5 -0
  16. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  17. package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js +1 -1
  18. package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js.map +1 -1
  19. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +13 -6
  20. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  21. package/dist/cjs/hooks/useBaseCollectionParams.js +38 -0
  22. package/dist/cjs/hooks/useBaseCollectionParams.js.map +1 -0
  23. package/dist/cjs/hooks/useBaseSDK.js +1 -1
  24. package/dist/cjs/hooks/useBaseSDK.js.map +1 -1
  25. package/dist/cjs/hooks/useColumns.js +1 -1
  26. package/dist/cjs/hooks/useColumns.js.map +1 -1
  27. package/dist/cjs/hooks/useCommonCollectionFeatures.js +13 -6
  28. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  29. package/dist/cjs/hooks/useEmptyStates.js +1 -1
  30. package/dist/cjs/hooks/useEmptyStates.js.map +1 -1
  31. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +2 -2
  32. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -1
  33. package/dist/cjs/hooks/useFetchData.js +4 -5
  34. package/dist/cjs/hooks/useFetchData.js.map +1 -1
  35. package/dist/cjs/hooks/useFilters.js +2 -2
  36. package/dist/cjs/hooks/useFilters.js.map +1 -1
  37. package/dist/cjs/hooks/useGridFeatures.js +6 -26
  38. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  39. package/dist/cjs/hooks/useTableFeatures.js +8 -28
  40. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  41. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +8 -28
  42. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -1
  43. package/dist/cjs/providers/{PatternsWizardOverridesContext.js → AutoPatternsOverridesContext.js} +14 -11
  44. package/dist/cjs/providers/AutoPatternsOverridesContext.js.map +1 -0
  45. package/dist/cjs/providers/SchemaContext.js +24 -7
  46. package/dist/cjs/providers/SchemaContext.js.map +1 -1
  47. package/dist/cjs/providers/index.js +4 -4
  48. package/dist/cjs/providers/index.js.map +1 -1
  49. package/dist/cjs/types/BaseSDK.js.map +1 -1
  50. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  51. package/dist/cjs/types/actions/base.js.map +1 -1
  52. package/dist/cjs/types/fetchData.js +4 -0
  53. package/dist/cjs/types/fetchData.js.map +1 -0
  54. package/dist/cjs/types/index.js +6 -0
  55. package/dist/cjs/types/index.js.map +1 -1
  56. package/dist/cjs/types/types.js.map +1 -1
  57. package/dist/cjs/utils/actions/resolveAction.js +2 -1
  58. package/dist/cjs/utils/actions/resolveAction.js.map +1 -1
  59. package/dist/cjs/utils/actions/types.js.map +1 -1
  60. package/dist/cjs/utils/vibe.js +11 -0
  61. package/dist/cjs/utils/vibe.js.map +1 -0
  62. package/dist/docs/action_cell.md +18 -8
  63. package/dist/docs/app_config_structure.md +37 -1
  64. package/dist/docs/app_context.md +45 -0
  65. package/dist/docs/auto-patterns-guide.md +331 -82
  66. package/dist/docs/bulk_actions.md +10 -5
  67. package/dist/docs/collection_page.md +1 -1
  68. package/dist/docs/collection_page_actions.md +16 -9
  69. package/dist/docs/custom_overrides.md +22 -36
  70. package/dist/docs/entity_page.md +10 -10
  71. package/dist/docs/entity_page_actions.md +11 -4
  72. package/dist/docs/error_handling.md +135 -0
  73. package/dist/docs/index.md +8 -0
  74. package/dist/docs/installation.md +3 -3
  75. package/dist/docs/resolved_action.md +6 -2
  76. package/dist/docs/schema_config.md +11 -3
  77. package/dist/docs/wix_fqdn_custom_data_source.md +51 -9
  78. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +2 -25
  79. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  80. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +2 -2
  81. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  82. package/dist/esm/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.js +29 -0
  83. package/dist/esm/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.js.map +1 -0
  84. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +2 -2
  85. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -1
  86. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +2 -2
  87. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -1
  88. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js +5 -1
  89. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -1
  90. package/dist/esm/components/ModalRenderer.js +2 -2
  91. package/dist/esm/components/ModalRenderer.js.map +1 -1
  92. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +4 -0
  93. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  94. package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js +1 -1
  95. package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js.map +1 -1
  96. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +14 -9
  97. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  98. package/dist/esm/hooks/useBaseCollectionParams.js +37 -0
  99. package/dist/esm/hooks/useBaseCollectionParams.js.map +1 -0
  100. package/dist/esm/hooks/useBaseSDK.js +2 -2
  101. package/dist/esm/hooks/useBaseSDK.js.map +1 -1
  102. package/dist/esm/hooks/useColumns.js +2 -2
  103. package/dist/esm/hooks/useColumns.js.map +1 -1
  104. package/dist/esm/hooks/useCommonCollectionFeatures.js +9 -2
  105. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  106. package/dist/esm/hooks/useEmptyStates.js +2 -2
  107. package/dist/esm/hooks/useEmptyStates.js.map +1 -1
  108. package/dist/esm/hooks/useEntityPageHeaderTexts.js +2 -2
  109. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -1
  110. package/dist/esm/hooks/useFetchData.js +2 -2
  111. package/dist/esm/hooks/useFetchData.js.map +1 -1
  112. package/dist/esm/hooks/useFilters.js +2 -2
  113. package/dist/esm/hooks/useFilters.js.map +1 -1
  114. package/dist/esm/hooks/useGridFeatures.js +6 -29
  115. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  116. package/dist/esm/hooks/useTableFeatures.js +8 -31
  117. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  118. package/dist/esm/hooks/useTableGridSwitchFeatures.js +8 -31
  119. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -1
  120. package/dist/esm/providers/AutoPatternsOverridesContext.js +19 -0
  121. package/dist/esm/providers/AutoPatternsOverridesContext.js.map +1 -0
  122. package/dist/esm/providers/SchemaContext.js +23 -6
  123. package/dist/esm/providers/SchemaContext.js.map +1 -1
  124. package/dist/esm/providers/index.js +1 -1
  125. package/dist/esm/providers/index.js.map +1 -1
  126. package/dist/esm/types/BaseSDK.js.map +1 -1
  127. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  128. package/dist/esm/types/actions/base.js.map +1 -1
  129. package/dist/esm/types/fetchData.js +2 -0
  130. package/dist/esm/types/fetchData.js.map +1 -0
  131. package/dist/esm/types/index.js +1 -0
  132. package/dist/esm/types/index.js.map +1 -1
  133. package/dist/esm/types/types.js.map +1 -1
  134. package/dist/esm/utils/actions/resolveAction.js +2 -1
  135. package/dist/esm/utils/actions/resolveAction.js.map +1 -1
  136. package/dist/esm/utils/actions/types.js.map +1 -1
  137. package/dist/esm/utils/vibe.js +6 -0
  138. package/dist/esm/utils/vibe.js.map +1 -0
  139. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  140. package/dist/types/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.d.ts +3 -0
  141. package/dist/types/components/AutoPatternsCollectionPageFooter/AutoPatternsCollectionPageFooter.d.ts.map +1 -0
  142. package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts.map +1 -1
  143. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts +2 -1
  144. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  145. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +7 -1
  146. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
  147. package/dist/types/hooks/useBaseCollectionParams.d.ts +27 -0
  148. package/dist/types/hooks/useBaseCollectionParams.d.ts.map +1 -0
  149. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +4 -3
  150. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  151. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
  152. package/dist/types/hooks/useFetchData.d.ts +3 -13
  153. package/dist/types/hooks/useFetchData.d.ts.map +1 -1
  154. package/dist/types/hooks/useGridFeatures.d.ts +1 -1
  155. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  156. package/dist/types/hooks/useTableFeatures.d.ts +1 -1
  157. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  158. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +1 -1
  159. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -1
  160. package/dist/types/providers/{PatternsWizardOverridesContext.d.ts → AutoPatternsOverridesContext.d.ts} +14 -5
  161. package/dist/types/providers/AutoPatternsOverridesContext.d.ts.map +1 -0
  162. package/dist/types/providers/SchemaContext.d.ts.map +1 -1
  163. package/dist/types/providers/index.d.ts +1 -1
  164. package/dist/types/providers/index.d.ts.map +1 -1
  165. package/dist/types/types/BaseSDK.d.ts +2 -2
  166. package/dist/types/types/BaseSDK.d.ts.map +1 -1
  167. package/dist/types/types/CollectionPageConfig.d.ts +4 -0
  168. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  169. package/dist/types/types/actions/base.d.ts +1 -0
  170. package/dist/types/types/actions/base.d.ts.map +1 -1
  171. package/dist/types/types/fetchData.d.ts +21 -0
  172. package/dist/types/types/fetchData.d.ts.map +1 -0
  173. package/dist/types/types/index.d.ts +1 -0
  174. package/dist/types/types/index.d.ts.map +1 -1
  175. package/dist/types/types/types.d.ts +12 -7
  176. package/dist/types/types/types.d.ts.map +1 -1
  177. package/dist/types/utils/actions/resolveAction.d.ts +1 -0
  178. package/dist/types/utils/actions/resolveAction.d.ts.map +1 -1
  179. package/dist/types/utils/actions/types.d.ts +1 -0
  180. package/dist/types/utils/actions/types.d.ts.map +1 -1
  181. package/dist/types/utils/vibe.d.ts +2 -0
  182. package/dist/types/utils/vibe.d.ts.map +1 -0
  183. package/package.json +10 -10
  184. package/dist/cjs/dataSourceAdapters/factory.js +0 -14
  185. package/dist/cjs/dataSourceAdapters/factory.js.map +0 -1
  186. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +0 -1
  187. package/dist/esm/dataSourceAdapters/factory.js +0 -10
  188. package/dist/esm/dataSourceAdapters/factory.js.map +0 -1
  189. package/dist/esm/providers/PatternsWizardOverridesContext.js +0 -15
  190. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +0 -1
  191. package/dist/types/dataSourceAdapters/factory.d.ts +0 -3
  192. package/dist/types/dataSourceAdapters/factory.d.ts.map +0 -1
  193. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +0 -1
@@ -1,18 +1,23 @@
1
1
  import { useOptimisticActions } from '@wix/patterns';
2
2
  import { useEffect } from 'react';
3
3
  import { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';
4
- export const useAutoPatternsOptimisticActions = (collectionId, collection) => {
4
+ import { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';
5
+ export const useAutoPatternsOptimisticActions = _ref => {
6
+ var _overrides$optimistic;
7
+ let {
8
+ collectionConfig,
9
+ collectionState
10
+ } = _ref;
5
11
  const {
6
12
  registerOptimisticActions
7
13
  } = useOptimisticActionsContext();
8
- const optimisticActions = useOptimisticActions(collection, {
9
- orderBy: _ref => {
10
- let {
11
- sort
12
- } = _ref;
13
- return sort || [];
14
- }
15
- });
14
+ const overrides = useAutoPatternsOverridesContext();
15
+ const {
16
+ collectionId,
17
+ optimisticActions: optimisticActionsConfig
18
+ } = collectionConfig;
19
+ const optimisticActionsParams = overrides == null || (_overrides$optimistic = overrides.optimisticActions) == null ? void 0 : _overrides$optimistic[(optimisticActionsConfig == null ? void 0 : optimisticActionsConfig.id) ?? ''];
20
+ const optimisticActions = useOptimisticActions(collectionState, optimisticActionsParams);
16
21
  useEffect(() => {
17
22
  if (optimisticActions && collectionId) {
18
23
  registerOptimisticActions(collectionId, optimisticActions);
@@ -1 +1 @@
1
- {"version":3,"names":["useOptimisticActions","useEffect","useOptimisticActionsContext","useAutoPatternsOptimisticActions","collectionId","collection","registerOptimisticActions","optimisticActions","orderBy","_ref","sort"],"sources":["../../../src/hooks/useAutoPatternsOptimisticActions.ts"],"sourcesContent":["import { CollectionState, useOptimisticActions } from '@wix/patterns';\nimport { useEffect } from 'react';\nimport { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';\n\nexport const useAutoPatternsOptimisticActions = (\n collectionId: string,\n collection: CollectionState<any>,\n) => {\n const { registerOptimisticActions } = useOptimisticActionsContext();\n\n const optimisticActions = useOptimisticActions(collection, {\n orderBy: ({ sort }) => sort || [],\n });\n\n useEffect(() => {\n if (optimisticActions && collectionId) {\n registerOptimisticActions(collectionId, optimisticActions);\n }\n }, [optimisticActions, collectionId, registerOptimisticActions]);\n\n return optimisticActions;\n};\n"],"mappings":"AAAA,SAA0BA,oBAAoB,QAAQ,eAAe;AACrE,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,2BAA2B,QAAQ,uCAAuC;AAEnF,OAAO,MAAMC,gCAAgC,GAAGA,CAC9CC,YAAoB,EACpBC,UAAgC,KAC7B;EACH,MAAM;IAAEC;EAA0B,CAAC,GAAGJ,2BAA2B,CAAC,CAAC;EAEnE,MAAMK,iBAAiB,GAAGP,oBAAoB,CAACK,UAAU,EAAE;IACzDG,OAAO,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAK,CAAC,GAAAD,IAAA;MAAA,OAAKC,IAAI,IAAI,EAAE;IAAA;EACnC,CAAC,CAAC;EAEFT,SAAS,CAAC,MAAM;IACd,IAAIM,iBAAiB,IAAIH,YAAY,EAAE;MACrCE,yBAAyB,CAACF,YAAY,EAAEG,iBAAiB,CAAC;IAC5D;EACF,CAAC,EAAE,CAACA,iBAAiB,EAAEH,YAAY,EAAEE,yBAAyB,CAAC,CAAC;EAEhE,OAAOC,iBAAiB;AAC1B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useOptimisticActions","useEffect","useOptimisticActionsContext","useAutoPatternsOverridesContext","useAutoPatternsOptimisticActions","_ref","_overrides$optimistic","collectionConfig","collectionState","registerOptimisticActions","overrides","collectionId","optimisticActions","optimisticActionsConfig","optimisticActionsParams","id"],"sources":["../../../src/hooks/useAutoPatternsOptimisticActions.ts"],"sourcesContent":["import { CollectionState, useOptimisticActions } from '@wix/patterns';\nimport { useEffect } from 'react';\nimport { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';\nimport { CollectionConfig } from '../types/CollectionPageConfig';\nimport { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';\n\ninterface UseAutoPatternsOptimisticActionParams {\n collectionConfig: CollectionConfig;\n collectionState: CollectionState<any>;\n}\n\nexport const useAutoPatternsOptimisticActions = ({\n collectionConfig,\n collectionState,\n}: UseAutoPatternsOptimisticActionParams) => {\n const { registerOptimisticActions } = useOptimisticActionsContext();\n const overrides = useAutoPatternsOverridesContext();\n const { collectionId, optimisticActions: optimisticActionsConfig } =\n collectionConfig;\n const optimisticActionsParams =\n overrides?.optimisticActions?.[optimisticActionsConfig?.id ?? ''];\n\n const optimisticActions = useOptimisticActions(\n collectionState,\n optimisticActionsParams,\n );\n\n useEffect(() => {\n if (optimisticActions && collectionId) {\n registerOptimisticActions(collectionId, optimisticActions);\n }\n }, [optimisticActions, collectionId, registerOptimisticActions]);\n\n return optimisticActions;\n};\n"],"mappings":"AAAA,SAA0BA,oBAAoB,QAAQ,eAAe;AACrE,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,2BAA2B,QAAQ,uCAAuC;AAEnF,SAASC,+BAA+B,QAAQ,2CAA2C;AAO3F,OAAO,MAAMC,gCAAgC,GAAGC,IAAA,IAGH;EAAA,IAAAC,qBAAA;EAAA,IAHI;IAC/CC,gBAAgB;IAChBC;EACqC,CAAC,GAAAH,IAAA;EACtC,MAAM;IAAEI;EAA0B,CAAC,GAAGP,2BAA2B,CAAC,CAAC;EACnE,MAAMQ,SAAS,GAAGP,+BAA+B,CAAC,CAAC;EACnD,MAAM;IAAEQ,YAAY;IAAEC,iBAAiB,EAAEC;EAAwB,CAAC,GAChEN,gBAAgB;EAClB,MAAMO,uBAAuB,GAC3BJ,SAAS,aAAAJ,qBAAA,GAATI,SAAS,CAAEE,iBAAiB,qBAA5BN,qBAAA,CAA+B,CAAAO,uBAAuB,oBAAvBA,uBAAuB,CAAEE,EAAE,KAAI,EAAE,CAAC;EAEnE,MAAMH,iBAAiB,GAAGZ,oBAAoB,CAC5CQ,eAAe,EACfM,uBACF,CAAC;EAEDb,SAAS,CAAC,MAAM;IACd,IAAIW,iBAAiB,IAAID,YAAY,EAAE;MACrCF,yBAAyB,CAACE,YAAY,EAAEC,iBAAiB,CAAC;IAC5D;EACF,CAAC,EAAE,CAACA,iBAAiB,EAAED,YAAY,EAAEF,yBAAyB,CAAC,CAAC;EAEhE,OAAOG,iBAAiB;AAC1B,CAAC","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ import { useSchema } from '../providers/SchemaContext';
2
+ export const useBaseCollectionParams = _ref => {
3
+ let {
4
+ config,
5
+ fetchData,
6
+ filters
7
+ } = _ref;
8
+ const {
9
+ collectionId,
10
+ limit,
11
+ reflectQueryInUrl,
12
+ selectAllScope,
13
+ selectionUpdateMode,
14
+ paginationMode
15
+ } = config;
16
+ const schema = useSchema();
17
+ return {
18
+ queryName: `${collectionId}`,
19
+ paginationMode: paginationMode,
20
+ itemKey: item => item[schema.idField],
21
+ itemName: item => item[schema.displayField],
22
+ toExtendedFields: item => item.extendedFields,
23
+ fetchErrorMessage: _ref2 => {
24
+ let {
25
+ err
26
+ } = _ref2;
27
+ return String(err);
28
+ },
29
+ fetchData,
30
+ filters,
31
+ limit,
32
+ persistQueryToUrl: reflectQueryInUrl,
33
+ disableAutoSelectAllCount: selectAllScope === 'page',
34
+ selectionConsistencyMode: selectionUpdateMode
35
+ };
36
+ };
37
+ //# sourceMappingURL=useBaseCollectionParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSchema","useBaseCollectionParams","_ref","config","fetchData","filters","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","paginationMode","schema","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref2","err","String","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode"],"sources":["../../../src/hooks/useBaseCollectionParams.tsx"],"sourcesContent":["import { Filter } from '@wix/patterns';\nimport { useSchema } from '../providers/SchemaContext';\nimport { CollectionConfig, FetchDataFn } from '../types';\n\nexport const useBaseCollectionParams = ({\n config,\n fetchData,\n filters,\n}: {\n config: CollectionConfig;\n fetchData: FetchDataFn<any>;\n filters: {\n [key: string]: Filter<any>;\n };\n}) => {\n const {\n collectionId,\n limit,\n reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\n paginationMode,\n } = config;\n\n const schema = useSchema();\n\n return {\n queryName: `${collectionId}`,\n paginationMode: paginationMode as any,\n itemKey: (item: any) => item[schema.idField],\n itemName: (item: any) => item[schema.displayField],\n toExtendedFields: (item: any) => item.extendedFields,\n fetchErrorMessage: ({ err }: { err: unknown }) => String(err),\n fetchData,\n filters,\n limit,\n persistQueryToUrl: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\n };\n};\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,4BAA4B;AAGtD,OAAO,MAAMC,uBAAuB,GAAGC,IAAA,IAUjC;EAAA,IAVkC;IACtCC,MAAM;IACNC,SAAS;IACTC;EAOF,CAAC,GAAAH,IAAA;EACC,MAAM;IACJI,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,cAAc;IACdC,mBAAmB;IACnBC;EACF,CAAC,GAAGR,MAAM;EAEV,MAAMS,MAAM,GAAGZ,SAAS,CAAC,CAAC;EAE1B,OAAO;IACLa,SAAS,EAAE,GAAGP,YAAY,EAAE;IAC5BK,cAAc,EAAEA,cAAqB;IACrCG,OAAO,EAAGC,IAAS,IAAKA,IAAI,CAACH,MAAM,CAACI,OAAO,CAAC;IAC5CC,QAAQ,EAAGF,IAAS,IAAKA,IAAI,CAACH,MAAM,CAACM,YAAY,CAAC;IAClDC,gBAAgB,EAAGJ,IAAS,IAAKA,IAAI,CAACK,cAAc;IACpDC,iBAAiB,EAAEC,KAAA;MAAA,IAAC;QAAEC;MAAsB,CAAC,GAAAD,KAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC7DnB,SAAS;IACTC,OAAO;IACPE,KAAK;IACLkB,iBAAiB,EAAEjB,iBAAiB;IACpCkB,yBAAyB,EAAEjB,cAAc,KAAK,MAAM;IACpDkB,wBAAwB,EAAEjB;EAC5B,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { useMemo } from 'react';
2
- import { useAppConfigContext, usePatternsWizardOverridesContext } from '../providers';
2
+ import { useAppConfigContext, useAutoPatternsOverridesContext } from '../providers';
3
3
  import { useModalContext } from '../providers/ModalContext';
4
4
  import { useNavigation } from './useNavigationUtils';
5
5
  export const useBaseSDK = () => {
@@ -8,7 +8,7 @@ export const useBaseSDK = () => {
8
8
  closeModal
9
9
  } = useModalContext();
10
10
  const appConfig = useAppConfigContext();
11
- const overrides = usePatternsWizardOverridesContext();
11
+ const overrides = useAutoPatternsOverridesContext();
12
12
  const {
13
13
  navigateToEntityPage
14
14
  } = useNavigation();
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useAppConfigContext","usePatternsWizardOverridesContext","useModalContext","useNavigation","useBaseSDK","openModal","closeModal","appConfig","overrides","navigateToEntityPage","baseSDK"],"sources":["../../../src/hooks/useBaseSDK.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n useAppConfigContext,\n usePatternsWizardOverridesContext,\n} from '../providers';\nimport { useModalContext } from '../providers/ModalContext';\nimport { useNavigation } from './useNavigationUtils';\nimport { BaseSDK } from '../types';\n\nexport const useBaseSDK = () => {\n const { openModal, closeModal } = useModalContext();\n const appConfig = useAppConfigContext();\n const overrides = usePatternsWizardOverridesContext();\n const { navigateToEntityPage } = useNavigation();\n\n /* eslint-disable react-hooks/exhaustive-deps */\n // disabled because bug in Patterns that navigateToEntityPage isn't wrapped with useCallback,\n const baseSDK = useMemo<BaseSDK>(\n () => ({\n appConfig,\n overrides,\n openModal,\n closeModal,\n navigateToEntityPage,\n }),\n [appConfig, overrides, openModal, closeModal, navigateToEntityPage],\n );\n\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return baseSDK;\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,mBAAmB,EACnBC,iCAAiC,QAC5B,cAAc;AACrB,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,aAAa,QAAQ,sBAAsB;AAGpD,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGJ,eAAe,CAAC,CAAC;EACnD,MAAMK,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAMQ,SAAS,GAAGP,iCAAiC,CAAC,CAAC;EACrD,MAAM;IAAEQ;EAAqB,CAAC,GAAGN,aAAa,CAAC,CAAC;;EAEhD;EACA;EACA,MAAMO,OAAO,GAAGX,OAAO,CACrB,OAAO;IACLQ,SAAS;IACTC,SAAS;IACTH,SAAS;IACTC,UAAU;IACVG;EACF,CAAC,CAAC,EACF,CAACF,SAAS,EAAEC,SAAS,EAAEH,SAAS,EAAEC,UAAU,EAAEG,oBAAoB,CACpE,CAAC;;EAED;;EAEA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useAppConfigContext","useAutoPatternsOverridesContext","useModalContext","useNavigation","useBaseSDK","openModal","closeModal","appConfig","overrides","navigateToEntityPage","baseSDK"],"sources":["../../../src/hooks/useBaseSDK.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n useAppConfigContext,\n useAutoPatternsOverridesContext,\n} from '../providers';\nimport { useModalContext } from '../providers/ModalContext';\nimport { useNavigation } from './useNavigationUtils';\nimport { BaseSDK } from '../types';\n\nexport const useBaseSDK = () => {\n const { openModal, closeModal } = useModalContext();\n const appConfig = useAppConfigContext();\n const overrides = useAutoPatternsOverridesContext();\n const { navigateToEntityPage } = useNavigation();\n\n /* eslint-disable react-hooks/exhaustive-deps */\n // disabled because bug in Patterns that navigateToEntityPage isn't wrapped with useCallback,\n const baseSDK = useMemo<BaseSDK>(\n () => ({\n appConfig,\n overrides,\n openModal,\n closeModal,\n navigateToEntityPage,\n }),\n [appConfig, overrides, openModal, closeModal, navigateToEntityPage],\n );\n\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return baseSDK;\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,mBAAmB,EACnBC,+BAA+B,QAC1B,cAAc;AACrB,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,aAAa,QAAQ,sBAAsB;AAGpD,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGJ,eAAe,CAAC,CAAC;EACnD,MAAMK,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAMQ,SAAS,GAAGP,+BAA+B,CAAC,CAAC;EACnD,MAAM;IAAEQ;EAAqB,CAAC,GAAGN,aAAa,CAAC,CAAC;;EAEhD;EACA;EACA,MAAMO,OAAO,GAAGX,OAAO,CACrB,OAAO;IACLQ,SAAS;IACTC,SAAS;IACTH,SAAS;IACTC,UAAU;IACVG;EACF,CAAC,CAAC,EACF,CAACF,SAAS,EAAEC,SAAS,EAAEH,SAAS,EAAEC,UAAU,EAAEG,oBAAoB,CACpE,CAAC;;EAED;;EAEA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { usePatternsWizardOverridesContext, useSchema, useSchemaRegistry } from '../providers';
2
+ import { useAutoPatternsOverridesContext, useSchema, useSchemaRegistry } from '../providers';
3
3
  import { camelCase, get } from 'lodash';
4
4
  import { Avatar, Box, Image } from '@wix/design-system';
5
5
  import { getImageUrl } from '../utils/media/getImageUrl';
@@ -10,7 +10,7 @@ export const useColumns = columns => {
10
10
  const {
11
11
  getSchema
12
12
  } = useSchemaRegistry();
13
- const overrides = usePatternsWizardOverridesContext();
13
+ const overrides = useAutoPatternsOverridesContext();
14
14
  const existingColumns = columns.filter(column => {
15
15
  var _overrides$columns;
16
16
  return !!fields[column.id] || (overrides == null || (_overrides$columns = overrides.columns) == null ? void 0 : _overrides$columns[column.id]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","usePatternsWizardOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Avatar","Box","Image","getImageUrl","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","_Object$values$find","imageFieldId","Object","values","find","field","imageUrl","createElement","gap","verticalAlign","size","name","imgProps","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","value","Boolean","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n usePatternsWizardOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = usePatternsWizardOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n const imageFieldId = Object.values(fields).find(\n (field) => field?.type === 'IMAGE',\n )?.id;\n imageValue = imageFieldId && itemValue[imageFieldId];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition?.displayName,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Avatar","Box","Image","getImageUrl","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","_Object$values$find","imageFieldId","Object","values","find","field","imageUrl","createElement","gap","verticalAlign","size","name","imgProps","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","value","Boolean","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n const imageFieldId = Object.values(fields).find(\n (field) => field?.type === 'IMAGE',\n )?.id;\n imageValue = imageFieldId && itemValue[imageFieldId];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition?.displayName,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { ToolbarTitle } from '@wix/patterns';
4
4
  import { Box, Text, TextButton } from '@wix/design-system';
5
5
  import { useActionCell } from './useActionCell';
6
6
  import { useBulkActionToolbar } from './useBulkActionToolbar';
7
+ import { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';
7
8
  export const useCommonCollectionFeatures = _ref => {
8
9
  var _toolbarTitle$subtitl, _toolbarTitle$subtitl2, _toolbarTitle$subtitl3, _toolbarTitle$subtitl4, _toolbarTitle$subtitl5, _toolbarTitle$subtitl6, _toolbarTitle$subtitl7;
9
10
  let {
@@ -12,8 +13,13 @@ export const useCommonCollectionFeatures = _ref => {
12
13
  toolbarTitle,
13
14
  search,
14
15
  emptyState: emptyStateConfig,
15
- collection
16
+ collection,
17
+ collectionState
16
18
  } = _ref;
19
+ const optimisticActions = useAutoPatternsOptimisticActions({
20
+ collectionConfig: collection,
21
+ collectionState
22
+ });
17
23
  const {
18
24
  emptyState
19
25
  } = useEmptyStates(emptyStateConfig);
@@ -58,7 +64,8 @@ export const useCommonCollectionFeatures = _ref => {
58
64
  title,
59
65
  emptyState,
60
66
  actionCell,
61
- bulkActionToolbar
67
+ bulkActionToolbar,
68
+ optimisticActions
62
69
  };
63
70
  };
64
71
  //# sourceMappingURL=useCommonCollectionFeatures.js.map
@@ -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","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 } 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};\n\nexport const useCommonCollectionFeatures = ({\n actionCell: actionCellConfig,\n bulkActionToolbar: bulkActionToolbarConfig,\n toolbarTitle,\n search,\n emptyState: emptyStateConfig,\n collection,\n}: UseCommonCollectionFeaturesParams) => {\n const { emptyState } = useEmptyStates(emptyStateConfig);\n const actionCell = useActionCell({\n config: actionCellConfig,\n collectionId: collection.collectionId,\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;AAe7D,OAAO,MAAMC,2BAA2B,GAAGC,IAAA,IAOF;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAAA,IAPG;IAC1CC,UAAU,EAAEC,gBAAgB;IAC5BC,iBAAiB,EAAEC,uBAAuB;IAC1CC,YAAY;IACZC,MAAM;IACNC,UAAU,EAAEC,gBAAgB;IAC5BC;EACiC,CAAC,GAAAhB,IAAA;EAClC,MAAM;IAAEc;EAAW,CAAC,GAAGtB,cAAc,CAACuB,gBAAgB,CAAC;EACvD,MAAMP,UAAU,GAAGX,aAAa,CAAC;IAC/BoB,MAAM,EAAER,gBAAgB;IACxBS,YAAY,EAAEF,UAAU,CAACE;EAC3B,CAAC,CAAC;EAEF,MAAMR,iBAAiB,GAAGZ,oBAAoB,CAAC;IAC7CmB,MAAM,EAAEN,uBAAuB;IAC/BO,YAAY,EAAEF,UAAU,CAACE;EAC3B,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGP,YAAY,iBACxBrB,KAAA,CAAA6B,aAAA,CAAC3B,YAAY;IACX0B,KAAK,EAAEP,YAAY,CAACO,KAAM;IAC1BE,QAAQ,EAAE;MACRC,IAAI,EAAE,EAAArB,qBAAA,GAAAW,YAAY,CAACS,QAAQ,qBAArBpB,qBAAA,CAAuBqB,IAAI,KAAI,EAAE;MACvCC,SAAS,GAAArB,sBAAA,GAAEU,YAAY,CAACS,QAAQ,qBAArBnB,sBAAA,CAAuBqB,SAAS;MAC3CC,IAAI,EAAE,EAAArB,sBAAA,GAAAS,YAAY,CAACS,QAAQ,qBAArBlB,sBAAA,CAAuBqB,IAAI,KAAI;QACnCC,OAAO,eACLlC,KAAA,CAAA6B,aAAA,CAAC1B,GAAG;UAACgC,SAAS,EAAC,UAAU;UAACC,GAAG,EAAC;QAAK,gBACjCpC,KAAA,CAAA6B,aAAA,CAACzB,IAAI;UACHiC,QAAQ,EAAC,qCAAqC;UAC9CC,KAAK;UACLC,IAAI,EAAC;QAAO,IAAA1B,sBAAA,GAEXQ,YAAY,CAACS,QAAQ,cAAAjB,sBAAA,GAArBA,sBAAA,CAAuBoB,IAAI,qBAA3BpB,sBAAA,CAA6BqB,OAAO,CAACH,IAClC,CAAC,EACN,EAAAjB,sBAAA,GAAAO,YAAY,CAACS,QAAQ,cAAAhB,sBAAA,GAArBA,sBAAA,CAAuBmB,IAAI,qBAA3BnB,sBAAA,CAA6BoB,OAAO,CAACM,IAAI,kBACxCxC,KAAA,CAAA6B,aAAA,CAACxB,UAAU;UACTgC,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,GAAA/B,sBAAA,GAAEM,YAAY,CAACS,QAAQ,cAAAf,sBAAA,GAArBA,sBAAA,CAAuBkB,IAAI,qBAA3BlB,sBAAA,CAA6BmB,OAAO,CAACM,IAAI,CAACO;QAAI,IAAA/B,sBAAA,GAEnDK,YAAY,CAACS,QAAQ,cAAAd,sBAAA,GAArBA,sBAAA,CAAuBiB,IAAI,qBAA3BjB,sBAAA,CAA6BkB,OAAO,CAACM,IAAI,CAACQ,KACjC,CAEX;MAET;IACF,CAAE;IACFC,UAAU,EAAE5B,YAAY,CAAC4B,UAAW;IACpCC,SAAS,EAAE7B,YAAY,CAAC6B;EAAU,CACnC,CACF;EAED,OAAO;IACL5B,MAAM,EAAE,CAAAA,MAAM,oBAANA,MAAM,CAAE6B,KAAK,MAAK,KAAK;IAC/BvB,KAAK;IACLL,UAAU;IACVN,UAAU;IACVE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEmptyStates","ToolbarTitle","Box","Text","TextButton","useActionCell","useBulkActionToolbar","useAutoPatternsOptimisticActions","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","collectionState","optimisticActions","collectionConfig","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 { CollectionState, ToolbarTitle } from '@wix/patterns';\n\nimport { Box, Text, TextButton } from '@wix/design-system';\nimport { BaseCollectionComponentConfig } from '../types';\nimport { useActionCell } from './useActionCell';\nimport { useBulkActionToolbar } from './useBulkActionToolbar';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport type UseCommonCollectionFeaturesParams = Pick<\n BaseCollectionComponentConfig,\n | 'actionCell'\n | 'toolbarTitle'\n | 'search'\n | 'emptyState'\n | 'collection'\n | 'bulkActionToolbar'\n | 'entityPageId'\n> & {\n collectionState: CollectionState<any>;\n};\n\nexport const useCommonCollectionFeatures = ({\n actionCell: actionCellConfig,\n bulkActionToolbar: bulkActionToolbarConfig,\n toolbarTitle,\n search,\n emptyState: emptyStateConfig,\n collection,\n collectionState,\n}: UseCommonCollectionFeaturesParams) => {\n const optimisticActions = useAutoPatternsOptimisticActions({\n collectionConfig: collection,\n collectionState,\n });\n\n const { emptyState } = useEmptyStates(emptyStateConfig);\n const actionCell = useActionCell({\n config: actionCellConfig,\n collectionId: collection.collectionId,\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 optimisticActions,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import { CollectionEmptyState } from '@wix/patterns';
4
- import { usePatternsWizardOverridesContext } from '../providers';
4
+ import { useAutoPatternsOverridesContext } from '../providers';
5
5
  export const useEmptyStates = emptyState => {
6
6
  var _emptyState$addNewCta, _overrides$emptyState, _emptyState$addNewCta2, _emptyState$addNewCta3, _emptyState$addNewCta4, _emptyState$customCta, _overrides$emptyState2, _emptyState$customCta2, _emptyState$image, _overrides$emptyState3, _emptyState$image2;
7
7
  const {
8
8
  title,
9
9
  subtitle
10
10
  } = emptyState || {};
11
- const overrides = usePatternsWizardOverridesContext();
11
+ const overrides = useAutoPatternsOverridesContext();
12
12
  const onClick = emptyState != null && (_emptyState$addNewCta = emptyState.addNewCta) != null && _emptyState$addNewCta.id ? overrides == null || (_overrides$emptyState = overrides.emptyState) == null ? void 0 : _overrides$emptyState[emptyState == null || (_emptyState$addNewCta2 = emptyState.addNewCta) == null ? void 0 : _emptyState$addNewCta2.id] : undefined;
13
13
  const addNewCta = onClick ? {
14
14
  addNewCta: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","CollectionEmptyState","usePatternsWizardOverridesContext","useEmptyStates","emptyState","_emptyState$addNewCta","_overrides$emptyState","_emptyState$addNewCta2","_emptyState$addNewCta3","_emptyState$addNewCta4","_emptyState$customCta","_overrides$emptyState2","_emptyState$customCta2","_emptyState$image","_overrides$emptyState3","_emptyState$image2","title","subtitle","overrides","onClick","addNewCta","id","undefined","text","_customCta","customCta","_image","image","createElement","_extends"],"sources":["../../../src/hooks/useEmptyStates.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionEmptyState } from '@wix/patterns';\nimport { usePatternsWizardOverridesContext } from '../providers';\nimport { EmptyState } from '../types';\n\nexport const useEmptyStates = (emptyState?: EmptyState) => {\n const { title, subtitle } = emptyState || {};\n\n const overrides = usePatternsWizardOverridesContext();\n\n const onClick = emptyState?.addNewCta?.id\n ? overrides?.emptyState?.[emptyState?.addNewCta?.id]\n : undefined;\n const addNewCta = onClick\n ? {\n addNewCta: {\n ...(emptyState?.addNewCta?.text\n ? { text: emptyState?.addNewCta?.text }\n : {}),\n onClick,\n },\n }\n : {};\n\n const _customCta = emptyState?.customCta?.id\n ? overrides?.emptyState?.[emptyState?.customCta?.id]\n : undefined;\n\n const customCta = _customCta\n ? {\n customCta: _customCta(),\n }\n : {};\n\n const _image = emptyState?.image?.id\n ? overrides?.emptyState?.[emptyState?.image?.id]\n : undefined;\n\n const image = _image\n ? {\n image: _image(),\n }\n : {};\n\n return {\n emptyState: (\n <CollectionEmptyState\n title={title}\n subtitle={subtitle}\n {...addNewCta}\n {...customCta}\n {...image}\n />\n ),\n };\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,QAAQ,eAAe;AACpD,SAASC,iCAAiC,QAAQ,cAAc;AAGhE,OAAO,MAAMC,cAAc,GAAIC,UAAuB,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,iBAAA,EAAAC,sBAAA,EAAAC,kBAAA;EACzD,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGb,UAAU,IAAI,CAAC,CAAC;EAE5C,MAAMc,SAAS,GAAGhB,iCAAiC,CAAC,CAAC;EAErD,MAAMiB,OAAO,GAAGf,UAAU,aAAAC,qBAAA,GAAVD,UAAU,CAAEgB,SAAS,aAArBf,qBAAA,CAAuBgB,EAAE,GACrCH,SAAS,aAAAZ,qBAAA,GAATY,SAAS,CAAEd,UAAU,qBAArBE,qBAAA,CAAwBF,UAAU,aAAAG,sBAAA,GAAVH,UAAU,CAAEgB,SAAS,qBAArBb,sBAAA,CAAuBc,EAAE,CAAC,GAClDC,SAAS;EACb,MAAMF,SAAS,GAAGD,OAAO,GACrB;IACEC,SAAS,EAAE;MACT,IAAIhB,UAAU,aAAAI,sBAAA,GAAVJ,UAAU,CAAEgB,SAAS,aAArBZ,sBAAA,CAAuBe,IAAI,GAC3B;QAAEA,IAAI,EAAEnB,UAAU,aAAAK,sBAAA,GAAVL,UAAU,CAAEgB,SAAS,qBAArBX,sBAAA,CAAuBc;MAAK,CAAC,GACrC,CAAC,CAAC,CAAC;MACPJ;IACF;EACF,CAAC,GACD,CAAC,CAAC;EAEN,MAAMK,UAAU,GAAGpB,UAAU,aAAAM,qBAAA,GAAVN,UAAU,CAAEqB,SAAS,aAArBf,qBAAA,CAAuBW,EAAE,GACxCH,SAAS,aAAAP,sBAAA,GAATO,SAAS,CAAEd,UAAU,qBAArBO,sBAAA,CAAwBP,UAAU,aAAAQ,sBAAA,GAAVR,UAAU,CAAEqB,SAAS,qBAArBb,sBAAA,CAAuBS,EAAE,CAAC,GAClDC,SAAS;EAEb,MAAMG,SAAS,GAAGD,UAAU,GACxB;IACEC,SAAS,EAAED,UAAU,CAAC;EACxB,CAAC,GACD,CAAC,CAAC;EAEN,MAAME,MAAM,GAAGtB,UAAU,aAAAS,iBAAA,GAAVT,UAAU,CAAEuB,KAAK,aAAjBd,iBAAA,CAAmBQ,EAAE,GAChCH,SAAS,aAAAJ,sBAAA,GAATI,SAAS,CAAEd,UAAU,qBAArBU,sBAAA,CAAwBV,UAAU,aAAAW,kBAAA,GAAVX,UAAU,CAAEuB,KAAK,qBAAjBZ,kBAAA,CAAmBM,EAAE,CAAC,GAC9CC,SAAS;EAEb,MAAMK,KAAK,GAAGD,MAAM,GAChB;IACEC,KAAK,EAAED,MAAM,CAAC;EAChB,CAAC,GACD,CAAC,CAAC;EAEN,OAAO;IACLtB,UAAU,eACRJ,KAAA,CAAA4B,aAAA,CAAC3B,oBAAoB,EAAA4B,QAAA;MACnBb,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA;IAAS,GACfG,SAAS,EACTK,SAAS,EACTE,KAAK,CACV;EAEL,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","CollectionEmptyState","useAutoPatternsOverridesContext","useEmptyStates","emptyState","_emptyState$addNewCta","_overrides$emptyState","_emptyState$addNewCta2","_emptyState$addNewCta3","_emptyState$addNewCta4","_emptyState$customCta","_overrides$emptyState2","_emptyState$customCta2","_emptyState$image","_overrides$emptyState3","_emptyState$image2","title","subtitle","overrides","onClick","addNewCta","id","undefined","text","_customCta","customCta","_image","image","createElement","_extends"],"sources":["../../../src/hooks/useEmptyStates.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionEmptyState } from '@wix/patterns';\nimport { useAutoPatternsOverridesContext } from '../providers';\nimport { EmptyState } from '../types';\n\nexport const useEmptyStates = (emptyState?: EmptyState) => {\n const { title, subtitle } = emptyState || {};\n\n const overrides = useAutoPatternsOverridesContext();\n\n const onClick = emptyState?.addNewCta?.id\n ? overrides?.emptyState?.[emptyState?.addNewCta?.id]\n : undefined;\n const addNewCta = onClick\n ? {\n addNewCta: {\n ...(emptyState?.addNewCta?.text\n ? { text: emptyState?.addNewCta?.text }\n : {}),\n onClick,\n },\n }\n : {};\n\n const _customCta = emptyState?.customCta?.id\n ? overrides?.emptyState?.[emptyState?.customCta?.id]\n : undefined;\n\n const customCta = _customCta\n ? {\n customCta: _customCta(),\n }\n : {};\n\n const _image = emptyState?.image?.id\n ? overrides?.emptyState?.[emptyState?.image?.id]\n : undefined;\n\n const image = _image\n ? {\n image: _image(),\n }\n : {};\n\n return {\n emptyState: (\n <CollectionEmptyState\n title={title}\n subtitle={subtitle}\n {...addNewCta}\n {...customCta}\n {...image}\n />\n ),\n };\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,QAAQ,eAAe;AACpD,SAASC,+BAA+B,QAAQ,cAAc;AAG9D,OAAO,MAAMC,cAAc,GAAIC,UAAuB,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,iBAAA,EAAAC,sBAAA,EAAAC,kBAAA;EACzD,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGb,UAAU,IAAI,CAAC,CAAC;EAE5C,MAAMc,SAAS,GAAGhB,+BAA+B,CAAC,CAAC;EAEnD,MAAMiB,OAAO,GAAGf,UAAU,aAAAC,qBAAA,GAAVD,UAAU,CAAEgB,SAAS,aAArBf,qBAAA,CAAuBgB,EAAE,GACrCH,SAAS,aAAAZ,qBAAA,GAATY,SAAS,CAAEd,UAAU,qBAArBE,qBAAA,CAAwBF,UAAU,aAAAG,sBAAA,GAAVH,UAAU,CAAEgB,SAAS,qBAArBb,sBAAA,CAAuBc,EAAE,CAAC,GAClDC,SAAS;EACb,MAAMF,SAAS,GAAGD,OAAO,GACrB;IACEC,SAAS,EAAE;MACT,IAAIhB,UAAU,aAAAI,sBAAA,GAAVJ,UAAU,CAAEgB,SAAS,aAArBZ,sBAAA,CAAuBe,IAAI,GAC3B;QAAEA,IAAI,EAAEnB,UAAU,aAAAK,sBAAA,GAAVL,UAAU,CAAEgB,SAAS,qBAArBX,sBAAA,CAAuBc;MAAK,CAAC,GACrC,CAAC,CAAC,CAAC;MACPJ;IACF;EACF,CAAC,GACD,CAAC,CAAC;EAEN,MAAMK,UAAU,GAAGpB,UAAU,aAAAM,qBAAA,GAAVN,UAAU,CAAEqB,SAAS,aAArBf,qBAAA,CAAuBW,EAAE,GACxCH,SAAS,aAAAP,sBAAA,GAATO,SAAS,CAAEd,UAAU,qBAArBO,sBAAA,CAAwBP,UAAU,aAAAQ,sBAAA,GAAVR,UAAU,CAAEqB,SAAS,qBAArBb,sBAAA,CAAuBS,EAAE,CAAC,GAClDC,SAAS;EAEb,MAAMG,SAAS,GAAGD,UAAU,GACxB;IACEC,SAAS,EAAED,UAAU,CAAC;EACxB,CAAC,GACD,CAAC,CAAC;EAEN,MAAME,MAAM,GAAGtB,UAAU,aAAAS,iBAAA,GAAVT,UAAU,CAAEuB,KAAK,aAAjBd,iBAAA,CAAmBQ,EAAE,GAChCH,SAAS,aAAAJ,sBAAA,GAATI,SAAS,CAAEd,UAAU,qBAArBU,sBAAA,CAAwBV,UAAU,aAAAW,kBAAA,GAAVX,UAAU,CAAEuB,KAAK,qBAAjBZ,kBAAA,CAAmBM,EAAE,CAAC,GAC9CC,SAAS;EAEb,MAAMK,KAAK,GAAGD,MAAM,GAChB;IACEC,KAAK,EAAED,MAAM,CAAC;EAChB,CAAC,GACD,CAAC,CAAC;EAEN,OAAO;IACLtB,UAAU,eACRJ,KAAA,CAAA4B,aAAA,CAAC3B,oBAAoB,EAAA4B,QAAA;MACnBb,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA;IAAS,GACfG,SAAS,EACTK,SAAS,EACTE,KAAK,CACV;EAEL,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { useMemo } from 'react';
2
- import { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';
2
+ import { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';
3
3
  export const useEntityPageHeaderTexts = _ref => {
4
4
  var _config$title2;
5
5
  let {
@@ -9,7 +9,7 @@ export const useEntityPageHeaderTexts = _ref => {
9
9
  entityDisplayName,
10
10
  entity
11
11
  } = _ref;
12
- const overrides = usePatternsWizardOverridesContext();
12
+ const overrides = useAutoPatternsOverridesContext();
13
13
  const titleText = useMemo(() => {
14
14
  if (config.title) {
15
15
  return config.title.text;
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","usePatternsWizardOverridesContext","useEntityPageHeaderTexts","_ref","_config$title2","config","isCreateMode","isViewMode","entityDisplayName","entity","overrides","titleText","title","text","subtitle","undefined","entityPageHeaderSubtitle","id","subtitleOverride","overrideResult","badges","_config$title","entityPageHeaderBadges","badgesOverride","overrideBadges"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n isViewMode,\n entityDisplayName,\n entity,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n isViewMode?: boolean;\n entityDisplayName?: string;\n entity?: Record<string, any>;\n}) => {\n const overrides = usePatternsWizardOverridesContext();\n\n const titleText = useMemo(() => {\n if (config.title) {\n return config.title.text;\n } else {\n return isCreateMode\n ? 'Create New Item'\n : isViewMode\n ? entityDisplayName ?? 'View Item'\n : entityDisplayName ?? 'Edit Item';\n }\n }, [config.title, entityDisplayName, isCreateMode, isViewMode]);\n\n const subtitle = useMemo(() => {\n if (!config.subtitle) {\n return undefined;\n }\n\n if (entity && overrides?.entityPageHeaderSubtitle && config.subtitle.id) {\n const subtitleOverride =\n overrides.entityPageHeaderSubtitle[config.subtitle.id];\n if (subtitleOverride) {\n const overrideResult = subtitleOverride(entity);\n return {\n ...config.subtitle,\n ...overrideResult,\n };\n }\n }\n\n return {\n ...config.subtitle,\n text: config.subtitle.text ?? '',\n };\n }, [config.subtitle, entity, overrides?.entityPageHeaderSubtitle]);\n\n const badges = useMemo(() => {\n if (!config.title?.badges) {\n return undefined;\n }\n // If badges has an id, try to resolve it dynamically\n if (entity && overrides?.entityPageHeaderBadges && config.title.badges.id) {\n const badgesOverride =\n overrides.entityPageHeaderBadges[config.title.badges.id];\n if (badgesOverride) {\n const overrideBadges = badgesOverride(entity);\n return overrideBadges;\n }\n }\n\n return undefined;\n }, [config.title?.badges, entity, overrides?.entityPageHeaderBadges]);\n\n return { title: { text: titleText, badges }, subtitle };\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,iCAAiC,QAAQ,6CAA6C;AAE/F,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAYlC;EAAA,IAAAC,cAAA;EAAA,IAZmC;IACvCC,MAAM;IACNC,YAAY;IACZC,UAAU;IACVC,iBAAiB;IACjBC;EAOF,CAAC,GAAAN,IAAA;EACC,MAAMO,SAAS,GAAGT,iCAAiC,CAAC,CAAC;EAErD,MAAMU,SAAS,GAAGX,OAAO,CAAC,MAAM;IAC9B,IAAIK,MAAM,CAACO,KAAK,EAAE;MAChB,OAAOP,MAAM,CAACO,KAAK,CAACC,IAAI;IAC1B,CAAC,MAAM;MACL,OAAOP,YAAY,GACf,iBAAiB,GACjBC,UAAU,GACVC,iBAAiB,IAAI,WAAW,GAChCA,iBAAiB,IAAI,WAAW;IACtC;EACF,CAAC,EAAE,CAACH,MAAM,CAACO,KAAK,EAAEJ,iBAAiB,EAAEF,YAAY,EAAEC,UAAU,CAAC,CAAC;EAE/D,MAAMO,QAAQ,GAAGd,OAAO,CAAC,MAAM;IAC7B,IAAI,CAACK,MAAM,CAACS,QAAQ,EAAE;MACpB,OAAOC,SAAS;IAClB;IAEA,IAAIN,MAAM,IAAIC,SAAS,YAATA,SAAS,CAAEM,wBAAwB,IAAIX,MAAM,CAACS,QAAQ,CAACG,EAAE,EAAE;MACvE,MAAMC,gBAAgB,GACpBR,SAAS,CAACM,wBAAwB,CAACX,MAAM,CAACS,QAAQ,CAACG,EAAE,CAAC;MACxD,IAAIC,gBAAgB,EAAE;QACpB,MAAMC,cAAc,GAAGD,gBAAgB,CAACT,MAAM,CAAC;QAC/C,OAAO;UACL,GAAGJ,MAAM,CAACS,QAAQ;UAClB,GAAGK;QACL,CAAC;MACH;IACF;IAEA,OAAO;MACL,GAAGd,MAAM,CAACS,QAAQ;MAClBD,IAAI,EAAER,MAAM,CAACS,QAAQ,CAACD,IAAI,IAAI;IAChC,CAAC;EACH,CAAC,EAAE,CAACR,MAAM,CAACS,QAAQ,EAAEL,MAAM,EAAEC,SAAS,oBAATA,SAAS,CAAEM,wBAAwB,CAAC,CAAC;EAElE,MAAMI,MAAM,GAAGpB,OAAO,CAAC,MAAM;IAAA,IAAAqB,aAAA;IAC3B,IAAI,GAAAA,aAAA,GAAChB,MAAM,CAACO,KAAK,aAAZS,aAAA,CAAcD,MAAM,GAAE;MACzB,OAAOL,SAAS;IAClB;IACA;IACA,IAAIN,MAAM,IAAIC,SAAS,YAATA,SAAS,CAAEY,sBAAsB,IAAIjB,MAAM,CAACO,KAAK,CAACQ,MAAM,CAACH,EAAE,EAAE;MACzE,MAAMM,cAAc,GAClBb,SAAS,CAACY,sBAAsB,CAACjB,MAAM,CAACO,KAAK,CAACQ,MAAM,CAACH,EAAE,CAAC;MAC1D,IAAIM,cAAc,EAAE;QAClB,MAAMC,cAAc,GAAGD,cAAc,CAACd,MAAM,CAAC;QAC7C,OAAOe,cAAc;MACvB;IACF;IAEA,OAAOT,SAAS;EAClB,CAAC,EAAE,EAAAX,cAAA,GAACC,MAAM,CAACO,KAAK,qBAAZR,cAAA,CAAcgB,MAAM,EAAEX,MAAM,EAAEC,SAAS,oBAATA,SAAS,CAAEY,sBAAsB,CAAC,CAAC;EAErE,OAAO;IAAEV,KAAK,EAAE;MAAEC,IAAI,EAAEF,SAAS;MAAES;IAAO,CAAC;IAAEN;EAAS,CAAC;AACzD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useAutoPatternsOverridesContext","useEntityPageHeaderTexts","_ref","_config$title2","config","isCreateMode","isViewMode","entityDisplayName","entity","overrides","titleText","title","text","subtitle","undefined","entityPageHeaderSubtitle","id","subtitleOverride","overrideResult","badges","_config$title","entityPageHeaderBadges","badgesOverride","overrideBadges"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\nimport { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n isViewMode,\n entityDisplayName,\n entity,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n isViewMode?: boolean;\n entityDisplayName?: string;\n entity?: Record<string, any>;\n}) => {\n const overrides = useAutoPatternsOverridesContext();\n\n const titleText = useMemo(() => {\n if (config.title) {\n return config.title.text;\n } else {\n return isCreateMode\n ? 'Create New Item'\n : isViewMode\n ? entityDisplayName ?? 'View Item'\n : entityDisplayName ?? 'Edit Item';\n }\n }, [config.title, entityDisplayName, isCreateMode, isViewMode]);\n\n const subtitle = useMemo(() => {\n if (!config.subtitle) {\n return undefined;\n }\n\n if (entity && overrides?.entityPageHeaderSubtitle && config.subtitle.id) {\n const subtitleOverride =\n overrides.entityPageHeaderSubtitle[config.subtitle.id];\n if (subtitleOverride) {\n const overrideResult = subtitleOverride(entity);\n return {\n ...config.subtitle,\n ...overrideResult,\n };\n }\n }\n\n return {\n ...config.subtitle,\n text: config.subtitle.text ?? '',\n };\n }, [config.subtitle, entity, overrides?.entityPageHeaderSubtitle]);\n\n const badges = useMemo(() => {\n if (!config.title?.badges) {\n return undefined;\n }\n // If badges has an id, try to resolve it dynamically\n if (entity && overrides?.entityPageHeaderBadges && config.title.badges.id) {\n const badgesOverride =\n overrides.entityPageHeaderBadges[config.title.badges.id];\n if (badgesOverride) {\n const overrideBadges = badgesOverride(entity);\n return overrideBadges;\n }\n }\n\n return undefined;\n }, [config.title?.badges, entity, overrides?.entityPageHeaderBadges]);\n\n return { title: { text: titleText, badges }, subtitle };\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,+BAA+B,QAAQ,2CAA2C;AAE3F,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAYlC;EAAA,IAAAC,cAAA;EAAA,IAZmC;IACvCC,MAAM;IACNC,YAAY;IACZC,UAAU;IACVC,iBAAiB;IACjBC;EAOF,CAAC,GAAAN,IAAA;EACC,MAAMO,SAAS,GAAGT,+BAA+B,CAAC,CAAC;EAEnD,MAAMU,SAAS,GAAGX,OAAO,CAAC,MAAM;IAC9B,IAAIK,MAAM,CAACO,KAAK,EAAE;MAChB,OAAOP,MAAM,CAACO,KAAK,CAACC,IAAI;IAC1B,CAAC,MAAM;MACL,OAAOP,YAAY,GACf,iBAAiB,GACjBC,UAAU,GACVC,iBAAiB,IAAI,WAAW,GAChCA,iBAAiB,IAAI,WAAW;IACtC;EACF,CAAC,EAAE,CAACH,MAAM,CAACO,KAAK,EAAEJ,iBAAiB,EAAEF,YAAY,EAAEC,UAAU,CAAC,CAAC;EAE/D,MAAMO,QAAQ,GAAGd,OAAO,CAAC,MAAM;IAC7B,IAAI,CAACK,MAAM,CAACS,QAAQ,EAAE;MACpB,OAAOC,SAAS;IAClB;IAEA,IAAIN,MAAM,IAAIC,SAAS,YAATA,SAAS,CAAEM,wBAAwB,IAAIX,MAAM,CAACS,QAAQ,CAACG,EAAE,EAAE;MACvE,MAAMC,gBAAgB,GACpBR,SAAS,CAACM,wBAAwB,CAACX,MAAM,CAACS,QAAQ,CAACG,EAAE,CAAC;MACxD,IAAIC,gBAAgB,EAAE;QACpB,MAAMC,cAAc,GAAGD,gBAAgB,CAACT,MAAM,CAAC;QAC/C,OAAO;UACL,GAAGJ,MAAM,CAACS,QAAQ;UAClB,GAAGK;QACL,CAAC;MACH;IACF;IAEA,OAAO;MACL,GAAGd,MAAM,CAACS,QAAQ;MAClBD,IAAI,EAAER,MAAM,CAACS,QAAQ,CAACD,IAAI,IAAI;IAChC,CAAC;EACH,CAAC,EAAE,CAACR,MAAM,CAACS,QAAQ,EAAEL,MAAM,EAAEC,SAAS,oBAATA,SAAS,CAAEM,wBAAwB,CAAC,CAAC;EAElE,MAAMI,MAAM,GAAGpB,OAAO,CAAC,MAAM;IAAA,IAAAqB,aAAA;IAC3B,IAAI,GAAAA,aAAA,GAAChB,MAAM,CAACO,KAAK,aAAZS,aAAA,CAAcD,MAAM,GAAE;MACzB,OAAOL,SAAS;IAClB;IACA;IACA,IAAIN,MAAM,IAAIC,SAAS,YAATA,SAAS,CAAEY,sBAAsB,IAAIjB,MAAM,CAACO,KAAK,CAACQ,MAAM,CAACH,EAAE,EAAE;MACzE,MAAMM,cAAc,GAClBb,SAAS,CAACY,sBAAsB,CAACjB,MAAM,CAACO,KAAK,CAACQ,MAAM,CAACH,EAAE,CAAC;MAC1D,IAAIM,cAAc,EAAE;QAClB,MAAMC,cAAc,GAAGD,cAAc,CAACd,MAAM,CAAC;QAC7C,OAAOe,cAAc;MACvB;IACF;IAEA,OAAOT,SAAS;EAClB,CAAC,EAAE,EAAAX,cAAA,GAACC,MAAM,CAACO,KAAK,qBAAZR,cAAA,CAAcgB,MAAM,EAAEX,MAAM,EAAEC,SAAS,oBAATA,SAAS,CAAEY,sBAAsB,CAAC,CAAC;EAErE,OAAO;IAAEV,KAAK,EAAE;MAAEC,IAAI,EAAEF,SAAS;MAAES;IAAO,CAAC;IAAEN;EAAS,CAAC;AACzD,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useSchema } from '../providers/SchemaContext';
3
- export const useFetchData = _ref => {
3
+ export function useFetchData(_ref) {
4
4
  let {
5
5
  searchableFieldIds,
6
6
  filterFieldMapping
@@ -17,5 +17,5 @@ export const useFetchData = _ref => {
17
17
  return {
18
18
  fetchData
19
19
  };
20
- };
20
+ }
21
21
  //# sourceMappingURL=useFetchData.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useSchema","useFetchData","_ref","searchableFieldIds","filterFieldMapping","schema","fetchData","useMemo","query","actions","find"],"sources":["../../../src/hooks/useFetchData.tsx"],"sourcesContent":["import React from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { ComputedQuery } from '@wix/patterns';\n\ninterface UseFetchDataProps {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}\n\nexport const useFetchData = ({\n searchableFieldIds,\n filterFieldMapping,\n}: UseFetchDataProps) => {\n const schema = useSchema();\n\n const fetchData = React.useMemo(() => {\n return (query: ComputedQuery<any>) => {\n return schema.actions.find(query, {\n searchableFieldIds: searchableFieldIds || [],\n filterFieldMapping,\n });\n };\n }, [schema, searchableFieldIds, filterFieldMapping]);\n\n return {\n fetchData,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,4BAA4B;AAQtD,OAAO,MAAMC,YAAY,GAAGC,IAAA,IAGH;EAAA,IAHI;IAC3BC,kBAAkB;IAClBC;EACiB,CAAC,GAAAF,IAAA;EAClB,MAAMG,MAAM,GAAGL,SAAS,CAAC,CAAC;EAE1B,MAAMM,SAAS,GAAGP,KAAK,CAACQ,OAAO,CAAC,MAAM;IACpC,OAAQC,KAAyB,IAAK;MACpC,OAAOH,MAAM,CAACI,OAAO,CAACC,IAAI,CAACF,KAAK,EAAE;QAChCL,kBAAkB,EAAEA,kBAAkB,IAAI,EAAE;QAC5CC;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACC,MAAM,EAAEF,kBAAkB,EAAEC,kBAAkB,CAAC,CAAC;EAEpD,OAAO;IACLE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useSchema","useFetchData","_ref","searchableFieldIds","filterFieldMapping","schema","fetchData","useMemo","query","actions","find"],"sources":["../../../src/hooks/useFetchData.tsx"],"sourcesContent":["import React from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { CursorQuery, OffsetQuery } from '@wix/patterns';\nimport { FetchDataFn, Mode, UseFetchDataProps } from '../types';\n\nexport function useFetchData<M extends Mode>({\n searchableFieldIds,\n filterFieldMapping,\n}: UseFetchDataProps<M>): { fetchData: FetchDataFn<M> } {\n const schema = useSchema();\n\n const fetchData = React.useMemo(() => {\n return (query: CursorQuery<any> | OffsetQuery<any>) => {\n return schema.actions.find(query, {\n searchableFieldIds: searchableFieldIds || [],\n filterFieldMapping,\n });\n };\n }, [schema, searchableFieldIds, filterFieldMapping]);\n\n return { fetchData };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,4BAA4B;AAItD,OAAO,SAASC,YAAYA,CAAAC,IAAA,EAG4B;EAAA,IAHX;IAC3CC,kBAAkB;IAClBC;EACoB,CAAC,GAAAF,IAAA;EACrB,MAAMG,MAAM,GAAGL,SAAS,CAAC,CAAC;EAE1B,MAAMM,SAAS,GAAGP,KAAK,CAACQ,OAAO,CAAC,MAAM;IACpC,OAAQC,KAA0C,IAAK;MACrD,OAAOH,MAAM,CAACI,OAAO,CAACC,IAAI,CAACF,KAAK,EAAE;QAChCL,kBAAkB,EAAEA,kBAAkB,IAAI,EAAE;QAC5CC;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACC,MAAM,EAAEF,kBAAkB,EAAEC,kBAAkB,CAAC,CAAC;EAEpD,OAAO;IAAEE;EAAU,CAAC;AACtB","ignoreList":[]}
@@ -8,7 +8,7 @@ import { createDateTimeFilter, createBooleanFilter, createNumberFilter, createEn
8
8
  export const useFilters = configuration => {
9
9
  const schema = useSchema();
10
10
  const schemaRegistry = useSchemaRegistry();
11
- const filters = React.useMemo(() => {
11
+ const [filters] = React.useState(() => {
12
12
  const currFilters = [];
13
13
  configuration == null || configuration.items.forEach(filter => {
14
14
  const {
@@ -90,7 +90,7 @@ export const useFilters = configuration => {
90
90
  }
91
91
  });
92
92
  return currFilters;
93
- }, [configuration == null ? void 0 : configuration.items, schema.fields, schemaRegistry]);
93
+ });
94
94
  const filterFieldMapping = React.useMemo(() => {
95
95
  return configuration == null ? void 0 : configuration.items.reduce((acc, filter) => {
96
96
  acc[filter.id] = filter;
@@ -1 +1 @@
1
- {"version":3,"names":["React","CollectionToolbarFilters","useSchema","useSchemaRegistry","StaticCollectionFilter","DynamicCollectionFilter","createDateTimeFilter","createBooleanFilter","createNumberFilter","createEnumFilter","createReferenceFilter","useFilters","configuration","schema","schemaRegistry","filters","useMemo","currFilters","items","forEach","filter","id","fieldId","fieldDefinition","fields","label","displayName","openByDefault","tagLabel","sectionTitle","baseParams","commonFilterProps","initiallyOpen","accordionItemProps","toolbarItemProps","toolbarTagProps","type","push","config","dateConfig","booleanConfig","numberConfig","referencedCollectionId","referenceMetadata","referencedSchema","getSchema","dynamicOptionsConfig","additionalParams","enumConfig","filterFieldMapping","reduce","acc","collectionToolbarFiltersProps","inline","maxInlineFilters","panelTitle","filtersData","key","components","collectionData","createElement","_extends","component","props","collectionId","componentName","filtersObject","filterComponent","length","undefined"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n CollectionToolbarFiltersProps,\n Filter,\n} from '@wix/patterns';\nimport { Filter as SchemaFilterType, FiltersConfig } from '../types';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useSchemaRegistry } from '../providers';\nimport {\n StaticCollectionFilter,\n DynamicCollectionFilter,\n} from '../components/filters';\nimport {\n createDateTimeFilter,\n createBooleanFilter,\n createNumberFilter,\n createEnumFilter,\n createReferenceFilter,\n} from '../utils/filterCreators';\n\nexport interface FilterOptions {\n key: string;\n fieldId: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n collectionId?: string;\n componentName?: string;\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (configuration?: FiltersConfig) => {\n const schema = useSchema();\n const schemaRegistry = useSchemaRegistry();\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n configuration?.items.forEach((filter) => {\n const { id, fieldId } = filter;\n const fieldDefinition = schema.fields[fieldId];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { openByDefault, tagLabel, sectionTitle } = filter;\n\n const baseParams = {\n id,\n fieldId,\n commonFilterProps: {\n sectionTitle,\n initiallyOpen: openByDefault,\n accordionItemProps: { label },\n toolbarItemProps: { label },\n toolbarTagProps: { label: tagLabel },\n },\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push(\n createDateTimeFilter({\n ...baseParams,\n config: filter.dateConfig,\n }),\n );\n break;\n\n case 'BOOLEAN':\n currFilters.push(\n createBooleanFilter({\n ...baseParams,\n config: filter.booleanConfig,\n }),\n );\n break;\n\n case 'NUMBER':\n currFilters.push(\n createNumberFilter({\n ...baseParams,\n config: filter.numberConfig,\n }),\n );\n break;\n\n case 'REFERENCE': {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const referencedSchema = schemaRegistry.getSchema(\n referencedCollectionId,\n );\n\n if (referencedSchema) {\n currFilters.push(\n createReferenceFilter({\n ...baseParams,\n config: filter.dynamicOptionsConfig,\n additionalParams: {\n referencedSchema,\n },\n }),\n );\n }\n break;\n }\n\n default:\n if (filter?.enumConfig) {\n currFilters.push(\n createEnumFilter({\n ...baseParams,\n config: filter.enumConfig,\n }),\n );\n }\n break;\n }\n });\n return currFilters;\n }, [configuration?.items, schema.fields, schemaRegistry]);\n\n const filterFieldMapping = React.useMemo(() => {\n return configuration?.items.reduce((acc, filter) => {\n acc[filter.id] = filter;\n return acc;\n }, {} as Record<string, SchemaFilterType>);\n }, [configuration?.items]);\n\n const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: configuration?.maxInlineFilters || 0,\n panelTitle: configuration?.panelTitle,\n }),\n [configuration],\n );\n\n const filtersData = filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <StaticCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionData={filter.collectionData}\n {...filter.props}\n />\n ) : filter.collectionId ? (\n <DynamicCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionId={filter.collectionId}\n componentName={filter.props.componentName}\n {...filter.props}\n />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], collectionToolbarFiltersProps },\n );\n\n return {\n filterFieldMapping,\n filtersObject: filtersData.filters,\n filterComponent:\n filtersData.components.length > 0 ? (\n <CollectionToolbarFilters {...collectionToolbarFiltersProps}>\n {filtersData.components}\n </CollectionToolbarFilters>\n ) : undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CollectionToolbarFilters","useSchema","useSchemaRegistry","StaticCollectionFilter","DynamicCollectionFilter","createDateTimeFilter","createBooleanFilter","createNumberFilter","createEnumFilter","createReferenceFilter","useFilters","configuration","schema","schemaRegistry","filters","useState","currFilters","items","forEach","filter","id","fieldId","fieldDefinition","fields","label","displayName","openByDefault","tagLabel","sectionTitle","baseParams","commonFilterProps","initiallyOpen","accordionItemProps","toolbarItemProps","toolbarTagProps","type","push","config","dateConfig","booleanConfig","numberConfig","referencedCollectionId","referenceMetadata","referencedSchema","getSchema","dynamicOptionsConfig","additionalParams","enumConfig","filterFieldMapping","useMemo","reduce","acc","collectionToolbarFiltersProps","inline","maxInlineFilters","panelTitle","filtersData","key","components","collectionData","createElement","_extends","component","props","collectionId","componentName","filtersObject","filterComponent","length","undefined"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n CollectionToolbarFiltersProps,\n Filter,\n} from '@wix/patterns';\nimport { Filter as SchemaFilterType, FiltersConfig } from '../types';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useSchemaRegistry } from '../providers';\nimport {\n StaticCollectionFilter,\n DynamicCollectionFilter,\n} from '../components/filters';\nimport {\n createDateTimeFilter,\n createBooleanFilter,\n createNumberFilter,\n createEnumFilter,\n createReferenceFilter,\n} from '../utils/filterCreators';\n\nexport interface FilterOptions {\n key: string;\n fieldId: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n collectionId?: string;\n componentName?: string;\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (configuration?: FiltersConfig) => {\n const schema = useSchema();\n const schemaRegistry = useSchemaRegistry();\n const [filters] = React.useState(() => {\n const currFilters: FilterOptions[] = [];\n configuration?.items.forEach((filter) => {\n const { id, fieldId } = filter;\n const fieldDefinition = schema.fields[fieldId];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { openByDefault, tagLabel, sectionTitle } = filter;\n\n const baseParams = {\n id,\n fieldId,\n commonFilterProps: {\n sectionTitle,\n initiallyOpen: openByDefault,\n accordionItemProps: { label },\n toolbarItemProps: { label },\n toolbarTagProps: { label: tagLabel },\n },\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push(\n createDateTimeFilter({\n ...baseParams,\n config: filter.dateConfig,\n }),\n );\n break;\n\n case 'BOOLEAN':\n currFilters.push(\n createBooleanFilter({\n ...baseParams,\n config: filter.booleanConfig,\n }),\n );\n break;\n\n case 'NUMBER':\n currFilters.push(\n createNumberFilter({\n ...baseParams,\n config: filter.numberConfig,\n }),\n );\n break;\n\n case 'REFERENCE': {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const referencedSchema = schemaRegistry.getSchema(\n referencedCollectionId,\n );\n\n if (referencedSchema) {\n currFilters.push(\n createReferenceFilter({\n ...baseParams,\n config: filter.dynamicOptionsConfig,\n additionalParams: {\n referencedSchema,\n },\n }),\n );\n }\n break;\n }\n\n default:\n if (filter?.enumConfig) {\n currFilters.push(\n createEnumFilter({\n ...baseParams,\n config: filter.enumConfig,\n }),\n );\n }\n break;\n }\n });\n return currFilters;\n });\n\n const filterFieldMapping = React.useMemo(() => {\n return configuration?.items.reduce((acc, filter) => {\n acc[filter.id] = filter;\n return acc;\n }, {} as Record<string, SchemaFilterType>);\n }, [configuration?.items]);\n\n const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: configuration?.maxInlineFilters || 0,\n panelTitle: configuration?.panelTitle,\n }),\n [configuration],\n );\n\n const filtersData = filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <StaticCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionData={filter.collectionData}\n {...filter.props}\n />\n ) : filter.collectionId ? (\n <DynamicCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionId={filter.collectionId}\n componentName={filter.props.componentName}\n {...filter.props}\n />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], collectionToolbarFiltersProps },\n );\n\n return {\n filterFieldMapping,\n filtersObject: filtersData.filters,\n filterComponent:\n filtersData.components.length > 0 ? (\n <CollectionToolbarFilters {...collectionToolbarFiltersProps}>\n {filtersData.components}\n </CollectionToolbarFilters>\n ) : undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,18 +2,10 @@ import { useFetchData } from './useFetchData';
2
2
  import { useGridCollection, useSelector } from '@wix/patterns';
3
3
  import { useCommonCollectionFeatures } from './useCommonCollectionFeatures';
4
4
  import { useFilters } from './useFilters';
5
- import { useSchema } from '../providers/SchemaContext';
6
- import { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';
7
5
  import { useBaseGridFeatures } from './useBaseGridFeatures';
6
+ import { useBaseCollectionParams } from './useBaseCollectionParams';
8
7
  import { useUpdateAppContextItems } from './useUpdateAppContextItems';
9
8
  export const useGridFeatures = configuration => {
10
- const {
11
- collectionId,
12
- limit,
13
- reflectQueryInUrl,
14
- selectAllScope,
15
- selectionUpdateMode
16
- } = configuration.collection;
17
9
  const {
18
10
  renderItem,
19
11
  imagePlacement,
@@ -31,38 +23,23 @@ export const useGridFeatures = configuration => {
31
23
  searchableFieldIds: visibleFieldIds,
32
24
  filterFieldMapping
33
25
  });
34
- const schema = useSchema();
35
- const state = useGridCollection({
36
- queryName: `${collectionId}`,
37
- itemKey: gridItem => gridItem[schema.idField],
38
- itemName: gridItem => gridItem[schema.displayField],
39
- filters: filtersObject,
40
- toExtendedFields: gridItem => gridItem.extendedFields,
41
- fetchErrorMessage: _ref => {
42
- let {
43
- err
44
- } = _ref;
45
- return String(err);
46
- },
26
+ const params = useBaseCollectionParams({
27
+ config: configuration.collection,
47
28
  fetchData,
48
- limit,
49
- persistQueryToUrl: reflectQueryInUrl,
50
- disableAutoSelectAllCount: selectAllScope === 'page',
51
- selectionConsistencyMode: selectionUpdateMode
29
+ filters: filtersObject
52
30
  });
31
+ const state = useGridCollection(params);
53
32
  const items = useSelector(() => state.collection.result.items);
54
33
  useUpdateAppContextItems(items);
55
- const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
56
34
  const commonFeatures = useCommonCollectionFeatures({
57
35
  ...configuration,
58
- optimisticActions
36
+ collectionState: state.collection
59
37
  });
60
38
  return {
61
39
  ...commonFeatures,
62
40
  state,
63
41
  imagePlacement,
64
42
  preset,
65
- optimisticActions,
66
43
  renderItem,
67
44
  filters: filterComponent
68
45
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","useGridCollection","useSelector","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseGridFeatures","useUpdateAppContextItems","useGridFeatures","configuration","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","collection","renderItem","imagePlacement","preset","visibleFieldIds","filterComponent","filtersObject","filterFieldMapping","filters","fetchData","searchableFieldIds","schema","state","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","items","result","optimisticActions","commonFeatures"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection, useSelector } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseGridFeatures } from './useBaseGridFeatures';\nimport { useUpdateAppContextItems } from './useUpdateAppContextItems';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const {\n collectionId,\n limit,\n reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\n } = configuration.collection;\n\n const { renderItem, imagePlacement, preset, visibleFieldIds } =\n useBaseGridFeatures(configuration);\n\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n configuration.filters,\n );\n\n const { fetchData } = useFetchData({\n searchableFieldIds: visibleFieldIds,\n filterFieldMapping,\n });\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: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\n });\n\n const items = useSelector(() => state.collection.result.items);\n useUpdateAppContextItems(items);\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 imagePlacement,\n preset,\n optimisticActions,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,eAAe;AAC9D,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AACrF,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;AAErE,OAAO,MAAMC,eAAe,GAAIC,aAAyB,IAAK;EAC5D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,cAAc;IACdC;EACF,CAAC,GAAGL,aAAa,CAACM,UAAU;EAE5B,MAAM;IAAEC,UAAU;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAgB,CAAC,GAC3Db,mBAAmB,CAACG,aAAa,CAAC;EAEpC,MAAM;IAAEW,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGnB,UAAU,CACvEM,aAAa,CAACc,OAChB,CAAC;EAED,MAAM;IAAEC;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,kBAAkB,EAAEN,eAAe;IACnCG;EACF,CAAC,CAAC;EAEF,MAAMI,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAE1B,MAAMuB,KAAK,GAAG3B,iBAAiB,CAAM;IACnC4B,SAAS,EAAE,GAAGlB,YAAY,EAAE;IAC5BmB,OAAO,EAAGC,QAAQ,IAAKA,QAAQ,CAACJ,MAAM,CAACK,OAAO,CAAC;IAC/CC,QAAQ,EAAGF,QAAQ,IAAKA,QAAQ,CAACJ,MAAM,CAACO,YAAY,CAAC;IACrDV,OAAO,EAAEF,aAAa;IACtBa,gBAAgB,EAAGJ,QAAQ,IAAKA,QAAQ,CAACK,cAAc;IACvDC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTb,KAAK;IACL6B,iBAAiB,EAAE5B,iBAAiB;IACpC6B,yBAAyB,EAAE5B,cAAc,KAAK,MAAM;IACpD6B,wBAAwB,EAAE5B;EAC5B,CAAC,CAAC;EAEF,MAAM6B,KAAK,GAAG1C,WAAW,CAAC,MAAM0B,KAAK,CAACZ,UAAU,CAAC6B,MAAM,CAACD,KAAK,CAAC;EAC9DpC,wBAAwB,CAACoC,KAAK,CAAC;EAE/B,MAAME,iBAAiB,GAAGxC,gCAAgC,CACxDK,YAAY,EACZiB,KAAK,CAACZ,UACR,CAAC;EAED,MAAM+B,cAAc,GAAG5C,2BAA2B,CAAC;IACjD,GAAGO,aAAa;IAChBoC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGC,cAAc;IACjBnB,KAAK;IACLV,cAAc;IACdC,MAAM;IACN2B,iBAAiB;IACjB7B,UAAU;IACVO,OAAO,EAAEH;EACX,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useFetchData","useGridCollection","useSelector","useCommonCollectionFeatures","useFilters","useBaseGridFeatures","useBaseCollectionParams","useUpdateAppContextItems","useGridFeatures","configuration","renderItem","imagePlacement","preset","visibleFieldIds","filterComponent","filtersObject","filterFieldMapping","filters","fetchData","searchableFieldIds","params","config","collection","state","items","result","commonFeatures","collectionState"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection, useSelector } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useBaseGridFeatures } from './useBaseGridFeatures';\nimport { useBaseCollectionParams } from './useBaseCollectionParams';\nimport { useUpdateAppContextItems } from './useUpdateAppContextItems';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { renderItem, imagePlacement, preset, visibleFieldIds } =\n useBaseGridFeatures(configuration);\n\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n configuration.filters,\n );\n\n const { fetchData } = useFetchData({\n searchableFieldIds: visibleFieldIds,\n filterFieldMapping,\n });\n\n const params = useBaseCollectionParams({\n config: configuration.collection,\n fetchData,\n filters: filtersObject,\n });\n\n const state = useGridCollection<any>(params);\n const items = useSelector(() => state.collection.result.items);\n useUpdateAppContextItems(items);\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n collectionState: state.collection,\n });\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,eAAe;AAC9D,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,wBAAwB,QAAQ,4BAA4B;AAErE,OAAO,MAAMC,eAAe,GAAIC,aAAyB,IAAK;EAC5D,MAAM;IAAEC,UAAU;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAgB,CAAC,GAC3DR,mBAAmB,CAACI,aAAa,CAAC;EAEpC,MAAM;IAAEK,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGZ,UAAU,CACvEK,aAAa,CAACQ,OAChB,CAAC;EAED,MAAM;IAAEC;EAAU,CAAC,GAAGlB,YAAY,CAAC;IACjCmB,kBAAkB,EAAEN,eAAe;IACnCG;EACF,CAAC,CAAC;EAEF,MAAMI,MAAM,GAAGd,uBAAuB,CAAC;IACrCe,MAAM,EAAEZ,aAAa,CAACa,UAAU;IAChCJ,SAAS;IACTD,OAAO,EAAEF;EACX,CAAC,CAAC;EAEF,MAAMQ,KAAK,GAAGtB,iBAAiB,CAAMmB,MAAM,CAAC;EAC5C,MAAMI,KAAK,GAAGtB,WAAW,CAAC,MAAMqB,KAAK,CAACD,UAAU,CAACG,MAAM,CAACD,KAAK,CAAC;EAC9DjB,wBAAwB,CAACiB,KAAK,CAAC;EAE/B,MAAME,cAAc,GAAGvB,2BAA2B,CAAC;IACjD,GAAGM,aAAa;IAChBkB,eAAe,EAAEJ,KAAK,CAACD;EACzB,CAAC,CAAC;EAEF,OAAO;IACL,GAAGI,cAAc;IACjBH,KAAK;IACLZ,cAAc;IACdC,MAAM;IACNF,UAAU;IACVO,OAAO,EAAEH;EACX,CAAC;AACH,CAAC","ignoreList":[]}