@wix/auto-patterns 1.23.0 → 1.25.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/AutoPatternsEntityPage/AutoPatternsEntityPage.js +12 -323
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +172 -0
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +78 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +119 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +79 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js +16 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +77 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +109 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +198 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/index.js +12 -0
- package/dist/cjs/components/AutoPatternsEntityPage/index.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/useActionCell.js +2 -1
- package/dist/cjs/hooks/useActionCell.js.map +1 -1
- package/dist/cjs/hooks/useBulkActionToolbar.js +2 -1
- package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
- package/dist/cjs/hooks/useCollectionPageActions.js +2 -1
- package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -1
- package/dist/cjs/hooks/useEntityPageActions.js +106 -0
- package/dist/cjs/hooks/useEntityPageActions.js.map +1 -0
- package/dist/cjs/hooks/useEntityPageMoreActions.js +11 -1
- package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
- package/dist/cjs/hooks/useNavigateEditEntityAction.js +50 -0
- package/dist/cjs/hooks/useNavigateEditEntityAction.js.map +1 -0
- package/dist/cjs/hooks/useNavigationUtils.js +12 -1
- package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
- package/dist/cjs/providers/ErrorContext.js +6 -3
- package/dist/cjs/providers/ErrorContext.js.map +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/types/EntityPageConfig.js.map +1 -1
- package/dist/cjs/types/actions/actionCell.js.map +1 -1
- package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
- package/dist/cjs/utils/actions/types.js.map +1 -1
- package/dist/docs/action_cell.md +11 -6
- package/dist/docs/app_config_structure.md +49 -4
- package/dist/docs/auto-patterns-guide.md +311 -43
- package/dist/docs/bulk_actions.md +7 -2
- package/dist/docs/collection_page_actions.md +14 -4
- package/dist/docs/entity_page.md +65 -1
- package/dist/docs/entity_page_actions.md +13 -11
- package/dist/docs/entity_page_view_actions.md +137 -0
- package/dist/docs/index.md +6 -2
- package/dist/docs/pages_configuration.md +1 -11
- package/dist/docs/sdk_utilities.md +11 -4
- package/dist/docs/wix_fqdn_custom_data_source.md +25 -5
- package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +4 -3
- package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +2 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +9 -196
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +115 -0
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +10 -6
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +23 -16
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +3 -2
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +9 -6
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +8 -6
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +10 -8
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +12 -10
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +8 -6
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +33 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +70 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +48 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js +3 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js +7 -4
- package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +31 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +66 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +111 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/index.js +2 -0
- package/dist/esm/components/AutoPatternsEntityPage/index.js.map +1 -1
- package/dist/esm/components/ModalRenderer.js +2 -1
- package/dist/esm/components/ModalRenderer.js.map +1 -1
- package/dist/esm/components/modals/actions/BulkDeleteModal.js +12 -7
- package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
- package/dist/esm/components/modals/actions/CreateModal.js +11 -6
- package/dist/esm/components/modals/actions/CreateModal.js.map +1 -1
- package/dist/esm/components/modals/actions/EditModal.js +11 -6
- package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +6 -4
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/filterUtils.js +2 -1
- 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/hooks/useActionCell.js +14 -9
- package/dist/esm/hooks/useActionCell.js.map +1 -1
- package/dist/esm/hooks/useBaseTableFeatures.js +2 -1
- package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
- package/dist/esm/hooks/useBulkActionToolbar.js +4 -3
- package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
- package/dist/esm/hooks/useCollectionPageActions.js +5 -4
- package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
- package/dist/esm/hooks/useCollectionPageOnRowClickActions.js +1 -1
- package/dist/esm/hooks/useCollectionPageOnRowClickActions.js.map +1 -1
- package/dist/esm/hooks/useColumns.js +12 -7
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useCommonCollectionFeatures.js +8 -7
- package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/esm/hooks/useEmptyStates.js +6 -5
- package/dist/esm/hooks/useEmptyStates.js.map +1 -1
- package/dist/esm/hooks/useEntityPageActions.js +83 -0
- package/dist/esm/hooks/useEntityPageActions.js.map +1 -0
- package/dist/esm/hooks/useEntityPageMoreActions.js +12 -2
- package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
- package/dist/esm/hooks/useFilters.js +7 -7
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useNavigateEditEntityAction.js +46 -0
- package/dist/esm/hooks/useNavigateEditEntityAction.js.map +1 -0
- package/dist/esm/hooks/useNavigationUtils.js +15 -3
- package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
- package/dist/esm/hooks/usePagePath.js +4 -3
- package/dist/esm/hooks/usePagePath.js.map +1 -1
- package/dist/esm/hooks/useTableFeatures.js +2 -1
- package/dist/esm/hooks/useTableFeatures.js.map +1 -1
- package/dist/esm/providers/ErrorContext.js +4 -1
- package/dist/esm/providers/ErrorContext.js.map +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/providers/SchemaContext.js +3 -2
- package/dist/esm/providers/SchemaContext.js.map +1 -1
- package/dist/esm/providers/SchemaRegistryContext.js +1 -1
- package/dist/esm/providers/SchemaRegistryContext.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/entityPageActions.js.map +1 -1
- package/dist/esm/utils/actions/customAction.js +2 -1
- package/dist/esm/utils/actions/customAction.js.map +1 -1
- package/dist/esm/utils/actions/deleteAction.js +10 -5
- package/dist/esm/utils/actions/deleteAction.js.map +1 -1
- package/dist/esm/utils/actions/types.js.map +1 -1
- package/dist/esm/utils/filterCreators.js +11 -11
- package/dist/esm/utils/filterCreators.js.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts +6 -0
- package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts +11 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts +13 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts +3 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/index.d.ts +2 -0
- package/dist/types/components/AutoPatternsEntityPage/index.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
- package/dist/types/hooks/useActionCell.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageActions.d.ts +9 -0
- package/dist/types/hooks/useEntityPageActions.d.ts.map +1 -0
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageMoreActions.d.ts +2 -2
- package/dist/types/hooks/useEntityPageMoreActions.d.ts.map +1 -1
- package/dist/types/hooks/useNavigateEditEntityAction.d.ts +6 -0
- package/dist/types/hooks/useNavigateEditEntityAction.d.ts.map +1 -0
- package/dist/types/hooks/useNavigationUtils.d.ts +1 -0
- package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
- package/dist/types/providers/ErrorContext.d.ts +7 -0
- package/dist/types/providers/ErrorContext.d.ts.map +1 -1
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -2
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/types/EntityPageConfig.d.ts +20 -4
- package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
- package/dist/types/types/actions/actionCell.d.ts +7 -1
- package/dist/types/types/actions/actionCell.d.ts.map +1 -1
- package/dist/types/types/actions/entityPageActions.d.ts +24 -5
- package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
- package/dist/types/utils/actions/customAction.d.ts +1 -1
- package/dist/types/utils/actions/customAction.d.ts.map +1 -1
- package/dist/types/utils/actions/resolveAction.d.ts +1 -0
- package/dist/types/utils/actions/resolveAction.d.ts.map +1 -1
- package/dist/types/utils/actions/types.d.ts +2 -1
- package/dist/types/utils/actions/types.d.ts.map +1 -1
- package/package.json +16 -15
- package/dist/docs/config_schema.md +0 -184
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Box","CustomModalLayout","Modal","Text","React","BulkDeleteModal","_ref","sdk","modalParams","actionParams","getOptimisticActions","collectionId","closeModal","optimisticActions","createElement","isOpen","onRequestClose","title","text","theme","onCloseButtonClick","primaryButtonOnClick","schema","getSchema","Error","selectedIds","selectedValues","map","value","idField","deleteMany","successToast","feedback","errorToast","submit","result","actions","bulkDelete","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","description"],"sources":["../../../../../src/components/modals/actions/BulkDeleteModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Modal, Text } from '@wix/design-system';\nimport React from 'react';\nimport { BulkActionsActionParams, BulkDeleteActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface BulkDeleteModalProps extends ActionModalProps {\n modalParams: BulkDeleteActionModal;\n actionParams: BulkActionsActionParams;\n}\n\nexport const BulkDeleteModal = ({\n sdk,\n modalParams,\n actionParams,\n}: BulkDeleteModalProps) => {\n const { getOptimisticActions, collectionId, closeModal } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Delete item?'}\n theme=\"destructive\"\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n const selectedIds = actionParams.selectedValues.map(\n (value) => value[schema.idField],\n );\n optimisticActions?.deleteMany(actionParams.selectedValues, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Items deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text ||\n 'Failed to delete items',\n submit: async () => {\n const result = await schema.actions.bulkDelete(selectedIds);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n <Box>\n <Text>\n {modalParams.description?.text || 'This items will be deleted'}\n </Text>\n </Box>\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,iBAAiB,EAAEC,KAAK,EAAEC,IAAI,QAAQ,oBAAoB;AACxE,OAAOC,KAAK,MAAM,OAAO;AASzB,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAIH;EAAA,IAJI;IAC9BC,GAAG;IACHC,WAAW;IACXC;EACoB,CAAC,
|
|
1
|
+
{"version":3,"names":["Box","CustomModalLayout","Modal","Text","React","BulkDeleteModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","_modalParams$descript","sdk","modalParams","actionParams","getOptimisticActions","collectionId","closeModal","optimisticActions","createElement","isOpen","onRequestClose","title","text","theme","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","Error","selectedIds","selectedValues","map","value","idField","deleteMany","successToast","feedback","errorToast","_modalParams$feedback2","submit","result","actions","bulkDelete","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","description"],"sources":["../../../../../src/components/modals/actions/BulkDeleteModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Modal, Text } from '@wix/design-system';\nimport React from 'react';\nimport { BulkActionsActionParams, BulkDeleteActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface BulkDeleteModalProps extends ActionModalProps {\n modalParams: BulkDeleteActionModal;\n actionParams: BulkActionsActionParams;\n}\n\nexport const BulkDeleteModal = ({\n sdk,\n modalParams,\n actionParams,\n}: BulkDeleteModalProps) => {\n const { getOptimisticActions, collectionId, closeModal } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Delete item?'}\n theme=\"destructive\"\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n const selectedIds = actionParams.selectedValues.map(\n (value) => value[schema.idField],\n );\n optimisticActions?.deleteMany(actionParams.selectedValues, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Items deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text ||\n 'Failed to delete items',\n submit: async () => {\n const result = await schema.actions.bulkDelete(selectedIds);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n <Box>\n <Text>\n {modalParams.description?.text || 'This items will be deleted'}\n </Text>\n </Box>\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
export const CreateModal = _ref => {
|
|
4
|
+
var _modalParams$title, _modalParams$actions, _modalParams$actions2;
|
|
4
5
|
let {
|
|
5
6
|
sdk,
|
|
6
7
|
modalParams
|
|
@@ -21,18 +22,22 @@ export const CreateModal = _ref => {
|
|
|
21
22
|
isOpen: true,
|
|
22
23
|
onRequestClose: closeModal
|
|
23
24
|
}, /*#__PURE__*/React.createElement(CustomModalLayout, {
|
|
24
|
-
title: modalParams.title
|
|
25
|
+
title: ((_modalParams$title = modalParams.title) == null ? void 0 : _modalParams$title.text) || 'Create',
|
|
25
26
|
onCloseButtonClick: () => {
|
|
26
27
|
closeModal();
|
|
27
28
|
},
|
|
28
29
|
primaryButtonOnClick: () => {
|
|
30
|
+
var _modalParams$feedback;
|
|
29
31
|
const schema = sdk.getSchema(sdk.collectionId);
|
|
30
32
|
const createdItem = {
|
|
31
33
|
...values
|
|
32
34
|
};
|
|
33
|
-
optimisticActions
|
|
34
|
-
successToast: modalParams.feedback
|
|
35
|
-
errorToast: () =>
|
|
35
|
+
optimisticActions == null || optimisticActions.createOne(createdItem, {
|
|
36
|
+
successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item created successfully',
|
|
37
|
+
errorToast: () => {
|
|
38
|
+
var _modalParams$feedback2;
|
|
39
|
+
return ((_modalParams$feedback2 = modalParams.feedback) == null || (_modalParams$feedback2 = _modalParams$feedback2.errorToast) == null ? void 0 : _modalParams$feedback2.text) || 'Failed to create item';
|
|
40
|
+
},
|
|
36
41
|
submit: async () => {
|
|
37
42
|
if (!schema) {
|
|
38
43
|
throw new Error('Schema not found');
|
|
@@ -46,8 +51,8 @@ export const CreateModal = _ref => {
|
|
|
46
51
|
secondaryButtonOnClick: () => {
|
|
47
52
|
closeModal();
|
|
48
53
|
},
|
|
49
|
-
primaryButtonText: modalParams.actions
|
|
50
|
-
secondaryButtonText: modalParams.actions
|
|
54
|
+
primaryButtonText: ((_modalParams$actions = modalParams.actions) == null || (_modalParams$actions = _modalParams$actions.submit) == null ? void 0 : _modalParams$actions.text) || 'Save',
|
|
55
|
+
secondaryButtonText: ((_modalParams$actions2 = modalParams.actions) == null || (_modalParams$actions2 = _modalParams$actions2.cancel) == null ? void 0 : _modalParams$actions2.text) || 'Cancel',
|
|
51
56
|
content: /*#__PURE__*/React.createElement(Box, {
|
|
52
57
|
direction: "vertical",
|
|
53
58
|
width: "552px",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","CreateModal","_ref","sdk","modalParams","values","setValues","fields","reduce","acc","field","id","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","schema","getSchema","createdItem","createOne","successToast","feedback","errorToast","submit","Error","result","actions","create","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/CreateModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { CreateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface CreateModalProps extends ActionModalProps {\n modalParams: CreateActionModal;\n}\n\nexport const CreateModal = ({ sdk, modalParams }: CreateModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = '';\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Create'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const createdItem = { ...values };\n optimisticActions?.createOne(createdItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item created successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to create item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.create(createdItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,iBAAiB,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,QAAQ,oBAAoB;AAC/E,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AAQvC,OAAO,MAAMC,WAAW,GAAGC,IAAA,IAA4C;EAAA,IAA3C;IAAEC,GAAG;IAAEC;EAA8B,CAAC,
|
|
1
|
+
{"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","CreateModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sdk","modalParams","values","setValues","fields","reduce","acc","field","id","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","createdItem","createOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","create","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/CreateModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { CreateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface CreateModalProps extends ActionModalProps {\n modalParams: CreateActionModal;\n}\n\nexport const CreateModal = ({ sdk, modalParams }: CreateModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = '';\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Create'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const createdItem = { ...values };\n optimisticActions?.createOne(createdItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item created successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to create item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.create(createdItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
export const EditModal = _ref => {
|
|
4
|
+
var _modalParams$title, _modalParams$actions, _modalParams$actions2;
|
|
4
5
|
let {
|
|
5
6
|
sdk,
|
|
6
7
|
modalParams,
|
|
@@ -22,19 +23,23 @@ export const EditModal = _ref => {
|
|
|
22
23
|
isOpen: true,
|
|
23
24
|
onRequestClose: closeModal
|
|
24
25
|
}, /*#__PURE__*/React.createElement(CustomModalLayout, {
|
|
25
|
-
title: modalParams.title
|
|
26
|
+
title: ((_modalParams$title = modalParams.title) == null ? void 0 : _modalParams$title.text) || 'Edit',
|
|
26
27
|
onCloseButtonClick: () => {
|
|
27
28
|
closeModal();
|
|
28
29
|
},
|
|
29
30
|
primaryButtonOnClick: () => {
|
|
31
|
+
var _modalParams$feedback;
|
|
30
32
|
const schema = sdk.getSchema(sdk.collectionId);
|
|
31
33
|
const updatedItem = {
|
|
32
34
|
...actionParams.item,
|
|
33
35
|
...values
|
|
34
36
|
};
|
|
35
|
-
optimisticActions
|
|
36
|
-
successToast: modalParams.feedback
|
|
37
|
-
errorToast: () =>
|
|
37
|
+
optimisticActions == null || optimisticActions.updateOne(updatedItem, {
|
|
38
|
+
successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item updated successfully',
|
|
39
|
+
errorToast: () => {
|
|
40
|
+
var _modalParams$feedback2;
|
|
41
|
+
return ((_modalParams$feedback2 = modalParams.feedback) == null || (_modalParams$feedback2 = _modalParams$feedback2.errorToast) == null ? void 0 : _modalParams$feedback2.text) || 'Failed to update item';
|
|
42
|
+
},
|
|
38
43
|
submit: async () => {
|
|
39
44
|
if (!schema) {
|
|
40
45
|
throw new Error('Schema not found');
|
|
@@ -48,8 +53,8 @@ export const EditModal = _ref => {
|
|
|
48
53
|
secondaryButtonOnClick: () => {
|
|
49
54
|
closeModal();
|
|
50
55
|
},
|
|
51
|
-
primaryButtonText: modalParams.actions
|
|
52
|
-
secondaryButtonText: modalParams.actions
|
|
56
|
+
primaryButtonText: ((_modalParams$actions = modalParams.actions) == null || (_modalParams$actions = _modalParams$actions.submit) == null ? void 0 : _modalParams$actions.text) || 'Save',
|
|
57
|
+
secondaryButtonText: ((_modalParams$actions2 = modalParams.actions) == null || (_modalParams$actions2 = _modalParams$actions2.cancel) == null ? void 0 : _modalParams$actions2.text) || 'Cancel',
|
|
53
58
|
content: /*#__PURE__*/React.createElement(Box, {
|
|
54
59
|
direction: "vertical",
|
|
55
60
|
width: "552px",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","EditModal","_ref","sdk","modalParams","actionParams","values","setValues","fields","reduce","acc","field","id","item","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","schema","getSchema","updatedItem","updateOne","successToast","feedback","errorToast","submit","Error","result","actions","update","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/EditModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { UpdateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface EditModalProps extends ActionModalProps {\n modalParams: UpdateActionModal;\n actionParams: { item: any };\n}\n\nexport const EditModal = ({\n sdk,\n modalParams,\n actionParams,\n}: EditModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = actionParams.item[field.id];\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Edit'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const updatedItem = { ...actionParams.item, ...values };\n optimisticActions?.updateOne(updatedItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item updated successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to update item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.update(updatedItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,iBAAiB,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,QAAQ,oBAAoB;AAC/E,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AASvC,OAAO,MAAMC,SAAS,GAAGC,IAAA,IAIH;EAAA,IAJI;IACxBC,GAAG;IACHC,WAAW;IACXC;EACc,CAAC,
|
|
1
|
+
{"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","EditModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sdk","modalParams","actionParams","values","setValues","fields","reduce","acc","field","id","item","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","updatedItem","updateOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","update","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/EditModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { UpdateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface EditModalProps extends ActionModalProps {\n modalParams: UpdateActionModal;\n actionParams: { item: any };\n}\n\nexport const EditModal = ({\n sdk,\n modalParams,\n actionParams,\n}: EditModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = actionParams.item[field.id];\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Edit'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const updatedItem = { ...actionParams.item, ...values };\n optimisticActions?.updateOne(updatedItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item updated successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to update item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.update(updatedItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { collections, items } from '@wix/data';
|
|
2
2
|
import { fetchCmsData } from './fetchCmsData';
|
|
3
|
+
import { errorHandler } from '@wix/essentials';
|
|
3
4
|
export const CmsFieldTypeToPatternsFieldType = {
|
|
4
5
|
[collections.Type.TEXT]: 'SHORT_TEXT',
|
|
5
6
|
[collections.Type.DATE]: 'DATE',
|
|
@@ -17,8 +18,9 @@ export const CmsFieldTypeToPatternsFieldType = {
|
|
|
17
18
|
[collections.Type.IMAGE]: 'IMAGE'
|
|
18
19
|
};
|
|
19
20
|
export async function fetchCmsSchema(collectionId) {
|
|
20
|
-
const schema = await collections.getDataCollection(collectionId);
|
|
21
|
+
const schema = await errorHandler.withErrorHandler(async () => collections.getDataCollection(collectionId), {});
|
|
21
22
|
const transformedFields = schema.fields.reduce((acc, field) => {
|
|
23
|
+
var _field$capabilities, _field$capabilities2, _field$typeMetadata;
|
|
22
24
|
if (!field.key) {
|
|
23
25
|
return acc;
|
|
24
26
|
}
|
|
@@ -38,11 +40,11 @@ export async function fetchCmsSchema(collectionId) {
|
|
|
38
40
|
required: field.required ?? false
|
|
39
41
|
},
|
|
40
42
|
capabilities: {
|
|
41
|
-
supportedQueryOperators: field.capabilities
|
|
42
|
-
sortable: field.capabilities
|
|
43
|
+
supportedQueryOperators: ((_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.queryOperators) || [],
|
|
44
|
+
sortable: ((_field$capabilities2 = field.capabilities) == null ? void 0 : _field$capabilities2.sortable) || false
|
|
43
45
|
}
|
|
44
46
|
};
|
|
45
|
-
if (fieldType === 'REFERENCE' && field.typeMetadata
|
|
47
|
+
if (fieldType === 'REFERENCE' && (_field$typeMetadata = field.typeMetadata) != null && (_field$typeMetadata = _field$typeMetadata.reference) != null && _field$typeMetadata.referencedCollectionId) {
|
|
46
48
|
const referenceField = {
|
|
47
49
|
...baseField,
|
|
48
50
|
type: 'REFERENCE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["collections","items","fetchCmsData","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","IMAGE","fetchCmsSchema","collectionId","schema","getDataCollection","transformedFields","fields","reduce","acc","field","key","fieldType","type","baseField","id","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","typeMetadata","reference","referencedCollectionId","referenceField","referenceMetadata","nonReferenceType","nonReferenceField","schemaConfig","displayField","idField","actions","get","entityId","create","entity","insert","update","delete","remove","bulkDelete","entityIds","bulkRemove","find","query","options"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'SHORT_TEXT',\n [collections.Type.OBJECT]: 'LONG_TEXT',\n [collections.Type.RICH_TEXT]: 'LONG_TEXT',\n [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<SchemaConfig> {\n const schema = await collections.getDataCollection(collectionId)
|
|
1
|
+
{"version":3,"names":["collections","items","fetchCmsData","errorHandler","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","IMAGE","fetchCmsSchema","collectionId","schema","withErrorHandler","getDataCollection","transformedFields","fields","reduce","acc","field","_field$capabilities","_field$capabilities2","_field$typeMetadata","key","fieldType","type","baseField","id","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","typeMetadata","reference","referencedCollectionId","referenceField","referenceMetadata","nonReferenceType","nonReferenceField","schemaConfig","displayField","idField","actions","get","entityId","create","entity","insert","update","delete","remove","bulkDelete","entityIds","bulkRemove","find","query","options"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'SHORT_TEXT',\n [collections.Type.OBJECT]: 'LONG_TEXT',\n [collections.Type.RICH_TEXT]: 'LONG_TEXT',\n [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<SchemaConfig> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n const transformedFields = schema.fields.reduce<Record<string, Field>>(\n (acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n if (\n fieldType === 'REFERENCE' &&\n field.typeMetadata?.reference?.referencedCollectionId\n ) {\n const referenceField: Field = {\n ...baseField,\n type: 'REFERENCE',\n referenceMetadata: {\n referencedCollectionId:\n field.typeMetadata.reference.referencedCollectionId,\n },\n };\n acc[field.key] = referenceField;\n } else {\n const nonReferenceType =\n fieldType === 'REFERENCE' ? 'SHORT_TEXT' : fieldType;\n const nonReferenceField: Field = {\n ...baseField,\n type: nonReferenceType,\n };\n acc[field.key] = nonReferenceField;\n }\n\n return acc;\n },\n {},\n );\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: (entityId: string) => {\n return items.get(collectionId, entityId);\n },\n create: (entity) => {\n return items.insert(collectionId, entity);\n },\n update: (entity) => {\n return items.update(collectionId, entity);\n },\n delete: (entityId) => {\n return items.remove(collectionId, entityId);\n },\n bulkDelete: (entityIds) => {\n return items.bulkRemove(collectionId, entityIds);\n },\n find: async (\n query,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n ) => {\n return fetchCmsData(collectionId, query, transformedFields, options);\n },\n },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,8 +44,9 @@ export function addFiltersToDataQuery(_ref) {
|
|
|
44
44
|
const filter = filters[fieldKey];
|
|
45
45
|
if (filter) {
|
|
46
46
|
if (Array.isArray(filter)) {
|
|
47
|
+
var _fields$fieldId;
|
|
47
48
|
const filterArray = filter;
|
|
48
|
-
if (fields[fieldId]
|
|
49
|
+
if (((_fields$fieldId = fields[fieldId]) == null ? void 0 : _fields$fieldId.type) === 'BOOLEAN') {
|
|
49
50
|
if (filterArray.some(item => item.id === BooleanFilters.checked)) {
|
|
50
51
|
dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);
|
|
51
52
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["items","BooleanFilters","FilterPropToOperator","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","field","operator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","_ref","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","filterArray","type","some","item","id","checked","eq","falseFilter","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","_ref2","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { Query, 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: Query;\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: Query;\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":"AAAA,SAASA,KAAK,QAAQ,WAAW;AACjC,SAASC,cAAc,EAAcC,oBAAoB,QAAQ,cAAc;AAK/E,MAAMC,kBAAyD,GAAG;EAChEC,IAAI,EAAE,IAAI;EACVC,EAAE,EAAE;AACN,CAAC;AAED,SAASC,iBAAiBA,CAACC,IAAY,EAAsB;EAC3D,OAAOA,IAAI,IAAIJ,kBAAkB;AACnC;AAEA,SAASK,oBAAoBA,CAACD,IAAY,EAAiC;EACzE,IAAID,iBAAiB,CAACC,IAAI,CAAC,EAAE;IAC3B,OAAOJ,kBAAkB,CAACI,IAAI,CAAC;EACjC;EACA,OAAOE,SAAS;AAClB;AAEA,MAAMC,mBAAmB,GAAGA,CAC1BC,MAA8B,EAC9BC,UAAkB,EAClBC,SAAiB,KACd;EACH,MAAMC,KAAK,GAAGH,MAAM,CAACE,SAAS,CAAC;EAC/B,IAAI,CAACC,KAAK,EAAE;IACV,OAAO,KAAK;EACd;EAEA,IAAI,CAACR,iBAAiB,CAACM,UAAU,CAAC,EAAE;IAClC,OAAO,KAAK;EACd;EAEA,MAAMG,QAAQ,GAAGb,oBAAoB,CAACU,UAAU,CAAC;EACjD,MAAMI,kBAAkB,GAAGF,KAAK,CAACG,YAAY,CAACC,uBAAuB;EACrE,OAAOF,kBAAkB,CAACG,QAAQ,CAACJ,QAAQ,CAAC;AAC9C,CAAC;AAED,OAAO,SAASK,qBAAqBA,CAAAC,IAAA,EAUlC;EAAA,IAVmC;IACpCC,SAAS;IACTC,KAAK;IACLZ,MAAM;IACNa;EAMF,CAAC,GAAAH,IAAA;EACC,IAAI,CAACG,kBAAkB,EAAE;IACvB,OAAOF,SAAS;EAClB;EAEA,IAAIG,oBAAoB,GAAGH,SAAS;EACpC,MAAM;IAAEI;EAAQ,CAAC,GAAGH,KAAK;EACzB,KAAK,MAAMI,QAAQ,IAAID,OAAO,EAAE;IAC9B,MAAME,OAAO,GAAGJ,kBAAkB,CAACG,QAAQ,CAAC,CAACC,OAAO;IACpD,MAAMC,MAAM,GAAGH,OAAO,CAACC,QAAQ,CAAC;IAChC,IAAIE,MAAM,EAAE;MACV,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;QACzB,
|
|
1
|
+
{"version":3,"names":["items","BooleanFilters","FilterPropToOperator","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","field","operator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","_ref","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","_fields$fieldId","filterArray","type","some","item","id","checked","eq","falseFilter","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","_ref2","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { Query, 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: Query;\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: Query;\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":[]}
|
|
@@ -8,14 +8,14 @@ export function addSortToDataQuery(_ref) {
|
|
|
8
8
|
const {
|
|
9
9
|
sort
|
|
10
10
|
} = query;
|
|
11
|
-
sort
|
|
11
|
+
sort == null || sort.forEach(sortField => {
|
|
12
12
|
const {
|
|
13
13
|
fieldName,
|
|
14
14
|
order
|
|
15
15
|
} = sortField;
|
|
16
16
|
if (fieldName && order) {
|
|
17
17
|
const fieldDefinition = fields[fieldName];
|
|
18
|
-
if (fieldDefinition
|
|
18
|
+
if (fieldDefinition != null && fieldDefinition.capabilities.sortable) {
|
|
19
19
|
if (order === 'asc') {
|
|
20
20
|
dataQueryWithSort = dataQueryWithSort.ascending(fieldName);
|
|
21
21
|
} else if (order === 'desc') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addSortToDataQuery","_ref","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 { Query, SchemaConfig } from '../../types';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n fields,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\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":"AAGA,OAAO,SAASA,kBAAkBA,CAAAC,IAAA,EAQ/B;EAAA,IARgC;IACjCC,SAAS;IACTC,KAAK;IACLC;EAKF,CAAC,GAAAH,IAAA;EACC,IAAII,iBAAiB,GAAGH,SAAS;EACjC,MAAM;IAAEI;EAAK,CAAC,GAAGH,KAAK;EACtBG,IAAI,
|
|
1
|
+
{"version":3,"names":["addSortToDataQuery","_ref","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 { Query, SchemaConfig } from '../../types';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n fields,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\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":"AAGA,OAAO,SAASA,kBAAkBA,CAAAC,IAAA,EAQ/B;EAAA,IARgC;IACjCC,SAAS;IACTC,KAAK;IACLC;EAKF,CAAC,GAAAH,IAAA;EACC,IAAII,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":[]}
|
|
@@ -2,8 +2,11 @@ import { useCallback } from 'react';
|
|
|
2
2
|
import { useActionsSDK } from './useActionsSDK';
|
|
3
3
|
import { updateAction, customAction, resolveAction, deleteAction } from '../utils/actions';
|
|
4
4
|
const cleanupActionsWithDividers = (actions, inlineCount) => {
|
|
5
|
-
const clean = a => a.filter((x, i, ar) =>
|
|
6
|
-
|
|
5
|
+
const clean = a => a.filter((x, i, ar) => {
|
|
6
|
+
var _ar;
|
|
7
|
+
return (x == null ? void 0 : x.divider) !== true || i > 0 && i < ar.length - 1 && ((_ar = ar[i - 1]) == null ? void 0 : _ar.divider) !== true;
|
|
8
|
+
});
|
|
9
|
+
return !(actions != null && actions.length) || !inlineCount || inlineCount >= actions.length ? clean(actions || []) : [...clean(actions.slice(0, inlineCount)), ...clean(actions.slice(inlineCount))];
|
|
7
10
|
};
|
|
8
11
|
export const useActionCell = _ref => {
|
|
9
12
|
let {
|
|
@@ -14,6 +17,7 @@ export const useActionCell = _ref => {
|
|
|
14
17
|
collectionId
|
|
15
18
|
});
|
|
16
19
|
const buildCellActions = useCallback((item, index, api) => {
|
|
20
|
+
var _config$primaryAction, _config$primaryAction2, _config$secondaryActi, _config$secondaryActi2, _config$secondaryActi3, _config$secondaryActi4;
|
|
17
21
|
const buildAction = actionConfig => {
|
|
18
22
|
if (actionConfig.type === 'divider') {
|
|
19
23
|
return {
|
|
@@ -51,13 +55,14 @@ export const useActionCell = _ref => {
|
|
|
51
55
|
default:
|
|
52
56
|
return null;
|
|
53
57
|
}
|
|
54
|
-
if (!actionToResolve) {
|
|
58
|
+
if (!actionToResolve || actionToResolve.hidden) {
|
|
55
59
|
return null;
|
|
56
60
|
}
|
|
57
61
|
const resolvedAction = resolveAction(actionConfig, actionToResolve);
|
|
58
62
|
const {
|
|
59
63
|
label,
|
|
60
64
|
tooltip,
|
|
65
|
+
hidden,
|
|
61
66
|
...resolvedActionProps
|
|
62
67
|
} = resolvedAction;
|
|
63
68
|
return {
|
|
@@ -66,18 +71,18 @@ export const useActionCell = _ref => {
|
|
|
66
71
|
disabledDescription: resolvedAction.tooltip
|
|
67
72
|
};
|
|
68
73
|
};
|
|
69
|
-
const primaryAction = config
|
|
74
|
+
const primaryAction = config != null && (_config$primaryAction = config.primaryAction) != null && _config$primaryAction.item ? buildAction(config.primaryAction.item) : undefined;
|
|
70
75
|
const primaryActionProps = {
|
|
71
|
-
...(config
|
|
76
|
+
...(config != null && (_config$primaryAction2 = config.primaryAction) != null && _config$primaryAction2.alwaysVisible ? {
|
|
72
77
|
visibility: 'always'
|
|
73
78
|
} : {})
|
|
74
79
|
};
|
|
75
|
-
const rawSecondaryActions = config
|
|
80
|
+
const rawSecondaryActions = config != null && (_config$secondaryActi = config.secondaryActions) != null && _config$secondaryActi.items.length ? config.secondaryActions.items.map(buildAction).filter(Boolean) : [];
|
|
76
81
|
|
|
77
82
|
// Process secondary actions with inline count consideration
|
|
78
|
-
const secondaryActions = cleanupActionsWithDividers(rawSecondaryActions, config
|
|
79
|
-
const numOfVisibleSecondaryActions = config
|
|
80
|
-
const alwaysShowSecondaryActions = config
|
|
83
|
+
const secondaryActions = cleanupActionsWithDividers(rawSecondaryActions, config == null || (_config$secondaryActi2 = config.secondaryActions) == null ? void 0 : _config$secondaryActi2.inlineCount);
|
|
84
|
+
const numOfVisibleSecondaryActions = config == null || (_config$secondaryActi3 = config.secondaryActions) == null ? void 0 : _config$secondaryActi3.inlineCount;
|
|
85
|
+
const alwaysShowSecondaryActions = config == null || (_config$secondaryActi4 = config.secondaryActions) == null ? void 0 : _config$secondaryActi4.inlineAlwaysVisible;
|
|
81
86
|
if (!primaryAction && !secondaryActions.length) {
|
|
82
87
|
return {};
|
|
83
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useActionsSDK","updateAction","customAction","resolveAction","deleteAction","cleanupActionsWithDividers","actions","inlineCount","clean","a","filter","x","i","ar","divider","length","slice","useActionCell","_ref","config","collectionId","sdk","buildCellActions","item","index","api","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","action","resolvedAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","primaryActionProps","alwaysVisible","visibility","rawSecondaryActions","secondaryActions","items","map","Boolean","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible"],"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 }
|
|
1
|
+
{"version":3,"names":["useCallback","useActionsSDK","updateAction","customAction","resolveAction","deleteAction","cleanupActionsWithDividers","actions","inlineCount","clean","a","filter","x","i","ar","_ar","divider","length","slice","useActionCell","_ref","config","collectionId","sdk","buildCellActions","item","index","api","_config$primaryAction","_config$primaryAction2","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","_config$secondaryActi4","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","action","hidden","resolvedAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","primaryActionProps","alwaysVisible","visibility","rawSecondaryActions","secondaryActions","items","map","Boolean","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible"],"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 || actionToResolve.hidden) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n\n const { label, tooltip, hidden, ...resolvedActionProps } =\n 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 primaryActionProps = {\n ...(config?.primaryAction?.alwaysVisible\n ? { visibility: 'always' }\n : {}),\n };\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\n ? {\n primaryAction: {\n ...primaryAction,\n ...primaryActionProps,\n },\n }\n : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n numOfVisibleSecondaryActions,\n alwaysShowSecondaryActions,\n };\n },\n [config, sdk],\n );\n\n return buildCellActions;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { CustomColumns } from '@wix/patterns';
|
|
|
4
4
|
import { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';
|
|
5
5
|
import { useNavigation } from './useNavigationUtils';
|
|
6
6
|
export const useBaseTableFeatures = configuration => {
|
|
7
|
+
var _configuration$custom;
|
|
7
8
|
const {
|
|
8
9
|
navigateToEntityPage
|
|
9
10
|
} = useNavigation();
|
|
@@ -25,7 +26,7 @@ export const useBaseTableFeatures = configuration => {
|
|
|
25
26
|
columns,
|
|
26
27
|
visibleFieldIds,
|
|
27
28
|
onRowClick,
|
|
28
|
-
customColumns: configuration.customColumns
|
|
29
|
+
customColumns: (_configuration$custom = configuration.customColumns) != null && _configuration$custom.enabled ? /*#__PURE__*/React.createElement(CustomColumns, null) : undefined,
|
|
29
30
|
stickyColumns,
|
|
30
31
|
stickySelectionColumn,
|
|
31
32
|
showTitleBar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useBaseTableFeatures","configuration","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useBaseTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { CustomColumns } from '@wix/patterns';\nimport { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';\nimport { useNavigation } from './useNavigationUtils';\n\nexport const useBaseTableFeatures = (configuration: TableConfig) => {\n const { navigateToEntityPage } = useNavigation();\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const entityPageId = configuration.entityPageId;\n\n const onRowClickOverride = useCollectionPageOnRowClickActions({\n collectionPageOnRowClickActions: configuration.onRowClick,\n collectionId: configuration.collection.collectionId,\n });\n\n const onRowClick = configuration.onRowClick\n ? onRowClickOverride\n : (item: any) =>\n navigateToEntityPage({\n item,\n entityPageId,\n });\n\n const stickyColumns = configuration.stickyColumns;\n const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number\n const showTitleBar = configuration.showTitleBar ?? true;\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,kCAAkC,QAAQ,sCAAsC;AACzF,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAClE,MAAM;IAAEC;EAAqB,CAAC,
|
|
1
|
+
{"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useBaseTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { CustomColumns } from '@wix/patterns';\nimport { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';\nimport { useNavigation } from './useNavigationUtils';\n\nexport const useBaseTableFeatures = (configuration: TableConfig) => {\n const { navigateToEntityPage } = useNavigation();\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const entityPageId = configuration.entityPageId;\n\n const onRowClickOverride = useCollectionPageOnRowClickActions({\n collectionPageOnRowClickActions: configuration.onRowClick,\n collectionId: configuration.collection.collectionId,\n });\n\n const onRowClick = configuration.onRowClick\n ? onRowClickOverride\n : (item: any) =>\n navigateToEntityPage({\n item,\n entityPageId,\n });\n\n const stickyColumns = configuration.stickyColumns;\n const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number\n const showTitleBar = configuration.showTitleBar ?? true;\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,kCAAkC,QAAQ,sCAAsC;AACzF,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGJ,aAAa,CAAC,CAAC;EAChD,MAAMK,OAAO,GAAGR,UAAU,CAACK,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGV,OAAO,CAC7B,MAAMM,aAAa,CAACG,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAACP,aAAa,CAChB,CAAC;EAED,MAAMQ,YAAY,GAAGR,aAAa,CAACQ,YAAY;EAE/C,MAAMC,kBAAkB,GAAGZ,kCAAkC,CAAC;IAC5Da,+BAA+B,EAAEV,aAAa,CAACW,UAAU;IACzDC,YAAY,EAAEZ,aAAa,CAACa,UAAU,CAACD;EACzC,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,aAAa,CAACW,UAAU,GACvCF,kBAAkB,GACjBK,IAAS,IACRZ,oBAAoB,CAAC;IACnBY,IAAI;IACJN;EACF,CAAC,CAAC;EAER,MAAMO,aAAa,GAAGf,aAAa,CAACe,aAAa;EACjD,MAAMC,qBAAqB,GAAG,CAAC,CAACD,aAAa,CAAC,CAAC;EAC/C,MAAME,YAAY,GAAGjB,aAAa,CAACiB,YAAY,IAAI,IAAI;EAEvD,OAAO;IACLd,OAAO;IACPC,eAAe;IACfO,UAAU;IACVO,aAAa,EAAE,CAAAjB,qBAAA,GAAAD,aAAa,CAACkB,aAAa,aAA3BjB,qBAAA,CAA6BkB,OAAO,gBACjD1B,KAAA,CAAA2B,aAAA,CAACxB,aAAa,MAAE,CAAC,GACfyB,SAAS;IACbN,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -33,12 +33,13 @@ export const useBulkActionToolbar = _ref => {
|
|
|
33
33
|
default:
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
|
-
if (!actionToResolve) {
|
|
36
|
+
if (!actionToResolve || actionToResolve.hidden) {
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
39
39
|
const resolvedAction = resolveAction(actionConfig, actionToResolve);
|
|
40
40
|
const {
|
|
41
41
|
icon,
|
|
42
|
+
hidden,
|
|
42
43
|
...resolvedActionParams
|
|
43
44
|
} = resolvedAction;
|
|
44
45
|
return {
|
|
@@ -48,7 +49,7 @@ export const useBulkActionToolbar = _ref => {
|
|
|
48
49
|
};
|
|
49
50
|
};
|
|
50
51
|
const buildPrimaryActions = () => {
|
|
51
|
-
if (!config
|
|
52
|
+
if (!(config != null && config.primaryActions)) {
|
|
52
53
|
return [];
|
|
53
54
|
}
|
|
54
55
|
return config.primaryActions.map((primaryItem, index) => {
|
|
@@ -71,7 +72,7 @@ export const useBulkActionToolbar = _ref => {
|
|
|
71
72
|
}).filter(action => Boolean(action));
|
|
72
73
|
};
|
|
73
74
|
const primaryActionItems = buildPrimaryActions();
|
|
74
|
-
const secondaryActionItems = config
|
|
75
|
+
const secondaryActionItems = config != null && config.secondaryActions ? groupActions(config.secondaryActions).map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0) : [];
|
|
75
76
|
return /*#__PURE__*/React.createElement(MultiBulkActionToolbar, {
|
|
76
77
|
primaryActionItems: primaryActionItems,
|
|
77
78
|
secondaryActionItems: secondaryActionItems
|