@wix/auto-patterns 1.2.0 → 1.4.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.
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +31 -7
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +86 -16
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/cjs/config/ConfigFactory.js +1 -1
- package/dist/cjs/config/ConfigFactory.js.map +1 -1
- package/dist/cjs/config/cms/CmsCompositeConfig.js +76 -0
- package/dist/cjs/config/cms/CmsCompositeConfig.js.map +1 -0
- package/dist/cjs/config/cms/filterUtils.js +82 -0
- package/dist/cjs/config/cms/filterUtils.js.map +1 -0
- package/dist/cjs/config/cms/sortUtils.js +32 -0
- package/dist/cjs/config/cms/sortUtils.js.map +1 -0
- package/dist/cjs/hooks/useColumns.js +98 -19
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useEmptyStates.js +55 -0
- package/dist/cjs/hooks/useEmptyStates.js.map +1 -0
- package/dist/cjs/hooks/useFeatures.js +10 -1
- package/dist/cjs/hooks/useFeatures.js.map +1 -1
- package/dist/cjs/hooks/useFetchData.js +23 -0
- package/dist/cjs/hooks/useFetchData.js.map +1 -0
- package/dist/cjs/hooks/useFilters.js +103 -78
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/hooks/useTableProps.js +13 -1
- package/dist/cjs/hooks/useTableProps.js.map +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/types.js +1 -9
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +10 -3
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +58 -13
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/esm/config/ConfigFactory.js +1 -1
- package/dist/esm/config/ConfigFactory.js.map +1 -1
- package/dist/esm/config/cms/CmsCompositeConfig.js +70 -0
- package/dist/esm/config/cms/CmsCompositeConfig.js.map +1 -0
- package/dist/esm/config/cms/filterUtils.js +79 -0
- package/dist/esm/config/cms/filterUtils.js.map +1 -0
- package/dist/esm/config/cms/sortUtils.js +29 -0
- package/dist/esm/config/cms/sortUtils.js.map +1 -0
- package/dist/esm/hooks/useColumns.js +98 -19
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useEmptyStates.js +41 -0
- package/dist/esm/hooks/useEmptyStates.js.map +1 -0
- package/dist/esm/hooks/useFeatures.js +4 -2
- package/dist/esm/hooks/useFeatures.js.map +1 -1
- package/dist/esm/hooks/useFetchData.js +18 -0
- package/dist/esm/hooks/useFetchData.js.map +1 -0
- package/dist/esm/hooks/useFilters.js +101 -76
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useTableProps.js +13 -1
- package/dist/esm/hooks/useTableProps.js.map +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/types.js +0 -8
- package/dist/esm/types.js.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
- package/dist/types/config/cms/CmsCompositeConfig.d.ts +7 -0
- package/dist/types/config/cms/CmsCompositeConfig.d.ts.map +1 -0
- package/dist/types/config/cms/filterUtils.d.ts +16 -0
- package/dist/types/config/cms/filterUtils.d.ts.map +1 -0
- package/dist/types/config/cms/sortUtils.d.ts +9 -0
- package/dist/types/config/cms/sortUtils.d.ts.map +1 -0
- package/dist/types/hooks/useColumns.d.ts.map +1 -1
- package/dist/types/hooks/useEmptyStates.d.ts +5 -0
- package/dist/types/hooks/useEmptyStates.d.ts.map +1 -0
- package/dist/types/hooks/useFeatures.d.ts +1 -0
- package/dist/types/hooks/useFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useFetchData.d.ts +4 -0
- package/dist/types/hooks/useFetchData.d.ts.map +1 -0
- package/dist/types/hooks/useFilters.d.ts +2 -1
- package/dist/types/hooks/useFilters.d.ts.map +1 -1
- package/dist/types/hooks/useTableProps.d.ts +9 -4
- package/dist/types/hooks/useTableProps.d.ts.map +1 -1
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +7 -2
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/types.d.ts +88 -28
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +14 -14
- package/dist/cjs/config/CmsCompositeConfig.js +0 -85
- package/dist/cjs/config/CmsCompositeConfig.js.map +0 -1
- package/dist/esm/config/CmsCompositeConfig.js +0 -80
- package/dist/esm/config/CmsCompositeConfig.js.map +0 -1
- package/dist/types/config/CmsCompositeConfig.d.ts +0 -6
- package/dist/types/config/CmsCompositeConfig.d.ts.map +0 -1
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { collections, items } from '@wix/data';
|
|
2
|
-
import { FilterPropToOperator } from './constants';
|
|
3
|
-
const FilterPropToMethod = {
|
|
4
|
-
from: 'ge',
|
|
5
|
-
to: 'le'
|
|
6
|
-
};
|
|
7
|
-
function isValidFilterProp(prop) {
|
|
8
|
-
return Object.prototype.hasOwnProperty.call(FilterPropToMethod, prop);
|
|
9
|
-
}
|
|
10
|
-
function getOperatorForFilter(prop) {
|
|
11
|
-
if (isValidFilterProp(prop)) {
|
|
12
|
-
return FilterPropToMethod[prop];
|
|
13
|
-
}
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
const isSupportedOperator = (schema, filterProp, filterKey) => {
|
|
17
|
-
const field = schema.fields.find(f => f.id === filterKey);
|
|
18
|
-
if (!field) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
if (!isValidFilterProp(filterProp)) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
const operator = FilterPropToOperator[filterProp];
|
|
25
|
-
const supportedOperators = field.capabilities.supportedQueryOperators;
|
|
26
|
-
return supportedOperators.includes(operator);
|
|
27
|
-
};
|
|
28
|
-
export async function fetchCmsSchema(config) {
|
|
29
|
-
const schema = await collections.getDataCollection(config.collectionId);
|
|
30
|
-
return {
|
|
31
|
-
fields: schema.fields.map(field => {
|
|
32
|
-
var _field$capabilities, _field$capabilities2;
|
|
33
|
-
return {
|
|
34
|
-
id: field.key,
|
|
35
|
-
type: field.type,
|
|
36
|
-
capabilities: {
|
|
37
|
-
supportedQueryOperators: ((_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.queryOperators) || [],
|
|
38
|
-
sortable: ((_field$capabilities2 = field.capabilities) == null ? void 0 : _field$capabilities2.sortable) || false
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
})
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
export async function getCmsCompositeConfig(config) {
|
|
45
|
-
const schema = await fetchCmsSchema(config);
|
|
46
|
-
const collection = {
|
|
47
|
-
fetchData: async query => {
|
|
48
|
-
let dataQuery = items.query(config.collectionId);
|
|
49
|
-
const {
|
|
50
|
-
filters
|
|
51
|
-
} = query;
|
|
52
|
-
for (const key in filters) {
|
|
53
|
-
const filter = filters[key];
|
|
54
|
-
if (filter && typeof filter === 'object') {
|
|
55
|
-
const filterObj = filter;
|
|
56
|
-
for (const prop in filterObj) {
|
|
57
|
-
const operator = getOperatorForFilter(prop);
|
|
58
|
-
if (operator && typeof dataQuery[operator] === 'function' && isSupportedOperator(schema, prop, key)) {
|
|
59
|
-
const value = filterObj[prop];
|
|
60
|
-
if (value) {
|
|
61
|
-
dataQuery = dataQuery[operator](key, value);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const res = await dataQuery.find();
|
|
68
|
-
return {
|
|
69
|
-
items: res.items,
|
|
70
|
-
total: res.totalCount
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
return {
|
|
75
|
-
page: config,
|
|
76
|
-
schema,
|
|
77
|
-
collection
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=CmsCompositeConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["collections","items","FilterPropToOperator","FilterPropToMethod","from","to","isValidFilterProp","prop","Object","prototype","hasOwnProperty","call","getOperatorForFilter","undefined","isSupportedOperator","schema","filterProp","filterKey","field","fields","find","f","id","operator","supportedOperators","capabilities","supportedQueryOperators","includes","fetchCmsSchema","config","getDataCollection","collectionId","map","_field$capabilities","_field$capabilities2","key","type","queryOperators","sortable","getCmsCompositeConfig","collection","fetchData","query","dataQuery","filters","filter","filterObj","value","res","total","totalCount","page"],"sources":["../../../src/config/CmsCompositeConfig.ts"],"sourcesContent":["import { PageConfig, SchemaConfig } from '../types';\nimport { collections, items } from '@wix/data';\nimport { CompositeConfig } from './CompositeConfig';\nimport { FilterProp, FilterPropToOperator } from './constants';\nimport { ComputedQuery } from '@wix/patterns';\n\nexport type CmsOperatorMethod = 'ge' | 'le';\n\nconst FilterPropToMethod: Record<FilterProp, CmsOperatorMethod> = {\n from: 'ge',\n to: 'le',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return Object.prototype.hasOwnProperty.call(FilterPropToMethod, prop);\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n schema: SchemaConfig,\n filterProp: string,\n filterKey: string,\n) => {\n const field = schema.fields.find((f) => f.id === filterKey);\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities.supportedQueryOperators;\n return supportedOperators.includes(operator);\n};\n\nexport async function fetchCmsSchema(\n config: PageConfig,\n): Promise<SchemaConfig> {\n const schema = await collections.getDataCollection(config.collectionId);\n return {\n fields: schema.fields.map((field) => ({\n id: field.key as string,\n type: field.type as string,\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n })),\n };\n}\n\nexport async function getCmsCompositeConfig(\n config: PageConfig,\n): Promise<CompositeConfig> {\n const schema = await fetchCmsSchema(config);\n\n const collection = {\n fetchData: async (query: ComputedQuery<any>) => {\n let dataQuery = items.query(config.collectionId);\n const { filters } = query;\n for (const key in filters) {\n const filter = filters[key];\n if (filter && typeof filter === 'object') {\n const filterObj = filter as Record<string, any>;\n for (const prop in filterObj) {\n const operator = getOperatorForFilter(prop);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(schema, prop, key)\n ) {\n const value = filterObj[prop];\n if (value) {\n dataQuery = dataQuery[operator](key, value);\n }\n }\n }\n }\n }\n\n const res = await dataQuery.find();\n return {\n items: res.items,\n total: res.totalCount,\n };\n },\n };\n\n return { page: config, schema, collection };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { PageConfig, SchemaConfig } from '../types';
|
|
2
|
-
import { CompositeConfig } from './CompositeConfig';
|
|
3
|
-
export type CmsOperatorMethod = 'ge' | 'le';
|
|
4
|
-
export declare function fetchCmsSchema(config: PageConfig): Promise<SchemaConfig>;
|
|
5
|
-
export declare function getCmsCompositeConfig(config: PageConfig): Promise<CompositeConfig>;
|
|
6
|
-
//# sourceMappingURL=CmsCompositeConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CmsCompositeConfig.d.ts","sourceRoot":"","sources":["../../../src/config/CmsCompositeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAqC5C,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,eAAe,CAAC,CAoC1B"}
|