@wix/auto-patterns 1.13.0 → 1.15.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/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -2
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsPage.js +2 -3
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsPage.js.map +1 -1
- package/dist/cjs/components/filters/DynamicCollectionFilter.js +5 -11
- package/dist/cjs/components/filters/DynamicCollectionFilter.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +51 -88
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js +43 -0
- package/dist/cjs/dataSourceAdapters/cms/fetchCmsData.js.map +1 -0
- package/dist/cjs/dataSourceAdapters/cms/filterUtils.js +15 -15
- package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/sortUtils.js +2 -2
- package/dist/cjs/dataSourceAdapters/cms/sortUtils.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/factory.js +0 -20
- package/dist/cjs/dataSourceAdapters/factory.js.map +1 -1
- package/dist/cjs/hooks/useActionCell.js +19 -10
- package/dist/cjs/hooks/useActionCell.js.map +1 -1
- package/dist/cjs/hooks/useBulkActionToolbar.js +9 -14
- package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
- package/dist/cjs/hooks/useCollectionPageActions.js +8 -13
- package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -1
- package/dist/cjs/hooks/useEntityPageMoreActions.js +2 -1
- package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
- package/dist/cjs/hooks/useFetchData.js +9 -29
- package/dist/cjs/hooks/useFetchData.js.map +1 -1
- package/dist/cjs/hooks/useFilters.js +2 -2
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/hooks/useGridFeatures.js +3 -4
- package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
- package/dist/cjs/hooks/useTableFeatures.js +3 -4
- package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
- package/dist/cjs/hooks/useTableGridSwitchFeatures.js +3 -4
- package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/providers/SchemaContext.js +29 -6
- package/dist/cjs/providers/SchemaContext.js.map +1 -1
- package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
- package/dist/cjs/types/EntityPageConfig.js.map +1 -1
- package/dist/cjs/types/actions/actionCell.js.map +1 -1
- package/dist/cjs/types/actions/base.js.map +1 -1
- package/dist/cjs/types/actions/bulkActions.js.map +1 -1
- package/dist/cjs/types/actions/collectionPageActions.js.map +1 -1
- package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
- package/dist/cjs/types/index.js +6 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/providers.js +4 -0
- package/dist/cjs/types/providers.js.map +1 -0
- package/dist/cjs/types/types.js.map +1 -1
- package/dist/cjs/utils/actions/groupActions.js +29 -0
- package/dist/cjs/utils/actions/groupActions.js.map +1 -0
- package/dist/cjs/utils/actions/index.js +6 -6
- package/dist/cjs/utils/actions/index.js.map +1 -1
- package/dist/cjs/utils/actions/types.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -2
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsPage.js +1 -2
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsPage.js.map +1 -1
- package/dist/esm/components/filters/DynamicCollectionFilter.js +4 -10
- package/dist/esm/components/filters/DynamicCollectionFilter.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +54 -88
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js +42 -0
- package/dist/esm/dataSourceAdapters/cms/fetchCmsData.js.map +1 -0
- package/dist/esm/dataSourceAdapters/cms/filterUtils.js +15 -15
- package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/sortUtils.js +2 -2
- package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -1
- package/dist/esm/dataSourceAdapters/factory.js +1 -21
- package/dist/esm/dataSourceAdapters/factory.js.map +1 -1
- package/dist/esm/hooks/useActionCell.js +20 -11
- package/dist/esm/hooks/useActionCell.js.map +1 -1
- package/dist/esm/hooks/useBulkActionToolbar.js +9 -14
- package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
- package/dist/esm/hooks/useCollectionPageActions.js +7 -12
- package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
- package/dist/esm/hooks/useEntityPageMoreActions.js +3 -2
- package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
- package/dist/esm/hooks/useFetchData.js +9 -29
- package/dist/esm/hooks/useFetchData.js.map +1 -1
- package/dist/esm/hooks/useFilters.js +2 -2
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useGridFeatures.js +3 -4
- package/dist/esm/hooks/useGridFeatures.js.map +1 -1
- package/dist/esm/hooks/useTableFeatures.js +3 -4
- package/dist/esm/hooks/useTableFeatures.js.map +1 -1
- package/dist/esm/hooks/useTableGridSwitchFeatures.js +3 -4
- package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/providers/SchemaContext.js +28 -5
- package/dist/esm/providers/SchemaContext.js.map +1 -1
- package/dist/esm/types/CollectionPageConfig.js.map +1 -1
- package/dist/esm/types/EntityPageConfig.js.map +1 -1
- package/dist/esm/types/actions/actionCell.js.map +1 -1
- package/dist/esm/types/actions/base.js.map +1 -1
- package/dist/esm/types/actions/bulkActions.js.map +1 -1
- package/dist/esm/types/actions/collectionPageActions.js.map +1 -1
- package/dist/esm/types/actions/entityPageActions.js.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/providers.js +2 -0
- package/dist/esm/types/providers.js.map +1 -0
- package/dist/esm/types/types.js.map +1 -1
- package/dist/esm/utils/actions/groupActions.js +25 -0
- package/dist/esm/utils/actions/groupActions.js.map +1 -0
- package/dist/esm/utils/actions/index.js +1 -2
- package/dist/esm/utils/actions/index.js.map +1 -1
- package/dist/esm/utils/actions/types.js.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsRoute/AutoPatternsPage.d.ts.map +1 -1
- package/dist/types/components/filters/DynamicCollectionFilter.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts +1 -10
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/fetchCmsData.d.ts +13 -0
- package/dist/types/dataSourceAdapters/cms/fetchCmsData.d.ts.map +1 -0
- package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts +9 -7
- package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/sortUtils.d.ts +2 -2
- package/dist/types/dataSourceAdapters/cms/sortUtils.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/factory.d.ts +1 -11
- package/dist/types/dataSourceAdapters/factory.d.ts.map +1 -1
- package/dist/types/hooks/useActionCell.d.ts.map +1 -1
- package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
- package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageMoreActions.d.ts.map +1 -1
- package/dist/types/hooks/useFetchData.d.ts +13 -7
- package/dist/types/hooks/useFetchData.d.ts.map +1 -1
- package/dist/types/hooks/useFilters.d.ts +1 -1
- package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -1
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -3
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/providers/SchemaContext.d.ts +3 -4
- package/dist/types/providers/SchemaContext.d.ts.map +1 -1
- package/dist/types/types/CollectionPageConfig.d.ts +2 -7
- package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
- package/dist/types/types/EntityPageConfig.d.ts +3 -4
- package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
- package/dist/types/types/actions/actionCell.d.ts +3 -3
- package/dist/types/types/actions/actionCell.d.ts.map +1 -1
- package/dist/types/types/actions/base.d.ts +3 -7
- package/dist/types/types/actions/base.d.ts.map +1 -1
- package/dist/types/types/actions/bulkActions.d.ts +13 -14
- package/dist/types/types/actions/bulkActions.d.ts.map +1 -1
- package/dist/types/types/actions/collectionPageActions.d.ts +13 -13
- package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -1
- package/dist/types/types/actions/entityPageActions.d.ts +2 -3
- package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/providers.d.ts +11 -0
- package/dist/types/types/providers.d.ts.map +1 -0
- package/dist/types/types/types.d.ts +25 -1
- package/dist/types/types/types.d.ts.map +1 -1
- package/dist/types/utils/actions/groupActions.d.ts +3 -0
- package/dist/types/utils/actions/groupActions.d.ts.map +1 -0
- package/dist/types/utils/actions/index.d.ts +1 -2
- package/dist/types/utils/actions/index.d.ts.map +1 -1
- package/dist/types/utils/actions/types.d.ts +1 -4
- package/dist/types/utils/actions/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/utils/actions/customModalAction.js +0 -22
- package/dist/cjs/utils/actions/customModalAction.js.map +0 -1
- package/dist/esm/utils/actions/customModalAction.js +0 -17
- package/dist/esm/utils/actions/customModalAction.js.map +0 -1
- package/dist/types/utils/actions/customModalAction.d.ts +0 -5
- package/dist/types/utils/actions/customModalAction.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_constants","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","
|
|
1
|
+
{"version":3,"names":["_data","require","_constants","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","field","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","_fields$fieldId","filterArray","type","some","item","id","BooleanFilters","checked","eq","falseFilter","items","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { ComputedQuery } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { SchemaConfig } from '../../types';\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 prop in FilterPropToMethod;\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 fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[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 function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n const filterObj = filter as Record<string, any>;\n\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ exports.addSortToDataQuery = addSortToDataQuery;
|
|
|
5
5
|
function addSortToDataQuery({
|
|
6
6
|
dataQuery,
|
|
7
7
|
query,
|
|
8
|
-
|
|
8
|
+
fields
|
|
9
9
|
}) {
|
|
10
10
|
let dataQueryWithSort = dataQuery;
|
|
11
11
|
const {
|
|
@@ -17,7 +17,7 @@ function addSortToDataQuery({
|
|
|
17
17
|
order
|
|
18
18
|
} = sortField;
|
|
19
19
|
if (fieldName && order) {
|
|
20
|
-
const fieldDefinition =
|
|
20
|
+
const fieldDefinition = fields[fieldName];
|
|
21
21
|
if (fieldDefinition != null && fieldDefinition.capabilities.sortable) {
|
|
22
22
|
if (order === 'asc') {
|
|
23
23
|
dataQueryWithSort = dataQueryWithSort.ascending(fieldName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addSortToDataQuery","dataQuery","query","
|
|
1
|
+
{"version":3,"names":["addSortToDataQuery","dataQuery","query","fields","dataQueryWithSort","sort","forEach","sortField","fieldName","order","fieldDefinition","capabilities","sortable","ascending","descending"],"sources":["../../../../src/dataSourceAdapters/cms/sortUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { SchemaConfig } from '../../types';\nimport { ComputedQuery } from '@wix/patterns';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n fields,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n fields: SchemaConfig['fields'];\n}) {\n let dataQueryWithSort = dataQuery;\n const { sort } = query;\n sort?.forEach((sortField) => {\n const { fieldName, order } = sortField;\n if (fieldName && order) {\n const fieldDefinition = fields[fieldName];\n if (fieldDefinition?.capabilities.sortable) {\n if (order === 'asc') {\n dataQueryWithSort = dataQueryWithSort.ascending(fieldName);\n } else if (order === 'desc') {\n dataQueryWithSort = dataQueryWithSort.descending(fieldName);\n }\n }\n }\n });\n\n return dataQueryWithSort;\n}\n"],"mappings":";;;;AAIO,SAASA,kBAAkBA,CAAC;EACjCC,SAAS;EACTC,KAAK;EACLC;AAKF,CAAC,EAAE;EACD,IAAIC,iBAAiB,GAAGH,SAAS;EACjC,MAAM;IAAEI;EAAK,CAAC,GAAGH,KAAK;EACtBG,IAAI,YAAJA,IAAI,CAAEC,OAAO,CAAEC,SAAS,IAAK;IAC3B,MAAM;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGF,SAAS;IACtC,IAAIC,SAAS,IAAIC,KAAK,EAAE;MACtB,MAAMC,eAAe,GAAGP,MAAM,CAACK,SAAS,CAAC;MACzC,IAAIE,eAAe,YAAfA,eAAe,CAAEC,YAAY,CAACC,QAAQ,EAAE;QAC1C,IAAIH,KAAK,KAAK,KAAK,EAAE;UACnBL,iBAAiB,GAAGA,iBAAiB,CAACS,SAAS,CAACL,SAAS,CAAC;QAC5D,CAAC,MAAM,IAAIC,KAAK,KAAK,MAAM,EAAE;UAC3BL,iBAAiB,GAAGA,iBAAiB,CAACU,UAAU,CAACN,SAAS,CAAC;QAC7D;MACF;IACF;EACF,CAAC,CAAC;EAEF,OAAOJ,iBAAiB;AAC1B","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.createDataProvider = createDataProvider;
|
|
5
4
|
exports.getSchema = getSchema;
|
|
6
5
|
var _cmsAdapter = require("./cms/cmsAdapter");
|
|
7
6
|
async function getSchema(collectionId, entityTypeSource) {
|
|
@@ -12,23 +11,4 @@ async function getSchema(collectionId, entityTypeSource) {
|
|
|
12
11
|
throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
|
-
function createDataProvider({
|
|
16
|
-
collectionId,
|
|
17
|
-
entityTypeSource,
|
|
18
|
-
schema,
|
|
19
|
-
visibleFieldIds,
|
|
20
|
-
filtersMapping
|
|
21
|
-
}) {
|
|
22
|
-
switch (entityTypeSource) {
|
|
23
|
-
case 'cms':
|
|
24
|
-
return (0, _cmsAdapter.createCmsDataProvider)({
|
|
25
|
-
collectionId,
|
|
26
|
-
schema,
|
|
27
|
-
visibleFieldIds,
|
|
28
|
-
filtersMapping
|
|
29
|
-
});
|
|
30
|
-
default:
|
|
31
|
-
throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
14
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cmsAdapter","require","getSchema","collectionId","entityTypeSource","fetchCmsSchema","Error"
|
|
1
|
+
{"version":3,"names":["_cmsAdapter","require","getSchema","collectionId","entityTypeSource","fetchCmsSchema","Error"],"sources":["../../../src/dataSourceAdapters/factory.ts"],"sourcesContent":["import { SchemaConfig } from '../types';\nimport { fetchCmsSchema } from './cms/cmsAdapter';\n\nexport async function getSchema(\n collectionId: string,\n entityTypeSource: string,\n): Promise<SchemaConfig> {\n switch (entityTypeSource) {\n case 'cms':\n return fetchCmsSchema(collectionId);\n default:\n throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);\n }\n}\n"],"mappings":";;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEO,eAAeC,SAASA,CAC7BC,YAAoB,EACpBC,gBAAwB,EACD;EACvB,QAAQA,gBAAgB;IACtB,KAAK,KAAK;MACR,OAAO,IAAAC,0BAAc,EAACF,YAAY,CAAC;IACrC;MACE,MAAM,IAAIG,KAAK,CAAC,iCAAiCF,gBAAgB,EAAE,CAAC;EACxE;AACF","ignoreList":[]}
|
|
@@ -5,6 +5,13 @@ exports.useActionCell = void 0;
|
|
|
5
5
|
var _react = require("react");
|
|
6
6
|
var _useActionsSDK = require("./useActionsSDK");
|
|
7
7
|
var _actions = require("../utils/actions");
|
|
8
|
+
const cleanupActionsWithDividers = (actions, inlineCount) => {
|
|
9
|
+
const clean = a => a.filter((x, i, ar) => {
|
|
10
|
+
var _ar;
|
|
11
|
+
return (x == null ? void 0 : x.divider) !== true || i > 0 && i < ar.length - 1 && ((_ar = ar[i - 1]) == null ? void 0 : _ar.divider) !== true;
|
|
12
|
+
});
|
|
13
|
+
return !(actions != null && actions.length) || !inlineCount || inlineCount >= actions.length ? clean(actions || []) : [...clean(actions.slice(0, inlineCount)), ...clean(actions.slice(inlineCount))];
|
|
14
|
+
};
|
|
8
15
|
const useActionCell = ({
|
|
9
16
|
config,
|
|
10
17
|
collectionId
|
|
@@ -13,8 +20,13 @@ const useActionCell = ({
|
|
|
13
20
|
collectionId
|
|
14
21
|
});
|
|
15
22
|
const buildCellActions = (0, _react.useCallback)((item, index, api) => {
|
|
16
|
-
var _config$primaryAction, _config$secondaryActi, _config$secondaryActi2, _config$secondaryActi3;
|
|
23
|
+
var _config$primaryAction, _config$secondaryActi, _config$secondaryActi2, _config$secondaryActi3, _config$secondaryActi4;
|
|
17
24
|
const buildAction = actionConfig => {
|
|
25
|
+
if (actionConfig.type === 'divider') {
|
|
26
|
+
return {
|
|
27
|
+
divider: true
|
|
28
|
+
};
|
|
29
|
+
}
|
|
18
30
|
let actionToResolve = null;
|
|
19
31
|
const baseParams = {
|
|
20
32
|
actionParams: {
|
|
@@ -37,12 +49,6 @@ const useActionCell = ({
|
|
|
37
49
|
...baseParams
|
|
38
50
|
});
|
|
39
51
|
break;
|
|
40
|
-
case 'customModal':
|
|
41
|
-
actionToResolve = (0, _actions.customModalAction)({
|
|
42
|
-
action: actionConfig,
|
|
43
|
-
...baseParams
|
|
44
|
-
});
|
|
45
|
-
break;
|
|
46
52
|
case 'custom':
|
|
47
53
|
actionToResolve = (0, _actions.customAction)({
|
|
48
54
|
action: actionConfig,
|
|
@@ -68,9 +74,12 @@ const useActionCell = ({
|
|
|
68
74
|
};
|
|
69
75
|
};
|
|
70
76
|
const primaryAction = config != null && (_config$primaryAction = config.primaryAction) != null && _config$primaryAction.item ? buildAction(config.primaryAction.item) : undefined;
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
const rawSecondaryActions = config != null && (_config$secondaryActi = config.secondaryActions) != null && _config$secondaryActi.items.length ? config.secondaryActions.items.map(buildAction).filter(Boolean) : [];
|
|
78
|
+
|
|
79
|
+
// Process secondary actions with inline count consideration
|
|
80
|
+
const secondaryActions = cleanupActionsWithDividers(rawSecondaryActions, config == null || (_config$secondaryActi2 = config.secondaryActions) == null ? void 0 : _config$secondaryActi2.inlineCount);
|
|
81
|
+
const numOfVisibleSecondaryActions = config == null || (_config$secondaryActi3 = config.secondaryActions) == null ? void 0 : _config$secondaryActi3.inlineCount;
|
|
82
|
+
const alwaysShowSecondaryActions = config == null || (_config$secondaryActi4 = config.secondaryActions) == null ? void 0 : _config$secondaryActi4.inlineAlwaysVisible;
|
|
74
83
|
if (!primaryAction && !secondaryActions.length) {
|
|
75
84
|
return {};
|
|
76
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_useActionsSDK","_actions","useActionCell","config","collectionId","sdk","useActionsSDK","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","buildAction","actionConfig","actionToResolve","baseParams","actionParams","
|
|
1
|
+
{"version":3,"names":["_react","require","_useActionsSDK","_actions","cleanupActionsWithDividers","actions","inlineCount","clean","a","filter","x","i","ar","_ar","divider","length","slice","useActionCell","config","collectionId","sdk","useActionsSDK","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","_config$secondaryActi4","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","updateAction","action","deleteAction","customAction","resolvedAction","resolveAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","rawSecondaryActions","secondaryActions","items","map","Boolean","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible","exports"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n updateAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { DividerActionConfig } from '../types/actions/base';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n}\n\nconst cleanupActionsWithDividers = (\n actions: any[],\n inlineCount?: number,\n): any[] => {\n const clean = (a: any[]) =>\n a.filter(\n (x, i, ar) =>\n x?.divider !== true ||\n (i > 0 && i < ar.length - 1 && ar[i - 1]?.divider !== true),\n );\n return !actions?.length || !inlineCount || inlineCount >= actions.length\n ? clean(actions || [])\n : [\n ...clean(actions.slice(0, inlineCount)),\n ...clean(actions.slice(inlineCount)),\n ];\n};\n\nexport const useActionCell = ({\n config,\n collectionId,\n}: useActionCellParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (\n actionConfig: ActionCellItemConfig | DividerActionConfig,\n ) => {\n if (actionConfig.type === 'divider') {\n return { divider: true };\n }\n\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'delete':\n actionToResolve = deleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : undefined;\n\n const rawSecondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n // Process secondary actions with inline count consideration\n const secondaryActions = cleanupActionsWithDividers(\n rawSecondaryActions,\n config?.secondaryActions?.inlineCount,\n );\n\n const numOfVisibleSecondaryActions =\n config?.secondaryActions?.inlineCount;\n const alwaysShowSecondaryActions =\n config?.secondaryActions?.inlineAlwaysVisible;\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction ? { primaryAction } : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n numOfVisibleSecondaryActions,\n alwaysShowSecondaryActions,\n };\n },\n [config, sdk],\n );\n\n return buildCellActions;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAaA,MAAMG,0BAA0B,GAAGA,CACjCC,OAAc,EACdC,WAAoB,KACV;EACV,MAAMC,KAAK,GAAIC,CAAQ,IACrBA,CAAC,CAACC,MAAM,CACN,CAACC,CAAC,EAAEC,CAAC,EAAEC,EAAE;IAAA,IAAAC,GAAA;IAAA,OACP,CAAAH,CAAC,oBAADA,CAAC,CAAEI,OAAO,MAAK,IAAI,IAClBH,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGC,EAAE,CAACG,MAAM,GAAG,CAAC,IAAI,EAAAF,GAAA,GAAAD,EAAE,CAACD,CAAC,GAAG,CAAC,CAAC,qBAATE,GAAA,CAAWC,OAAO,MAAK,IAAK;EAAA,CAC/D,CAAC;EACH,OAAO,EAACT,OAAO,YAAPA,OAAO,CAAEU,MAAM,KAAI,CAACT,WAAW,IAAIA,WAAW,IAAID,OAAO,CAACU,MAAM,GACpER,KAAK,CAACF,OAAO,IAAI,EAAE,CAAC,GACpB,CACE,GAAGE,KAAK,CAACF,OAAO,CAACW,KAAK,CAAC,CAAC,EAAEV,WAAW,CAAC,CAAC,EACvC,GAAGC,KAAK,CAACF,OAAO,CAACW,KAAK,CAACV,WAAW,CAAC,CAAC,CACrC;AACP,CAAC;AAEM,MAAMW,aAAa,GAAGA,CAAC;EAC5BC,MAAM;EACNC;AACmB,CAAC,KAAK;EACzB,MAAMC,GAAG,GAAG,IAAAC,4BAAa,EAAC;IACxBF;EACF,CAAC,CAAC;EAEF,MAAMG,gBAAgB,GAAG,IAAAC,kBAAW,EAClC,CAACC,IAAI,EAAEC,KAAK,EAAEC,GAAG,KAAK;IAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpB,MAAMC,WAAW,GACfC,YAAwD,IACrD;MACH,IAAIA,YAAY,CAACC,IAAI,KAAK,SAAS,EAAE;QACnC,OAAO;UAAEpB,OAAO,EAAE;QAAK,CAAC;MAC1B;MAEA,IAAIqB,eAA+C,GAAG,IAAI;MAE1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAEb,IAAI;UAAEC,KAAK;UAAEC;QAAI,CAAC;QAClCN;MACF,CAAC;MAED,QAAQa,YAAY,CAACC,IAAI;QACvB,KAAK,QAAQ;UACXC,eAAe,GAAG,IAAAG,qBAAY,EAAC;YAC7BC,MAAM,EAAEN,YAAY;YACpB,GAAGG;UACL,CAAC,CAAC;UACF;QAEF,KAAK,QAAQ;UACXD,eAAe,GAAG,IAAAK,qBAAY,EAAC;YAC7BD,MAAM,EAAEN,YAAY;YACpB,GAAGG;UACL,CAAC,CAAC;UACF;QAEF,KAAK,QAAQ;UACXD,eAAe,GAAG,IAAAM,qBAAY,EAAC;YAC7BF,MAAM,EAAEN,YAAY;YACpB,GAAGG;UACL,CAAC,CAAC;UACF;QAEF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMO,cAAc,GAAG,IAAAC,sBAAa,EAACV,YAAY,EAAEE,eAAe,CAAC;MACnE,MAAM;QAAES,KAAK;QAAEC,OAAO;QAAE,GAAGC;MAAoB,CAAC,GAAGJ,cAAc;MAEjE,OAAO;QACL,GAAGI,mBAAmB;QACtBC,IAAI,EAAEL,cAAc,CAACE,KAAK;QAC1BI,mBAAmB,EAAEN,cAAc,CAACG;MACtC,CAAC;IACH,CAAC;IAED,MAAMI,aAAa,GAAG/B,MAAM,aAAAS,qBAAA,GAANT,MAAM,CAAE+B,aAAa,aAArBtB,qBAAA,CAAuBH,IAAI,GAC7CQ,WAAW,CAACd,MAAM,CAAC+B,aAAa,CAACzB,IAAI,CAAC,GACtC0B,SAAS;IAEb,MAAMC,mBAAmB,GAAGjC,MAAM,aAAAU,qBAAA,GAANV,MAAM,CAAEkC,gBAAgB,aAAxBxB,qBAAA,CAA0ByB,KAAK,CAACtC,MAAM,GAC9DG,MAAM,CAACkC,gBAAgB,CAACC,KAAK,CAACC,GAAG,CAACtB,WAAW,CAAC,CAACvB,MAAM,CAAC8C,OAAO,CAAC,GAC9D,EAAE;;IAEN;IACA,MAAMH,gBAAgB,GAAGhD,0BAA0B,CACjD+C,mBAAmB,EACnBjC,MAAM,aAAAW,sBAAA,GAANX,MAAM,CAAEkC,gBAAgB,qBAAxBvB,sBAAA,CAA0BvB,WAC5B,CAAC;IAED,MAAMkD,4BAA4B,GAChCtC,MAAM,aAAAY,sBAAA,GAANZ,MAAM,CAAEkC,gBAAgB,qBAAxBtB,sBAAA,CAA0BxB,WAAW;IACvC,MAAMmD,0BAA0B,GAC9BvC,MAAM,aAAAa,sBAAA,GAANb,MAAM,CAAEkC,gBAAgB,qBAAxBrB,sBAAA,CAA0B2B,mBAAmB;IAE/C,IAAI,CAACT,aAAa,IAAI,CAACG,gBAAgB,CAACrC,MAAM,EAAE;MAC9C,OAAO,CAAC,CAAC;IACX;IAEA,OAAO;MACL,IAAIkC,aAAa,GAAG;QAAEA;MAAc,CAAC,GAAG;QAAEA,aAAa,EAAEC;MAAU,CAAC,CAAC;MACrE,IAAIE,gBAAgB,CAACrC,MAAM,IAAI;QAAEqC;MAAiB,CAAC,CAAC;MACpDI,4BAA4B;MAC5BC;IACF,CAAC;EACH,CAAC,EACD,CAACvC,MAAM,EAAEE,GAAG,CACd,CAAC;EAED,OAAOE,gBAAgB;AACzB,CAAC;AAACqC,OAAA,CAAA1C,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -30,12 +30,6 @@ const useBulkActionToolbar = ({
|
|
|
30
30
|
...baseParams
|
|
31
31
|
});
|
|
32
32
|
break;
|
|
33
|
-
case 'customModal':
|
|
34
|
-
actionToResolve = (0, _actions.customModalAction)({
|
|
35
|
-
action: actionConfig,
|
|
36
|
-
...baseParams
|
|
37
|
-
});
|
|
38
|
-
break;
|
|
39
33
|
case 'custom':
|
|
40
34
|
actionToResolve = (0, _actions.customAction)({
|
|
41
35
|
action: actionConfig,
|
|
@@ -64,17 +58,18 @@ const useBulkActionToolbar = ({
|
|
|
64
58
|
return [];
|
|
65
59
|
}
|
|
66
60
|
return config.primaryActions.map((primaryItem, index) => {
|
|
67
|
-
if (primaryItem.type === '
|
|
68
|
-
return buildAction(primaryItem.
|
|
61
|
+
if (primaryItem.type === 'action') {
|
|
62
|
+
return buildAction(primaryItem.action.item);
|
|
69
63
|
}
|
|
70
|
-
if (primaryItem.type === '
|
|
71
|
-
const
|
|
64
|
+
if (primaryItem.type === 'menu') {
|
|
65
|
+
const actionGroups = (0, _actions.groupActions)(primaryItem.menu.items);
|
|
66
|
+
const subItems = actionGroups.map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0);
|
|
72
67
|
if (subItems.length === 0) {
|
|
73
68
|
return null;
|
|
74
69
|
}
|
|
75
70
|
return {
|
|
76
|
-
label: primaryItem.
|
|
77
|
-
subItems
|
|
71
|
+
label: primaryItem.menu.label,
|
|
72
|
+
subItems,
|
|
78
73
|
dataHook: `bulk-multi-action-${index}`
|
|
79
74
|
};
|
|
80
75
|
}
|
|
@@ -82,14 +77,14 @@ const useBulkActionToolbar = ({
|
|
|
82
77
|
}).filter(action => Boolean(action));
|
|
83
78
|
};
|
|
84
79
|
const primaryActionItems = buildPrimaryActions();
|
|
85
|
-
const secondaryActionItems =
|
|
80
|
+
const secondaryActionItems = config != null && config.secondaryActions ? (0, _actions.groupActions)(config.secondaryActions).map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0) : [];
|
|
86
81
|
return /*#__PURE__*/_react.default.createElement(_patterns.MultiBulkActionToolbar, {
|
|
87
82
|
primaryActionItems: primaryActionItems,
|
|
88
83
|
secondaryActionItems: secondaryActionItems,
|
|
89
84
|
__self: void 0,
|
|
90
85
|
__source: {
|
|
91
86
|
fileName: _jsxFileName,
|
|
92
|
-
lineNumber:
|
|
87
|
+
lineNumber: 134,
|
|
93
88
|
columnNumber: 9
|
|
94
89
|
}
|
|
95
90
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_patterns","_actions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBulkActionToolbar","config","collectionId","sdk","useActionsSDK","bulkActionToolbar","useCallback","param","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","bulkDeleteAction","action","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_patterns","_actions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBulkActionToolbar","config","collectionId","sdk","useActionsSDK","bulkActionToolbar","useCallback","param","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","bulkDeleteAction","action","customAction","resolvedAction","resolveAction","icon","resolvedActionParams","prefixIcon","React","isValidElement","undefined","dataHook","id","buildPrimaryActions","primaryActions","map","primaryItem","index","item","actionGroups","groupActions","menu","items","subItems","group","filter","Boolean","length","label","primaryActionItems","secondaryActionItems","secondaryActions","createElement","MultiBulkActionToolbar","__self","__source","fileName","lineNumber","columnNumber","hasPrimaryActions","hasSecondaryActions","exports"],"sources":["../../../src/hooks/useBulkActionToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n BulkActionItemConfig,\n BulkActionsConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n TableProps,\n MultiBulkActionToolbar,\n ActionSubitem,\n} from '@wix/patterns';\nimport {\n bulkDeleteAction,\n customAction,\n resolveAction,\n groupActions,\n} from '../utils/actions';\n\nexport type BulkActionToolbarRenderProp = Parameters<\n NonNullable<TableProps<any, any>['bulkActionToolbar']>\n>[0];\n\nexport interface useBulkActionToolbarParams {\n config?: BulkActionsConfig;\n collectionId: string;\n}\n\nexport const useBulkActionToolbar = ({\n config,\n collectionId,\n}: useBulkActionToolbarParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const bulkActionToolbar = useCallback(\n (param: BulkActionToolbarRenderProp) => {\n const buildAction = (\n actionConfig: BulkActionItemConfig,\n ): ActionSubitem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: param,\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'bulkDelete':\n actionToResolve = bulkDeleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { icon, ...resolvedActionParams } = resolvedAction;\n\n return {\n prefixIcon: React.isValidElement(icon) ? icon : undefined,\n dataHook: actionConfig.id,\n ...resolvedActionParams,\n };\n };\n\n const buildPrimaryActions = (): ActionSubitem[] => {\n if (!config?.primaryActions) {\n return [];\n }\n\n return config.primaryActions\n .map((primaryItem, index) => {\n if (primaryItem.type === 'action') {\n return buildAction(primaryItem.action.item);\n }\n\n if (primaryItem.type === 'menu') {\n const actionGroups = groupActions(primaryItem.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is ActionSubitem =>\n Boolean(action),\n ),\n )\n .filter((group) => group.length > 0);\n\n if (subItems.length === 0) {\n return null;\n }\n\n return {\n label: primaryItem.menu.label,\n subItems,\n dataHook: `bulk-multi-action-${index}`,\n };\n }\n\n return null;\n })\n .filter((action): action is ActionSubitem => Boolean(action));\n };\n\n const primaryActionItems = buildPrimaryActions();\n\n const secondaryActionItems = config?.secondaryActions\n ? groupActions(config.secondaryActions)\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n )\n .filter((group) => group.length > 0)\n : [];\n\n return (\n <MultiBulkActionToolbar\n primaryActionItems={primaryActionItems}\n secondaryActionItems={secondaryActionItems}\n />\n );\n },\n [config, sdk],\n );\n\n if (!config) {\n return undefined;\n }\n\n const hasPrimaryActions =\n config.primaryActions && config.primaryActions.length > 0;\n\n const hasSecondaryActions =\n config.secondaryActions && config.secondaryActions.length > 0;\n\n if (!hasPrimaryActions && !hasSecondaryActions) {\n return undefined;\n }\n\n return bulkActionToolbar;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,12 +36,6 @@ const useCollectionPageActions = ({
|
|
|
36
36
|
...baseParams
|
|
37
37
|
});
|
|
38
38
|
break;
|
|
39
|
-
case 'customModal':
|
|
40
|
-
actionToResolve = (0, _actions.customModalAction)({
|
|
41
|
-
action: actionConfig,
|
|
42
|
-
...baseParams
|
|
43
|
-
});
|
|
44
|
-
break;
|
|
45
39
|
case 'custom':
|
|
46
40
|
actionToResolve = (0, _actions.customAction)({
|
|
47
41
|
action: actionConfig,
|
|
@@ -67,16 +61,17 @@ const useCollectionPageActions = ({
|
|
|
67
61
|
};
|
|
68
62
|
};
|
|
69
63
|
const handleActionsType = actions => {
|
|
70
|
-
if (actions.type === '
|
|
71
|
-
return buildAction(actions.
|
|
64
|
+
if (actions.type === 'action') {
|
|
65
|
+
return buildAction(actions.action.item);
|
|
72
66
|
}
|
|
73
|
-
if (actions.type === '
|
|
74
|
-
const
|
|
67
|
+
if (actions.type === 'menu') {
|
|
68
|
+
const actionGroups = (0, _actions.groupActions)(actions.menu.items);
|
|
69
|
+
const subItems = actionGroups.map(group => group.map(buildAction).filter(action => action !== null)).filter(group => group.length > 0);
|
|
75
70
|
if (!subItems.length) {
|
|
76
71
|
return null;
|
|
77
72
|
}
|
|
78
73
|
return {
|
|
79
|
-
label: actions.
|
|
74
|
+
label: actions.menu.label,
|
|
80
75
|
subItems
|
|
81
76
|
};
|
|
82
77
|
}
|
|
@@ -92,7 +87,7 @@ const useCollectionPageActions = ({
|
|
|
92
87
|
__self: void 0,
|
|
93
88
|
__source: {
|
|
94
89
|
fileName: _jsxFileName,
|
|
95
|
-
lineNumber:
|
|
90
|
+
lineNumber: 120,
|
|
96
91
|
columnNumber: 9
|
|
97
92
|
}
|
|
98
93
|
})) : undefined,
|
|
@@ -100,7 +95,7 @@ const useCollectionPageActions = ({
|
|
|
100
95
|
__self: void 0,
|
|
101
96
|
__source: {
|
|
102
97
|
fileName: _jsxFileName,
|
|
103
|
-
lineNumber:
|
|
98
|
+
lineNumber: 123,
|
|
104
99
|
columnNumber: 9
|
|
105
100
|
}
|
|
106
101
|
})) : undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useCollectionPageActions","collectionPageActions","sdk","useActionsSDK","collectionId","buildCollectionPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","collection","type","createAction","action","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useCollectionPageActions","collectionPageActions","sdk","useActionsSDK","collectionId","buildCollectionPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","collection","type","createAction","action","customAction","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","item","actionGroups","groupActions","menu","items","subItems","map","group","filter","length","label","primaryActions","secondaryActions","createElement","PrimaryActions","_extends2","__self","__source","fileName","lineNumber","columnNumber","undefined","SecondaryActions","useMemo","exports"],"sources":["../../../src/hooks/useCollectionPageActions.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport {\n CollectionPageActionConfig,\n CollectionPageConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n createAction,\n customAction,\n resolveAction,\n groupActions,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseCollectionPageActionsParams {\n collectionPageActions: CollectionPageConfig['actions'];\n}\n\nexport const useCollectionPageActions = ({\n collectionPageActions,\n}: UseCollectionPageActionsParams) => {\n const sdk = useActionsSDK({\n collectionId: '',\n });\n\n const buildCollectionPageActions = useCallback(() => {\n if (!collectionPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: CollectionPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {\n collectionId: actionConfig.collection.collectionId,\n },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'create':\n actionToResolve = createAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n prefixIcon: icon as IconElement,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const handleActionsType = (\n actions: CollectionPagePrimaryActions | CollectionPageSecondaryActions,\n ) => {\n if (actions.type === 'action') {\n return buildAction(actions.action.item);\n }\n\n if (actions.type === 'menu') {\n const actionGroups = groupActions(actions.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group.map(buildAction).filter((action) => action !== null),\n )\n .filter((group) => group.length > 0);\n\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.menu.label,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n collectionPageActions?.primaryActions &&\n handleActionsType(collectionPageActions.primaryActions);\n\n const secondaryActions =\n collectionPageActions?.secondaryActions &&\n handleActionsType(collectionPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return {\n primaryActions: primaryActions ? (\n <PrimaryActions {...primaryActions} />\n ) : undefined,\n secondaryActions: secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined,\n };\n }, [collectionPageActions, sdk]);\n\n const actions = useMemo(() => {\n return {\n primaryActions: undefined,\n secondaryActions: undefined,\n };\n }, []);\n\n if (\n !collectionPageActions?.primaryActions &&\n !collectionPageActions?.secondaryActions\n ) {\n return { ...actions };\n }\n\n return buildCollectionPageActions() ?? { ...actions };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,7 +39,8 @@ function useEntityPageMoreActions(moreActions, entity, sdk, form) {
|
|
|
39
39
|
disabled: resolved.disabled
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
const actionGroups = (0, _actions.groupActions)(moreActions);
|
|
43
|
+
return actionGroups.map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0);
|
|
43
44
|
}, [moreActions, sdk, entity, form]);
|
|
44
45
|
return buildEntityPageActions() ?? [];
|
|
45
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","customAction","action","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","map","group","filter","Boolean"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport {
|
|
1
|
+
{"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","customAction","action","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","actionGroups","groupActions","map","group","filter","Boolean","length"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport { EntityPageMoreActions } from '../types/actions';\nimport { customAction, resolveAction, groupActions } from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionConfig } from '../types/actions/base';\n\nexport function useEntityPageMoreActions(\n moreActions: EntityPageMoreActions | undefined,\n entity: Record<string, any>,\n sdk: ActionsSDK,\n form: UseFormReturn<FieldValues, any, undefined>,\n) {\n const buildEntityPageActions = useCallback(() => {\n if (!moreActions) {\n return;\n }\n\n const buildAction = (\n actionConfig: CustomActionConfig,\n ): MoreActionsItem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n const baseParams = {\n actionParams: { entity, form },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolved = resolveAction(\n actionConfig,\n actionToResolve,\n ) as ResolvedAction;\n\n return {\n onClick: resolved.onClick,\n text: resolved.label,\n prefixIcon: resolved.icon,\n disabled: resolved.disabled,\n };\n };\n\n const actionGroups = groupActions(moreActions);\n return actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is MoreActionsItem => Boolean(action)),\n )\n .filter((group) => group.length > 0);\n }, [moreActions, sdk, entity, form]);\n\n return buildEntityPageActions() ?? [];\n}\n"],"mappings":";;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKO,SAASE,wBAAwBA,CACtCC,WAA8C,EAC9CC,MAA2B,EAC3BC,GAAe,EACfC,IAAgD,EAChD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAgC,IACL;MAC3B,IAAIC,eAA+C,GAAG,IAAI;MAC1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAET,MAAM;UAAEE;QAAK,CAAC;QAC9BD;MACF,CAAC;MAED,QAAQK,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAG,IAAAI,qBAAY,EAAC;YAC7BC,MAAM,EAAEN,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMM,QAAQ,GAAG,IAAAC,sBAAa,EAC5BR,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLQ,OAAO,EAAEF,QAAQ,CAACE,OAAO;QACzBC,IAAI,EAAEH,QAAQ,CAACI,KAAK;QACpBC,UAAU,EAAEL,QAAQ,CAACM,IAAI;QACzBC,QAAQ,EAAEP,QAAQ,CAACO;MACrB,CAAC;IACH,CAAC;IAED,MAAMC,YAAY,GAAG,IAAAC,qBAAY,EAACvB,WAAW,CAAC;IAC9C,OAAOsB,YAAY,CAChBE,GAAG,CAAEC,KAAK,IACTA,KAAK,CACFD,GAAG,CAAClB,WAAW,CAAC,CAChBoB,MAAM,CAAEb,MAAM,IAAgCc,OAAO,CAACd,MAAM,CAAC,CAClE,CAAC,CACAa,MAAM,CAAED,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;EACxC,CAAC,EAAE,CAAC5B,WAAW,EAAEE,GAAG,EAAED,MAAM,EAAEE,IAAI,CAAC,CAAC;EAEpC,OAAOC,sBAAsB,CAAC,CAAC,IAAI,EAAE;AACvC","ignoreList":[]}
|
|
@@ -4,40 +4,20 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.useFetchData = void 0;
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _providers = require("../providers");
|
|
8
7
|
var _SchemaContext = require("../providers/SchemaContext");
|
|
9
|
-
var _factory = require("../dataSourceAdapters/factory");
|
|
10
8
|
const useFetchData = ({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
filtersMapping
|
|
9
|
+
searchableFieldIds,
|
|
10
|
+
filterFieldMapping
|
|
14
11
|
}) => {
|
|
15
12
|
const schema = (0, _SchemaContext.useSchema)();
|
|
16
|
-
const overrides = (0, _providers.usePatternsWizardOverridesContext)();
|
|
17
|
-
const {
|
|
18
|
-
fetchData: fetchDataOverride
|
|
19
|
-
} = collectionConfig;
|
|
20
|
-
const defaultDataProvider = _react.default.useMemo(() => {
|
|
21
|
-
if (!schema) {
|
|
22
|
-
throw new Error('useFetchData: schema is not available');
|
|
23
|
-
}
|
|
24
|
-
return (0, _factory.createDataProvider)({
|
|
25
|
-
collectionId: collectionConfig.collectionId,
|
|
26
|
-
entityTypeSource: collectionConfig.entityTypeSource,
|
|
27
|
-
schema,
|
|
28
|
-
visibleFieldIds,
|
|
29
|
-
filtersMapping
|
|
30
|
-
});
|
|
31
|
-
}, [schema, collectionConfig.collectionId, collectionConfig.entityTypeSource, visibleFieldIds, filtersMapping]);
|
|
32
13
|
const fetchData = _react.default.useMemo(() => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
}, [defaultDataProvider, fetchDataOverride == null ? void 0 : fetchDataOverride.id, overrides == null ? void 0 : overrides.fetchData]);
|
|
14
|
+
return query => {
|
|
15
|
+
return schema.actions.find(query, {
|
|
16
|
+
searchableFieldIds: searchableFieldIds || [],
|
|
17
|
+
filterFieldMapping
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
}, [schema, searchableFieldIds, filterFieldMapping]);
|
|
41
21
|
return {
|
|
42
22
|
fetchData
|
|
43
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_SchemaContext","useFetchData","searchableFieldIds","filterFieldMapping","schema","useSchema","fetchData","React","useMemo","query","actions","find","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAQO,MAAME,YAAY,GAAGA,CAAC;EAC3BC,kBAAkB;EAClBC;AACiB,CAAC,KAAK;EACvB,MAAMC,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAE1B,MAAMC,SAAS,GAAGC,cAAK,CAACC,OAAO,CAAC,MAAM;IACpC,OAAQC,KAAyB,IAAK;MACpC,OAAOL,MAAM,CAACM,OAAO,CAACC,IAAI,CAACF,KAAK,EAAE;QAChCP,kBAAkB,EAAEA,kBAAkB,IAAI,EAAE;QAC5CC;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACC,MAAM,EAAEF,kBAAkB,EAAEC,kBAAkB,CAAC,CAAC;EAEpD,OAAO;IACLG;EACF,CAAC;AACH,CAAC;AAACM,OAAA,CAAAX,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -97,7 +97,7 @@ const useFilters = configuration => {
|
|
|
97
97
|
});
|
|
98
98
|
return currFilters;
|
|
99
99
|
}, [configuration == null ? void 0 : configuration.items, schema.fields, schemaRegistry]);
|
|
100
|
-
const
|
|
100
|
+
const filterFieldMapping = _react.default.useMemo(() => {
|
|
101
101
|
return configuration == null ? void 0 : configuration.items.reduce((acc, filter) => {
|
|
102
102
|
acc[filter.id] = filter;
|
|
103
103
|
return acc;
|
|
@@ -152,7 +152,7 @@ const useFilters = configuration => {
|
|
|
152
152
|
collectionToolbarFiltersProps
|
|
153
153
|
});
|
|
154
154
|
return {
|
|
155
|
-
|
|
155
|
+
filterFieldMapping,
|
|
156
156
|
filtersObject: filtersData.filters,
|
|
157
157
|
filterComponent: filtersData.components.length > 0 ? /*#__PURE__*/_react.default.createElement(_patterns.CollectionToolbarFilters, (0, _extends2.default)({}, collectionToolbarFiltersProps, {
|
|
158
158
|
__self: void 0,
|