@wix/auto-patterns 1.8.0 → 1.9.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/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -25
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +20 -13
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +66 -30
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +7 -4
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +83 -0
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +35 -18
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +42 -37
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +46 -29
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +35 -40
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
- package/dist/cjs/components/modals/actions/BulkDeleteModal.js +12 -10
- package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -1
- package/dist/cjs/components/modals/actions/CreateModal.js +138 -0
- package/dist/cjs/components/modals/actions/CreateModal.js.map +1 -0
- package/dist/cjs/components/modals/actions/EditModal.js +17 -13
- package/dist/cjs/components/modals/actions/EditModal.js.map +1 -1
- package/dist/cjs/components/modals/actions/index.js +6 -0
- package/dist/cjs/components/modals/actions/index.js.map +1 -1
- package/dist/cjs/components/modals/actions/types.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +2 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/cjs/hooks/index.js +6 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useActionCell.js +5 -7
- package/dist/cjs/hooks/useActionCell.js.map +1 -1
- package/dist/cjs/hooks/useActionsSDK.js +34 -0
- package/dist/cjs/hooks/useActionsSDK.js.map +1 -0
- package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +11 -1
- package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
- package/dist/cjs/hooks/{useSharedDataForActions.js → useBaseSDK.js} +7 -16
- package/dist/cjs/hooks/useBaseSDK.js.map +1 -0
- package/dist/cjs/hooks/useBulkActionToolbar.js +7 -9
- package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
- package/dist/cjs/hooks/useCollectionPageActions.js +124 -0
- package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -0
- package/dist/cjs/hooks/useCommonCollectionFeatures.js +5 -8
- package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/cjs/hooks/useEntityPageHeaderTexts.js +27 -0
- package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -0
- package/dist/cjs/hooks/useGridFeatures.js +2 -1
- package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
- package/dist/cjs/hooks/useNavigationUtils.js +9 -5
- package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
- package/dist/cjs/hooks/useTableFeatures.js +2 -2
- package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
- package/dist/cjs/providers/OptimisticActionsContext.js +43 -0
- package/dist/cjs/providers/OptimisticActionsContext.js.map +1 -0
- package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/providers/RootAppProvider.js +13 -5
- package/dist/cjs/providers/RootAppProvider.js.map +1 -1
- package/dist/cjs/types/BaseSDK.js +4 -0
- package/dist/cjs/types/BaseSDK.js.map +1 -0
- package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
- package/dist/cjs/types/actions/base.js.map +1 -1
- package/dist/cjs/types/actions/collectionPageActions.js +4 -0
- package/dist/cjs/types/actions/collectionPageActions.js.map +1 -0
- package/dist/cjs/types/actions/index.js +6 -0
- package/dist/cjs/types/actions/index.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/types.js.map +1 -1
- package/dist/cjs/utils/actions/bulkDeleteAction.js +3 -3
- package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -1
- package/dist/cjs/utils/actions/createAction.js +38 -0
- package/dist/cjs/utils/actions/createAction.js.map +1 -0
- package/dist/cjs/utils/actions/customAction.js +4 -4
- package/dist/cjs/utils/actions/customAction.js.map +1 -1
- package/dist/cjs/utils/actions/customModalAction.js +3 -3
- package/dist/cjs/utils/actions/customModalAction.js.map +1 -1
- package/dist/cjs/utils/actions/deleteAction.js +7 -5
- package/dist/cjs/utils/actions/deleteAction.js.map +1 -1
- package/dist/cjs/utils/actions/index.js +6 -0
- package/dist/cjs/utils/actions/index.js.map +1 -1
- package/dist/cjs/utils/actions/types.js.map +1 -1
- package/dist/cjs/utils/actions/updateAction.js +4 -10
- package/dist/cjs/utils/actions/updateAction.js.map +1 -1
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +6 -5
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +14 -7
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +61 -25
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +6 -3
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +64 -0
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +33 -15
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +41 -35
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +43 -25
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +32 -34
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
- package/dist/esm/components/modals/actions/BulkDeleteModal.js +7 -5
- package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
- package/dist/esm/components/modals/actions/CreateModal.js +80 -0
- package/dist/esm/components/modals/actions/CreateModal.js.map +1 -0
- package/dist/esm/components/modals/actions/EditModal.js +9 -5
- package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
- package/dist/esm/components/modals/actions/index.js +1 -0
- package/dist/esm/components/modals/actions/index.js.map +1 -1
- package/dist/esm/components/modals/actions/types.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +2 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useActionCell.js +5 -7
- package/dist/esm/hooks/useActionCell.js.map +1 -1
- package/dist/esm/hooks/useActionsSDK.js +30 -0
- package/dist/esm/hooks/useActionsSDK.js.map +1 -0
- package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +11 -1
- package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
- package/dist/esm/hooks/{useSharedDataForActions.js → useBaseSDK.js} +6 -16
- package/dist/esm/hooks/useBaseSDK.js.map +1 -0
- package/dist/esm/hooks/useBulkActionToolbar.js +6 -8
- package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
- package/dist/esm/hooks/useCollectionPageActions.js +101 -0
- package/dist/esm/hooks/useCollectionPageActions.js.map +1 -0
- package/dist/esm/hooks/useCommonCollectionFeatures.js +1 -4
- package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/esm/hooks/useEntityPageHeaderTexts.js +23 -0
- package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -0
- package/dist/esm/hooks/useGridFeatures.js +2 -1
- package/dist/esm/hooks/useGridFeatures.js.map +1 -1
- package/dist/esm/hooks/useNavigationUtils.js +10 -6
- package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
- package/dist/esm/hooks/useTableFeatures.js +1 -1
- package/dist/esm/hooks/useTableFeatures.js.map +1 -1
- package/dist/esm/providers/OptimisticActionsContext.js +29 -0
- package/dist/esm/providers/OptimisticActionsContext.js.map +1 -0
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/providers/RootAppProvider.js +2 -1
- package/dist/esm/providers/RootAppProvider.js.map +1 -1
- package/dist/esm/types/BaseSDK.js +2 -0
- package/dist/esm/types/BaseSDK.js.map +1 -0
- package/dist/esm/types/CollectionPageConfig.js.map +1 -1
- package/dist/esm/types/actions/base.js.map +1 -1
- package/dist/esm/types/actions/collectionPageActions.js +2 -0
- package/dist/esm/types/actions/collectionPageActions.js.map +1 -0
- package/dist/esm/types/actions/index.js +1 -0
- package/dist/esm/types/actions/index.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/types.js.map +1 -1
- package/dist/esm/utils/actions/bulkDeleteAction.js +3 -3
- package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -1
- package/dist/esm/utils/actions/createAction.js +33 -0
- package/dist/esm/utils/actions/createAction.js.map +1 -0
- package/dist/esm/utils/actions/customAction.js +4 -4
- package/dist/esm/utils/actions/customAction.js.map +1 -1
- package/dist/esm/utils/actions/customModalAction.js +3 -3
- package/dist/esm/utils/actions/customModalAction.js.map +1 -1
- package/dist/esm/utils/actions/deleteAction.js +7 -5
- package/dist/esm/utils/actions/deleteAction.js.map +1 -1
- package/dist/esm/utils/actions/index.js +1 -0
- package/dist/esm/utils/actions/index.js.map +1 -1
- package/dist/esm/utils/actions/types.js.map +1 -1
- package/dist/esm/utils/actions/updateAction.js +4 -10
- package/dist/esm/utils/actions/updateAction.js.map +1 -1
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +2 -2
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts +6 -0
- package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +1 -1
- package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +1 -1
- package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -1
- package/dist/types/components/modals/actions/CreateModal.d.ts +8 -0
- package/dist/types/components/modals/actions/CreateModal.d.ts.map +1 -0
- package/dist/types/components/modals/actions/EditModal.d.ts +1 -1
- package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -1
- package/dist/types/components/modals/actions/index.d.ts +1 -0
- package/dist/types/components/modals/actions/index.d.ts.map +1 -1
- package/dist/types/components/modals/actions/types.d.ts +2 -2
- package/dist/types/components/modals/actions/types.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useActionCell.d.ts +1 -3
- package/dist/types/hooks/useActionCell.d.ts.map +1 -1
- package/dist/types/hooks/useActionsSDK.d.ts +6 -0
- package/dist/types/hooks/useActionsSDK.d.ts.map +1 -0
- package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +1 -1
- package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
- package/dist/types/hooks/useBaseSDK.d.ts +3 -0
- package/dist/types/hooks/useBaseSDK.d.ts.map +1 -0
- package/dist/types/hooks/useBulkActionToolbar.d.ts +2 -3
- package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
- package/dist/types/hooks/useCollectionPageActions.d.ts +10 -0
- package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -0
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts +1 -1
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +18 -0
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -0
- package/dist/types/hooks/useGridFeatures.d.ts +1 -0
- package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
- package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
- package/dist/types/providers/OptimisticActionsContext.d.ts +12 -0
- package/dist/types/providers/OptimisticActionsContext.d.ts.map +1 -0
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +1 -3
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/providers/RootAppProvider.d.ts.map +1 -1
- package/dist/types/types/BaseSDK.d.ts +12 -0
- package/dist/types/types/BaseSDK.d.ts.map +1 -0
- package/dist/types/types/CollectionPageConfig.d.ts +5 -1
- package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
- package/dist/types/types/actions/base.d.ts +15 -6
- package/dist/types/types/actions/base.d.ts.map +1 -1
- package/dist/types/types/actions/collectionPageActions.d.ts +27 -0
- package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -0
- package/dist/types/types/actions/index.d.ts +1 -0
- package/dist/types/types/actions/index.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/types.d.ts +1 -4
- package/dist/types/types/types.d.ts.map +1 -1
- package/dist/types/utils/actions/createAction.d.ts +7 -0
- package/dist/types/utils/actions/createAction.d.ts.map +1 -0
- package/dist/types/utils/actions/deleteAction.d.ts.map +1 -1
- package/dist/types/utils/actions/index.d.ts +1 -0
- package/dist/types/utils/actions/index.d.ts.map +1 -1
- package/dist/types/utils/actions/types.d.ts +9 -13
- package/dist/types/utils/actions/types.d.ts.map +1 -1
- package/dist/types/utils/actions/updateAction.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -39
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
- package/dist/cjs/hooks/useSharedDataForActions.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -35
- package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
- package/dist/esm/hooks/useSharedDataForActions.js.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts +0 -12
- package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts.map +0 -1
- package/dist/types/hooks/useSharedDataForActions.d.ts +0 -8
- package/dist/types/hooks/useSharedDataForActions.d.ts.map +0 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import React, { useCallback, useMemo } from 'react';
|
|
2
|
+
import { useActionsSDK } from './useActionsSDK';
|
|
3
|
+
import { createAction, customAction, customModalAction, resolveAction, resolveIcon } from '../utils/actions';
|
|
4
|
+
import { PrimaryActions, SecondaryActions } from '@wix/patterns';
|
|
5
|
+
export const useCollectionPageActions = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
collectionPageActions
|
|
8
|
+
} = _ref;
|
|
9
|
+
const sdk = useActionsSDK({
|
|
10
|
+
collectionId: ''
|
|
11
|
+
});
|
|
12
|
+
const buildCollectionPageActions = useCallback(() => {
|
|
13
|
+
if (!collectionPageActions) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const buildAction = actionConfig => {
|
|
17
|
+
let actionToResolve = null;
|
|
18
|
+
const baseParams = {
|
|
19
|
+
actionParams: {},
|
|
20
|
+
sdk
|
|
21
|
+
};
|
|
22
|
+
switch (actionConfig.type) {
|
|
23
|
+
case 'create':
|
|
24
|
+
actionToResolve = createAction({
|
|
25
|
+
action: actionConfig,
|
|
26
|
+
...baseParams
|
|
27
|
+
});
|
|
28
|
+
break;
|
|
29
|
+
case 'customModal':
|
|
30
|
+
actionToResolve = customModalAction({
|
|
31
|
+
action: actionConfig,
|
|
32
|
+
...baseParams
|
|
33
|
+
});
|
|
34
|
+
break;
|
|
35
|
+
case 'custom':
|
|
36
|
+
actionToResolve = customAction({
|
|
37
|
+
action: actionConfig,
|
|
38
|
+
...baseParams
|
|
39
|
+
});
|
|
40
|
+
break;
|
|
41
|
+
default:
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
if (!actionToResolve) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const resolvedAction = resolveAction(actionConfig, actionToResolve);
|
|
48
|
+
const {
|
|
49
|
+
tooltip,
|
|
50
|
+
icon,
|
|
51
|
+
...resolvedActionProps
|
|
52
|
+
} = resolvedAction;
|
|
53
|
+
return {
|
|
54
|
+
...resolvedActionProps,
|
|
55
|
+
prefixIcon: icon,
|
|
56
|
+
disabledDescription: resolvedAction.tooltip
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
const handleActionsType = actions => {
|
|
60
|
+
if (actions.type === 'single') {
|
|
61
|
+
return buildAction(actions.single.item);
|
|
62
|
+
}
|
|
63
|
+
if (actions.type === 'multi') {
|
|
64
|
+
const subItems = actions.multi.items.map(buildAction).filter(action => action !== null);
|
|
65
|
+
if (!subItems.length) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
label: actions.multi.label,
|
|
70
|
+
prefixIcon: resolveIcon(actions.multi.icon),
|
|
71
|
+
subItems
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
};
|
|
76
|
+
const primaryActions = (collectionPageActions == null ? void 0 : collectionPageActions.primaryActions) && handleActionsType(collectionPageActions.primaryActions);
|
|
77
|
+
const secondaryActions = (collectionPageActions == null ? void 0 : collectionPageActions.secondaryActions) && handleActionsType(collectionPageActions.secondaryActions);
|
|
78
|
+
if (!primaryActions && !secondaryActions) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
primaryActions: primaryActions ? /*#__PURE__*/React.createElement(PrimaryActions, primaryActions) : undefined,
|
|
83
|
+
secondaryActions: secondaryActions ? /*#__PURE__*/React.createElement(SecondaryActions, secondaryActions) : undefined
|
|
84
|
+
};
|
|
85
|
+
}, [collectionPageActions, sdk]);
|
|
86
|
+
const actions = useMemo(() => {
|
|
87
|
+
return {
|
|
88
|
+
primaryActions: undefined,
|
|
89
|
+
secondaryActions: undefined
|
|
90
|
+
};
|
|
91
|
+
}, []);
|
|
92
|
+
if (!(collectionPageActions != null && collectionPageActions.primaryActions) && !(collectionPageActions != null && collectionPageActions.secondaryActions)) {
|
|
93
|
+
return {
|
|
94
|
+
...actions
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return buildCollectionPageActions() ?? {
|
|
98
|
+
...actions
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=useCollectionPageActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useActionsSDK","createAction","customAction","customModalAction","resolveAction","resolveIcon","PrimaryActions","SecondaryActions","useCollectionPageActions","_ref","collectionPageActions","sdk","collectionId","buildCollectionPageActions","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","action","resolvedAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","single","item","subItems","multi","items","map","filter","length","label","primaryActions","secondaryActions","createElement","undefined"],"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 customModalAction,\n resolveAction,\n resolveIcon,\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 sdk,\n };\n\n switch (actionConfig.type) {\n case 'create':\n actionToResolve = createAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\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 === 'single') {\n return buildAction(actions.single.item);\n }\n\n if (actions.type === 'multi') {\n const subItems = actions.multi.items\n .map(buildAction)\n .filter((action) => action !== null);\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.multi.label,\n prefixIcon: resolveIcon(actions.multi.icon) as IconElement,\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":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAQnD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SACEC,YAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBC,aAAa,EACbC,WAAW,QACN,kBAAkB;AAEzB,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,eAAe;AAMhE,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAEF;EAAA,IAFG;IACvCC;EAC8B,CAAC,GAAAD,IAAA;EAC/B,MAAME,GAAG,GAAGX,aAAa,CAAC;IACxBY,YAAY,EAAE;EAChB,CAAC,CAAC;EAEF,MAAMC,0BAA0B,GAAGf,WAAW,CAAC,MAAM;IACnD,IAAI,CAACY,qBAAqB,EAAE;MAC1B;IACF;IAEA,MAAMI,WAAW,GAAIC,YAAwC,IAAK;MAChE,IAAIC,eAA+C,GAAG,IAAI;MAE1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE,CAAC,CAAC;QAChBP;MACF,CAAC;MAED,QAAQI,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAGf,YAAY,CAAC;YAC7BmB,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,aAAa;UAChBD,eAAe,GAAGb,iBAAiB,CAAC;YAClCiB,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,QAAQ;UACXD,eAAe,GAAGd,YAAY,CAAC;YAC7BkB,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMK,cAAc,GAAGjB,aAAa,CAACW,YAAY,EAAEC,eAAe,CAAC;MACnE,MAAM;QAAEM,OAAO;QAAEC,IAAI;QAAE,GAAGC;MAAoB,CAAC,GAAGH,cAAc;MAEhE,OAAO;QACL,GAAGG,mBAAmB;QACtBC,UAAU,EAAEF,IAAmB;QAC/BG,mBAAmB,EAAEL,cAAc,CAACC;MACtC,CAAC;IACH,CAAC;IAED,MAAMK,iBAAiB,GACrBC,OAAsE,IACnE;MACH,IAAIA,OAAO,CAACT,IAAI,KAAK,QAAQ,EAAE;QAC7B,OAAOL,WAAW,CAACc,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC;MACzC;MAEA,IAAIF,OAAO,CAACT,IAAI,KAAK,OAAO,EAAE;QAC5B,MAAMY,QAAQ,GAAGH,OAAO,CAACI,KAAK,CAACC,KAAK,CACjCC,GAAG,CAACpB,WAAW,CAAC,CAChBqB,MAAM,CAAEf,MAAM,IAAKA,MAAM,KAAK,IAAI,CAAC;QACtC,IAAI,CAACW,QAAQ,CAACK,MAAM,EAAE;UACpB,OAAO,IAAI;QACb;QAEA,OAAO;UACLC,KAAK,EAAET,OAAO,CAACI,KAAK,CAACK,KAAK;UAC1BZ,UAAU,EAAEpB,WAAW,CAACuB,OAAO,CAACI,KAAK,CAACT,IAAI,CAAgB;UAC1DQ;QACF,CAAC;MACH;MAEA,OAAO,IAAI;IACb,CAAC;IAED,MAAMO,cAAc,GAClB,CAAA5B,qBAAqB,oBAArBA,qBAAqB,CAAE4B,cAAc,KACrCX,iBAAiB,CAACjB,qBAAqB,CAAC4B,cAAc,CAAC;IAEzD,MAAMC,gBAAgB,GACpB,CAAA7B,qBAAqB,oBAArBA,qBAAqB,CAAE6B,gBAAgB,KACvCZ,iBAAiB,CAACjB,qBAAqB,CAAC6B,gBAAgB,CAAC;IAE3D,IAAI,CAACD,cAAc,IAAI,CAACC,gBAAgB,EAAE;MACxC;IACF;IAEA,OAAO;MACLD,cAAc,EAAEA,cAAc,gBAC5BzC,KAAA,CAAA2C,aAAA,CAAClC,cAAc,EAAKgC,cAAiB,CAAC,GACpCG,SAAS;MACbF,gBAAgB,EAAEA,gBAAgB,gBAChC1C,KAAA,CAAA2C,aAAA,CAACjC,gBAAgB,EAAKgC,gBAAmB,CAAC,GACxCE;IACN,CAAC;EACH,CAAC,EAAE,CAAC/B,qBAAqB,EAAEC,GAAG,CAAC,CAAC;EAEhC,MAAMiB,OAAO,GAAG7B,OAAO,CAAC,MAAM;IAC5B,OAAO;MACLuC,cAAc,EAAEG,SAAS;MACzBF,gBAAgB,EAAEE;IACpB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IACE,EAAC/B,qBAAqB,YAArBA,qBAAqB,CAAE4B,cAAc,KACtC,EAAC5B,qBAAqB,YAArBA,qBAAqB,CAAE6B,gBAAgB,GACxC;IACA,OAAO;MAAE,GAAGX;IAAQ,CAAC;EACvB;EAEA,OAAOf,0BAA0B,CAAC,CAAC,IAAI;IAAE,GAAGe;EAAQ,CAAC;AACvD,CAAC","ignoreList":[]}
|
|
@@ -13,7 +13,6 @@ export const useCommonCollectionFeatures = _ref => {
|
|
|
13
13
|
search,
|
|
14
14
|
emptyState: emptyStateConfig,
|
|
15
15
|
collection,
|
|
16
|
-
optimisticActions,
|
|
17
16
|
collectionType,
|
|
18
17
|
entityPageId
|
|
19
18
|
} = _ref;
|
|
@@ -23,14 +22,12 @@ export const useCommonCollectionFeatures = _ref => {
|
|
|
23
22
|
const actionCell = useActionCell({
|
|
24
23
|
config: actionCellConfig,
|
|
25
24
|
collectionId: collection.collectionId,
|
|
26
|
-
optimisticActions,
|
|
27
25
|
collectionType,
|
|
28
26
|
entityPageId
|
|
29
27
|
});
|
|
30
28
|
const bulkActionToolbar = useBulkActionToolbar({
|
|
31
29
|
config: bulkActionToolbarConfig,
|
|
32
|
-
collectionId: collection.collectionId
|
|
33
|
-
optimisticActions
|
|
30
|
+
collectionId: collection.collectionId
|
|
34
31
|
});
|
|
35
32
|
const title = toolbarTitle && /*#__PURE__*/React.createElement(ToolbarTitle, {
|
|
36
33
|
title: toolbarTitle.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEmptyStates","ToolbarTitle","Box","Text","TextButton","useActionCell","useBulkActionToolbar","useCommonCollectionFeatures","_ref","_toolbarTitle$subtitl","_toolbarTitle$subtitl2","_toolbarTitle$subtitl3","_toolbarTitle$subtitl4","_toolbarTitle$subtitl5","_toolbarTitle$subtitl6","_toolbarTitle$subtitl7","actionCell","actionCellConfig","bulkActionToolbar","bulkActionToolbarConfig","toolbarTitle","search","emptyState","emptyStateConfig","collection","
|
|
1
|
+
{"version":3,"names":["React","useEmptyStates","ToolbarTitle","Box","Text","TextButton","useActionCell","useBulkActionToolbar","useCommonCollectionFeatures","_ref","_toolbarTitle$subtitl","_toolbarTitle$subtitl2","_toolbarTitle$subtitl3","_toolbarTitle$subtitl4","_toolbarTitle$subtitl5","_toolbarTitle$subtitl6","_toolbarTitle$subtitl7","actionCell","actionCellConfig","bulkActionToolbar","bulkActionToolbarConfig","toolbarTitle","search","emptyState","emptyStateConfig","collection","collectionType","entityPageId","config","collectionId","title","createElement","subtitle","text","learnMore","info","content","direction","gap","dataHook","light","size","link","underline","skin","as","rel","target","href","url","label","itemsLimit","showTotal","shown"],"sources":["../../../src/hooks/useCommonCollectionFeatures.tsx"],"sourcesContent":["import React from 'react';\nimport { useEmptyStates } from './useEmptyStates';\n\nimport { CollectionOptimisticActions, ToolbarTitle } from '@wix/patterns';\n\nimport { Box, Text, TextButton } from '@wix/design-system';\nimport { BaseCollectionComponentConfig, ComponentConfig } from '../types';\nimport { useActionCell } from './useActionCell';\nimport { useBulkActionToolbar } from './useBulkActionToolbar';\n\nexport type UseCommonCollectionFeaturesParams = Pick<\n BaseCollectionComponentConfig,\n | 'actionCell'\n | 'toolbarTitle'\n | 'search'\n | 'emptyState'\n | 'collection'\n | 'bulkActionToolbar'\n | 'entityPageId'\n> & {\n optimisticActions: CollectionOptimisticActions<any, any>;\n collectionType?: ComponentConfig['type'];\n};\n\nexport const useCommonCollectionFeatures = ({\n actionCell: actionCellConfig,\n bulkActionToolbar: bulkActionToolbarConfig,\n toolbarTitle,\n search,\n emptyState: emptyStateConfig,\n collection,\n collectionType,\n entityPageId,\n}: UseCommonCollectionFeaturesParams) => {\n const { emptyState } = useEmptyStates(emptyStateConfig);\n const actionCell = useActionCell({\n config: actionCellConfig,\n collectionId: collection.collectionId,\n collectionType,\n entityPageId,\n });\n\n const bulkActionToolbar = useBulkActionToolbar({\n config: bulkActionToolbarConfig,\n collectionId: collection.collectionId,\n });\n\n const title = toolbarTitle && (\n <ToolbarTitle\n title={toolbarTitle.title}\n subtitle={{\n text: toolbarTitle.subtitle?.text ?? '',\n learnMore: toolbarTitle.subtitle?.learnMore,\n info: toolbarTitle.subtitle?.info && {\n content: (\n <Box direction=\"vertical\" gap=\"6px\">\n <Text\n dataHook=\"toolbar-title-subtitle-info-content\"\n light\n size=\"small\"\n >\n {toolbarTitle.subtitle?.info?.content.text}\n </Text>\n {toolbarTitle.subtitle?.info?.content.link && (\n <TextButton\n dataHook=\"toolbar-title-subtitle-info-link\"\n size=\"small\"\n underline=\"always\"\n skin=\"light\"\n as=\"a\"\n rel=\"noopener\"\n target=\"_blank\"\n href={toolbarTitle.subtitle?.info?.content.link.url}\n >\n {toolbarTitle.subtitle?.info?.content.link.label}\n </TextButton>\n )}\n </Box>\n ),\n },\n }}\n itemsLimit={toolbarTitle.itemsLimit}\n showTotal={toolbarTitle.showTotal}\n />\n );\n\n return {\n search: search?.shown !== false,\n title,\n emptyState,\n actionCell,\n bulkActionToolbar,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
export const useEntityPageHeaderTexts = _ref => {
|
|
3
|
+
let {
|
|
4
|
+
config,
|
|
5
|
+
isCreateMode,
|
|
6
|
+
entityDisplayName
|
|
7
|
+
} = _ref;
|
|
8
|
+
const title = useMemo(() => {
|
|
9
|
+
if (config.title) {
|
|
10
|
+
return config.title;
|
|
11
|
+
} else {
|
|
12
|
+
return {
|
|
13
|
+
text: isCreateMode ? 'Create New Item' : entityDisplayName ?? 'Edit Item'
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}, [config.title, entityDisplayName, isCreateMode]);
|
|
17
|
+
const subtitle = useMemo(() => config.subtitle, [config.subtitle]);
|
|
18
|
+
return {
|
|
19
|
+
title,
|
|
20
|
+
subtitle
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useEntityPageHeaderTexts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useEntityPageHeaderTexts","_ref","config","isCreateMode","entityDisplayName","title","text","subtitle"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n entityDisplayName,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n entityDisplayName?: string;\n}) => {\n const title = useMemo(() => {\n if (config.title) {\n return config.title;\n } else {\n return {\n text: isCreateMode\n ? 'Create New Item'\n : entityDisplayName ?? 'Edit Item',\n };\n }\n }, [config.title, entityDisplayName, isCreateMode]);\n\n const subtitle = useMemo(() => config.subtitle, [config.subtitle]);\n\n return { title, subtitle };\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAG/B,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAQlC;EAAA,IARmC;IACvCC,MAAM;IACNC,YAAY;IACZC;EAKF,CAAC,GAAAH,IAAA;EACC,MAAMI,KAAK,GAAGN,OAAO,CAAC,MAAM;IAC1B,IAAIG,MAAM,CAACG,KAAK,EAAE;MAChB,OAAOH,MAAM,CAACG,KAAK;IACrB,CAAC,MAAM;MACL,OAAO;QACLC,IAAI,EAAEH,YAAY,GACd,iBAAiB,GACjBC,iBAAiB,IAAI;MAC3B,CAAC;IACH;EACF,CAAC,EAAE,CAACF,MAAM,CAACG,KAAK,EAAED,iBAAiB,EAAED,YAAY,CAAC,CAAC;EAEnD,MAAMI,QAAQ,GAAGR,OAAO,CAAC,MAAMG,MAAM,CAACK,QAAQ,EAAE,CAACL,MAAM,CAACK,QAAQ,CAAC,CAAC;EAElE,OAAO;IAAEF,KAAK;IAAEE;EAAS,CAAC;AAC5B,CAAC","ignoreList":[]}
|
|
@@ -57,7 +57,7 @@ export const useGridFeatures = configuration => {
|
|
|
57
57
|
disableAutoSelectAllCount,
|
|
58
58
|
selectionConsistencyMode
|
|
59
59
|
});
|
|
60
|
-
const optimisticActions = useAutoPatternsOptimisticActions(state.collection);
|
|
60
|
+
const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
|
|
61
61
|
const commonFeatures = useCommonCollectionFeatures({
|
|
62
62
|
...configuration,
|
|
63
63
|
optimisticActions,
|
|
@@ -78,6 +78,7 @@ export const useGridFeatures = configuration => {
|
|
|
78
78
|
state,
|
|
79
79
|
imagePlacement,
|
|
80
80
|
preset,
|
|
81
|
+
optimisticActions,
|
|
81
82
|
renderItem,
|
|
82
83
|
filters: filterComponent
|
|
83
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useFetchData","useGridCollection","useCommonCollectionFeatures","useFilters","useMemo","useSchema","useAutoPatternsOptimisticActions","getImageUrl","useGridFeatures","configuration","item","collection","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","titleFieldId","subtitleFieldId","imageFieldId","imagePlacement","cardContentMode","preset","filterComponent","filtersObject","filtersMapping","filters","visibleFieldIds","filter","Boolean","fetchData","collectionConfig","schema","state","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","collectionType","renderItem","id","title","subtitle","backgroundImageUrl"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useMemo } from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { item, collection } = configuration;\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = collection;\n\n const {\n titleFieldId,\n subtitleFieldId,\n imageFieldId,\n imagePlacement,\n cardContentMode: preset,\n } = item;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n\n const visibleFieldIds = useMemo(\n () =>\n [titleFieldId, subtitleFieldId, imageFieldId].filter(Boolean) as string[],\n [titleFieldId, subtitleFieldId, imageFieldId],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n const schema = useSchema();\n\n const state = useGridCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (gridItem) => gridItem[schema.idField],\n itemName: (gridItem) => gridItem[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (gridItem) => gridItem.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(state.collection);\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n collectionType: 'Grid',\n });\n\n const renderItem = useMemo(\n () => (gridItem: any) => ({\n id: gridItem[schema.idField],\n title: `${gridItem[titleFieldId]}`,\n ...(subtitleFieldId\n ? { subtitle: `${gridItem[subtitleFieldId] ?? ''}` }\n : {}),\n ...(imageFieldId\n ? { backgroundImageUrl: getImageUrl(gridItem[imageFieldId]) }\n : {}),\n }),\n [titleFieldId, subtitleFieldId, imageFieldId, schema.idField],\n );\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,iBAAiB,QAAQ,eAAe;AACjD,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AACrF,SAASC,WAAW,QAAQ,4BAA4B;AAExD,OAAO,MAAMC,eAAe,GAAIC,aAAyB,IAAK;EAC5D,MAAM;IAAEC,IAAI;IAAEC;EAAW,CAAC,GAAGF,aAAa;EAE1C,MAAM;IACJG,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGL,UAAU;EAEd,MAAM;IACJM,YAAY;IACZC,eAAe;IACfC,YAAY;IACZC,cAAc;IACdC,eAAe,EAAEC;EACnB,CAAC,GAAGZ,IAAI;EAER,MAAM;IAAEa,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGtB,UAAU,CACnEM,aAAa,CAACiB,OAChB,CAAC;EAED,MAAMC,eAAe,GAAGvB,OAAO,CAC7B,MACE,CAACa,YAAY,EAAEC,eAAe,EAAEC,YAAY,CAAC,CAACS,MAAM,CAACC,OAAO,CAAa,EAC3E,CAACZ,YAAY,EAAEC,eAAe,EAAEC,YAAY,CAC9C,CAAC;EAED,MAAM;IAAEW;EAAU,CAAC,GAAG9B,YAAY,CAAC;IACjC+B,gBAAgB,EAAEtB,aAAa,CAACE,UAAU;IAC1CgB,eAAe;IACfF;EACF,CAAC,CAAC;EACF,MAAMO,MAAM,GAAG3B,SAAS,CAAC,CAAC;EAE1B,MAAM4B,KAAK,GAAGhC,iBAAiB,CAAM;IACnCiC,SAAS,EAAE,GAAGtB,YAAY,EAAE;IAC5BuB,OAAO,EAAGC,QAAQ,IAAKA,QAAQ,CAACJ,MAAM,CAACK,OAAO,CAAC;IAC/CC,QAAQ,EAAGF,QAAQ,IAAKA,QAAQ,CAACJ,MAAM,CAACO,YAAY,CAAC;IACrDb,OAAO,EAAEF,aAAa;IACtBgB,gBAAgB,EAAGJ,QAAQ,IAAKA,QAAQ,CAACK,cAAc;IACvDC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTjB,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM8B,iBAAiB,GAAGxC,gCAAgC,
|
|
1
|
+
{"version":3,"names":["useFetchData","useGridCollection","useCommonCollectionFeatures","useFilters","useMemo","useSchema","useAutoPatternsOptimisticActions","getImageUrl","useGridFeatures","configuration","item","collection","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","titleFieldId","subtitleFieldId","imageFieldId","imagePlacement","cardContentMode","preset","filterComponent","filtersObject","filtersMapping","filters","visibleFieldIds","filter","Boolean","fetchData","collectionConfig","schema","state","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","collectionType","renderItem","id","title","subtitle","backgroundImageUrl"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useMemo } from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { item, collection } = configuration;\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = collection;\n\n const {\n titleFieldId,\n subtitleFieldId,\n imageFieldId,\n imagePlacement,\n cardContentMode: preset,\n } = item;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n\n const visibleFieldIds = useMemo(\n () =>\n [titleFieldId, subtitleFieldId, imageFieldId].filter(Boolean) as string[],\n [titleFieldId, subtitleFieldId, imageFieldId],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n const schema = useSchema();\n\n const state = useGridCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (gridItem) => gridItem[schema.idField],\n itemName: (gridItem) => gridItem[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (gridItem) => gridItem.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n collectionType: 'Grid',\n });\n\n const renderItem = useMemo(\n () => (gridItem: any) => ({\n id: gridItem[schema.idField],\n title: `${gridItem[titleFieldId]}`,\n ...(subtitleFieldId\n ? { subtitle: `${gridItem[subtitleFieldId] ?? ''}` }\n : {}),\n ...(imageFieldId\n ? { backgroundImageUrl: getImageUrl(gridItem[imageFieldId]) }\n : {}),\n }),\n [titleFieldId, subtitleFieldId, imageFieldId, schema.idField],\n );\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n optimisticActions,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { usePatternsNavigate } from '@wix/patterns';
|
|
3
|
-
import { useAppConfigContext,
|
|
3
|
+
import { useAppConfigContext, useSchemaRegistry } from '../providers';
|
|
4
4
|
import { generatePath } from 'react-router-dom';
|
|
5
5
|
import { usePagePath } from './usePagePath';
|
|
6
6
|
export const useNavigation = () => {
|
|
@@ -8,7 +8,9 @@ export const useNavigation = () => {
|
|
|
8
8
|
navigateToEntityPage: navigateToEntityPagePatterns
|
|
9
9
|
} = usePatternsNavigate();
|
|
10
10
|
const appConfig = useAppConfigContext();
|
|
11
|
-
const
|
|
11
|
+
const {
|
|
12
|
+
getSchema
|
|
13
|
+
} = useSchemaRegistry();
|
|
12
14
|
const {
|
|
13
15
|
getPagePath
|
|
14
16
|
} = usePagePath(appConfig);
|
|
@@ -23,18 +25,20 @@ export const useNavigation = () => {
|
|
|
23
25
|
return;
|
|
24
26
|
}
|
|
25
27
|
const {
|
|
26
|
-
route
|
|
28
|
+
route,
|
|
29
|
+
collectionId
|
|
27
30
|
} = entityPage.entityPage;
|
|
28
|
-
|
|
31
|
+
const schema = getSchema(collectionId);
|
|
32
|
+
if (route.path && (_route$params = route.params) != null && _route$params.id && schema) {
|
|
29
33
|
const path = generatePath(route.path, {
|
|
30
|
-
[route.params.id]: item[schema.idField]
|
|
34
|
+
[route.params.id]: (item == null ? void 0 : item[schema.idField]) ?? ''
|
|
31
35
|
});
|
|
32
36
|
navigateToEntityPagePatterns({
|
|
33
37
|
path,
|
|
34
38
|
entity: item
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
|
-
}, [appConfig, navigateToEntityPagePatterns,
|
|
41
|
+
}, [appConfig, navigateToEntityPagePatterns, getSchema]);
|
|
38
42
|
const getParentPagePath = useCallback(parentPageId => {
|
|
39
43
|
return getPagePath(parentPageId);
|
|
40
44
|
}, [getPagePath]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","
|
|
1
|
+
{"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","appConfig","getSchema","getPagePath","_ref","_route$params","item","entityPageId","entityPage","pages","find","page","id","route","collectionId","schema","path","params","idField","entity","getParentPagePath","parentPageId"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const { navigateToEntityPage: navigateToEntityPagePatterns } =\n usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,cAAc;AACrE,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,WAAW,QAAQ,eAAe;AAO3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC,oBAAoB,EAAEC;EAA6B,CAAC,GAC1DP,mBAAmB,CAAC,CAAC;EACvB,MAAMQ,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEQ;EAAU,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACzC,MAAM;IAAEQ;EAAY,CAAC,GAAGN,WAAW,CAACI,SAAS,CAAC;EAE9C,MAAMF,oBAAoB,GAAGP,WAAW,CACtCY,IAAA,IAA4B;IAAA,IAAAC,aAAA;IAAA,IAA3B;MAAEC,IAAI;MAAEC;IAAa,CAAC,GAAAH,IAAA;IACrB,MAAMI,UAAU,GAAGD,YAAY,GAC3BN,SAAS,CAACQ,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGb,SAAS,CAACY,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,KAAAX,aAAA,GAAIQ,KAAK,CAACI,MAAM,aAAZZ,aAAA,CAAcO,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAGpB,YAAY,CAACiB,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAG,CAAAN,IAAI,oBAAJA,IAAI,CAAGS,MAAM,CAACG,OAAO,CAAC,KAAI;MAC/C,CAAC,CAAC;MACFlB,4BAA4B,CAAC;QAC3BgB,IAAI;QACJG,MAAM,EAAEb;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACL,SAAS,EAAED,4BAA4B,EAAEE,SAAS,CACrD,CAAC;EAED,MAAMkB,iBAAiB,GAAG5B,WAAW,CAClC6B,YAAqB,IAAyB;IAC7C,OAAOlB,WAAW,CAACkB,YAAY,CAAC;EAClC,CAAC,EACD,CAAClB,WAAW,CACd,CAAC;EAED,OAAO;IACLJ,oBAAoB;IACpBqB,iBAAiB;IACjBjB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -48,7 +48,7 @@ export const useTableFeatures = configuration => {
|
|
|
48
48
|
disableAutoSelectAllCount,
|
|
49
49
|
selectionConsistencyMode
|
|
50
50
|
});
|
|
51
|
-
const optimisticActions = useAutoPatternsOptimisticActions(state.collection);
|
|
51
|
+
const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
|
|
52
52
|
const commonFeatures = useCommonCollectionFeatures({
|
|
53
53
|
...configuration,
|
|
54
54
|
optimisticActions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useColumns","useFetchData","CustomColumns","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","filters","columns","visibleFieldIds","map","column","id","fetchData","collectionConfig","schema","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(state.collection);\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AAErF,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGN,aAAa,CAACO,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGd,UAAU,CACnEI,aAAa,CAACW,OAChB,CAAC;EACD,MAAMC,OAAO,GAAGrB,UAAU,CAACS,aAAa,CAACY,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGvB,OAAO,CAC7B,MAAMU,aAAa,CAACY,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAAChB,aAAa,CAChB,CAAC;EAED,MAAM;IAAEiB;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,gBAAgB,EAAElB,aAAa,CAACO,UAAU;IAC1CM,eAAe;IACfH;EACF,CAAC,CAAC;EAEF,MAAMS,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAE1B,MAAMuB,KAAK,GAAG1B,kBAAkB,CAAM;IACpC2B,SAAS,EAAE,GAAGnB,YAAY,EAAE;IAC5BoB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACK,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACO,YAAY,CAAC;IAC7Cf,OAAO,EAAEF,aAAa;IACtBkB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTd,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM2B,iBAAiB,GAAGnC,gCAAgC,
|
|
1
|
+
{"version":3,"names":["React","useMemo","useColumns","useFetchData","CustomColumns","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","filters","columns","visibleFieldIds","map","column","id","fetchData","collectionConfig","schema","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AAErF,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGN,aAAa,CAACO,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGd,UAAU,CACnEI,aAAa,CAACW,OAChB,CAAC;EACD,MAAMC,OAAO,GAAGrB,UAAU,CAACS,aAAa,CAACY,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGvB,OAAO,CAC7B,MAAMU,aAAa,CAACY,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAAChB,aAAa,CAChB,CAAC;EAED,MAAM;IAAEiB;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,gBAAgB,EAAElB,aAAa,CAACO,UAAU;IAC1CM,eAAe;IACfH;EACF,CAAC,CAAC;EAEF,MAAMS,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAE1B,MAAMuB,KAAK,GAAG1B,kBAAkB,CAAM;IACpC2B,SAAS,EAAE,GAAGnB,YAAY,EAAE;IAC5BoB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACK,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACO,YAAY,CAAC;IAC7Cf,OAAO,EAAEF,aAAa;IACtBkB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTd,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM2B,iBAAiB,GAAGnC,gCAAgC,CACxDI,YAAY,EACZkB,KAAK,CAACb,UACR,CAAC;EAED,MAAM2B,cAAc,GAAGvC,2BAA2B,CAAC;IACjD,GAAGK,aAAa;IAChBiC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGC,cAAc;IACjBd,KAAK;IACLR,OAAO;IACPD,OAAO,EAAEH,eAAe;IACxByB,iBAAiB;IACjBE,aAAa,EAAE,CAAAlC,qBAAA,GAAAD,aAAa,CAACmC,aAAa,aAA3BlC,qBAAA,CAA6BmC,OAAO,gBACjD/C,KAAA,CAAAgD,aAAA,CAAC5C,aAAa,MAAE,CAAC,GACf6C;EACN,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React, { createContext, useCallback, useContext, useState } from 'react';
|
|
2
|
+
const OptimisticActionsContext = /*#__PURE__*/createContext(undefined);
|
|
3
|
+
export const OptimisticActionsProvider = _ref => {
|
|
4
|
+
let {
|
|
5
|
+
children
|
|
6
|
+
} = _ref;
|
|
7
|
+
const [optimisticActionsMap, setOptimisticActionsMap] = useState({});
|
|
8
|
+
const registerOptimisticActions = useCallback((collectionId, actions) => {
|
|
9
|
+
setOptimisticActionsMap(prev => ({
|
|
10
|
+
...prev,
|
|
11
|
+
[collectionId]: actions
|
|
12
|
+
}));
|
|
13
|
+
}, []);
|
|
14
|
+
const getOptimisticActions = useCallback(collectionId => optimisticActionsMap[collectionId], [optimisticActionsMap]);
|
|
15
|
+
return /*#__PURE__*/React.createElement(OptimisticActionsContext.Provider, {
|
|
16
|
+
value: {
|
|
17
|
+
registerOptimisticActions,
|
|
18
|
+
getOptimisticActions
|
|
19
|
+
}
|
|
20
|
+
}, children);
|
|
21
|
+
};
|
|
22
|
+
export const useOptimisticActionsContext = () => {
|
|
23
|
+
const context = useContext(OptimisticActionsContext);
|
|
24
|
+
if (!context) {
|
|
25
|
+
throw new Error('useOptimisticActionsContext must be used within an OptimisticActionsProvider');
|
|
26
|
+
}
|
|
27
|
+
return context;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=OptimisticActionsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useState","OptimisticActionsContext","undefined","OptimisticActionsProvider","_ref","children","optimisticActionsMap","setOptimisticActionsMap","registerOptimisticActions","collectionId","actions","prev","getOptimisticActions","createElement","Provider","value","useOptimisticActionsContext","context","Error"],"sources":["../../../src/providers/OptimisticActionsContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useState } from 'react';\nimport { CollectionOptimisticActions } from '@wix/patterns';\n\ninterface OptimisticActionsContextValue {\n registerOptimisticActions: (\n collectionId: string,\n actions: CollectionOptimisticActions<any, any>,\n ) => void;\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nconst OptimisticActionsContext = createContext<\n OptimisticActionsContextValue | undefined\n>(undefined);\n\nexport const OptimisticActionsProvider: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const [optimisticActionsMap, setOptimisticActionsMap] = useState<\n Record<string, CollectionOptimisticActions<any, any>>\n >({});\n\n const registerOptimisticActions = useCallback(\n (collectionId: string, actions: CollectionOptimisticActions<any, any>) => {\n setOptimisticActionsMap((prev) => ({\n ...prev,\n [collectionId]: actions,\n }));\n },\n [],\n );\n\n const getOptimisticActions = useCallback(\n (collectionId: string) => optimisticActionsMap[collectionId],\n [optimisticActionsMap],\n );\n\n return (\n <OptimisticActionsContext.Provider\n value={{ registerOptimisticActions, getOptimisticActions }}\n >\n {children}\n </OptimisticActionsContext.Provider>\n );\n};\n\nexport const useOptimisticActionsContext = () => {\n const context = useContext(OptimisticActionsContext);\n if (!context) {\n throw new Error(\n 'useOptimisticActionsContext must be used within an OptimisticActionsProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAa/E,MAAMC,wBAAwB,gBAAGJ,aAAa,CAE5CK,SAAS,CAAC;AAEZ,OAAO,MAAMC,yBAEX,GAAGC,IAAA,IAAkB;EAAA,IAAjB;IAAEC;EAAS,CAAC,GAAAD,IAAA;EAChB,MAAM,CAACE,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGP,QAAQ,CAE9D,CAAC,CAAC,CAAC;EAEL,MAAMQ,yBAAyB,GAAGV,WAAW,CAC3C,CAACW,YAAoB,EAAEC,OAA8C,KAAK;IACxEH,uBAAuB,CAAEI,IAAI,KAAM;MACjC,GAAGA,IAAI;MACP,CAACF,YAAY,GAAGC;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,MAAME,oBAAoB,GAAGd,WAAW,CACrCW,YAAoB,IAAKH,oBAAoB,CAACG,YAAY,CAAC,EAC5D,CAACH,oBAAoB,CACvB,CAAC;EAED,oBACEV,KAAA,CAAAiB,aAAA,CAACZ,wBAAwB,CAACa,QAAQ;IAChCC,KAAK,EAAE;MAAEP,yBAAyB;MAAEI;IAAqB;EAAE,GAE1DP,QACgC,CAAC;AAExC,CAAC;AAED,OAAO,MAAMW,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,OAAO,GAAGlB,UAAU,CAACE,wBAAwB,CAAC;EACpD,IAAI,CAACgB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport { CustomComponentProps, IColumnValue } from '../types';\nimport { CollectionConfig } from '@wix/patterns';\nimport { CustomActionParams, ResolvedAction } from '../utils/actions/types';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: CustomActionParams) => ResolvedAction>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAenE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { AppConfigProvider } from './AppConfigContext';
|
|
3
3
|
import { ModalProvider } from './ModalContext';
|
|
4
4
|
import { SchemaRegistryProvider } from './SchemaRegistryContext';
|
|
5
|
+
import { OptimisticActionsProvider } from './OptimisticActionsContext';
|
|
5
6
|
export const RootAppProvider = _ref => {
|
|
6
7
|
let {
|
|
7
8
|
appConfig,
|
|
@@ -9,6 +10,6 @@ export const RootAppProvider = _ref => {
|
|
|
9
10
|
} = _ref;
|
|
10
11
|
return /*#__PURE__*/React.createElement(AppConfigProvider, {
|
|
11
12
|
appConfig: appConfig
|
|
12
|
-
}, /*#__PURE__*/React.createElement(SchemaRegistryProvider, null, /*#__PURE__*/React.createElement(ModalProvider, null, children)));
|
|
13
|
+
}, /*#__PURE__*/React.createElement(SchemaRegistryProvider, null, /*#__PURE__*/React.createElement(OptimisticActionsProvider, null, /*#__PURE__*/React.createElement(ModalProvider, null, children))));
|
|
13
14
|
};
|
|
14
15
|
//# sourceMappingURL=RootAppProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","AppConfigProvider","ModalProvider","SchemaRegistryProvider","RootAppProvider","_ref","appConfig","children","createElement"],"sources":["../../../src/providers/RootAppProvider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { AppConfig } from '../types';\nimport { AppConfigProvider } from './AppConfigContext';\nimport { ModalProvider } from './ModalContext';\nimport { SchemaRegistryProvider } from './SchemaRegistryContext';\n\nexport const RootAppProvider = ({\n appConfig,\n children,\n}: {\n appConfig: AppConfig;\n children: ReactNode;\n}) => {\n return (\n <AppConfigProvider appConfig={appConfig}>\n <SchemaRegistryProvider>\n <ModalProvider>{children}</ModalProvider>\n </SchemaRegistryProvider>\n </AppConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AAExC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,sBAAsB,QAAQ,yBAAyB;
|
|
1
|
+
{"version":3,"names":["React","AppConfigProvider","ModalProvider","SchemaRegistryProvider","OptimisticActionsProvider","RootAppProvider","_ref","appConfig","children","createElement"],"sources":["../../../src/providers/RootAppProvider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { AppConfig } from '../types';\nimport { AppConfigProvider } from './AppConfigContext';\nimport { ModalProvider } from './ModalContext';\nimport { SchemaRegistryProvider } from './SchemaRegistryContext';\nimport { OptimisticActionsProvider } from './OptimisticActionsContext';\n\nexport const RootAppProvider = ({\n appConfig,\n children,\n}: {\n appConfig: AppConfig;\n children: ReactNode;\n}) => {\n return (\n <AppConfigProvider appConfig={appConfig}>\n <SchemaRegistryProvider>\n <OptimisticActionsProvider>\n <ModalProvider>{children}</ModalProvider>\n </OptimisticActionsProvider>\n </SchemaRegistryProvider>\n </AppConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AAExC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,sBAAsB,QAAQ,yBAAyB;AAChE,SAASC,yBAAyB,QAAQ,4BAA4B;AAEtE,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAMzB;EAAA,IAN0B;IAC9BC,SAAS;IACTC;EAIF,CAAC,GAAAF,IAAA;EACC,oBACEN,KAAA,CAAAS,aAAA,CAACR,iBAAiB;IAACM,SAAS,EAAEA;EAAU,gBACtCP,KAAA,CAAAS,aAAA,CAACN,sBAAsB,qBACrBH,KAAA,CAAAS,aAAA,CAACL,yBAAyB,qBACxBJ,KAAA,CAAAS,aAAA,CAACP,aAAa,QAAEM,QAAwB,CACf,CACL,CACP,CAAC;AAExB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/types/BaseSDK.ts"],"sourcesContent":["import { ModalId } from '../providers/ModalContext';\nimport { PatternsWizardOverridesContextProps } from '../providers';\nimport { AppConfig } from './types';\nimport { NavigateToEntityPageFunc } from '../hooks';\n\nexport interface BaseSDK {\n appConfig: AppConfig;\n openModal: (id: ModalId, props?: Record<string, any>) => void;\n closeModal: () => void;\n overrides?: PatternsWizardOverridesContextProps;\n navigateToEntityPage?: NavigateToEntityPageFunc;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {
|
|
1
|
+
{"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n}\n\nexport interface CollectionConfig extends BaseCollectionConfig {\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":"AA2IA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n icon?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n icon?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface ActionModalWithFields extends BaseActionModal {\n fields: ActionModalField[];\n}\n\nexport interface UpdateActionModal extends ActionModalWithFields {}\n\nexport interface CreateActionModal extends ActionModalWithFields {}\n\nexport interface UpdateActionPage extends BaseActionPage {}\n\nexport interface CreateActionPage extends BaseActionPage {}\n\nexport type UpdateAction = {\n mode: 'page';\n page: UpdateActionPage;\n};\n\nexport type CreateAction = {\n mode: 'page';\n page: CreateActionPage;\n};\n\nexport type CreateActionConfig = BaseActionItemConfig & {\n type: 'create';\n create: CreateAction;\n};\n\nexport type UpdateActionConfig = BaseActionItemConfig & {\n type: 'update';\n update: UpdateAction;\n};\n\nexport type DeleteActionConfig = BaseActionItemConfig & {\n type: 'delete';\n delete: DeleteAction;\n};\n\nexport type BulkDeleteActionConfig = BaseActionItemConfig & {\n type: 'bulkDelete';\n bulkDelete: BulkDeleteAction;\n};\n\nexport type CustomModalActionConfig = BaseActionItemConfig & {\n type: 'customModal';\n customModal: CustomModalAction;\n};\n\nexport type CustomActionConfig = BaseActionItemConfig & {\n type: 'custom';\n custom: CustomAction;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/types/actions/collectionPageActions.ts"],"sourcesContent":["import {\n CreateActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n} from './base';\n\nexport type CollectionPageActionConfig = (\n | CreateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n) & {\n collection: {\n collectionId: string;\n entityTypeSource: 'cms';\n };\n};\n\ntype CollectionPageSingleAction = {\n type: 'single';\n single: {\n item: CollectionPageActionConfig;\n };\n multi?: never;\n};\n\ntype CollectionPageMultiAction = {\n type: 'multi';\n multi: {\n label: string;\n icon?: string;\n items: CollectionPageActionConfig[];\n };\n single?: never;\n};\n\nexport type CollectionPagePrimaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n\nexport type CollectionPageSecondaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/types/actions/index.ts"],"sourcesContent":["export * from './base';\nexport * from './actionCell';\nexport * from './bulkActions';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,eAAe","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/types/actions/index.ts"],"sourcesContent":["export * from './base';\nexport * from './actionCell';\nexport * from './bulkActions';\nexport * from './collectionPageActions';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,eAAe;AAC7B,cAAc,yBAAyB","ignoreList":[]}
|
package/dist/esm/types/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './types';\nexport * from './CollectionPageConfig';\nexport * from './EntityPageConfig';\nexport * from './actions';\nexport * from '../utils/actions/types';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,wBAAwB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './types';\nexport * from './CollectionPageConfig';\nexport * from './EntityPageConfig';\nexport * from './actions';\nexport * from '../utils/actions/types';\nexport * from './BaseSDK';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,wBAAwB;AACtC,cAAc,WAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/types/types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/types/types.ts"],"sourcesContent":["import { EntityPageConfig } from './EntityPageConfig';\nimport { CollectionPageConfig } from './CollectionPageConfig';\n\nexport interface BaseCollectionConfig {\n collectionId: string;\n entityTypeSource: 'cms';\n}\n\nexport type PatternsFieldType =\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'URL'\n | 'ARRAY'\n | 'REFERENCE'\n | 'IMAGE';\n\nexport interface AppConfig {\n pages: PageConfig[];\n}\n\nexport interface BasePageConfig {\n id: string;\n appMainPage?: boolean;\n}\n\nexport interface CollectionPageConfigType extends BasePageConfig {\n type: 'collectionPage';\n collectionPage: CollectionPageConfig;\n entityPage?: never;\n}\n\nexport interface EntityPageConfigType extends BasePageConfig {\n type: 'entityPage';\n entityPage: EntityPageConfig;\n collectionPage?: never;\n}\n\nexport type PageConfig = CollectionPageConfigType | EntityPageConfigType;\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = any> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\ninterface BaseField {\n id: string;\n displayName: string;\n validation?: {\n numberRange?: NumberRange;\n stringLengthRange?: StringLengthRange;\n required: boolean;\n };\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\nexport interface ReferenceField extends BaseField {\n type: 'REFERENCE';\n referenceMetadata: {\n referencedCollectionId: string;\n };\n}\n\nexport interface NonReferenceField extends BaseField {\n type: Exclude<PatternsFieldType, 'REFERENCE'>;\n}\n\nexport type Field = ReferenceField | NonReferenceField;\n\nexport interface NumberRange {\n min?: number;\n max?: number;\n}\nexport interface StringLengthRange {\n minLength?: number;\n maxLength?: number;\n}\n\nexport interface SchemaConfig {\n id: string;\n fields: Record<string, Field | undefined>;\n displayField: string;\n idField: string;\n imageField?: string;\n actions: {\n get: (entityId: string) => Promise<any>;\n create: (newEntity: Partial<any>) => Promise<any>;\n update: (updatedEntity: any) => Promise<any>;\n delete: (entityId: string) => Promise<any>;\n bulkDelete: (entityIds: string[]) => Promise<any>;\n };\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export const bulkDeleteAction = params => {
|
|
2
2
|
const {
|
|
3
3
|
action,
|
|
4
|
-
|
|
4
|
+
sdk,
|
|
5
5
|
actionParams
|
|
6
6
|
} = params;
|
|
7
7
|
return {
|
|
8
8
|
onClick: () => {
|
|
9
9
|
if (action.bulkDelete.mode === 'modal') {
|
|
10
|
-
|
|
10
|
+
sdk.openModal('BulkDeleteModal', {
|
|
11
11
|
modalParams: action.bulkDelete.modal,
|
|
12
12
|
actionParams,
|
|
13
|
-
|
|
13
|
+
sdk
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["bulkDeleteAction","params","action","
|
|
1
|
+
{"version":3,"names":["bulkDeleteAction","params","action","sdk","actionParams","onClick","bulkDelete","mode","openModal","modalParams","modal","label","icon"],"sources":["../../../../src/utils/actions/bulkDeleteAction.ts"],"sourcesContent":["import { BulkDeleteActionParams } from './types';\n\nexport const bulkDeleteAction = (params: BulkDeleteActionParams) => {\n const { action, sdk, actionParams } = params;\n return {\n onClick: () => {\n if (action.bulkDelete.mode === 'modal') {\n sdk.openModal('BulkDeleteModal', {\n modalParams: action.bulkDelete.modal,\n actionParams,\n sdk,\n });\n }\n },\n label: 'Delete',\n icon: 'Delete',\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,GAAIC,MAA8B,IAAK;EAClE,MAAM;IAAEC,MAAM;IAAEC,GAAG;IAAEC;EAAa,CAAC,GAAGH,MAAM;EAC5C,OAAO;IACLI,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIH,MAAM,CAACI,UAAU,CAACC,IAAI,KAAK,OAAO,EAAE;QACtCJ,GAAG,CAACK,SAAS,CAAC,iBAAiB,EAAE;UAC/BC,WAAW,EAAEP,MAAM,CAACI,UAAU,CAACI,KAAK;UACpCN,YAAY;UACZD;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IACDQ,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE;EACR,CAAC;AACH,CAAC","ignoreList":[]}
|