@wix/auto-patterns 1.2.0 → 1.3.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 +83 -12
- 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 +75 -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 +55 -9
- 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 +69 -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 +87 -23
- 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
package/dist/esm/types.js
CHANGED
|
@@ -4,14 +4,6 @@ export let CollectionTypeEnum = /*#__PURE__*/function (CollectionTypeEnum) {
|
|
|
4
4
|
CollectionTypeEnum["TABLE_GRID_SWITCH"] = "TableGridSwitch";
|
|
5
5
|
return CollectionTypeEnum;
|
|
6
6
|
}({});
|
|
7
|
-
export let SupportedValueTypeEnum = /*#__PURE__*/function (SupportedValueTypeEnum) {
|
|
8
|
-
SupportedValueTypeEnum["STRING"] = "STRING";
|
|
9
|
-
SupportedValueTypeEnum["NUMBER"] = "NUMBER";
|
|
10
|
-
SupportedValueTypeEnum["BOOLEAN"] = "BOOLEAN";
|
|
11
|
-
SupportedValueTypeEnum["DATE"] = "DATE";
|
|
12
|
-
SupportedValueTypeEnum["ENUM"] = "ENUM";
|
|
13
|
-
return SupportedValueTypeEnum;
|
|
14
|
-
}({});
|
|
15
7
|
export let ComponentTypeEnum = /*#__PURE__*/function (ComponentTypeEnum) {
|
|
16
8
|
ComponentTypeEnum["SINGLE"] = "single";
|
|
17
9
|
ComponentTypeEnum["MULTI_SELECT"] = "multi-select";
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CollectionTypeEnum","
|
|
1
|
+
{"version":3,"names":["CollectionTypeEnum","ComponentTypeEnum"],"sources":["../../src/types.ts"],"sourcesContent":["import {\n CollectionToolbarFiltersProps,\n PrimaryActions,\n SecondaryActions,\n} from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\n\nexport enum CollectionTypeEnum {\n TABLE = 'Table',\n GRID = 'Grid',\n TABLE_GRID_SWITCH = 'TableGridSwitch',\n}\n\nexport type PatternsColumnType =\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'ARRAY'\n | 'ENUM';\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 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 FetchData {\n id: string;\n}\n\nexport interface FilterValue {\n id: string;\n value: string;\n system?: boolean;\n deletable?: boolean;\n}\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxToolbarFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface Filter {\n fieldId: string;\n displayName?: string;\n accordionItemProps?: {\n initiallyOpen?: boolean;\n sectionTitle?: string;\n };\n toolbarTagProps?: {\n label: string;\n };\n componentType?: ComponentTypeEnum;\n numberConfig?: {\n min?: number;\n max?: number;\n decimal?: boolean;\n };\n dateConfig?: {\n mode?: DateRangeFilterMode;\n dateRangeOptions?: DateRangeOptions;\n filterByTime?: boolean;\n };\n static?: {\n values: FilterValue[];\n };\n}\n\nexport interface CollectionConfig {\n type: CollectionTypeEnum;\n grid?: GridCollectionConfig;\n}\n\nexport interface GridCollectionConfig {\n renderItem: {\n title: string;\n subtitle?: string;\n primaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n secondaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n };\n imagePlacement?: 'top' | 'side';\n renderAddItem?: boolean;\n sections?: {\n title: string;\n action?: {\n label: string;\n // onClick: () => void;\n };\n };\n dragAndDrop?: boolean;\n}\n\ninterface Action {\n id: string;\n text: string;\n icon: string;\n}\n\ninterface 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 PageConfig {\n pageTitle: { text: string; hideTotal?: boolean };\n pageSubtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n viewType: string;\n collectionId: string;\n entityTypeSource: EntityTypeSource;\n entityId: string;\n entityName: string;\n columns: Column[];\n collectionConfig: CollectionConfig;\n entitySchemaName: string;\n filters?: FiltersConfig;\n actions?: Action[];\n emptyState?: EmptyState;\n fetchData?: FetchData;\n views?: {\n enabled: boolean;\n };\n customFields?: {\n enabled: boolean;\n };\n customColumns?: {\n enabled: boolean;\n };\n optimisticActions?: {\n enabled: boolean;\n };\n}\n\nexport interface ProjectDTO {\n key: string;\n id: string;\n userId: string;\n createdAt: Date;\n updatedAt: Date;\n config: PageConfig;\n}\n\nexport interface PatternsWizardBaseProps {\n configuration: PageConfig;\n}\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = {}> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type EntityTypeSource = 'cms';\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\nexport interface Field {\n id: string;\n displayName: string;\n type: PatternsColumnType;\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\n// TODO: fill this out\nexport interface SchemaConfig {\n fields: Record<string, Field | undefined>;\n}\n\nexport type PagePrimaryActionProps = React.ComponentProps<\n typeof PrimaryActions\n>;\n\nexport type PageSecondaryActionProps = React.ComponentProps<\n typeof SecondaryActions\n>;\n"],"mappings":"AAOA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAsD9B,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AA4L7B","ignoreList":[]}
|
package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoPatternsCollectionPage.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AutoPatternsCollectionPage.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAOxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,UAAU,CAAC;CAC3B;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAC/C,+BAA+B,CAoChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoPatternsCollectionPageContent.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AutoPatternsCollectionPageContent.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,EAyHrD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PageConfig, SchemaConfig, PatternsColumnType } from '../../types';
|
|
2
|
+
import { collections } from '@wix/data';
|
|
3
|
+
import { CompositeConfig } from '../CompositeConfig';
|
|
4
|
+
export declare const CmsColumnTypeToPatternsColumnType: Partial<Record<collections.Type, PatternsColumnType>>;
|
|
5
|
+
export declare function fetchCmsSchema(config: PageConfig): Promise<SchemaConfig>;
|
|
6
|
+
export declare function getCmsCompositeConfig(config: PageConfig): Promise<CompositeConfig>;
|
|
7
|
+
//# sourceMappingURL=CmsCompositeConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsCompositeConfig.d.ts","sourceRoot":"","sources":["../../../../src/config/cms/CmsCompositeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,YAAY,EACZ,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAS,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,eAAO,MAAM,iCAAiC,EAAE,OAAO,CACrD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAQ7C,CAAC;AAEF,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,CAAC,CAuBvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,eAAe,CAAC,CAmC1B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ComputedQuery } from '@wix/patterns';
|
|
2
|
+
import { items } from '@wix/data';
|
|
3
|
+
import { Column, SchemaConfig } from '../../types';
|
|
4
|
+
export type CmsOperatorMethod = 'ge' | 'le';
|
|
5
|
+
export declare function addFiltersToDataQuery({ dataQuery, query, schema, }: {
|
|
6
|
+
dataQuery: items.WixDataQuery;
|
|
7
|
+
query: ComputedQuery<any>;
|
|
8
|
+
schema: SchemaConfig;
|
|
9
|
+
}): items.WixDataQuery;
|
|
10
|
+
export declare function addSearchToDataQuery({ dataQuery, query, schema, columns, }: {
|
|
11
|
+
dataQuery: items.WixDataQuery;
|
|
12
|
+
query: ComputedQuery<any>;
|
|
13
|
+
schema: SchemaConfig;
|
|
14
|
+
columns: Column[];
|
|
15
|
+
}): items.WixDataQuery;
|
|
16
|
+
//# sourceMappingURL=filterUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterUtils.d.ts","sourceRoot":"","sources":["../../../../src/config/cms/filterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAqC5C,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;IACD,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,YAAY,CAAC;CACtB,sBA2BA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,GACR,EAAE;IACD,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,sBAwBA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { items } from '@wix/data';
|
|
2
|
+
import { SchemaConfig } from '../../types';
|
|
3
|
+
import { ComputedQuery } from '@wix/patterns';
|
|
4
|
+
export declare function addSortToDataQuery({ dataQuery, query, schema, }: {
|
|
5
|
+
dataQuery: items.WixDataQuery;
|
|
6
|
+
query: ComputedQuery<any>;
|
|
7
|
+
schema: SchemaConfig;
|
|
8
|
+
}): items.WixDataQuery;
|
|
9
|
+
//# sourceMappingURL=sortUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortUtils.d.ts","sourceRoot":"","sources":["../../../../src/config/cms/sortUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;IACD,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,YAAY,CAAC;CACtB,sBAkBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColumns.d.ts","sourceRoot":"","sources":["../../../src/hooks/useColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,UAAU,QAAO,YAAY,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"useColumns.d.ts","sourceRoot":"","sources":["../../../src/hooks/useColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,UAAU,QAAO,YAAY,GAAG,CAAC,EAwC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEmptyStates.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEmptyStates.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,cAAc;;CAqD1B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
export declare const useFeatures: () => {
|
|
3
3
|
views: React.JSX.Element | undefined;
|
|
4
4
|
dataExtension: React.JSX.Element | undefined;
|
|
5
|
+
customColumns: React.JSX.Element | undefined;
|
|
5
6
|
filters: import("./useFilters").ReturnValue;
|
|
6
7
|
};
|
|
7
8
|
//# sourceMappingURL=useFeatures.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFeatures.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFeatures.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"useFeatures.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFeatures.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,WAAW;;;;;CAWvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetchData.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;CAexB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PageConfig } from '../types';
|
|
3
|
-
import { Filter } from '@wix/patterns';
|
|
3
|
+
import { CollectionToolbarFiltersProps, Filter } from '@wix/patterns';
|
|
4
4
|
export interface FilterOptions {
|
|
5
5
|
key: string;
|
|
6
6
|
filter: Filter<any>;
|
|
@@ -16,6 +16,7 @@ export interface ReturnValue {
|
|
|
16
16
|
[key: string]: Filter<any>;
|
|
17
17
|
};
|
|
18
18
|
components: React.JSX.Element[];
|
|
19
|
+
collectionToolbarFiltersProps: Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle' | 'useNewFilters'>;
|
|
19
20
|
}
|
|
20
21
|
export declare const useFilters: (config: PageConfig) => ReturnValue;
|
|
21
22
|
//# sourceMappingURL=useFilters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,6BAA6B,EAG7B,MAAM,EAIP,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC;IACxC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAChC,6BAA6B,EAAE,IAAI,CACjC,6BAA6B,EAC7B,QAAQ,GAAG,YAAY,GAAG,eAAe,CAC1C,CAAC;CACH;AAED,eAAO,MAAM,UAAU,WAAY,UAAU,gBA6J5C,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ReturnValue } from './useFilters';
|
|
3
|
+
import { CollectionConfig, TableColumn } from '@wix/patterns';
|
|
2
4
|
export declare const useTableProps: () => {
|
|
3
|
-
columns:
|
|
4
|
-
views
|
|
5
|
-
dataExtension
|
|
6
|
-
filters:
|
|
5
|
+
columns: TableColumn<any>[];
|
|
6
|
+
views?: JSX.Element | undefined;
|
|
7
|
+
dataExtension?: JSX.Element | undefined;
|
|
8
|
+
filters: ReturnValue;
|
|
9
|
+
emptyState: JSX.Element;
|
|
10
|
+
customColumns?: JSX.Element | undefined;
|
|
11
|
+
fetchData: CollectionConfig<any, any>['fetchData'];
|
|
7
12
|
};
|
|
8
13
|
//# sourceMappingURL=useTableProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableProps.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTableProps.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"useTableProps.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTableProps.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9D,eAAO,MAAM,aAAa;aACf,YAAY,GAAG,CAAC,EAAE;;;aAGlB,WAAW;gBACR,WAAW;;eAEZ,iBAAiB,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC;CAgBnD,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import React, { ReactNode } from
|
|
2
|
-
import { IColumnValue, IMenuItem } from
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import { IColumnValue, IMenuItem, PagePrimaryActionProps, PageSecondaryActionProps } from "../types";
|
|
3
|
+
import { CollectionConfig } from '@wix/patterns';
|
|
3
4
|
export interface PatternsWizardOverridesContextProps {
|
|
4
5
|
actions?: Record<string, (props: IMenuItem<any>) => void>;
|
|
5
6
|
columns?: Record<string, (props: IColumnValue<any>) => void>;
|
|
6
7
|
HeaderAddon?: React.FC;
|
|
8
|
+
emptyState?: Record<string, () => void>;
|
|
9
|
+
usePagePrimaryAction?: () => PagePrimaryActionProps;
|
|
10
|
+
usePageSecondaryAction?: () => PageSecondaryActionProps;
|
|
11
|
+
fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;
|
|
7
12
|
}
|
|
8
13
|
export declare const PatternsWizardOverridesProvider: React.FC<{
|
|
9
14
|
children: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatternsWizardOverridesContext.d.ts","sourceRoot":"","sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"PatternsWizardOverridesContext.d.ts","sourceRoot":"","sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,mCAAmC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7D,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,MAAM,sBAAsB,CAAC;IACpD,sBAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;CACrE;AAMD,eAAO,MAAM,+BAA+B,EAAE,KAAK,CAAC,EAAE,CAAC;IACrD,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,mCAAmC,CAAC;CAC5C,CAMA,CAAC;AAEF,eAAO,MAAM,iCAAiC,QAC1C,mCAAmC,GACnC,SAEH,CAAC"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,20 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CollectionToolbarFiltersProps, PrimaryActions, SecondaryActions } from '@wix/patterns';
|
|
3
|
+
import { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';
|
|
1
4
|
export declare enum CollectionTypeEnum {
|
|
2
5
|
TABLE = "Table",
|
|
3
6
|
GRID = "Grid",
|
|
4
7
|
TABLE_GRID_SWITCH = "TableGridSwitch"
|
|
5
8
|
}
|
|
6
|
-
export
|
|
7
|
-
STRING = "STRING",
|
|
8
|
-
NUMBER = "NUMBER",
|
|
9
|
-
BOOLEAN = "BOOLEAN",
|
|
10
|
-
DATE = "DATE",
|
|
11
|
-
ENUM = "ENUM"
|
|
12
|
-
}
|
|
9
|
+
export type PatternsColumnType = 'STRING' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'DATETIME' | 'ARRAY' | 'ENUM';
|
|
13
10
|
export interface Column {
|
|
14
11
|
id: string;
|
|
15
12
|
name: string;
|
|
16
|
-
type: SupportedValueTypeEnum;
|
|
17
13
|
width?: string;
|
|
14
|
+
sortable?: boolean;
|
|
15
|
+
defaultSortOrder?: 'asc' | 'desc';
|
|
16
|
+
sortMode?: 'asc' | 'desc';
|
|
17
|
+
defaultHidden?: boolean;
|
|
18
|
+
hiddenFromCustomColumnsSelection?: boolean;
|
|
19
|
+
hideable?: boolean;
|
|
20
|
+
reorderDisabled?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface EmptyState {
|
|
23
|
+
title?: string;
|
|
24
|
+
subtitle?: string;
|
|
25
|
+
image?: {
|
|
26
|
+
id: string;
|
|
27
|
+
};
|
|
28
|
+
addNewCta?: {
|
|
29
|
+
id?: string;
|
|
30
|
+
text?: string;
|
|
31
|
+
};
|
|
32
|
+
customCta?: {
|
|
33
|
+
id?: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface FetchData {
|
|
37
|
+
id: string;
|
|
18
38
|
}
|
|
19
39
|
export interface FilterValue {
|
|
20
40
|
id: string;
|
|
@@ -29,25 +49,32 @@ export declare enum ComponentTypeEnum {
|
|
|
29
49
|
NUMBER = "number",
|
|
30
50
|
DATE_RANGE = "date-range"
|
|
31
51
|
}
|
|
32
|
-
export interface
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
path: string;
|
|
37
|
-
type?: SupportedValueTypeEnum;
|
|
38
|
-
schemaName?: string;
|
|
39
|
-
enums?: string[];
|
|
52
|
+
export interface FiltersConfig {
|
|
53
|
+
items: Filter[];
|
|
54
|
+
maxToolbarFilters?: CollectionToolbarFiltersProps['inline'];
|
|
55
|
+
panelTitle?: string;
|
|
40
56
|
}
|
|
41
57
|
export interface Filter {
|
|
42
|
-
|
|
43
|
-
displayName
|
|
44
|
-
|
|
45
|
-
|
|
58
|
+
fieldId: string;
|
|
59
|
+
displayName?: string;
|
|
60
|
+
accordionItemProps?: {
|
|
61
|
+
initiallyOpen?: boolean;
|
|
62
|
+
sectionTitle?: string;
|
|
63
|
+
};
|
|
64
|
+
toolbarTagProps?: {
|
|
65
|
+
label: string;
|
|
66
|
+
};
|
|
67
|
+
componentType?: ComponentTypeEnum;
|
|
46
68
|
numberConfig?: {
|
|
47
69
|
min?: number;
|
|
48
70
|
max?: number;
|
|
49
71
|
decimal?: boolean;
|
|
50
72
|
};
|
|
73
|
+
dateConfig?: {
|
|
74
|
+
mode?: DateRangeFilterMode;
|
|
75
|
+
dateRangeOptions?: DateRangeOptions;
|
|
76
|
+
filterByTime?: boolean;
|
|
77
|
+
};
|
|
51
78
|
static?: {
|
|
52
79
|
values: FilterValue[];
|
|
53
80
|
};
|
|
@@ -82,6 +109,27 @@ interface Action {
|
|
|
82
109
|
text: string;
|
|
83
110
|
icon: string;
|
|
84
111
|
}
|
|
112
|
+
interface ToolbarTitle {
|
|
113
|
+
title: string;
|
|
114
|
+
subtitle?: {
|
|
115
|
+
text: string;
|
|
116
|
+
info?: {
|
|
117
|
+
content: {
|
|
118
|
+
text: string;
|
|
119
|
+
link?: {
|
|
120
|
+
url: string;
|
|
121
|
+
label: string;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
learnMore?: {
|
|
126
|
+
url: string;
|
|
127
|
+
label?: string;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
showTotal?: boolean;
|
|
131
|
+
itemsLimit?: number;
|
|
132
|
+
}
|
|
85
133
|
export interface PageConfig {
|
|
86
134
|
pageTitle: {
|
|
87
135
|
text: string;
|
|
@@ -94,6 +142,14 @@ export interface PageConfig {
|
|
|
94
142
|
label?: string;
|
|
95
143
|
};
|
|
96
144
|
};
|
|
145
|
+
search?: {
|
|
146
|
+
shown?: boolean;
|
|
147
|
+
};
|
|
148
|
+
toolbarTitle?: ToolbarTitle;
|
|
149
|
+
limit?: number;
|
|
150
|
+
persistQueryToUrl?: boolean;
|
|
151
|
+
disableAutoSelectAllCount?: boolean;
|
|
152
|
+
selectionConsistencyMode?: 'preserve' | 'clear';
|
|
97
153
|
viewType: string;
|
|
98
154
|
collectionId: string;
|
|
99
155
|
entityTypeSource: EntityTypeSource;
|
|
@@ -102,14 +158,19 @@ export interface PageConfig {
|
|
|
102
158
|
columns: Column[];
|
|
103
159
|
collectionConfig: CollectionConfig;
|
|
104
160
|
entitySchemaName: string;
|
|
105
|
-
filters?:
|
|
161
|
+
filters?: FiltersConfig;
|
|
106
162
|
actions?: Action[];
|
|
163
|
+
emptyState?: EmptyState;
|
|
164
|
+
fetchData?: FetchData;
|
|
107
165
|
views?: {
|
|
108
166
|
enabled: boolean;
|
|
109
167
|
};
|
|
110
168
|
customFields?: {
|
|
111
169
|
enabled: boolean;
|
|
112
170
|
};
|
|
171
|
+
customColumns?: {
|
|
172
|
+
enabled: boolean;
|
|
173
|
+
};
|
|
113
174
|
optimisticActions?: {
|
|
114
175
|
enabled: boolean;
|
|
115
176
|
};
|
|
@@ -138,14 +199,17 @@ export type EntityTypeSource = 'cms';
|
|
|
138
199
|
export type QueryOperator = 'CONTAINS' | 'ENDS_WITH' | 'EQ' | 'EXISTS' | 'GT' | 'GTE' | 'HAS_ALL' | 'HAS_SOME' | 'LT' | 'LTE' | 'NE' | 'STARTS_WITH' | 'URLIZED';
|
|
139
200
|
export interface Field {
|
|
140
201
|
id: string;
|
|
141
|
-
|
|
202
|
+
displayName: string;
|
|
203
|
+
type: PatternsColumnType;
|
|
142
204
|
capabilities: {
|
|
143
205
|
supportedQueryOperators: QueryOperator[];
|
|
144
206
|
sortable: boolean;
|
|
145
207
|
};
|
|
146
208
|
}
|
|
147
209
|
export interface SchemaConfig {
|
|
148
|
-
fields: Field
|
|
210
|
+
fields: Record<string, Field | undefined>;
|
|
149
211
|
}
|
|
212
|
+
export type PagePrimaryActionProps = React.ComponentProps<typeof PrimaryActions>;
|
|
213
|
+
export type PageSecondaryActionProps = React.ComponentProps<typeof SecondaryActions>;
|
|
150
214
|
export {};
|
|
151
215
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,iBAAiB,oBAAoB;CACtC;AAED,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/auto-patterns",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Matvey Oklander",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@babel/runtime": "^7.0.0",
|
|
33
|
-
"@wix/data": "^1.0.
|
|
34
|
-
"@wix/wix-ui-icons-common": "^3.
|
|
33
|
+
"@wix/data": "^1.0.222",
|
|
34
|
+
"@wix/wix-ui-icons-common": "^3.70.0",
|
|
35
35
|
"lodash": "^4.17.21"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
@@ -45,18 +45,18 @@
|
|
|
45
45
|
"@types/node": "^16.0.0",
|
|
46
46
|
"@types/node-fetch": "^2.6.12",
|
|
47
47
|
"@types/react": "^16.9.15",
|
|
48
|
-
"@wix/crm": "^1.0.
|
|
49
|
-
"@wix/design-system": "^1.
|
|
50
|
-
"@wix/eslint-config-yoshi": "^6.
|
|
51
|
-
"@wix/fe-essentials-standalone": "^1.
|
|
52
|
-
"@wix/jest-yoshi-preset": "^6.
|
|
53
|
-
"@wix/patterns": "^1.
|
|
48
|
+
"@wix/crm": "^1.0.377",
|
|
49
|
+
"@wix/design-system": "^1.182.0",
|
|
50
|
+
"@wix/eslint-config-yoshi": "^6.135.0",
|
|
51
|
+
"@wix/fe-essentials-standalone": "^1.1305.0",
|
|
52
|
+
"@wix/jest-yoshi-preset": "^6.135.0",
|
|
53
|
+
"@wix/patterns": "^1.198.0",
|
|
54
54
|
"@wix/sdk": "^1.15.16",
|
|
55
55
|
"@wix/sdk-testkit": ">=0.1.2",
|
|
56
|
-
"@wix/wix-data-items-common": "^1.0.
|
|
57
|
-
"@wix/wix-data-items-sdk": "^1.0.
|
|
58
|
-
"@wix/yoshi-flow-library": "^6.
|
|
59
|
-
"@wix/yoshi-style-dependencies": "^6.
|
|
56
|
+
"@wix/wix-data-items-common": "^1.0.131",
|
|
57
|
+
"@wix/wix-data-items-sdk": "^1.0.309",
|
|
58
|
+
"@wix/yoshi-flow-library": "^6.135.0",
|
|
59
|
+
"@wix/yoshi-style-dependencies": "^6.135.0",
|
|
60
60
|
"chance": "^1.0.0",
|
|
61
61
|
"date-fns": "^2.30.0",
|
|
62
62
|
"express": "^4.17.2",
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"wallaby": {
|
|
116
116
|
"autoDetect": true
|
|
117
117
|
},
|
|
118
|
-
"falconPackageHash": "
|
|
118
|
+
"falconPackageHash": "25d61f1f4f0259ee696e912478749d553acee3efa86fa879fb3bd05d"
|
|
119
119
|
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.fetchCmsSchema = fetchCmsSchema;
|
|
5
|
-
exports.getCmsCompositeConfig = getCmsCompositeConfig;
|
|
6
|
-
var _data = require("@wix/data");
|
|
7
|
-
var _constants = require("./constants");
|
|
8
|
-
const FilterPropToMethod = {
|
|
9
|
-
from: 'ge',
|
|
10
|
-
to: 'le'
|
|
11
|
-
};
|
|
12
|
-
function isValidFilterProp(prop) {
|
|
13
|
-
return Object.prototype.hasOwnProperty.call(FilterPropToMethod, prop);
|
|
14
|
-
}
|
|
15
|
-
function getOperatorForFilter(prop) {
|
|
16
|
-
if (isValidFilterProp(prop)) {
|
|
17
|
-
return FilterPropToMethod[prop];
|
|
18
|
-
}
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
const isSupportedOperator = (schema, filterProp, filterKey) => {
|
|
22
|
-
const field = schema.fields.find(f => f.id === filterKey);
|
|
23
|
-
if (!field) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
if (!isValidFilterProp(filterProp)) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
const operator = _constants.FilterPropToOperator[filterProp];
|
|
30
|
-
const supportedOperators = field.capabilities.supportedQueryOperators;
|
|
31
|
-
return supportedOperators.includes(operator);
|
|
32
|
-
};
|
|
33
|
-
async function fetchCmsSchema(config) {
|
|
34
|
-
const schema = await _data.collections.getDataCollection(config.collectionId);
|
|
35
|
-
return {
|
|
36
|
-
fields: schema.fields.map(field => {
|
|
37
|
-
var _field$capabilities, _field$capabilities2;
|
|
38
|
-
return {
|
|
39
|
-
id: field.key,
|
|
40
|
-
type: field.type,
|
|
41
|
-
capabilities: {
|
|
42
|
-
supportedQueryOperators: ((_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.queryOperators) || [],
|
|
43
|
-
sortable: ((_field$capabilities2 = field.capabilities) == null ? void 0 : _field$capabilities2.sortable) || false
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
})
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
async function getCmsCompositeConfig(config) {
|
|
50
|
-
const schema = await fetchCmsSchema(config);
|
|
51
|
-
const collection = {
|
|
52
|
-
fetchData: async query => {
|
|
53
|
-
let dataQuery = _data.items.query(config.collectionId);
|
|
54
|
-
const {
|
|
55
|
-
filters
|
|
56
|
-
} = query;
|
|
57
|
-
for (const key in filters) {
|
|
58
|
-
const filter = filters[key];
|
|
59
|
-
if (filter && typeof filter === 'object') {
|
|
60
|
-
const filterObj = filter;
|
|
61
|
-
for (const prop in filterObj) {
|
|
62
|
-
const operator = getOperatorForFilter(prop);
|
|
63
|
-
if (operator && typeof dataQuery[operator] === 'function' && isSupportedOperator(schema, prop, key)) {
|
|
64
|
-
const value = filterObj[prop];
|
|
65
|
-
if (value) {
|
|
66
|
-
dataQuery = dataQuery[operator](key, value);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
const res = await dataQuery.find();
|
|
73
|
-
return {
|
|
74
|
-
items: res.items,
|
|
75
|
-
total: res.totalCount
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
return {
|
|
80
|
-
page: config,
|
|
81
|
-
schema,
|
|
82
|
-
collection
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=CmsCompositeConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_constants","FilterPropToMethod","from","to","isValidFilterProp","prop","Object","prototype","hasOwnProperty","call","getOperatorForFilter","undefined","isSupportedOperator","schema","filterProp","filterKey","field","fields","find","f","id","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","fetchCmsSchema","config","collections","getDataCollection","collectionId","map","_field$capabilities","_field$capabilities2","key","type","queryOperators","sortable","getCmsCompositeConfig","collection","fetchData","query","dataQuery","items","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":[]}
|