@wix/auto-patterns 1.27.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 (79) hide show
  1. package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js +1 -1
  2. package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js.map +1 -1
  3. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +13 -6
  4. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  5. package/dist/cjs/hooks/useBaseCollectionParams.js +38 -0
  6. package/dist/cjs/hooks/useBaseCollectionParams.js.map +1 -0
  7. package/dist/cjs/hooks/useCommonCollectionFeatures.js +13 -6
  8. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  9. package/dist/cjs/hooks/useFetchData.js +4 -5
  10. package/dist/cjs/hooks/useFetchData.js.map +1 -1
  11. package/dist/cjs/hooks/useGridFeatures.js +6 -26
  12. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  13. package/dist/cjs/hooks/useTableFeatures.js +6 -26
  14. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  15. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +8 -28
  16. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -1
  17. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  18. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  19. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  20. package/dist/cjs/types/fetchData.js +4 -0
  21. package/dist/cjs/types/fetchData.js.map +1 -0
  22. package/dist/cjs/types/index.js +6 -0
  23. package/dist/cjs/types/index.js.map +1 -1
  24. package/dist/cjs/types/types.js.map +1 -1
  25. package/dist/docs/app_config_structure.md +1 -0
  26. package/dist/docs/auto-patterns-guide.md +151 -18
  27. package/dist/docs/custom_overrides.md +1 -15
  28. package/dist/docs/error_handling.md +135 -0
  29. package/dist/docs/index.md +4 -0
  30. package/dist/docs/schema_config.md +11 -3
  31. package/dist/docs/wix_fqdn_custom_data_source.md +49 -7
  32. package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js +1 -1
  33. package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js.map +1 -1
  34. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +14 -9
  35. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  36. package/dist/esm/hooks/useBaseCollectionParams.js +37 -0
  37. package/dist/esm/hooks/useBaseCollectionParams.js.map +1 -0
  38. package/dist/esm/hooks/useCommonCollectionFeatures.js +9 -2
  39. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  40. package/dist/esm/hooks/useFetchData.js +2 -2
  41. package/dist/esm/hooks/useFetchData.js.map +1 -1
  42. package/dist/esm/hooks/useGridFeatures.js +6 -29
  43. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  44. package/dist/esm/hooks/useTableFeatures.js +6 -29
  45. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  46. package/dist/esm/hooks/useTableGridSwitchFeatures.js +8 -31
  47. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -1
  48. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  49. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  50. package/dist/esm/types/fetchData.js +2 -0
  51. package/dist/esm/types/fetchData.js.map +1 -0
  52. package/dist/esm/types/index.js +1 -0
  53. package/dist/esm/types/index.js.map +1 -1
  54. package/dist/esm/types/types.js.map +1 -1
  55. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +7 -1
  56. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
  57. package/dist/types/hooks/useBaseCollectionParams.d.ts +27 -0
  58. package/dist/types/hooks/useBaseCollectionParams.d.ts.map +1 -0
  59. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +4 -3
  60. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  61. package/dist/types/hooks/useFetchData.d.ts +3 -13
  62. package/dist/types/hooks/useFetchData.d.ts.map +1 -1
  63. package/dist/types/hooks/useGridFeatures.d.ts +1 -1
  64. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  65. package/dist/types/hooks/useTableFeatures.d.ts +1 -1
  66. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  67. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +1 -1
  68. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -1
  69. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -1
  70. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  71. package/dist/types/types/CollectionPageConfig.d.ts +4 -0
  72. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  73. package/dist/types/types/fetchData.d.ts +21 -0
  74. package/dist/types/types/fetchData.d.ts.map +1 -0
  75. package/dist/types/types/index.d.ts +1 -0
  76. package/dist/types/types/index.d.ts.map +1 -1
  77. package/dist/types/types/types.d.ts +5 -5
  78. package/dist/types/types/types.d.ts.map +1 -1
  79. package/package.json +9 -9
@@ -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":[]}
@@ -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":"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","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":[]}
@@ -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":[]}
@@ -2,20 +2,12 @@ import { useFetchData } from './useFetchData';
2
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';
9
8
  import { useUpdateAppContextItems } from './useUpdateAppContextItems';
10
9
  export const useTableFeatures = configuration => {
11
10
  var _configuration$sectio, _overrides$sections;
12
- const {
13
- collectionId,
14
- limit,
15
- reflectQueryInUrl,
16
- selectAllScope,
17
- selectionUpdateMode
18
- } = configuration.collection;
19
11
  const {
20
12
  filterComponent,
21
13
  filtersObject,
@@ -36,32 +28,18 @@ export const useTableFeatures = configuration => {
36
28
  searchableFieldIds: visibleFieldIds,
37
29
  filterFieldMapping
38
30
  });
39
- const schema = useSchema();
40
31
  const overrides = usePatternsWizardOverridesContext();
41
- const state = useTableCollection({
42
- queryName: `${collectionId}`,
43
- itemKey: item => item[schema.idField],
44
- itemName: item => item[schema.displayField],
45
- filters: filtersObject,
46
- toExtendedFields: item => item.extendedFields,
47
- fetchErrorMessage: _ref => {
48
- let {
49
- err
50
- } = _ref;
51
- return String(err);
52
- },
32
+ const params = useBaseCollectionParams({
33
+ config: configuration.collection,
53
34
  fetchData,
54
- limit,
55
- persistQueryToUrl: reflectQueryInUrl,
56
- disableAutoSelectAllCount: selectAllScope === 'page',
57
- selectionConsistencyMode: selectionUpdateMode
35
+ filters: filtersObject
58
36
  });
37
+ const state = useTableCollection(params);
59
38
  const items = useSelector(() => state.collection.result.items);
60
39
  useUpdateAppContextItems(items);
61
- const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
62
40
  const commonFeatures = useCommonCollectionFeatures({
63
41
  ...configuration,
64
- optimisticActions
42
+ collectionState: state.collection
65
43
  });
66
44
  const sections = (_configuration$sectio = configuration.sections) != null && _configuration$sectio.id && overrides != null && (_overrides$sections = overrides.sections) != null && _overrides$sections[configuration.sections.id] ? {
67
45
  renderSection: overrides.sections[configuration.sections.id],
@@ -72,7 +50,6 @@ export const useTableFeatures = configuration => {
72
50
  state,
73
51
  columns,
74
52
  filters: filterComponent,
75
- optimisticActions,
76
53
  customColumns,
77
54
  onRowClick,
78
55
  stickyColumns,
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","TableSections","useSelector","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseTableFeatures","usePatternsWizardOverridesContext","useUpdateAppContextItems","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","items","result","optimisticActions","commonFeatures","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 { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\nimport { useUpdateAppContextItems } from './useUpdateAppContextItems';\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 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 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,WAAW,EAAEC,kBAAkB,QAAQ,eAAe;AAC9E,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;AAC/F,SAASC,wBAAwB,QAAQ,4BAA4B;AAErE,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,GAAGlB,UAAU,CACvEO,aAAa,CAACY,OAChB,CAAC;EACD,MAAM;IACJC,aAAa;IACbC,eAAe;IACfC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC,GAAGvB,oBAAoB,CAACI,aAAa,CAAC;EAEvC,MAAM;IAAEoB;EAAU,CAAC,GAAGhC,YAAY,CAAC;IACjCiC,kBAAkB,EAAEP,eAAe;IACnCH;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAG5B,SAAS,CAAC,CAAC;EAC1B,MAAM6B,SAAS,GAAG1B,iCAAiC,CAAC,CAAC;EAErD,MAAM2B,KAAK,GAAGjC,kBAAkB,CAAM;IACpCkC,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,KAAK,GAAGlD,WAAW,CAAC,MAAMkC,KAAK,CAAChB,UAAU,CAACiC,MAAM,CAACD,KAAK,CAAC;EAC9D1C,wBAAwB,CAAC0C,KAAK,CAAC;EAE/B,MAAME,iBAAiB,GAAG/C,gCAAgC,CACxDQ,YAAY,EACZqB,KAAK,CAAChB,UACR,CAAC;EAED,MAAMmC,cAAc,GAAGnD,2BAA2B,CAAC;IACjD,GAAGQ,aAAa;IAChB0C;EACF,CAAC,CAAC;EAEF,MAAME,QAAQ,GACZ,CAAA3C,qBAAA,GAAAD,aAAa,CAAC4C,QAAQ,aAAtB3C,qBAAA,CAAwB4C,EAAE,IAC1BtB,SAAS,aAAArB,mBAAA,GAATqB,SAAS,CAAEqB,QAAQ,aAAnB1C,mBAAA,CAAsBF,aAAa,CAAC4C,QAAQ,CAACC,EAAE,CAAC,GAC5C;IACEC,aAAa,EAAEvB,SAAS,CAACqB,QAAQ,CAAC5C,aAAa,CAAC4C,QAAQ,CAACC,EAAE,CAAC;IAC5DxD;EACF,CAAC,GACD0D,SAAS;EAEf,OAAO;IACL,GAAGJ,cAAc;IACjBnB,KAAK;IACLT,OAAO;IACPH,OAAO,EAAEH,eAAe;IACxBiC,iBAAiB;IACjB7B,aAAa;IACbG,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZyB;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":[]}
@@ -2,20 +2,11 @@ import { useFetchData } from './useFetchData';
2
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';
9
8
  import { useUpdateAppContextItems } from './useUpdateAppContextItems';
10
9
  export const useTableGridSwitchFeatures = config => {
11
- const schema = useSchema();
12
- const {
13
- collectionId,
14
- limit,
15
- reflectQueryInUrl,
16
- selectAllScope,
17
- selectionUpdateMode
18
- } = config.collection;
19
10
  const {
20
11
  filterComponent,
21
12
  filtersObject,
@@ -37,42 +28,28 @@ export const useTableGridSwitchFeatures = config => {
37
28
  showTitleBar
38
29
  } = useBaseTableFeatures(config);
39
30
  const {
40
- fetchData: tableFetchData
31
+ fetchData
41
32
  } = useFetchData({
42
33
  searchableFieldIds: Array.from(new Set([...tableVisibleFieldIds, ...gridVisibleFieldIds])),
43
34
  filterFieldMapping
44
35
  });
45
- const state = useTableGridSwitchCollection({
46
- queryName: `${collectionId}`,
47
- itemKey: item => item[schema.idField],
48
- itemName: item => item[schema.displayField],
49
- filters: filtersObject,
50
- toExtendedFields: item => item.extendedFields,
51
- fetchErrorMessage: _ref => {
52
- let {
53
- err
54
- } = _ref;
55
- return String(err);
56
- },
57
- fetchData: tableFetchData,
58
- limit,
59
- persistQueryToUrl: reflectQueryInUrl,
60
- disableAutoSelectAllCount: selectAllScope === 'page',
61
- selectionConsistencyMode: selectionUpdateMode
36
+ const params = useBaseCollectionParams({
37
+ config: config.collection,
38
+ fetchData,
39
+ filters: filtersObject
62
40
  });
41
+ const state = useTableGridSwitchCollection(params);
63
42
  const items = useSelector(() => state.collection.result.items);
64
43
  useUpdateAppContextItems(items);
65
- const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
66
44
  const commonFeatures = useCommonCollectionFeatures({
67
45
  ...config,
68
- optimisticActions
46
+ collectionState: state.collection
69
47
  });
70
48
  return {
71
49
  ...commonFeatures,
72
50
  state,
73
51
  columns: tableColumns,
74
52
  filters: filterComponent,
75
- optimisticActions,
76
53
  customColumns,
77
54
  onRowClick,
78
55
  stickyColumns,
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","useSelector","useTableGridSwitchCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseGridFeatures","useBaseTableFeatures","useUpdateAppContextItems","useTableGridSwitchFeatures","config","schema","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","collection","filterComponent","filtersObject","filterFieldMapping","filters","preset","imagePlacement","visibleFieldIds","gridVisibleFieldIds","renderItem","customColumns","tableVisibleFieldIds","columns","tableColumns","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","fetchData","tableFetchData","searchableFieldIds","Array","from","Set","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","items","result","optimisticActions","commonFeatures","horizontalScroll"],"sources":["../../../src/hooks/useTableGridSwitchFeatures.tsx"],"sourcesContent":["import { TableGridSwitchConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useSelector, useTableGridSwitchCollection } 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 { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { useUpdateAppContextItems } from './useUpdateAppContextItems';\n\nexport const useTableGridSwitchFeatures = (config: TableGridSwitchConfig) => {\n const schema = useSchema();\n\n const {\n collectionId,\n limit,\n reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\n } = config.collection;\n\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n config.filters,\n );\n\n const {\n preset,\n imagePlacement,\n visibleFieldIds: gridVisibleFieldIds,\n renderItem,\n } = useBaseGridFeatures(config);\n\n const {\n customColumns,\n visibleFieldIds: tableVisibleFieldIds,\n columns: tableColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n } = useBaseTableFeatures(config);\n\n const { fetchData: tableFetchData } = useFetchData({\n searchableFieldIds: Array.from(\n new Set([...tableVisibleFieldIds, ...gridVisibleFieldIds]),\n ),\n filterFieldMapping,\n });\n\n const state = useTableGridSwitchCollection<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: tableFetchData,\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 ...config,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns: tableColumns,\n filters: filterComponent,\n optimisticActions,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n horizontalScroll: true,\n // Grid specific features\n imagePlacement,\n preset,\n renderItem,\n showTitleBar,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useFetchData","useSelector","useTableGridSwitchCollection","useCommonCollectionFeatures","useFilters","useBaseGridFeatures","useBaseTableFeatures","useBaseCollectionParams","useUpdateAppContextItems","useTableGridSwitchFeatures","config","filterComponent","filtersObject","filterFieldMapping","filters","preset","imagePlacement","visibleFieldIds","gridVisibleFieldIds","renderItem","customColumns","tableVisibleFieldIds","columns","tableColumns","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","fetchData","searchableFieldIds","Array","from","Set","params","collection","state","items","result","commonFeatures","collectionState","horizontalScroll"],"sources":["../../../src/hooks/useTableGridSwitchFeatures.tsx"],"sourcesContent":["import { TableGridSwitchConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useSelector, useTableGridSwitchCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useBaseGridFeatures } from './useBaseGridFeatures';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { useBaseCollectionParams } from './useBaseCollectionParams';\nimport { useUpdateAppContextItems } from './useUpdateAppContextItems';\n\nexport const useTableGridSwitchFeatures = (config: TableGridSwitchConfig) => {\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n config.filters,\n );\n\n const {\n preset,\n imagePlacement,\n visibleFieldIds: gridVisibleFieldIds,\n renderItem,\n } = useBaseGridFeatures(config);\n\n const {\n customColumns,\n visibleFieldIds: tableVisibleFieldIds,\n columns: tableColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n } = useBaseTableFeatures(config);\n\n const { fetchData } = useFetchData({\n searchableFieldIds: Array.from(\n new Set([...tableVisibleFieldIds, ...gridVisibleFieldIds]),\n ),\n filterFieldMapping,\n });\n\n const params = useBaseCollectionParams({\n config: config.collection,\n fetchData,\n filters: filtersObject,\n });\n\n const state = useTableGridSwitchCollection<any>(params);\n const items = useSelector(() => state.collection.result.items);\n useUpdateAppContextItems(items);\n\n const commonFeatures = useCommonCollectionFeatures({\n ...config,\n collectionState: state.collection,\n });\n\n return {\n ...commonFeatures,\n state,\n columns: tableColumns,\n filters: filterComponent,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n horizontalScroll: true,\n // Grid specific features\n imagePlacement,\n preset,\n renderItem,\n showTitleBar,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,WAAW,EAAEC,4BAA4B,QAAQ,eAAe;AACzE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,wBAAwB,QAAQ,4BAA4B;AAErE,OAAO,MAAMC,0BAA0B,GAAIC,MAA6B,IAAK;EAC3E,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGT,UAAU,CACvEM,MAAM,CAACI,OACT,CAAC;EAED,MAAM;IACJC,MAAM;IACNC,cAAc;IACdC,eAAe,EAAEC,mBAAmB;IACpCC;EACF,CAAC,GAAGd,mBAAmB,CAACK,MAAM,CAAC;EAE/B,MAAM;IACJU,aAAa;IACbH,eAAe,EAAEI,oBAAoB;IACrCC,OAAO,EAAEC,YAAY;IACrBC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC,GAAGrB,oBAAoB,CAACI,MAAM,CAAC;EAEhC,MAAM;IAAEkB;EAAU,CAAC,GAAG5B,YAAY,CAAC;IACjC6B,kBAAkB,EAAEC,KAAK,CAACC,IAAI,CAC5B,IAAIC,GAAG,CAAC,CAAC,GAAGX,oBAAoB,EAAE,GAAGH,mBAAmB,CAAC,CAC3D,CAAC;IACDL;EACF,CAAC,CAAC;EAEF,MAAMoB,MAAM,GAAG1B,uBAAuB,CAAC;IACrCG,MAAM,EAAEA,MAAM,CAACwB,UAAU;IACzBN,SAAS;IACTd,OAAO,EAAEF;EACX,CAAC,CAAC;EAEF,MAAMuB,KAAK,GAAGjC,4BAA4B,CAAM+B,MAAM,CAAC;EACvD,MAAMG,KAAK,GAAGnC,WAAW,CAAC,MAAMkC,KAAK,CAACD,UAAU,CAACG,MAAM,CAACD,KAAK,CAAC;EAC9D5B,wBAAwB,CAAC4B,KAAK,CAAC;EAE/B,MAAME,cAAc,GAAGnC,2BAA2B,CAAC;IACjD,GAAGO,MAAM;IACT6B,eAAe,EAAEJ,KAAK,CAACD;EACzB,CAAC,CAAC;EAEF,OAAO;IACL,GAAGI,cAAc;IACjBH,KAAK;IACLb,OAAO,EAAEC,YAAY;IACrBT,OAAO,EAAEH,eAAe;IACxBS,aAAa;IACbI,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBc,gBAAgB,EAAE,IAAI;IACtB;IACAxB,cAAc;IACdD,MAAM;IACNI,UAAU;IACVQ;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellPrimaryActionResolver,\n CustomActionCellSecondaryActionResolver,\n CustomEntityPageActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\nimport { BadgeSkin, IconElement } from '@wix/design-system';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellPrimaryActionResolver\n | CustomActionCellSecondaryActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n entityPageHeaderSubtitle?: Record<\n string,\n (entity: Record<string, any>) => { text: string }\n >;\n entityPageHeaderBadges?: Record<\n string,\n (entity: Record<string, any>) => {\n text: string;\n skin?: BadgeSkin;\n prefixIcon?: IconElement;\n suffixIcon?: IconElement;\n }[]\n >;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAmDnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellPrimaryActionResolver,\n CustomActionCellSecondaryActionResolver,\n CustomEntityPageActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section, useOptimisticActions } from '@wix/patterns';\nimport { BadgeSkin, IconElement } from '@wix/design-system';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellPrimaryActionResolver\n | CustomActionCellSecondaryActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n entityPageHeaderSubtitle?: Record<\n string,\n (entity: Record<string, any>) => { text: string }\n >;\n entityPageHeaderBadges?: Record<\n string,\n (entity: Record<string, any>) => {\n text: string;\n skin?: BadgeSkin;\n prefixIcon?: IconElement;\n suffixIcon?: IconElement;\n }[]\n >;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n optimisticActions?: Record<\n string,\n Parameters<typeof useOptimisticActions>[1]\n >;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAuDnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPageOnRowClickActionConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageTitle {\n text: string;\n hideTotal?: boolean;\n}\n\nexport interface CollectionPageSubtitle {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n}\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: CollectionPageTitle;\n subtitle?: CollectionPageSubtitle;\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface CollectionComponentConfig\n extends BaseCollectionComponentConfig {\n type: 'collection';\n layout: LayoutItemConfig[];\n}\n\nexport interface CustomComponentConfig {\n type: 'custom';\n id: string;\n}\n\nexport type ComponentConfig = CollectionComponentConfig | CustomComponentConfig;\n\nexport interface LayoutItemConfig {\n type: 'Table' | 'Grid';\n table?: TableSpecificConfig;\n grid?: GridSpecificConfig;\n}\n\nexport type ColumnsConfig = Column[];\n\nexport interface TableSpecificConfig {\n columns: ColumnsConfig;\n customColumns?: {\n enabled: boolean;\n };\n stickyColumns?: number;\n onRowClick?: CollectionPageOnRowClickActionConfig;\n showTitleBar?: boolean;\n sections?: {\n id: string;\n };\n}\n\nexport interface GridSpecificConfig {\n item: GridItem;\n}\n\nexport interface TableConfig\n extends BaseCollectionComponentConfig,\n TableSpecificConfig {}\nexport interface GridConfig\n extends BaseCollectionComponentConfig,\n GridSpecificConfig {}\nexport interface TableGridSwitchConfig\n extends BaseCollectionComponentConfig,\n TableSpecificConfig,\n GridSpecificConfig {}\n\nexport type CollectionConfig = BaseCollectionConfig & {\n limit?: number;\n reflectQueryInUrl?: boolean;\n selectAllScope?: 'page' | 'all';\n selectionUpdateMode?: 'preserve' | 'clear';\n};\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport type FilterItems = Filter[];\nexport interface FiltersConfig {\n items: FilterItems;\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":"AA8KA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPageOnRowClickActionConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageTitle {\n text: string;\n hideTotal?: boolean;\n}\n\nexport interface CollectionPageSubtitle {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n}\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: CollectionPageTitle;\n subtitle?: CollectionPageSubtitle;\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface CollectionComponentConfig\n extends BaseCollectionComponentConfig {\n type: 'collection';\n layout: LayoutItemConfig[];\n}\n\nexport interface CustomComponentConfig {\n type: 'custom';\n id: string;\n}\n\nexport type ComponentConfig = CollectionComponentConfig | CustomComponentConfig;\n\nexport interface LayoutItemConfig {\n type: 'Table' | 'Grid';\n table?: TableSpecificConfig;\n grid?: GridSpecificConfig;\n}\n\nexport type ColumnsConfig = Column[];\n\nexport interface TableSpecificConfig {\n columns: ColumnsConfig;\n customColumns?: {\n enabled: boolean;\n };\n stickyColumns?: number;\n onRowClick?: CollectionPageOnRowClickActionConfig;\n showTitleBar?: boolean;\n sections?: {\n id: string;\n };\n}\n\nexport interface GridSpecificConfig {\n item: GridItem;\n}\n\nexport interface TableConfig\n extends BaseCollectionComponentConfig,\n TableSpecificConfig {}\nexport interface GridConfig\n extends BaseCollectionComponentConfig,\n GridSpecificConfig {}\nexport interface TableGridSwitchConfig\n extends BaseCollectionComponentConfig,\n TableSpecificConfig,\n GridSpecificConfig {}\n\nexport type CollectionConfig = BaseCollectionConfig & {\n limit?: number;\n reflectQueryInUrl?: boolean;\n selectAllScope?: 'page' | 'all';\n selectionUpdateMode?: 'preserve' | 'clear';\n optimisticActions?: {\n id: string;\n };\n paginationMode?: 'cursor' | 'offset';\n};\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport type FilterItems = Filter[];\nexport interface FiltersConfig {\n items: FilterItems;\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":"AAkLA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fetchData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/types/fetchData.ts"],"sourcesContent":["import { CursorQuery, OffsetQuery } from '@wix/patterns';\n\nexport type Mode = 'cursor' | 'offset';\n\nexport type UseFetchDataProps<M extends Mode> = {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n paginationMode?: M;\n};\n\nexport interface CursorQueryResult {\n items: any[];\n cursor?: string | undefined | null;\n total?: number | null;\n}\n\nexport interface OffsetQueryResult {\n items: any[];\n total?: number | null;\n hasNext?: boolean;\n}\n\nexport type FetchDataFn<M extends Mode> = M extends 'cursor'\n ? (q: CursorQuery<any>) => Promise<CursorQueryResult>\n : (q: OffsetQuery<any>) => Promise<OffsetQueryResult>;\n"],"mappings":"","ignoreList":[]}
@@ -5,4 +5,5 @@ export * from './providers';
5
5
  export * from './actions';
6
6
  export * from '../utils/actions/types';
7
7
  export * from './BaseSDK';
8
+ export * from './fetchData';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './types';\nexport * from './CollectionPageConfig';\nexport * from './EntityPageConfig';\nexport * from './providers';\nexport * from './actions';\nexport * from '../utils/actions/types';\nexport * from './BaseSDK';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,wBAAwB;AACtC,cAAc,WAAW","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './types';\nexport * from './CollectionPageConfig';\nexport * from './EntityPageConfig';\nexport * from './providers';\nexport * from './actions';\nexport * from '../utils/actions/types';\nexport * from './BaseSDK';\nexport * from './fetchData';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,wBAAwB;AACtC,cAAc,WAAW;AACzB,cAAc,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/types.ts"],"sourcesContent":["import { EntityPageConfig } from './EntityPageConfig';\nimport { CollectionPageConfig } from './CollectionPageConfig';\n\ninterface BaseCollectionConfigCommon {\n collectionId: string;\n}\n\ninterface CMSCollectionConfig extends BaseCollectionConfigCommon {\n entityTypeSource: 'cms';\n custom?: never;\n}\n\ninterface CustomCollectionConfig extends BaseCollectionConfigCommon {\n entityTypeSource: 'custom';\n custom: {\n id: string;\n };\n}\n\nexport type BaseCollectionConfig = CMSCollectionConfig | CustomCollectionConfig;\n\nexport type PatternsFieldType =\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'URL'\n | 'ARRAY'\n | 'REFERENCE'\n | 'IMAGE';\n\nexport interface AppConfig {\n pages: PageConfig[];\n layout?: 'panel';\n}\n\nexport interface BasePageConfig {\n id: string;\n appMainPage?: boolean;\n}\n\nexport interface CollectionPageConfigType extends BasePageConfig {\n type: 'collectionPage';\n collectionPage: CollectionPageConfig;\n entityPage?: never;\n}\n\nexport interface EntityPageConfigType extends BasePageConfig {\n type: 'entityPage';\n entityPage: EntityPageConfig;\n collectionPage?: never;\n}\n\nexport type PageConfig = CollectionPageConfigType | EntityPageConfigType;\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = any> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n row: Record<string, any>;\n}\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\ninterface BaseField {\n id: string;\n displayName: string;\n validation?: {\n numberRange?: NumberRange;\n stringLengthRange?: StringLengthRange;\n required: boolean;\n };\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\nexport interface ReferenceField extends BaseField {\n type: 'REFERENCE';\n referenceMetadata: {\n referencedCollectionId: string;\n };\n}\n\nexport interface NonReferenceField extends BaseField {\n type: Exclude<PatternsFieldType, 'REFERENCE'>;\n}\n\nexport type Field = ReferenceField | NonReferenceField;\n\nexport interface NumberRange {\n min?: number;\n max?: number;\n}\nexport interface StringLengthRange {\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface Query {\n limit: number;\n offset: number;\n page: number;\n search?: string;\n cursor?: string | null;\n filters: Record<string, any>;\n sort?: {\n fieldName: string;\n order: 'asc' | 'desc';\n }[];\n}\n\nexport interface SchemaConfig {\n id: string;\n fields: Record<string, Field | undefined>;\n displayField: string;\n idField: string;\n actions: {\n get: (entityId: string) => Promise<any>;\n create: (newEntity: Partial<any>) => Promise<any>;\n update: (updatedEntity: any) => Promise<any>;\n delete: (entityId: string) => Promise<any>;\n bulkDelete: (entityIds: string[]) => Promise<any>;\n find: (\n query: Query,\n options?: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n },\n ) => Promise<{ items: any[]; total: number }>;\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/types.ts"],"sourcesContent":["import { EntityPageConfig } from './EntityPageConfig';\nimport { CollectionPageConfig } from './CollectionPageConfig';\nimport { useOptimisticActions } from '@wix/patterns';\nimport { CursorQueryResult, OffsetQueryResult } from './fetchData';\n\ninterface BaseCollectionConfigCommon {\n collectionId: string;\n}\n\ninterface CMSCollectionConfig extends BaseCollectionConfigCommon {\n entityTypeSource: 'cms';\n custom?: never;\n}\n\ninterface CustomCollectionConfig extends BaseCollectionConfigCommon {\n entityTypeSource: 'custom';\n custom: {\n id: string;\n };\n}\n\nexport type BaseCollectionConfig = CMSCollectionConfig | CustomCollectionConfig;\n\nexport type PatternsFieldType =\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'URL'\n | 'ARRAY'\n | 'REFERENCE'\n | 'IMAGE';\n\nexport interface AppConfig {\n pages: PageConfig[];\n layout?: 'panel';\n}\n\nexport interface BasePageConfig {\n id: string;\n appMainPage?: boolean;\n}\n\nexport interface CollectionPageConfigType extends BasePageConfig {\n type: 'collectionPage';\n collectionPage: CollectionPageConfig;\n entityPage?: never;\n}\n\nexport interface EntityPageConfigType extends BasePageConfig {\n type: 'entityPage';\n entityPage: EntityPageConfig;\n collectionPage?: never;\n}\n\nexport type PageConfig = CollectionPageConfigType | EntityPageConfigType;\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = any> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n row: Record<string, any>;\n}\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\ninterface BaseField {\n id: string;\n displayName: string;\n validation?: {\n numberRange?: NumberRange;\n stringLengthRange?: StringLengthRange;\n required: boolean;\n };\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\nexport interface ReferenceField extends BaseField {\n type: 'REFERENCE';\n referenceMetadata: {\n referencedCollectionId: string;\n };\n}\n\nexport interface NonReferenceField extends BaseField {\n type: Exclude<PatternsFieldType, 'REFERENCE'>;\n}\n\nexport type Field = ReferenceField | NonReferenceField;\n\nexport interface NumberRange {\n min?: number;\n max?: number;\n}\nexport interface StringLengthRange {\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface Query {\n limit: number;\n offset?: number;\n page: number;\n search?: string;\n cursor?: string | null;\n filters: Record<string, any>;\n sort?: {\n fieldName: string;\n order: 'asc' | 'desc';\n }[];\n}\nexport interface SchemaConfig {\n id: string;\n fields: Record<string, Field | undefined>;\n displayField: string;\n idField: string;\n actions: {\n get: (entityId: string) => Promise<any>;\n create: (newEntity: Partial<any>) => Promise<any>;\n update: (updatedEntity: any) => Promise<any>;\n delete: (entityId: string) => Promise<any>;\n bulkDelete: (entityIds: string[]) => Promise<any>;\n find: (\n query: Query,\n options?: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n },\n ) => Promise<CursorQueryResult | OffsetQueryResult>;\n };\n}\n\nexport type OptimisticActionsParams = Parameters<\n typeof useOptimisticActions\n>[1];\n"],"mappings":"","ignoreList":[]}