@wix/auto-patterns 1.26.0 → 1.28.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 (144) hide show
  1. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +16 -7
  2. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +2 -2
  4. package/dist/cjs/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
  5. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +58 -4
  6. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  7. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +19 -5
  8. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -1
  9. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +1 -1
  10. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  11. package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js +1 -1
  12. package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js.map +1 -1
  13. package/dist/cjs/hooks/index.js +19 -0
  14. package/dist/cjs/hooks/index.js.map +1 -1
  15. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +13 -6
  16. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  17. package/dist/cjs/hooks/useBaseCollectionParams.js +38 -0
  18. package/dist/cjs/hooks/useBaseCollectionParams.js.map +1 -0
  19. package/dist/cjs/hooks/useCommonCollectionFeatures.js +13 -6
  20. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  21. package/dist/cjs/hooks/useFetchData.js +4 -5
  22. package/dist/cjs/hooks/useFetchData.js.map +1 -1
  23. package/dist/cjs/hooks/useGridFeatures.js +9 -26
  24. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  25. package/dist/cjs/hooks/useNavigationUtils.js +21 -6
  26. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
  27. package/dist/cjs/hooks/useTableFeatures.js +9 -26
  28. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  29. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +11 -28
  30. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -1
  31. package/dist/cjs/hooks/useUpdateAppContextItems.js +18 -0
  32. package/dist/cjs/hooks/useUpdateAppContextItems.js.map +1 -0
  33. package/dist/cjs/providers/AppContext.js +58 -0
  34. package/dist/cjs/providers/AppContext.js.map +1 -0
  35. package/dist/cjs/providers/ItemsContext.js +37 -0
  36. package/dist/cjs/providers/ItemsContext.js.map +1 -0
  37. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  38. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  39. package/dist/cjs/providers/index.js +12 -0
  40. package/dist/cjs/providers/index.js.map +1 -1
  41. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  42. package/dist/cjs/types/fetchData.js +4 -0
  43. package/dist/cjs/types/fetchData.js.map +1 -0
  44. package/dist/cjs/types/index.js +6 -0
  45. package/dist/cjs/types/index.js.map +1 -1
  46. package/dist/cjs/types/types.js.map +1 -1
  47. package/dist/docs/app_config_structure.md +1 -0
  48. package/dist/docs/auto-patterns-guide.md +270 -40
  49. package/dist/docs/bulk_actions.md +2 -5
  50. package/dist/docs/collection_page_actions.md +3 -12
  51. package/dist/docs/custom_overrides.md +1 -15
  52. package/dist/docs/entity_page_actions.md +3 -3
  53. package/dist/docs/entity_page_view_actions.md +2 -2
  54. package/dist/docs/error_handling.md +135 -0
  55. package/dist/docs/index.md +8 -0
  56. package/dist/docs/resolved_action.md +106 -0
  57. package/dist/docs/schema_config.md +11 -3
  58. package/dist/docs/wix_fqdn_custom_data_source.md +49 -7
  59. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +5 -3
  60. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  61. package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +2 -2
  62. package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
  63. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +24 -0
  64. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  65. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js +8 -0
  66. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -1
  67. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +1 -1
  68. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  69. package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js +1 -1
  70. package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js.map +1 -1
  71. package/dist/esm/hooks/index.js +2 -0
  72. package/dist/esm/hooks/index.js.map +1 -1
  73. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +14 -9
  74. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  75. package/dist/esm/hooks/useBaseCollectionParams.js +37 -0
  76. package/dist/esm/hooks/useBaseCollectionParams.js.map +1 -0
  77. package/dist/esm/hooks/useCommonCollectionFeatures.js +9 -2
  78. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  79. package/dist/esm/hooks/useFetchData.js +2 -2
  80. package/dist/esm/hooks/useFetchData.js.map +1 -1
  81. package/dist/esm/hooks/useGridFeatures.js +10 -30
  82. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  83. package/dist/esm/hooks/useNavigationUtils.js +21 -6
  84. package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
  85. package/dist/esm/hooks/useTableFeatures.js +10 -30
  86. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  87. package/dist/esm/hooks/useTableGridSwitchFeatures.js +12 -32
  88. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -1
  89. package/dist/esm/hooks/useUpdateAppContextItems.js +13 -0
  90. package/dist/esm/hooks/useUpdateAppContextItems.js.map +1 -0
  91. package/dist/esm/providers/AppContext.js +31 -0
  92. package/dist/esm/providers/AppContext.js.map +1 -0
  93. package/dist/esm/providers/ItemsContext.js +23 -0
  94. package/dist/esm/providers/ItemsContext.js.map +1 -0
  95. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  96. package/dist/esm/providers/index.js +1 -0
  97. package/dist/esm/providers/index.js.map +1 -1
  98. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  99. package/dist/esm/types/fetchData.js +2 -0
  100. package/dist/esm/types/fetchData.js.map +1 -0
  101. package/dist/esm/types/index.js +1 -0
  102. package/dist/esm/types/index.js.map +1 -1
  103. package/dist/esm/types/types.js.map +1 -1
  104. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +1 -0
  105. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
  106. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  107. package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts.map +1 -1
  108. package/dist/types/hooks/index.d.ts +2 -0
  109. package/dist/types/hooks/index.d.ts.map +1 -1
  110. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +7 -1
  111. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
  112. package/dist/types/hooks/useBaseCollectionParams.d.ts +27 -0
  113. package/dist/types/hooks/useBaseCollectionParams.d.ts.map +1 -0
  114. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +4 -3
  115. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  116. package/dist/types/hooks/useFetchData.d.ts +3 -13
  117. package/dist/types/hooks/useFetchData.d.ts.map +1 -1
  118. package/dist/types/hooks/useGridFeatures.d.ts +1 -1
  119. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  120. package/dist/types/hooks/useNavigationUtils.d.ts +5 -1
  121. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
  122. package/dist/types/hooks/useTableFeatures.d.ts +1 -1
  123. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  124. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +1 -1
  125. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -1
  126. package/dist/types/hooks/useUpdateAppContextItems.d.ts +2 -0
  127. package/dist/types/hooks/useUpdateAppContextItems.d.ts.map +1 -0
  128. package/dist/types/providers/AppContext.d.ts +11 -0
  129. package/dist/types/providers/AppContext.d.ts.map +1 -0
  130. package/dist/types/providers/ItemsContext.d.ts +11 -0
  131. package/dist/types/providers/ItemsContext.d.ts.map +1 -0
  132. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -1
  133. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  134. package/dist/types/providers/index.d.ts +1 -0
  135. package/dist/types/providers/index.d.ts.map +1 -1
  136. package/dist/types/types/CollectionPageConfig.d.ts +4 -0
  137. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  138. package/dist/types/types/fetchData.d.ts +21 -0
  139. package/dist/types/types/fetchData.d.ts.map +1 -0
  140. package/dist/types/types/index.d.ts +1 -0
  141. package/dist/types/types/index.d.ts.map +1 -1
  142. package/dist/types/types/types.d.ts +6 -5
  143. package/dist/types/types/types.d.ts.map +1 -1
  144. package/package.json +14 -14
@@ -31,7 +31,7 @@ export async function fetchCmsData(collectionId, query, fields, options) {
31
31
  if (referenceFieldIds.length > 0) {
32
32
  dataQuery = dataQuery.include(...referenceFieldIds);
33
33
  }
34
- const res = await dataQuery.skip(query.offset).limit(query.limit).find({
34
+ const res = await dataQuery.skip(query.offset ?? 0).limit(query.limit).find({
35
35
  returnTotalCount: true
36
36
  });
37
37
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["items","addFiltersToDataQuery","addSearchToDataQuery","addSortToDataQuery","fetchCmsData","collectionId","query","fields","options","searchableFieldIds","filterFieldMapping","dataQuery","referenceFieldIds","Object","values","filter","field","type","includes","id","map","length","include","res","skip","offset","limit","find","returnTotalCount","total","totalCount"],"sources":["../../../../src/dataSourceAdapters/cms/fetchCmsData.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { Field, Query } from '../../types';\nimport { addFiltersToDataQuery, addSearchToDataQuery } from './filterUtils';\nimport { addSortToDataQuery } from './sortUtils';\n\nexport async function fetchCmsData(\n collectionId: string,\n query: Query,\n fields: Record<string, Field | undefined>,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n) {\n const { searchableFieldIds = [], filterFieldMapping } = options;\n\n let dataQuery = items.query(collectionId);\n dataQuery = addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n });\n dataQuery = addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n });\n dataQuery = addSortToDataQuery({\n dataQuery,\n query,\n fields,\n });\n\n const referenceFieldIds = Object.values(fields)\n .filter(\n (field): field is Field =>\n !!field &&\n field.type === 'REFERENCE' &&\n searchableFieldIds.includes(field.id),\n )\n .map((field) => field.id);\n\n if (referenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...referenceFieldIds);\n }\n\n const res = await dataQuery\n .skip(query.offset)\n .limit(query.limit)\n .find({ returnTotalCount: true });\n\n return {\n items: res.items,\n total: res.totalCount ?? 0,\n };\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,WAAW;AAEjC,SAASC,qBAAqB,EAAEC,oBAAoB,QAAQ,eAAe;AAC3E,SAASC,kBAAkB,QAAQ,aAAa;AAEhD,OAAO,eAAeC,YAAYA,CAChCC,YAAoB,EACpBC,KAAY,EACZC,MAAyC,EACzCC,OAGC,EACD;EAAA,IAJAA,OAGC;IAHDA,OAGC,GAAG,CAAC,CAAC;EAAA;EAEN,MAAM;IAAEC,kBAAkB,GAAG,EAAE;IAAEC;EAAmB,CAAC,GAAGF,OAAO;EAE/D,IAAIG,SAAS,GAAGX,KAAK,CAACM,KAAK,CAACD,YAAY,CAAC;EACzCM,SAAS,GAAGT,oBAAoB,CAAC;IAC/BS,SAAS;IACTL,KAAK;IACLC,MAAM;IACNE;EACF,CAAC,CAAC;EACFE,SAAS,GAAGV,qBAAqB,CAAC;IAChCU,SAAS;IACTL,KAAK;IACLC,MAAM;IACNG;EACF,CAAC,CAAC;EACFC,SAAS,GAAGR,kBAAkB,CAAC;IAC7BQ,SAAS;IACTL,KAAK;IACLC;EACF,CAAC,CAAC;EAEF,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAACP,MAAM,CAAC,CAC5CQ,MAAM,CACJC,KAAK,IACJ,CAAC,CAACA,KAAK,IACPA,KAAK,CAACC,IAAI,KAAK,WAAW,IAC1BR,kBAAkB,CAACS,QAAQ,CAACF,KAAK,CAACG,EAAE,CACxC,CAAC,CACAC,GAAG,CAAEJ,KAAK,IAAKA,KAAK,CAACG,EAAE,CAAC;EAE3B,IAAIP,iBAAiB,CAACS,MAAM,GAAG,CAAC,EAAE;IAChCV,SAAS,GAAGA,SAAS,CAACW,OAAO,CAAC,GAAGV,iBAAiB,CAAC;EACrD;EAEA,MAAMW,GAAG,GAAG,MAAMZ,SAAS,CACxBa,IAAI,CAAClB,KAAK,CAACmB,MAAM,CAAC,CAClBC,KAAK,CAACpB,KAAK,CAACoB,KAAK,CAAC,CAClBC,IAAI,CAAC;IAAEC,gBAAgB,EAAE;EAAK,CAAC,CAAC;EAEnC,OAAO;IACL5B,KAAK,EAAEuB,GAAG,CAACvB,KAAK;IAChB6B,KAAK,EAAEN,GAAG,CAACO,UAAU,IAAI;EAC3B,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["items","addFiltersToDataQuery","addSearchToDataQuery","addSortToDataQuery","fetchCmsData","collectionId","query","fields","options","searchableFieldIds","filterFieldMapping","dataQuery","referenceFieldIds","Object","values","filter","field","type","includes","id","map","length","include","res","skip","offset","limit","find","returnTotalCount","total","totalCount"],"sources":["../../../../src/dataSourceAdapters/cms/fetchCmsData.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { Field, Query } from '../../types';\nimport { addFiltersToDataQuery, addSearchToDataQuery } from './filterUtils';\nimport { addSortToDataQuery } from './sortUtils';\n\nexport async function fetchCmsData(\n collectionId: string,\n query: Query,\n fields: Record<string, Field | undefined>,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n) {\n const { searchableFieldIds = [], filterFieldMapping } = options;\n\n let dataQuery = items.query(collectionId);\n dataQuery = addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n });\n dataQuery = addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n });\n dataQuery = addSortToDataQuery({\n dataQuery,\n query,\n fields,\n });\n\n const referenceFieldIds = Object.values(fields)\n .filter(\n (field): field is Field =>\n !!field &&\n field.type === 'REFERENCE' &&\n searchableFieldIds.includes(field.id),\n )\n .map((field) => field.id);\n\n if (referenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...referenceFieldIds);\n }\n\n const res = await dataQuery\n .skip(query.offset ?? 0)\n .limit(query.limit)\n .find({ returnTotalCount: true });\n\n return {\n items: res.items,\n total: res.totalCount ?? 0,\n };\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,WAAW;AAEjC,SAASC,qBAAqB,EAAEC,oBAAoB,QAAQ,eAAe;AAC3E,SAASC,kBAAkB,QAAQ,aAAa;AAEhD,OAAO,eAAeC,YAAYA,CAChCC,YAAoB,EACpBC,KAAY,EACZC,MAAyC,EACzCC,OAGC,EACD;EAAA,IAJAA,OAGC;IAHDA,OAGC,GAAG,CAAC,CAAC;EAAA;EAEN,MAAM;IAAEC,kBAAkB,GAAG,EAAE;IAAEC;EAAmB,CAAC,GAAGF,OAAO;EAE/D,IAAIG,SAAS,GAAGX,KAAK,CAACM,KAAK,CAACD,YAAY,CAAC;EACzCM,SAAS,GAAGT,oBAAoB,CAAC;IAC/BS,SAAS;IACTL,KAAK;IACLC,MAAM;IACNE;EACF,CAAC,CAAC;EACFE,SAAS,GAAGV,qBAAqB,CAAC;IAChCU,SAAS;IACTL,KAAK;IACLC,MAAM;IACNG;EACF,CAAC,CAAC;EACFC,SAAS,GAAGR,kBAAkB,CAAC;IAC7BQ,SAAS;IACTL,KAAK;IACLC;EACF,CAAC,CAAC;EAEF,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAACP,MAAM,CAAC,CAC5CQ,MAAM,CACJC,KAAK,IACJ,CAAC,CAACA,KAAK,IACPA,KAAK,CAACC,IAAI,KAAK,WAAW,IAC1BR,kBAAkB,CAACS,QAAQ,CAACF,KAAK,CAACG,EAAE,CACxC,CAAC,CACAC,GAAG,CAAEJ,KAAK,IAAKA,KAAK,CAACG,EAAE,CAAC;EAE3B,IAAIP,iBAAiB,CAACS,MAAM,GAAG,CAAC,EAAE;IAChCV,SAAS,GAAGA,SAAS,CAACW,OAAO,CAAC,GAAGV,iBAAiB,CAAC;EACrD;EAEA,MAAMW,GAAG,GAAG,MAAMZ,SAAS,CACxBa,IAAI,CAAClB,KAAK,CAACmB,MAAM,IAAI,CAAC,CAAC,CACvBC,KAAK,CAACpB,KAAK,CAACoB,KAAK,CAAC,CAClBC,IAAI,CAAC;IAAEC,gBAAgB,EAAE;EAAK,CAAC,CAAC;EAEnC,OAAO;IACL5B,KAAK,EAAEuB,GAAG,CAACvB,KAAK;IAChB6B,KAAK,EAAEN,GAAG,CAACO,UAAU,IAAI;EAC3B,CAAC;AACH","ignoreList":[]}
@@ -4,4 +4,6 @@ export * from './useGridFeatures';
4
4
  export * from './useNavigationUtils';
5
5
  export * from './usePagePath';
6
6
  export * from './useEntityPageHeaderTexts';
7
+ export * from './useUpdateAppContextItems';
8
+ export { useAppContext } from '../providers/AppContext';
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\nexport * from './useNavigationUtils';\nexport * from './usePagePath';\nexport * from './useEntityPageHeaderTexts';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,4BAA4B","ignoreList":[]}
1
+ {"version":3,"names":["useAppContext"],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\nexport * from './useNavigationUtils';\nexport * from './usePagePath';\nexport * from './useEntityPageHeaderTexts';\nexport * from './useUpdateAppContextItems';\nexport { useAppContext } from '../providers/AppContext';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,SAASA,aAAa,QAAQ,yBAAyB","ignoreList":[]}
@@ -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 { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';
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 = usePatternsWizardOverridesContext();
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","usePatternsWizardOverridesContext","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 { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\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 = usePatternsWizardOverridesContext();\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,iCAAiC,QAAQ,6CAA6C;AAO/F,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,iCAAiC,CAAC,CAAC;EACrD,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":[]}
@@ -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,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":[]}
@@ -1,18 +1,11 @@
1
1
  import { useFetchData } from './useFetchData';
2
- import { useGridCollection } from '@wix/patterns';
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';
7
+ import { useUpdateAppContextItems } from './useUpdateAppContextItems';
8
8
  export const useGridFeatures = configuration => {
9
- const {
10
- collectionId,
11
- limit,
12
- reflectQueryInUrl,
13
- selectAllScope,
14
- selectionUpdateMode
15
- } = configuration.collection;
16
9
  const {
17
10
  renderItem,
18
11
  imagePlacement,
@@ -30,36 +23,23 @@ export const useGridFeatures = configuration => {
30
23
  searchableFieldIds: visibleFieldIds,
31
24
  filterFieldMapping
32
25
  });
33
- const schema = useSchema();
34
- const state = useGridCollection({
35
- queryName: `${collectionId}`,
36
- itemKey: gridItem => gridItem[schema.idField],
37
- itemName: gridItem => gridItem[schema.displayField],
38
- filters: filtersObject,
39
- toExtendedFields: gridItem => gridItem.extendedFields,
40
- fetchErrorMessage: _ref => {
41
- let {
42
- err
43
- } = _ref;
44
- return String(err);
45
- },
26
+ const params = useBaseCollectionParams({
27
+ config: configuration.collection,
46
28
  fetchData,
47
- limit,
48
- persistQueryToUrl: reflectQueryInUrl,
49
- disableAutoSelectAllCount: selectAllScope === 'page',
50
- selectionConsistencyMode: selectionUpdateMode
29
+ filters: filtersObject
51
30
  });
52
- const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
31
+ const state = useGridCollection(params);
32
+ const items = useSelector(() => state.collection.result.items);
33
+ useUpdateAppContextItems(items);
53
34
  const commonFeatures = useCommonCollectionFeatures({
54
35
  ...configuration,
55
- optimisticActions
36
+ collectionState: state.collection
56
37
  });
57
38
  return {
58
39
  ...commonFeatures,
59
40
  state,
60
41
  imagePlacement,
61
42
  preset,
62
- optimisticActions,
63
43
  renderItem,
64
44
  filters: filterComponent
65
45
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","useGridCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseGridFeatures","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","optimisticActions","commonFeatures"],"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 { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseGridFeatures } from './useBaseGridFeatures';\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 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,QAAQ,eAAe;AACjD,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;AAE3D,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,GAC3DZ,mBAAmB,CAACE,aAAa,CAAC;EAEpC,MAAM;IAAEW,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGlB,UAAU,CACvEK,aAAa,CAACc,OAChB,CAAC;EAED,MAAM;IAAEC;EAAU,CAAC,GAAGvB,YAAY,CAAC;IACjCwB,kBAAkB,EAAEN,eAAe;IACnCG;EACF,CAAC,CAAC;EAEF,MAAMI,MAAM,GAAGrB,SAAS,CAAC,CAAC;EAE1B,MAAMsB,KAAK,GAAGzB,iBAAiB,CAAM;IACnC0B,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,iBAAiB,GAAGrC,gCAAgC,CACxDI,YAAY,EACZiB,KAAK,CAACZ,UACR,CAAC;EAED,MAAM6B,cAAc,GAAGzC,2BAA2B,CAAC;IACjD,GAAGM,aAAa;IAChBkC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGC,cAAc;IACjBjB,KAAK;IACLV,cAAc;IACdC,MAAM;IACNyB,iBAAiB;IACjB3B,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":[]}
@@ -4,10 +4,19 @@ import { useAppConfigContext, useSchemaRegistry } from '../providers';
4
4
  import { generatePath } from 'react-router-dom';
5
5
  import { usePagePath } from './usePagePath';
6
6
  export const useNavigation = () => {
7
- const {
8
- navigateToEntityPage: navigateToEntityPagePatterns,
9
- navigateToCollectionPage: navigateToCollectionPagePatterns
10
- } = usePatternsNavigate();
7
+ let navigateToEntityPagePatterns;
8
+ let navigateToCollectionPagePatterns;
9
+ let isNavigationAvailable = true;
10
+ try {
11
+ const navigation = usePatternsNavigate();
12
+ navigateToEntityPagePatterns = navigation.navigateToEntityPage;
13
+ navigateToCollectionPagePatterns = navigation.navigateToCollectionPage;
14
+ } catch (error) {
15
+ // Navigation context not available (e.g., when rendering components without routes)
16
+ isNavigationAvailable = false;
17
+ navigateToEntityPagePatterns = () => {};
18
+ navigateToCollectionPagePatterns = () => {};
19
+ }
11
20
  const appConfig = useAppConfigContext();
12
21
  const {
13
22
  getSchema
@@ -21,6 +30,9 @@ export const useNavigation = () => {
21
30
  item,
22
31
  entityPageId
23
32
  } = _ref;
33
+ if (!isNavigationAvailable || !appConfig.pages) {
34
+ return;
35
+ }
24
36
  const entityPage = entityPageId ? appConfig.pages.find(page => page.id === entityPageId) : null;
25
37
  if (!entityPage) {
26
38
  return;
@@ -39,8 +51,11 @@ export const useNavigation = () => {
39
51
  entity: item
40
52
  });
41
53
  }
42
- }, [appConfig, navigateToEntityPagePatterns, getSchema]);
54
+ }, [appConfig, navigateToEntityPagePatterns, getSchema, isNavigationAvailable]);
43
55
  const navigateToCollectionPage = useCallback(parentPageId => {
56
+ if (!isNavigationAvailable) {
57
+ return;
58
+ }
44
59
  const parentPagePath = getPagePath(parentPageId);
45
60
  if (!parentPagePath) {
46
61
  return;
@@ -48,7 +63,7 @@ export const useNavigation = () => {
48
63
  navigateToCollectionPagePatterns({
49
64
  path: parentPagePath
50
65
  });
51
- }, [navigateToCollectionPagePatterns, getPagePath]);
66
+ }, [navigateToCollectionPagePatterns, getPagePath, isNavigationAvailable]);
52
67
  const getParentPagePath = useCallback(parentPageId => {
53
68
  return getPagePath(parentPageId);
54
69
  }, [getPagePath]);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","navigateToCollectionPage","navigateToCollectionPagePatterns","appConfig","getSchema","getPagePath","_ref","_route$params","item","entityPageId","entityPage","pages","find","page","id","route","collectionId","schema","path","params","idField","entity","parentPageId","parentPagePath","getParentPagePath"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns/router';\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 {\n navigateToEntityPage: navigateToEntityPagePatterns,\n navigateToCollectionPage: navigateToCollectionPagePatterns,\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 navigateToCollectionPage = useCallback(\n (parentPageId: string) => {\n const parentPagePath = getPagePath(parentPageId);\n if (!parentPagePath) {\n return;\n }\n navigateToCollectionPagePatterns({\n path: parentPagePath,\n });\n },\n [navigateToCollectionPagePatterns, getPagePath],\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 navigateToCollectionPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,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;IACJC,oBAAoB,EAAEC,4BAA4B;IAClDC,wBAAwB,EAAEC;EAC5B,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACzB,MAAMU,SAAS,GAAGT,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEU;EAAU,CAAC,GAAGT,iBAAiB,CAAC,CAAC;EACzC,MAAM;IAAEU;EAAY,CAAC,GAAGR,WAAW,CAACM,SAAS,CAAC;EAE9C,MAAMJ,oBAAoB,GAAGP,WAAW,CACtCc,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,GAAGtB,YAAY,CAACmB,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;MACFpB,4BAA4B,CAAC;QAC3BkB,IAAI;QACJG,MAAM,EAAEb;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACL,SAAS,EAAEH,4BAA4B,EAAEI,SAAS,CACrD,CAAC;EAED,MAAMH,wBAAwB,GAAGT,WAAW,CACzC8B,YAAoB,IAAK;IACxB,MAAMC,cAAc,GAAGlB,WAAW,CAACiB,YAAY,CAAC;IAChD,IAAI,CAACC,cAAc,EAAE;MACnB;IACF;IACArB,gCAAgC,CAAC;MAC/BgB,IAAI,EAAEK;IACR,CAAC,CAAC;EACJ,CAAC,EACD,CAACrB,gCAAgC,EAAEG,WAAW,CAChD,CAAC;EAED,MAAMmB,iBAAiB,GAAGhC,WAAW,CAClC8B,YAAqB,IAAyB;IAC7C,OAAOjB,WAAW,CAACiB,YAAY,CAAC;EAClC,CAAC,EACD,CAACjB,WAAW,CACd,CAAC;EAED,OAAO;IACLN,oBAAoB;IACpBE,wBAAwB;IACxBuB,iBAAiB;IACjBnB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPagePatterns","navigateToCollectionPagePatterns","isNavigationAvailable","navigation","navigateToEntityPage","navigateToCollectionPage","error","appConfig","getSchema","getPagePath","_ref","_route$params","item","entityPageId","pages","entityPage","find","page","id","route","collectionId","schema","path","params","idField","entity","parentPageId","parentPagePath","getParentPagePath"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns/router';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig, EntityProps } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n let navigateToEntityPagePatterns: ({\n path,\n entity,\n }: {\n path: string;\n entity: EntityProps;\n }) => void;\n let navigateToCollectionPagePatterns: ({ path }: { path: string }) => void;\n let isNavigationAvailable = true;\n\n try {\n const navigation = usePatternsNavigate();\n navigateToEntityPagePatterns = navigation.navigateToEntityPage;\n navigateToCollectionPagePatterns = navigation.navigateToCollectionPage;\n } catch (error) {\n // Navigation context not available (e.g., when rendering components without routes)\n isNavigationAvailable = false;\n navigateToEntityPagePatterns = () => {};\n navigateToCollectionPagePatterns = () => {};\n }\n\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }: { item: EntityProps; entityPageId?: string }) => {\n if (!isNavigationAvailable || !appConfig.pages) {\n return;\n }\n\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, isNavigationAvailable],\n );\n\n const navigateToCollectionPage = useCallback(\n (parentPageId: string) => {\n if (!isNavigationAvailable) {\n return;\n }\n const parentPagePath = getPagePath(parentPageId);\n if (!parentPagePath) {\n return;\n }\n navigateToCollectionPagePatterns({\n path: parentPagePath,\n });\n },\n [navigateToCollectionPagePatterns, getPagePath, isNavigationAvailable],\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 navigateToCollectionPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,13 @@
1
1
  import { useFetchData } from './useFetchData';
2
- import { TableSections, useTableCollection } from '@wix/patterns';
2
+ import { TableSections, useSelector, useTableCollection } 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 { useBaseTableFeatures } from './useBaseTableFeatures';
8
6
  import { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';
7
+ import { useBaseCollectionParams } from './useBaseCollectionParams';
8
+ import { useUpdateAppContextItems } from './useUpdateAppContextItems';
9
9
  export const useTableFeatures = configuration => {
10
10
  var _configuration$sectio, _overrides$sections;
11
- const {
12
- collectionId,
13
- limit,
14
- reflectQueryInUrl,
15
- selectAllScope,
16
- selectionUpdateMode
17
- } = configuration.collection;
18
11
  const {
19
12
  filterComponent,
20
13
  filtersObject,
@@ -35,30 +28,18 @@ export const useTableFeatures = configuration => {
35
28
  searchableFieldIds: visibleFieldIds,
36
29
  filterFieldMapping
37
30
  });
38
- const schema = useSchema();
39
31
  const overrides = usePatternsWizardOverridesContext();
40
- const state = useTableCollection({
41
- queryName: `${collectionId}`,
42
- itemKey: item => item[schema.idField],
43
- itemName: item => item[schema.displayField],
44
- filters: filtersObject,
45
- toExtendedFields: item => item.extendedFields,
46
- fetchErrorMessage: _ref => {
47
- let {
48
- err
49
- } = _ref;
50
- return String(err);
51
- },
32
+ const params = useBaseCollectionParams({
33
+ config: configuration.collection,
52
34
  fetchData,
53
- limit,
54
- persistQueryToUrl: reflectQueryInUrl,
55
- disableAutoSelectAllCount: selectAllScope === 'page',
56
- selectionConsistencyMode: selectionUpdateMode
35
+ filters: filtersObject
57
36
  });
58
- const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
37
+ const state = useTableCollection(params);
38
+ const items = useSelector(() => state.collection.result.items);
39
+ useUpdateAppContextItems(items);
59
40
  const commonFeatures = useCommonCollectionFeatures({
60
41
  ...configuration,
61
- optimisticActions
42
+ collectionState: state.collection
62
43
  });
63
44
  const sections = (_configuration$sectio = configuration.sections) != null && _configuration$sectio.id && overrides != null && (_overrides$sections = overrides.sections) != null && _overrides$sections[configuration.sections.id] ? {
64
45
  renderSection: overrides.sections[configuration.sections.id],
@@ -69,7 +50,6 @@ export const useTableFeatures = configuration => {
69
50
  state,
70
51
  columns,
71
52
  filters: filterComponent,
72
- optimisticActions,
73
53
  customColumns,
74
54
  onRowClick,
75
55
  stickyColumns,
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","TableSections","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseTableFeatures","usePatternsWizardOverridesContext","useTableFeatures","configuration","_configuration$sectio","_overrides$sections","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","collection","filterComponent","filtersObject","filterFieldMapping","filters","customColumns","visibleFieldIds","columns","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","fetchData","searchableFieldIds","schema","overrides","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","optimisticActions","commonFeatures","sections","id","renderSection","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { TableSections, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n configuration.filters,\n );\n const {\n customColumns,\n visibleFieldIds,\n columns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n } = useBaseTableFeatures(configuration);\n\n const { fetchData } = useFetchData({\n searchableFieldIds: visibleFieldIds,\n filterFieldMapping,\n });\n\n const schema = useSchema();\n const overrides = usePatternsWizardOverridesContext();\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: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n const sections =\n configuration.sections?.id &&\n overrides?.sections?.[configuration.sections.id]\n ? {\n renderSection: overrides.sections[configuration.sections.id],\n TableSections,\n }\n : undefined;\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n sections,\n };\n};\n"],"mappings":"AACA,SAASA,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;AACrF,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,iCAAiC,QAAQ,6CAA6C;AAE/F,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA,EAAAC,mBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,cAAc;IACdC;EACF,CAAC,GAAGP,aAAa,CAACQ,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGjB,UAAU,CACvEM,aAAa,CAACY,OAChB,CAAC;EACD,MAAM;IACJC,aAAa;IACbC,eAAe;IACfC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC,GAAGtB,oBAAoB,CAACG,aAAa,CAAC;EAEvC,MAAM;IAAEoB;EAAU,CAAC,GAAG9B,YAAY,CAAC;IACjC+B,kBAAkB,EAAEP,eAAe;IACnCH;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAG3B,SAAS,CAAC,CAAC;EAC1B,MAAM4B,SAAS,GAAGzB,iCAAiC,CAAC,CAAC;EAErD,MAAM0B,KAAK,GAAGhC,kBAAkB,CAAM;IACpCiC,SAAS,EAAE,GAAGtB,YAAY,EAAE;IAC5BuB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACL,MAAM,CAACM,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACL,MAAM,CAACQ,YAAY,CAAC;IAC7ClB,OAAO,EAAEF,aAAa;IACtBqB,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;IAC3Cf,SAAS;IACThB,KAAK;IACLiC,iBAAiB,EAAEhC,iBAAiB;IACpCiC,yBAAyB,EAAEhC,cAAc,KAAK,MAAM;IACpDiC,wBAAwB,EAAEhC;EAC5B,CAAC,CAAC;EAEF,MAAMiC,iBAAiB,GAAG5C,gCAAgC,CACxDO,YAAY,EACZqB,KAAK,CAAChB,UACR,CAAC;EAED,MAAMiC,cAAc,GAAGhD,2BAA2B,CAAC;IACjD,GAAGO,aAAa;IAChBwC;EACF,CAAC,CAAC;EAEF,MAAME,QAAQ,GACZ,CAAAzC,qBAAA,GAAAD,aAAa,CAAC0C,QAAQ,aAAtBzC,qBAAA,CAAwB0C,EAAE,IAC1BpB,SAAS,aAAArB,mBAAA,GAATqB,SAAS,CAAEmB,QAAQ,aAAnBxC,mBAAA,CAAsBF,aAAa,CAAC0C,QAAQ,CAACC,EAAE,CAAC,GAC5C;IACEC,aAAa,EAAErB,SAAS,CAACmB,QAAQ,CAAC1C,aAAa,CAAC0C,QAAQ,CAACC,EAAE,CAAC;IAC5DpD;EACF,CAAC,GACDsD,SAAS;EAEf,OAAO;IACL,GAAGJ,cAAc;IACjBjB,KAAK;IACLT,OAAO;IACPH,OAAO,EAAEH,eAAe;IACxB+B,iBAAiB;IACjB3B,aAAa;IACbG,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZuB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useFetchData","TableSections","useSelector","useTableCollection","useCommonCollectionFeatures","useFilters","useBaseTableFeatures","usePatternsWizardOverridesContext","useBaseCollectionParams","useUpdateAppContextItems","useTableFeatures","configuration","_configuration$sectio","_overrides$sections","filterComponent","filtersObject","filterFieldMapping","filters","customColumns","visibleFieldIds","columns","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","fetchData","searchableFieldIds","overrides","params","config","collection","state","items","result","commonFeatures","collectionState","sections","id","renderSection","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { TableSections, useSelector, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\nimport { useBaseCollectionParams } from './useBaseCollectionParams';\nimport { useUpdateAppContextItems } from './useUpdateAppContextItems';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n configuration.filters,\n );\n const {\n customColumns,\n visibleFieldIds,\n columns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n } = useBaseTableFeatures(configuration);\n\n const { fetchData } = useFetchData({\n searchableFieldIds: visibleFieldIds,\n filterFieldMapping,\n });\n\n const overrides = usePatternsWizardOverridesContext();\n\n const params = useBaseCollectionParams({\n config: configuration.collection,\n fetchData,\n filters: filtersObject,\n });\n\n const state = useTableCollection<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 const sections =\n configuration.sections?.id &&\n overrides?.sections?.[configuration.sections.id]\n ? {\n renderSection: overrides.sections[configuration.sections.id],\n TableSections,\n }\n : undefined;\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n sections,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,WAAW,EAAEC,kBAAkB,QAAQ,eAAe;AAC9E,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,iCAAiC,QAAQ,6CAA6C;AAC/F,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,wBAAwB,QAAQ,4BAA4B;AAErE,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA,EAAAC,mBAAA;EAC9D,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGX,UAAU,CACvEM,aAAa,CAACM,OAChB,CAAC;EACD,MAAM;IACJC,aAAa;IACbC,eAAe;IACfC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC,GAAGlB,oBAAoB,CAACK,aAAa,CAAC;EAEvC,MAAM;IAAEc;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,kBAAkB,EAAEP,eAAe;IACnCH;EACF,CAAC,CAAC;EAEF,MAAMW,SAAS,GAAGpB,iCAAiC,CAAC,CAAC;EAErD,MAAMqB,MAAM,GAAGpB,uBAAuB,CAAC;IACrCqB,MAAM,EAAElB,aAAa,CAACmB,UAAU;IAChCL,SAAS;IACTR,OAAO,EAAEF;EACX,CAAC,CAAC;EAEF,MAAMgB,KAAK,GAAG5B,kBAAkB,CAAMyB,MAAM,CAAC;EAC7C,MAAMI,KAAK,GAAG9B,WAAW,CAAC,MAAM6B,KAAK,CAACD,UAAU,CAACG,MAAM,CAACD,KAAK,CAAC;EAC9DvB,wBAAwB,CAACuB,KAAK,CAAC;EAE/B,MAAME,cAAc,GAAG9B,2BAA2B,CAAC;IACjD,GAAGO,aAAa;IAChBwB,eAAe,EAAEJ,KAAK,CAACD;EACzB,CAAC,CAAC;EAEF,MAAMM,QAAQ,GACZ,CAAAxB,qBAAA,GAAAD,aAAa,CAACyB,QAAQ,aAAtBxB,qBAAA,CAAwByB,EAAE,IAC1BV,SAAS,aAAAd,mBAAA,GAATc,SAAS,CAAES,QAAQ,aAAnBvB,mBAAA,CAAsBF,aAAa,CAACyB,QAAQ,CAACC,EAAE,CAAC,GAC5C;IACEC,aAAa,EAAEX,SAAS,CAACS,QAAQ,CAACzB,aAAa,CAACyB,QAAQ,CAACC,EAAE,CAAC;IAC5DpC;EACF,CAAC,GACDsC,SAAS;EAEf,OAAO;IACL,GAAGL,cAAc;IACjBH,KAAK;IACLX,OAAO;IACPH,OAAO,EAAEH,eAAe;IACxBI,aAAa;IACbG,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZY;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,20 +1,12 @@
1
1
  import { useFetchData } from './useFetchData';
2
- import { useTableGridSwitchCollection } from '@wix/patterns';
2
+ import { useSelector, useTableGridSwitchCollection } 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';
8
6
  import { useBaseTableFeatures } from './useBaseTableFeatures';
7
+ import { useBaseCollectionParams } from './useBaseCollectionParams';
8
+ import { useUpdateAppContextItems } from './useUpdateAppContextItems';
9
9
  export const useTableGridSwitchFeatures = config => {
10
- const schema = useSchema();
11
- const {
12
- collectionId,
13
- limit,
14
- reflectQueryInUrl,
15
- selectAllScope,
16
- selectionUpdateMode
17
- } = config.collection;
18
10
  const {
19
11
  filterComponent,
20
12
  filtersObject,
@@ -36,40 +28,28 @@ export const useTableGridSwitchFeatures = config => {
36
28
  showTitleBar
37
29
  } = useBaseTableFeatures(config);
38
30
  const {
39
- fetchData: tableFetchData
31
+ fetchData
40
32
  } = useFetchData({
41
33
  searchableFieldIds: Array.from(new Set([...tableVisibleFieldIds, ...gridVisibleFieldIds])),
42
34
  filterFieldMapping
43
35
  });
44
- const state = useTableGridSwitchCollection({
45
- queryName: `${collectionId}`,
46
- itemKey: item => item[schema.idField],
47
- itemName: item => item[schema.displayField],
48
- filters: filtersObject,
49
- toExtendedFields: item => item.extendedFields,
50
- fetchErrorMessage: _ref => {
51
- let {
52
- err
53
- } = _ref;
54
- return String(err);
55
- },
56
- fetchData: tableFetchData,
57
- limit,
58
- persistQueryToUrl: reflectQueryInUrl,
59
- disableAutoSelectAllCount: selectAllScope === 'page',
60
- selectionConsistencyMode: selectionUpdateMode
36
+ const params = useBaseCollectionParams({
37
+ config: config.collection,
38
+ fetchData,
39
+ filters: filtersObject
61
40
  });
62
- const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
41
+ const state = useTableGridSwitchCollection(params);
42
+ const items = useSelector(() => state.collection.result.items);
43
+ useUpdateAppContextItems(items);
63
44
  const commonFeatures = useCommonCollectionFeatures({
64
45
  ...config,
65
- optimisticActions
46
+ collectionState: state.collection
66
47
  });
67
48
  return {
68
49
  ...commonFeatures,
69
50
  state,
70
51
  columns: tableColumns,
71
52
  filters: filterComponent,
72
- optimisticActions,
73
53
  customColumns,
74
54
  onRowClick,
75
55
  stickyColumns,