@wix/auto-patterns 1.7.0 → 1.8.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 +10 -25
- package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +3 -2
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +242 -71
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +28 -5
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +45 -10
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +7 -5
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +16 -5
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +43 -5
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +30 -5
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +27 -9
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/types.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +39 -0
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +1 -0
- package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +8 -10
- package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +84 -0
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -0
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +8 -10
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js +7 -8
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js.map +1 -1
- package/dist/cjs/components/DynamicIcon.js +71 -0
- package/dist/cjs/components/DynamicIcon.js.map +1 -0
- package/dist/cjs/components/ModalRenderer.js +40 -0
- package/dist/cjs/components/ModalRenderer.js.map +1 -0
- package/dist/cjs/components/filters/DynamicCollectionFilter.js +63 -0
- package/dist/cjs/components/filters/DynamicCollectionFilter.js.map +1 -0
- package/dist/cjs/components/filters/StaticCollectionFilter.js +31 -0
- package/dist/cjs/components/filters/StaticCollectionFilter.js.map +1 -0
- package/dist/cjs/components/filters/index.js +9 -0
- package/dist/cjs/components/filters/index.js.map +1 -0
- package/dist/cjs/components/modals/actions/BulkDeleteModal.js +95 -0
- package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -0
- package/dist/cjs/components/modals/actions/EditModal.js +136 -0
- package/dist/cjs/components/modals/actions/EditModal.js.map +1 -0
- package/dist/cjs/components/modals/actions/index.js +16 -0
- package/dist/cjs/components/modals/actions/index.js.map +1 -0
- package/dist/cjs/{collectionData/CollectionData.js → components/modals/actions/types.js} +1 -1
- package/dist/cjs/components/modals/actions/types.js.map +1 -0
- package/dist/cjs/components/modals/index.js +10 -0
- package/dist/cjs/components/modals/index.js.map +1 -0
- package/dist/cjs/{collectionData/cms/CmsCollectionData.js → dataSourceAdapters/cms/cmsAdapter.js} +57 -18
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -0
- package/dist/cjs/{collectionData → dataSourceAdapters}/cms/filterUtils.js +18 -11
- package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -0
- package/dist/cjs/dataSourceAdapters/cms/sortUtils.js.map +1 -0
- package/dist/cjs/dataSourceAdapters/constants.js.map +1 -0
- package/dist/cjs/dataSourceAdapters/factory.js +34 -0
- package/dist/cjs/dataSourceAdapters/factory.js.map +1 -0
- package/dist/cjs/exports/form.js +10 -0
- package/dist/cjs/exports/form.js.map +1 -0
- package/dist/cjs/hooks/index.js +12 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useActionCell.js +109 -0
- package/dist/cjs/hooks/useActionCell.js.map +1 -0
- package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +15 -0
- package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -0
- package/dist/cjs/hooks/useBulkActionToolbar.js +88 -0
- package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -0
- package/dist/cjs/hooks/useColumns.js +90 -37
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useCommonCollectionFeatures.js +27 -35
- package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/cjs/hooks/useFetchData.js +33 -9
- package/dist/cjs/hooks/useFetchData.js.map +1 -1
- package/dist/cjs/hooks/useFilters.js +83 -92
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/hooks/useGridFeatures.js +31 -21
- package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
- package/dist/cjs/hooks/useNavigationUtils.js +51 -0
- package/dist/cjs/hooks/useNavigationUtils.js.map +1 -0
- package/dist/cjs/hooks/usePagePath.js +35 -0
- package/dist/cjs/hooks/usePagePath.js.map +1 -0
- package/dist/cjs/hooks/useSharedDataForActions.js +44 -0
- package/dist/cjs/hooks/useSharedDataForActions.js.map +1 -0
- package/dist/cjs/hooks/useTableFeatures.js +23 -15
- package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
- package/dist/cjs/providers/AppConfigContext.js +33 -0
- package/dist/cjs/providers/AppConfigContext.js.map +1 -0
- package/dist/cjs/providers/ModalContext.js +58 -0
- package/dist/cjs/providers/ModalContext.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 +40 -0
- package/dist/cjs/providers/RootAppProvider.js.map +1 -0
- package/dist/cjs/providers/SchemaContext.js +49 -5
- package/dist/cjs/providers/SchemaContext.js.map +1 -1
- package/dist/cjs/providers/SchemaRegistryContext.js +49 -0
- package/dist/cjs/providers/SchemaRegistryContext.js.map +1 -0
- package/dist/cjs/providers/index.js +22 -4
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
- package/dist/cjs/types/EntityPageConfig.js.map +1 -1
- package/dist/cjs/types/actions/actionCell.js +4 -0
- package/dist/cjs/types/actions/actionCell.js.map +1 -0
- package/dist/cjs/types/actions/base.js +4 -0
- package/dist/cjs/types/actions/base.js.map +1 -0
- package/dist/cjs/types/actions/bulkActions.js +4 -0
- package/dist/cjs/types/actions/bulkActions.js.map +1 -0
- package/dist/cjs/types/actions/index.js +22 -0
- package/dist/cjs/types/actions/index.js.map +1 -0
- package/dist/cjs/types/index.js +12 -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 +26 -0
- package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -0
- package/dist/cjs/utils/actions/customAction.js +23 -0
- package/dist/cjs/utils/actions/customAction.js.map +1 -0
- package/dist/cjs/utils/actions/customModalAction.js +22 -0
- package/dist/cjs/utils/actions/customModalAction.js.map +1 -0
- package/dist/cjs/utils/actions/deleteAction.js +61 -0
- package/dist/cjs/utils/actions/deleteAction.js.map +1 -0
- package/dist/cjs/utils/actions/index.js +40 -0
- package/dist/cjs/utils/actions/index.js.map +1 -0
- package/dist/cjs/utils/actions/resolveAction.js +27 -0
- package/dist/cjs/utils/actions/resolveAction.js.map +1 -0
- package/dist/cjs/utils/actions/types.js +4 -0
- package/dist/cjs/utils/actions/types.js.map +1 -0
- package/dist/cjs/utils/actions/updateAction.js +46 -0
- package/dist/cjs/utils/actions/updateAction.js.map +1 -0
- package/dist/cjs/utils/filterCreators.js +137 -0
- package/dist/cjs/utils/filterCreators.js.map +1 -0
- package/dist/cjs/utils/media/getImageUrl.js +22 -0
- package/dist/cjs/utils/media/getImageUrl.js.map +1 -0
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +6 -14
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -0
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +155 -34
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +27 -4
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +41 -6
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +7 -5
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +14 -4
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +41 -4
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +28 -4
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +23 -5
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/types.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +35 -0
- package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +1 -0
- package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +5 -6
- package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js +47 -0
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -0
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +5 -6
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js +9 -10
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js.map +1 -1
- package/dist/esm/components/DynamicIcon.js +33 -0
- package/dist/esm/components/DynamicIcon.js.map +1 -0
- package/dist/esm/components/ModalRenderer.js +25 -0
- package/dist/esm/components/ModalRenderer.js.map +1 -0
- package/dist/esm/components/filters/DynamicCollectionFilter.js +50 -0
- package/dist/esm/components/filters/DynamicCollectionFilter.js.map +1 -0
- package/dist/esm/components/filters/StaticCollectionFilter.js +18 -0
- package/dist/esm/components/filters/StaticCollectionFilter.js.map +1 -0
- package/dist/esm/components/filters/index.js +3 -0
- package/dist/esm/components/filters/index.js.map +1 -0
- package/dist/esm/components/modals/actions/BulkDeleteModal.js +57 -0
- package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -0
- package/dist/esm/components/modals/actions/EditModal.js +78 -0
- package/dist/esm/components/modals/actions/EditModal.js.map +1 -0
- package/dist/esm/components/modals/actions/index.js +3 -0
- package/dist/esm/components/modals/actions/index.js.map +1 -0
- package/dist/esm/components/modals/actions/types.js +2 -0
- package/dist/esm/components/modals/actions/types.js.map +1 -0
- package/dist/esm/components/modals/index.js +2 -0
- package/dist/esm/components/modals/index.js.map +1 -0
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +131 -0
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -0
- package/dist/esm/{collectionData → dataSourceAdapters}/cms/filterUtils.js +18 -11
- package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -0
- package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -0
- package/dist/esm/dataSourceAdapters/constants.js.map +1 -0
- package/dist/esm/dataSourceAdapters/factory.js +30 -0
- package/dist/esm/dataSourceAdapters/factory.js.map +1 -0
- package/dist/esm/exports/form.js +2 -0
- package/dist/esm/exports/form.js.map +1 -0
- package/dist/esm/hooks/index.js +2 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useActionCell.js +105 -0
- package/dist/esm/hooks/useActionCell.js.map +1 -0
- package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +13 -0
- package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -0
- package/dist/esm/hooks/useBulkActionToolbar.js +75 -0
- package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -0
- package/dist/esm/hooks/useColumns.js +70 -38
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useCommonCollectionFeatures.js +23 -24
- package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/esm/hooks/useFetchData.js +34 -10
- package/dist/esm/hooks/useFetchData.js.map +1 -1
- package/dist/esm/hooks/useFilters.js +75 -85
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useGridFeatures.js +31 -21
- package/dist/esm/hooks/useGridFeatures.js.map +1 -1
- package/dist/esm/hooks/useNavigationUtils.js +47 -0
- package/dist/esm/hooks/useNavigationUtils.js.map +1 -0
- package/dist/esm/hooks/usePagePath.js +30 -0
- package/dist/esm/hooks/usePagePath.js.map +1 -0
- package/dist/esm/hooks/useSharedDataForActions.js +40 -0
- package/dist/esm/hooks/useSharedDataForActions.js.map +1 -0
- package/dist/esm/hooks/useTableFeatures.js +20 -13
- package/dist/esm/hooks/useTableFeatures.js.map +1 -1
- package/dist/esm/providers/AppConfigContext.js +19 -0
- package/dist/esm/providers/AppConfigContext.js.map +1 -0
- package/dist/esm/providers/ModalContext.js +37 -0
- package/dist/esm/providers/ModalContext.js.map +1 -0
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/providers/RootAppProvider.js +14 -0
- package/dist/esm/providers/RootAppProvider.js.map +1 -0
- package/dist/esm/providers/SchemaContext.js +48 -4
- package/dist/esm/providers/SchemaContext.js.map +1 -1
- package/dist/esm/providers/SchemaRegistryContext.js +35 -0
- package/dist/esm/providers/SchemaRegistryContext.js.map +1 -0
- package/dist/esm/providers/index.js +4 -1
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/types/CollectionPageConfig.js.map +1 -1
- package/dist/esm/types/EntityPageConfig.js.map +1 -1
- package/dist/esm/types/actions/actionCell.js +2 -0
- package/dist/esm/types/actions/actionCell.js.map +1 -0
- package/dist/esm/types/actions/base.js +2 -0
- package/dist/esm/types/actions/base.js.map +1 -0
- package/dist/esm/types/actions/bulkActions.js +2 -0
- package/dist/esm/types/actions/bulkActions.js.map +1 -0
- package/dist/esm/types/actions/index.js +4 -0
- package/dist/esm/types/actions/index.js.map +1 -0
- package/dist/esm/types/index.js +2 -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 +21 -0
- package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -0
- package/dist/esm/utils/actions/customAction.js +18 -0
- package/dist/esm/utils/actions/customAction.js.map +1 -0
- package/dist/esm/utils/actions/customModalAction.js +17 -0
- package/dist/esm/utils/actions/customModalAction.js.map +1 -0
- package/dist/esm/utils/actions/deleteAction.js +56 -0
- package/dist/esm/utils/actions/deleteAction.js.map +1 -0
- package/dist/esm/utils/actions/index.js +8 -0
- package/dist/esm/utils/actions/index.js.map +1 -0
- package/dist/esm/utils/actions/resolveAction.js +13 -0
- package/dist/esm/utils/actions/resolveAction.js.map +1 -0
- package/dist/esm/utils/actions/types.js +2 -0
- package/dist/esm/utils/actions/types.js.map +1 -0
- package/dist/esm/utils/actions/updateAction.js +41 -0
- package/dist/esm/utils/actions/updateAction.js.map +1 -0
- package/dist/esm/utils/filterCreators.js +139 -0
- package/dist/esm/utils/filterCreators.js.map +1 -0
- package/dist/esm/utils/media/getImageUrl.js +16 -0
- package/dist/esm/utils/media/getImageUrl.js.map +1 -0
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/Checkbox.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 +3 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
- 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/AutoPatternsEntityPage/Fields/types.d.ts +2 -0
- package/dist/types/components/AutoPatternsEntityPage/Fields/types.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/utils/dates.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts +12 -0
- package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsRoute/AutoPatternsPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts +6 -0
- package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts.map +1 -1
- package/dist/types/components/DynamicIcon.d.ts +6 -0
- package/dist/types/components/DynamicIcon.d.ts.map +1 -0
- package/dist/types/components/ModalRenderer.d.ts +3 -0
- package/dist/types/components/ModalRenderer.d.ts.map +1 -0
- package/dist/types/components/filters/DynamicCollectionFilter.d.ts +12 -0
- package/dist/types/components/filters/DynamicCollectionFilter.d.ts.map +1 -0
- package/dist/types/components/filters/StaticCollectionFilter.d.ts +14 -0
- package/dist/types/components/filters/StaticCollectionFilter.d.ts.map +1 -0
- package/dist/types/components/filters/index.d.ts +3 -0
- package/dist/types/components/filters/index.d.ts.map +1 -0
- package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +9 -0
- package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -0
- package/dist/types/components/modals/actions/EditModal.d.ts +11 -0
- package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -0
- package/dist/types/components/modals/actions/index.d.ts +3 -0
- package/dist/types/components/modals/actions/index.d.ts.map +1 -0
- package/dist/types/components/modals/actions/types.d.ts +7 -0
- package/dist/types/components/modals/actions/types.d.ts.map +1 -0
- package/dist/types/components/modals/index.d.ts +2 -0
- package/dist/types/components/modals/index.d.ts.map +1 -0
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts +14 -0
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -0
- package/dist/types/{collectionData → dataSourceAdapters}/cms/filterUtils.d.ts +3 -2
- package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -0
- package/dist/types/dataSourceAdapters/cms/sortUtils.d.ts.map +1 -0
- package/dist/types/dataSourceAdapters/constants.d.ts.map +1 -0
- package/dist/types/dataSourceAdapters/factory.d.ts +13 -0
- package/dist/types/dataSourceAdapters/factory.d.ts.map +1 -0
- package/dist/types/exports/form.d.ts +2 -0
- package/dist/types/exports/form.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +2 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useActionCell.d.ts +11 -0
- package/dist/types/hooks/useActionCell.d.ts.map +1 -0
- package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +3 -0
- package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -0
- package/dist/types/hooks/useBulkActionToolbar.d.ts +11 -0
- package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -0
- package/dist/types/hooks/useColumns.d.ts.map +1 -1
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts +9 -9
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useEmptyStates.d.ts.map +1 -1
- package/dist/types/hooks/useFetchData.d.ts +6 -2
- package/dist/types/hooks/useFetchData.d.ts.map +1 -1
- package/dist/types/hooks/useFilters.d.ts +5 -1
- package/dist/types/hooks/useFilters.d.ts.map +1 -1
- package/dist/types/hooks/useGridFeatures.d.ts +2 -8
- package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useNavigationUtils.d.ts +10 -0
- package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -0
- package/dist/types/hooks/usePagePath.d.ts +5 -0
- package/dist/types/hooks/usePagePath.d.ts.map +1 -0
- package/dist/types/hooks/useSharedDataForActions.d.ts +8 -0
- package/dist/types/hooks/useSharedDataForActions.d.ts.map +1 -0
- package/dist/types/hooks/useTableFeatures.d.ts +3 -7
- package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
- package/dist/types/providers/AppConfigContext.d.ts +8 -0
- package/dist/types/providers/AppConfigContext.d.ts.map +1 -0
- package/dist/types/providers/ModalContext.d.ts +20 -0
- package/dist/types/providers/ModalContext.d.ts.map +1 -0
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +5 -2
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/providers/RootAppProvider.d.ts +7 -0
- package/dist/types/providers/RootAppProvider.d.ts.map +1 -0
- package/dist/types/providers/SchemaContext.d.ts.map +1 -1
- package/dist/types/providers/SchemaRegistryContext.d.ts +13 -0
- package/dist/types/providers/SchemaRegistryContext.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +4 -1
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/types/CollectionPageConfig.d.ts +33 -32
- package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
- package/dist/types/types/EntityPageConfig.d.ts +51 -2
- package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
- package/dist/types/types/actions/actionCell.d.ts +24 -0
- package/dist/types/types/actions/actionCell.d.ts.map +1 -0
- package/dist/types/types/actions/base.d.ts +93 -0
- package/dist/types/types/actions/base.d.ts.map +1 -0
- package/dist/types/types/actions/bulkActions.d.ts +28 -0
- package/dist/types/types/actions/bulkActions.d.ts.map +1 -0
- package/dist/types/types/actions/index.d.ts +4 -0
- package/dist/types/types/actions/index.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/types.d.ts +47 -9
- package/dist/types/types/types.d.ts.map +1 -1
- package/dist/types/utils/actions/bulkDeleteAction.d.ts +7 -0
- package/dist/types/utils/actions/bulkDeleteAction.d.ts.map +1 -0
- package/dist/types/utils/actions/customAction.d.ts +3 -0
- package/dist/types/utils/actions/customAction.d.ts.map +1 -0
- package/dist/types/utils/actions/customModalAction.d.ts +5 -0
- package/dist/types/utils/actions/customModalAction.d.ts.map +1 -0
- package/dist/types/utils/actions/deleteAction.d.ts +7 -0
- package/dist/types/utils/actions/deleteAction.d.ts.map +1 -0
- package/dist/types/utils/actions/index.d.ts +8 -0
- package/dist/types/utils/actions/index.d.ts.map +1 -0
- package/dist/types/utils/actions/resolveAction.d.ts +11 -0
- package/dist/types/utils/actions/resolveAction.d.ts.map +1 -0
- package/dist/types/utils/actions/types.d.ts +65 -0
- package/dist/types/utils/actions/types.d.ts.map +1 -0
- package/dist/types/utils/actions/updateAction.d.ts +7 -0
- package/dist/types/utils/actions/updateAction.d.ts.map +1 -0
- package/dist/types/utils/filterCreators.d.ts +48 -0
- package/dist/types/utils/filterCreators.d.ts.map +1 -0
- package/dist/types/utils/media/getImageUrl.d.ts +3 -0
- package/dist/types/utils/media/getImageUrl.d.ts.map +1 -0
- package/form/package.json +6 -0
- package/package.json +10 -8
- package/dist/cjs/collectionData/CollectionData.js.map +0 -1
- package/dist/cjs/collectionData/CollectionDataFactory.js +0 -12
- package/dist/cjs/collectionData/CollectionDataFactory.js.map +0 -1
- package/dist/cjs/collectionData/SchemaFactory.js +0 -12
- package/dist/cjs/collectionData/SchemaFactory.js.map +0 -1
- package/dist/cjs/collectionData/cms/CmsCollectionData.js.map +0 -1
- package/dist/cjs/collectionData/cms/filterUtils.js.map +0 -1
- package/dist/cjs/collectionData/cms/sortUtils.js.map +0 -1
- package/dist/cjs/collectionData/constants.js.map +0 -1
- package/dist/cjs/collectionData/index.js +0 -10
- package/dist/cjs/collectionData/index.js.map +0 -1
- package/dist/cjs/providers/CollectionDataContext.js +0 -44
- package/dist/cjs/providers/CollectionDataContext.js.map +0 -1
- package/dist/cjs/utils/filters.js +0 -53
- package/dist/cjs/utils/filters.js.map +0 -1
- package/dist/esm/collectionData/CollectionData.js +0 -2
- package/dist/esm/collectionData/CollectionData.js.map +0 -1
- package/dist/esm/collectionData/CollectionDataFactory.js +0 -8
- package/dist/esm/collectionData/CollectionDataFactory.js.map +0 -1
- package/dist/esm/collectionData/SchemaFactory.js +0 -8
- package/dist/esm/collectionData/SchemaFactory.js.map +0 -1
- package/dist/esm/collectionData/cms/CmsCollectionData.js +0 -91
- package/dist/esm/collectionData/cms/CmsCollectionData.js.map +0 -1
- package/dist/esm/collectionData/cms/filterUtils.js.map +0 -1
- package/dist/esm/collectionData/cms/sortUtils.js.map +0 -1
- package/dist/esm/collectionData/constants.js.map +0 -1
- package/dist/esm/collectionData/index.js +0 -2
- package/dist/esm/collectionData/index.js.map +0 -1
- package/dist/esm/providers/CollectionDataContext.js +0 -30
- package/dist/esm/providers/CollectionDataContext.js.map +0 -1
- package/dist/esm/utils/filters.js +0 -49
- package/dist/esm/utils/filters.js.map +0 -1
- package/dist/types/collectionData/CollectionData.d.ts +0 -9
- package/dist/types/collectionData/CollectionData.d.ts.map +0 -1
- package/dist/types/collectionData/CollectionDataFactory.d.ts +0 -4
- package/dist/types/collectionData/CollectionDataFactory.d.ts.map +0 -1
- package/dist/types/collectionData/SchemaFactory.d.ts +0 -3
- package/dist/types/collectionData/SchemaFactory.d.ts.map +0 -1
- package/dist/types/collectionData/cms/CmsCollectionData.d.ts +0 -8
- package/dist/types/collectionData/cms/CmsCollectionData.d.ts.map +0 -1
- package/dist/types/collectionData/cms/filterUtils.d.ts.map +0 -1
- package/dist/types/collectionData/cms/sortUtils.d.ts.map +0 -1
- package/dist/types/collectionData/constants.d.ts.map +0 -1
- package/dist/types/collectionData/index.d.ts +0 -2
- package/dist/types/collectionData/index.d.ts.map +0 -1
- package/dist/types/providers/CollectionDataContext.d.ts +0 -12
- package/dist/types/providers/CollectionDataContext.d.ts.map +0 -1
- package/dist/types/utils/filters.d.ts +0 -7
- package/dist/types/utils/filters.d.ts.map +0 -1
- /package/dist/cjs/{collectionData → dataSourceAdapters}/cms/sortUtils.js +0 -0
- /package/dist/cjs/{collectionData → dataSourceAdapters}/constants.js +0 -0
- /package/dist/esm/{collectionData → dataSourceAdapters}/cms/sortUtils.js +0 -0
- /package/dist/esm/{collectionData → dataSourceAdapters}/constants.js +0 -0
- /package/dist/types/{collectionData → dataSourceAdapters}/cms/sortUtils.d.ts +0 -0
- /package/dist/types/{collectionData → dataSourceAdapters}/constants.d.ts +0 -0
|
@@ -33,35 +33,42 @@ const isSupportedOperator = (schema, filterProp, filterKey) => {
|
|
|
33
33
|
function addFiltersToDataQuery({
|
|
34
34
|
dataQuery,
|
|
35
35
|
query,
|
|
36
|
-
schema
|
|
36
|
+
schema,
|
|
37
|
+
filtersMapping
|
|
37
38
|
}) {
|
|
39
|
+
if (!filtersMapping) {
|
|
40
|
+
return dataQuery;
|
|
41
|
+
}
|
|
38
42
|
let dataQueryWithFilters = dataQuery;
|
|
39
43
|
const {
|
|
40
44
|
filters
|
|
41
45
|
} = query;
|
|
42
46
|
for (const fieldKey in filters) {
|
|
47
|
+
const fieldId = filtersMapping[fieldKey].fieldId;
|
|
43
48
|
const filter = filters[fieldKey];
|
|
44
49
|
if (filter) {
|
|
45
50
|
if (Array.isArray(filter)) {
|
|
46
|
-
var _schema$fields$
|
|
51
|
+
var _schema$fields$fieldI;
|
|
47
52
|
const filterArray = filter;
|
|
48
|
-
if (((_schema$fields$
|
|
53
|
+
if (((_schema$fields$fieldI = schema.fields[fieldId]) == null ? void 0 : _schema$fields$fieldI.type) === 'BOOLEAN') {
|
|
49
54
|
if (filterArray.some(item => item.id === _constants.BooleanFilters.checked)) {
|
|
50
|
-
dataQueryWithFilters = dataQueryWithFilters.eq(
|
|
55
|
+
dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);
|
|
51
56
|
} else {
|
|
52
|
-
|
|
57
|
+
const falseFilter = _data.items.filter().eq(fieldId, false);
|
|
58
|
+
const undefinedFilter = _data.items.filter().eq(fieldId, undefined);
|
|
59
|
+
dataQueryWithFilters = dataQueryWithFilters.and(falseFilter.or(undefinedFilter));
|
|
53
60
|
}
|
|
54
61
|
} else {
|
|
55
|
-
dataQueryWithFilters = dataQueryWithFilters.hasSome(
|
|
62
|
+
dataQueryWithFilters = dataQueryWithFilters.hasSome(fieldId, filterArray.map(item => item.id));
|
|
56
63
|
}
|
|
57
64
|
} else if (typeof filter === 'object') {
|
|
58
65
|
const filterObj = filter;
|
|
59
66
|
for (const filterProp in filterObj) {
|
|
60
67
|
const operator = getOperatorForFilter(filterProp);
|
|
61
|
-
if (operator && typeof dataQuery[operator] === 'function' && isSupportedOperator(schema, filterProp,
|
|
68
|
+
if (operator && typeof dataQuery[operator] === 'function' && isSupportedOperator(schema, filterProp, fieldId)) {
|
|
62
69
|
const value = filterObj[filterProp];
|
|
63
70
|
if (value !== undefined && value !== null) {
|
|
64
|
-
dataQueryWithFilters = dataQueryWithFilters[operator](
|
|
71
|
+
dataQueryWithFilters = dataQueryWithFilters[operator](fieldId, value);
|
|
65
72
|
}
|
|
66
73
|
}
|
|
67
74
|
}
|
|
@@ -77,9 +84,9 @@ function addSearchToDataQuery({
|
|
|
77
84
|
schema,
|
|
78
85
|
visibleFieldIds
|
|
79
86
|
}) {
|
|
80
|
-
const searchableFields = Object.keys(schema.fields).filter(
|
|
81
|
-
const field = schema.fields[
|
|
82
|
-
const column = visibleFieldIds.find(id => id ===
|
|
87
|
+
const searchableFields = Object.keys(schema.fields).filter(fieldId => {
|
|
88
|
+
const field = schema.fields[fieldId];
|
|
89
|
+
const column = visibleFieldIds.find(id => id === fieldId);
|
|
83
90
|
return column && field && TEXT_FIELD_TYPES.includes(field.type);
|
|
84
91
|
});
|
|
85
92
|
if (query.search && searchableFields.length > 0) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_data","require","_constants","FilterPropToMethod","from","to","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","schema","filterProp","filterKey","field","fields","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","addFiltersToDataQuery","dataQuery","query","filtersMapping","dataQueryWithFilters","filters","fieldKey","fieldId","filter","Array","isArray","_schema$fields$fieldI","filterArray","type","some","item","id","BooleanFilters","checked","eq","falseFilter","items","undefinedFilter","and","or","hasSome","map","filterObj","value","TEXT_FIELD_TYPES","addSearchToDataQuery","visibleFieldIds","searchableFields","Object","keys","column","find","search","length","searchFilter","forEach","currentFilter","contains"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { ComputedQuery } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport { BooleanFilters, FilterProp, FilterPropToOperator } from '../constants';\nimport { SchemaConfig, Filter } 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 schema: SchemaConfig,\n filterProp: string,\n filterKey: string,\n) => {\n const field = schema.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 schema,\n filtersMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n schema: SchemaConfig;\n filtersMapping?: Record<string, Filter>;\n}) {\n if (!filtersMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filtersMapping[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 (schema.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(schema, 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 schema,\n visibleFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n}) {\n const searchableFields = Object.keys(schema.fields).filter((fieldId) => {\n const field = schema.fields[fieldId];\n const column = visibleFieldIds.find((id) => id === fieldId);\n\n return column && 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":";;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,MAAME,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,MAAoB,EACpBC,UAAkB,EAClBC,SAAiB,KACd;EACH,MAAMC,KAAK,GAAGH,MAAM,CAACI,MAAM,CAACF,SAAS,CAAC;EACtC,IAAI,CAACC,KAAK,EAAE;IACV,OAAO,KAAK;EACd;EAEA,IAAI,CAACR,iBAAiB,CAACM,UAAU,CAAC,EAAE;IAClC,OAAO,KAAK;EACd;EAEA,MAAMI,QAAQ,GAAGC,+BAAoB,CAACL,UAAU,CAAC;EACjD,MAAMM,kBAAkB,GAAGJ,KAAK,CAACK,YAAY,CAACC,uBAAuB;EACrE,OAAOF,kBAAkB,CAACG,QAAQ,CAACL,QAAQ,CAAC;AAC9C,CAAC;AAEM,SAASM,qBAAqBA,CAAC;EACpCC,SAAS;EACTC,KAAK;EACLb,MAAM;EACNc;AAMF,CAAC,EAAE;EACD,IAAI,CAACA,cAAc,EAAE;IACnB,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,cAAc,CAACG,QAAQ,CAAC,CAACC,OAAO;IAChD,MAAMC,MAAM,GAAGH,OAAO,CAACC,QAAQ,CAAC;IAChC,IAAIE,MAAM,EAAE;MACV,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;QAAA,IAAAG,qBAAA;QACzB,MAAMC,WAAW,GAAGJ,MAAkC;QACtD,IAAI,EAAAG,qBAAA,GAAAtB,MAAM,CAACI,MAAM,CAACc,OAAO,CAAC,qBAAtBI,qBAAA,CAAwBE,IAAI,MAAK,SAAS,EAAE;UAC9C,IAAID,WAAW,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKC,yBAAc,CAACC,OAAO,CAAC,EAAE;YAClEd,oBAAoB,GAAGA,oBAAoB,CAACe,EAAE,CAACZ,OAAO,EAAE,IAAI,CAAC;UAC/D,CAAC,MAAM;YACL,MAAMa,WAAW,GAAGC,WAAK,CAACb,MAAM,CAAC,CAAC,CAACW,EAAE,CAACZ,OAAO,EAAE,KAAK,CAAC;YACrD,MAAMe,eAAe,GAAGD,WAAK,CAACb,MAAM,CAAC,CAAC,CAACW,EAAE,CAACZ,OAAO,EAAEpB,SAAS,CAAC;YAC7DiB,oBAAoB,GAAGA,oBAAoB,CAACmB,GAAG,CAC7CH,WAAW,CAACI,EAAE,CAACF,eAAe,CAChC,CAAC;UACH;QACF,CAAC,MAAM;UACLlB,oBAAoB,GAAGA,oBAAoB,CAACqB,OAAO,CACjDlB,OAAO,EACPK,WAAW,CAACc,GAAG,CAAEX,IAAI,IAAKA,IAAI,CAACC,EAAE,CACnC,CAAC;QACH;MACF,CAAC,MAAM,IAAI,OAAOR,MAAM,KAAK,QAAQ,EAAE;QACrC,MAAMmB,SAAS,GAAGnB,MAA6B;QAE/C,KAAK,MAAMlB,UAAU,IAAIqC,SAAS,EAAE;UAClC,MAAMjC,QAAQ,GAAGR,oBAAoB,CAACI,UAAU,CAAC;UACjD,IACEI,QAAQ,IACR,OAAOO,SAAS,CAACP,QAAQ,CAAC,KAAK,UAAU,IACzCN,mBAAmB,CAACC,MAAM,EAAEC,UAAU,EAAEiB,OAAO,CAAC,EAChD;YACA,MAAMqB,KAAK,GAAGD,SAAS,CAACrC,UAAU,CAAC;YACnC,IAAIsC,KAAK,KAAKzC,SAAS,IAAIyC,KAAK,KAAK,IAAI,EAAE;cACzCxB,oBAAoB,GAAGA,oBAAoB,CAACV,QAAQ,CAAC,CACnDa,OAAO,EACPqB,KACF,CAAC;YACH;UACF;QACF;MACF;IACF;EACF;EAEA,OAAOxB,oBAAoB;AAC7B;AAEA,MAAMyB,gBAAgB,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC;AAC7C,SAASC,oBAAoBA,CAAC;EACnC7B,SAAS;EACTC,KAAK;EACLb,MAAM;EACN0C;AAMF,CAAC,EAAE;EACD,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAAC7C,MAAM,CAACI,MAAM,CAAC,CAACe,MAAM,CAAED,OAAO,IAAK;IACtE,MAAMf,KAAK,GAAGH,MAAM,CAACI,MAAM,CAACc,OAAO,CAAC;IACpC,MAAM4B,MAAM,GAAGJ,eAAe,CAACK,IAAI,CAAEpB,EAAE,IAAKA,EAAE,KAAKT,OAAO,CAAC;IAE3D,OAAO4B,MAAM,IAAI3C,KAAK,IAAIqC,gBAAgB,CAAC9B,QAAQ,CAACP,KAAK,CAACqB,IAAI,CAAC;EACjE,CAAC,CAAC;EAEF,IAAIX,KAAK,CAACmC,MAAM,IAAIL,gBAAgB,CAACM,MAAM,GAAG,CAAC,EAAE;IAC/C,IAAIC,YAAwC,GAAG,IAAI;IAEnDP,gBAAgB,CAACQ,OAAO,CAAEhD,KAAK,IAAK;MAClC,MAAMiD,aAAa,GAAGpB,WAAK,CAACb,MAAM,CAAC,CAAC,CAACkC,QAAQ,CAAClD,KAAK,EAAEU,KAAK,CAACmC,MAAO,CAAC;MACnEE,YAAY,GAAGA,YAAY,GACvBA,YAAY,CAACf,EAAE,CAACiB,aAAa,CAAC,GAC9BA,aAAa;IACnB,CAAC,CAAC;IAEF,IAAIF,YAAY,EAAE;MAChBtC,SAAS,GAAGA,SAAS,CAACsB,GAAG,CAACgB,YAAY,CAAC;IACzC;EACF;EAEA,OAAOtC,SAAS;AAClB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addSortToDataQuery","dataQuery","query","schema","dataQueryWithSort","sort","forEach","sortField","fieldName","order","fieldDefinition","fields","capabilities","sortable","ascending","descending"],"sources":["../../../../src/dataSourceAdapters/cms/sortUtils.ts"],"sourcesContent":["import { items } from '@wix/data';\nimport { SchemaConfig } from '../../types';\nimport { ComputedQuery } from '@wix/patterns';\n\nexport function addSortToDataQuery({\n dataQuery,\n query,\n schema,\n}: {\n dataQuery: items.WixDataQuery;\n query: ComputedQuery<any>;\n schema: SchemaConfig;\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 = schema.fields[fieldName];\n if (fieldDefinition?.capabilities.sortable) {\n if (order === 'asc') {\n dataQueryWithSort = dataQueryWithSort.ascending(fieldName);\n } else if (order === 'desc') {\n dataQueryWithSort = dataQueryWithSort.descending(fieldName);\n }\n }\n }\n });\n\n return dataQueryWithSort;\n}\n"],"mappings":";;;;AAIO,SAASA,kBAAkBA,CAAC;EACjCC,SAAS;EACTC,KAAK;EACLC;AAKF,CAAC,EAAE;EACD,IAAIC,iBAAiB,GAAGH,SAAS;EACjC,MAAM;IAAEI;EAAK,CAAC,GAAGH,KAAK;EACtBG,IAAI,YAAJA,IAAI,CAAEC,OAAO,CAAEC,SAAS,IAAK;IAC3B,MAAM;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGF,SAAS;IACtC,IAAIC,SAAS,IAAIC,KAAK,EAAE;MACtB,MAAMC,eAAe,GAAGP,MAAM,CAACQ,MAAM,CAACH,SAAS,CAAC;MAChD,IAAIE,eAAe,YAAfA,eAAe,CAAEE,YAAY,CAACC,QAAQ,EAAE;QAC1C,IAAIJ,KAAK,KAAK,KAAK,EAAE;UACnBL,iBAAiB,GAAGA,iBAAiB,CAACU,SAAS,CAACN,SAAS,CAAC;QAC5D,CAAC,MAAM,IAAIC,KAAK,KAAK,MAAM,EAAE;UAC3BL,iBAAiB,GAAGA,iBAAiB,CAACW,UAAU,CAACP,SAAS,CAAC;QAC7D;MACF;IACF;EACF,CAAC,CAAC;EAEF,OAAOJ,iBAAiB;AAC1B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FilterPropToOperator","exports","from","to","BooleanFilters","checked","unchecked"],"sources":["../../../src/dataSourceAdapters/constants.ts"],"sourcesContent":["import { QueryOperator } from '../types';\n\nexport type FilterProp = 'from' | 'to';\n\nexport const FilterPropToOperator: Record<FilterProp, QueryOperator> = {\n from: 'GTE',\n to: 'LTE',\n};\n\nexport const BooleanFilters = {\n checked: 'checked',\n unchecked: 'unchecked',\n};\n"],"mappings":";;;;AAIO,MAAMA,oBAAuD,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EACrEE,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE;AACN,CAAC;AAEM,MAAMC,cAAc,GAAAH,OAAA,CAAAG,cAAA,GAAG;EAC5BC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE;AACb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.createDataProvider = createDataProvider;
|
|
5
|
+
exports.getSchema = getSchema;
|
|
6
|
+
var _cmsAdapter = require("./cms/cmsAdapter");
|
|
7
|
+
async function getSchema(collectionId, entityTypeSource) {
|
|
8
|
+
switch (entityTypeSource) {
|
|
9
|
+
case 'cms':
|
|
10
|
+
return (0, _cmsAdapter.fetchCmsSchema)(collectionId);
|
|
11
|
+
default:
|
|
12
|
+
throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function createDataProvider({
|
|
16
|
+
collectionId,
|
|
17
|
+
entityTypeSource,
|
|
18
|
+
schema,
|
|
19
|
+
visibleFieldIds,
|
|
20
|
+
filtersMapping
|
|
21
|
+
}) {
|
|
22
|
+
switch (entityTypeSource) {
|
|
23
|
+
case 'cms':
|
|
24
|
+
return (0, _cmsAdapter.createCmsDataProvider)({
|
|
25
|
+
collectionId,
|
|
26
|
+
schema,
|
|
27
|
+
visibleFieldIds,
|
|
28
|
+
filtersMapping
|
|
29
|
+
});
|
|
30
|
+
default:
|
|
31
|
+
throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cmsAdapter","require","getSchema","collectionId","entityTypeSource","fetchCmsSchema","Error","createDataProvider","schema","visibleFieldIds","filtersMapping","createCmsDataProvider"],"sources":["../../../src/dataSourceAdapters/factory.ts"],"sourcesContent":["import { Filter, SchemaConfig } from '../types';\nimport { fetchCmsSchema, createCmsDataProvider } from './cms/cmsAdapter';\nimport { CollectionConfig as PatternsCollectionConfig } from '@wix/patterns';\n\nexport async function getSchema(\n collectionId: string,\n entityTypeSource: string,\n): Promise<SchemaConfig> {\n switch (entityTypeSource) {\n case 'cms':\n return fetchCmsSchema(collectionId);\n default:\n throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);\n }\n}\n\nexport function createDataProvider({\n collectionId,\n entityTypeSource,\n schema,\n visibleFieldIds,\n filtersMapping,\n}: {\n collectionId: string;\n entityTypeSource: string;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n filtersMapping?: Record<string, Filter>;\n}): { fetchData: PatternsCollectionConfig<any, any>['fetchData'] } {\n switch (entityTypeSource) {\n case 'cms':\n return createCmsDataProvider({\n collectionId,\n schema,\n visibleFieldIds,\n filtersMapping,\n });\n default:\n throw new Error(`Unsupported entityTypeSource: ${entityTypeSource}`);\n }\n}\n"],"mappings":";;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAGO,eAAeC,SAASA,CAC7BC,YAAoB,EACpBC,gBAAwB,EACD;EACvB,QAAQA,gBAAgB;IACtB,KAAK,KAAK;MACR,OAAO,IAAAC,0BAAc,EAACF,YAAY,CAAC;IACrC;MACE,MAAM,IAAIG,KAAK,CAAC,iCAAiCF,gBAAgB,EAAE,CAAC;EACxE;AACF;AAEO,SAASG,kBAAkBA,CAAC;EACjCJ,YAAY;EACZC,gBAAgB;EAChBI,MAAM;EACNC,eAAe;EACfC;AAOF,CAAC,EAAkE;EACjE,QAAQN,gBAAgB;IACtB,KAAK,KAAK;MACR,OAAO,IAAAO,iCAAqB,EAAC;QAC3BR,YAAY;QACZK,MAAM;QACNC,eAAe;QACfC;MACF,CAAC,CAAC;IACJ;MACE,MAAM,IAAIJ,KAAK,CAAC,iCAAiCF,gBAAgB,EAAE,CAAC;EACxE;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _form = require("@wix/patterns/form");
|
|
5
|
+
Object.keys(_form).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _form[key]) return;
|
|
8
|
+
exports[key] = _form[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_form","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/form.ts"],"sourcesContent":["export * from '@wix/patterns/form';\n"],"mappings":";;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,KAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
package/dist/cjs/hooks/index.js
CHANGED
|
@@ -19,4 +19,16 @@ Object.keys(_useGridFeatures).forEach(function (key) {
|
|
|
19
19
|
if (key in exports && exports[key] === _useGridFeatures[key]) return;
|
|
20
20
|
exports[key] = _useGridFeatures[key];
|
|
21
21
|
});
|
|
22
|
+
var _useNavigationUtils = require("./useNavigationUtils");
|
|
23
|
+
Object.keys(_useNavigationUtils).forEach(function (key) {
|
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
|
25
|
+
if (key in exports && exports[key] === _useNavigationUtils[key]) return;
|
|
26
|
+
exports[key] = _useNavigationUtils[key];
|
|
27
|
+
});
|
|
28
|
+
var _usePagePath = require("./usePagePath");
|
|
29
|
+
Object.keys(_usePagePath).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _usePagePath[key]) return;
|
|
32
|
+
exports[key] = _usePagePath[key];
|
|
33
|
+
});
|
|
22
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useTableFeatures","require","Object","keys","forEach","key","exports","_useFilters","_useGridFeatures"],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\n"],"mappings":";;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,iBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,WAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,WAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,WAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,WAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,gBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,gBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,gBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,gBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_useTableFeatures","require","Object","keys","forEach","key","exports","_useFilters","_useGridFeatures","_useNavigationUtils","_usePagePath"],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\nexport * from './useNavigationUtils';\nexport * from './usePagePath';\n"],"mappings":";;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,iBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,WAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,WAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,WAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,WAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,gBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,gBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,gBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,gBAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,mBAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,mBAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,mBAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,mBAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,YAAA,CAAAL,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useActionCell = void 0;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _useSharedDataForActions = require("./useSharedDataForActions");
|
|
7
|
+
var _patterns = require("@wix/patterns");
|
|
8
|
+
var _actions = require("../utils/actions");
|
|
9
|
+
var _useNavigationUtils = require("./useNavigationUtils");
|
|
10
|
+
const useActionCell = ({
|
|
11
|
+
config,
|
|
12
|
+
collectionId,
|
|
13
|
+
optimisticActions,
|
|
14
|
+
collectionType,
|
|
15
|
+
entityPageId
|
|
16
|
+
}) => {
|
|
17
|
+
const {
|
|
18
|
+
navigateToEntityPage
|
|
19
|
+
} = (0, _useNavigationUtils.useNavigation)();
|
|
20
|
+
const container = (0, _patterns.useWixPatternsContainer)();
|
|
21
|
+
const editText = (0, _patterns.useSelector)(() => container.translate('cairo.collectionsPage.edit.CTA'));
|
|
22
|
+
const sharedData = (0, _useSharedDataForActions.useSharedDataForActions)({
|
|
23
|
+
collectionId,
|
|
24
|
+
optimisticActions
|
|
25
|
+
});
|
|
26
|
+
const buildCellActions = (0, _react.useCallback)((item, index, api) => {
|
|
27
|
+
var _config$primaryAction, _config$secondaryActi;
|
|
28
|
+
const buildAction = actionConfig => {
|
|
29
|
+
let actionToResolve = null;
|
|
30
|
+
const baseParams = {
|
|
31
|
+
actionParams: {
|
|
32
|
+
item,
|
|
33
|
+
index,
|
|
34
|
+
api
|
|
35
|
+
},
|
|
36
|
+
sharedData
|
|
37
|
+
};
|
|
38
|
+
switch (actionConfig.type) {
|
|
39
|
+
case 'update':
|
|
40
|
+
actionToResolve = (0, _actions.updateAction)({
|
|
41
|
+
action: actionConfig,
|
|
42
|
+
...baseParams
|
|
43
|
+
});
|
|
44
|
+
break;
|
|
45
|
+
case 'delete':
|
|
46
|
+
actionToResolve = (0, _actions.deleteAction)({
|
|
47
|
+
action: actionConfig,
|
|
48
|
+
...baseParams
|
|
49
|
+
});
|
|
50
|
+
break;
|
|
51
|
+
case 'customModal':
|
|
52
|
+
actionToResolve = (0, _actions.customModalAction)({
|
|
53
|
+
action: actionConfig,
|
|
54
|
+
...baseParams
|
|
55
|
+
});
|
|
56
|
+
break;
|
|
57
|
+
case 'custom':
|
|
58
|
+
actionToResolve = (0, _actions.customAction)({
|
|
59
|
+
action: actionConfig,
|
|
60
|
+
...baseParams
|
|
61
|
+
});
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
if (!actionToResolve) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const resolvedAction = (0, _actions.resolveAction)(actionConfig, actionToResolve);
|
|
70
|
+
const {
|
|
71
|
+
label,
|
|
72
|
+
tooltip,
|
|
73
|
+
...resolvedActionProps
|
|
74
|
+
} = resolvedAction;
|
|
75
|
+
return {
|
|
76
|
+
...resolvedActionProps,
|
|
77
|
+
text: resolvedAction.label,
|
|
78
|
+
disabledDescription: resolvedAction.tooltip
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
const primaryAction = config != null && (_config$primaryAction = config.primaryAction) != null && _config$primaryAction.item ? buildAction(config.primaryAction.item) : collectionType === 'Grid' && entityPageId ? {
|
|
82
|
+
text: editText,
|
|
83
|
+
icon: 'edit',
|
|
84
|
+
onClick: () => {
|
|
85
|
+
navigateToEntityPage({
|
|
86
|
+
item,
|
|
87
|
+
entityPageId
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
} : undefined;
|
|
91
|
+
const secondaryActions = config != null && (_config$secondaryActi = config.secondaryActions) != null && _config$secondaryActi.items.length ? config.secondaryActions.items.map(buildAction).filter(Boolean) : [];
|
|
92
|
+
if (!primaryAction && !secondaryActions.length) {
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
...(primaryAction ? {
|
|
97
|
+
primaryAction
|
|
98
|
+
} : {
|
|
99
|
+
primaryAction: undefined
|
|
100
|
+
}),
|
|
101
|
+
...(secondaryActions.length && {
|
|
102
|
+
secondaryActions
|
|
103
|
+
})
|
|
104
|
+
};
|
|
105
|
+
}, [config, sharedData, entityPageId, navigateToEntityPage, collectionType, editText]);
|
|
106
|
+
return buildCellActions;
|
|
107
|
+
};
|
|
108
|
+
exports.useActionCell = useActionCell;
|
|
109
|
+
//# sourceMappingURL=useActionCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_useSharedDataForActions","_patterns","_actions","_useNavigationUtils","useActionCell","config","collectionId","optimisticActions","collectionType","entityPageId","navigateToEntityPage","useNavigation","container","useWixPatternsContainer","editText","useSelector","translate","sharedData","useSharedDataForActions","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","updateAction","action","deleteAction","customModalAction","customAction","resolvedAction","resolveAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","icon","onClick","undefined","secondaryActions","items","length","map","filter","Boolean","exports"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ComponentConfig,\n ResolvedAction,\n} from '../types';\nimport { useSharedDataForActions } from './useSharedDataForActions';\nimport {\n CollectionOptimisticActions,\n useWixPatternsContainer,\n useSelector,\n} from '@wix/patterns';\nimport {\n updateAction,\n customModalAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { useNavigation } from './useNavigationUtils';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n optimisticActions: CollectionOptimisticActions<any, any>;\n collectionType?: ComponentConfig['type'];\n entityPageId?: string;\n}\n\nexport const useActionCell = ({\n config,\n collectionId,\n optimisticActions,\n collectionType,\n entityPageId,\n}: useActionCellParams) => {\n const { navigateToEntityPage } = useNavigation();\n const container = useWixPatternsContainer();\n const editText = useSelector(() =>\n container.translate('cairo.collectionsPage.edit.CTA'),\n );\n\n const sharedData = useSharedDataForActions({\n collectionId,\n optimisticActions,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (actionConfig: ActionCellItemConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sharedData,\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 '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 { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : collectionType === 'Grid' && entityPageId\n ? {\n text: editText,\n icon: 'edit',\n onClick: () => {\n navigateToEntityPage({\n item,\n entityPageId,\n });\n },\n }\n : undefined;\n\n const secondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction ? { primaryAction } : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n };\n },\n [\n config,\n sharedData,\n entityPageId,\n navigateToEntityPage,\n collectionType,\n editText,\n ],\n );\n\n return buildCellActions;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useAutoPatternsOptimisticActions = void 0;
|
|
5
|
+
var _patterns = require("@wix/patterns");
|
|
6
|
+
const useAutoPatternsOptimisticActions = collection => {
|
|
7
|
+
const optimisticActions = (0, _patterns.useOptimisticActions)(collection, {
|
|
8
|
+
orderBy: ({
|
|
9
|
+
sort
|
|
10
|
+
}) => sort || []
|
|
11
|
+
});
|
|
12
|
+
return optimisticActions;
|
|
13
|
+
};
|
|
14
|
+
exports.useAutoPatternsOptimisticActions = useAutoPatternsOptimisticActions;
|
|
15
|
+
//# sourceMappingURL=useAutoPatternsOptimisticActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_patterns","require","useAutoPatternsOptimisticActions","collection","optimisticActions","useOptimisticActions","orderBy","sort","exports"],"sources":["../../../src/hooks/useAutoPatternsOptimisticActions.ts"],"sourcesContent":["import { CollectionState, useOptimisticActions } from '@wix/patterns';\n\nexport const useAutoPatternsOptimisticActions = (\n collection: CollectionState<any>,\n) => {\n const optimisticActions = useOptimisticActions(collection, {\n orderBy: ({ sort }) => sort || [],\n });\n\n return optimisticActions;\n};\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEO,MAAMC,gCAAgC,GAC3CC,UAAgC,IAC7B;EACH,MAAMC,iBAAiB,GAAG,IAAAC,8BAAoB,EAACF,UAAU,EAAE;IACzDG,OAAO,EAAEA,CAAC;MAAEC;IAAK,CAAC,KAAKA,IAAI,IAAI;EACjC,CAAC,CAAC;EAEF,OAAOH,iBAAiB;AAC1B,CAAC;AAACI,OAAA,CAAAN,gCAAA,GAAAA,gCAAA","ignoreList":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useBulkActionToolbar = void 0;
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _useSharedDataForActions = require("./useSharedDataForActions");
|
|
7
|
+
var _patterns = require("@wix/patterns");
|
|
8
|
+
var _actions = require("../utils/actions");
|
|
9
|
+
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useBulkActionToolbar.tsx";
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
const useBulkActionToolbar = ({
|
|
13
|
+
config,
|
|
14
|
+
collectionId,
|
|
15
|
+
optimisticActions
|
|
16
|
+
}) => {
|
|
17
|
+
var _config$primaryAction2, _config$secondaryActi2;
|
|
18
|
+
const sharedData = (0, _useSharedDataForActions.useSharedDataForActions)({
|
|
19
|
+
collectionId,
|
|
20
|
+
optimisticActions
|
|
21
|
+
});
|
|
22
|
+
const bulkActionToolbar = (0, _react.useCallback)(param => {
|
|
23
|
+
var _config$primaryAction, _config$secondaryActi;
|
|
24
|
+
const buildAction = actionConfig => {
|
|
25
|
+
let actionToResolve = null;
|
|
26
|
+
const baseParams = {
|
|
27
|
+
actionParams: param,
|
|
28
|
+
sharedData
|
|
29
|
+
};
|
|
30
|
+
switch (actionConfig.type) {
|
|
31
|
+
case 'bulkDelete':
|
|
32
|
+
actionToResolve = (0, _actions.bulkDeleteAction)({
|
|
33
|
+
action: actionConfig,
|
|
34
|
+
...baseParams
|
|
35
|
+
});
|
|
36
|
+
break;
|
|
37
|
+
case 'customModal':
|
|
38
|
+
actionToResolve = (0, _actions.customModalAction)({
|
|
39
|
+
action: actionConfig,
|
|
40
|
+
...baseParams
|
|
41
|
+
});
|
|
42
|
+
break;
|
|
43
|
+
case 'custom':
|
|
44
|
+
actionToResolve = (0, _actions.customAction)({
|
|
45
|
+
action: actionConfig,
|
|
46
|
+
...baseParams
|
|
47
|
+
});
|
|
48
|
+
break;
|
|
49
|
+
default:
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
if (!actionToResolve) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const resolvedAction = (0, _actions.resolveAction)(actionConfig, actionToResolve);
|
|
56
|
+
const {
|
|
57
|
+
icon,
|
|
58
|
+
...resolvedActionParams
|
|
59
|
+
} = resolvedAction;
|
|
60
|
+
return {
|
|
61
|
+
prefixIcon: /*#__PURE__*/_react.default.isValidElement(icon) ? icon : undefined,
|
|
62
|
+
dataHook: actionConfig.id,
|
|
63
|
+
...resolvedActionParams
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
const primaryActionItems = ((config == null || (_config$primaryAction = config.primaryActions) == null ? void 0 : _config$primaryAction.items) || []).map(buildAction).filter(action => Boolean(action));
|
|
67
|
+
const secondaryActionItems = ((config == null || (_config$secondaryActi = config.secondaryActions) == null ? void 0 : _config$secondaryActi.sections) || []).map(section => section.items.map(buildAction).filter(action => Boolean(action)));
|
|
68
|
+
return /*#__PURE__*/_react.default.createElement(_patterns.MultiBulkActionToolbar, {
|
|
69
|
+
primaryActionItems: primaryActionItems,
|
|
70
|
+
secondaryActionItems: secondaryActionItems,
|
|
71
|
+
__self: void 0,
|
|
72
|
+
__source: {
|
|
73
|
+
fileName: _jsxFileName,
|
|
74
|
+
lineNumber: 105,
|
|
75
|
+
columnNumber: 9
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}, [config, sharedData]);
|
|
79
|
+
if (!config) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
if (!((_config$primaryAction2 = config.primaryActions) != null && _config$primaryAction2.items.length) && !((_config$secondaryActi2 = config.secondaryActions) != null && _config$secondaryActi2.sections.length)) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
return bulkActionToolbar;
|
|
86
|
+
};
|
|
87
|
+
exports.useBulkActionToolbar = useBulkActionToolbar;
|
|
88
|
+
//# sourceMappingURL=useBulkActionToolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_useSharedDataForActions","_patterns","_actions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBulkActionToolbar","config","collectionId","optimisticActions","_config$primaryAction2","_config$secondaryActi2","sharedData","useSharedDataForActions","bulkActionToolbar","useCallback","param","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","bulkDeleteAction","action","customModalAction","customAction","resolvedAction","resolveAction","icon","resolvedActionParams","prefixIcon","React","isValidElement","undefined","dataHook","id","primaryActionItems","primaryActions","items","map","filter","Boolean","secondaryActionItems","secondaryActions","sections","section","createElement","MultiBulkActionToolbar","__self","__source","fileName","lineNumber","columnNumber","length","exports"],"sources":["../../../src/hooks/useBulkActionToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n BulkActionItemConfig,\n BulkActionsConfig,\n ResolvedAction,\n} from '../types';\nimport { useSharedDataForActions } from './useSharedDataForActions';\nimport {\n CollectionOptimisticActions,\n TableProps,\n MultiBulkActionToolbar,\n ActionSubitem,\n} from '@wix/patterns';\nimport {\n bulkDeleteAction,\n customAction,\n customModalAction,\n resolveAction,\n} from '../utils/actions';\n\nexport type BulkActionToolbarRenderProp = Parameters<\n NonNullable<TableProps<any, any>['bulkActionToolbar']>\n>[0];\n\nexport interface useBulkActionToolbarParams {\n config?: BulkActionsConfig;\n collectionId: string;\n optimisticActions: CollectionOptimisticActions<any, any>;\n}\n\nexport const useBulkActionToolbar = ({\n config,\n collectionId,\n optimisticActions,\n}: useBulkActionToolbarParams) => {\n const sharedData = useSharedDataForActions({\n collectionId,\n optimisticActions,\n });\n\n const bulkActionToolbar = useCallback(\n (param: BulkActionToolbarRenderProp) => {\n const buildAction = (\n actionConfig: BulkActionItemConfig,\n ): ActionSubitem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: param,\n sharedData,\n };\n\n switch (actionConfig.type) {\n case 'bulkDelete':\n actionToResolve = bulkDeleteAction({\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 { icon, ...resolvedActionParams } = resolvedAction;\n\n return {\n prefixIcon: React.isValidElement(icon) ? icon : undefined,\n dataHook: actionConfig.id,\n ...resolvedActionParams,\n };\n };\n\n const primaryActionItems = (config?.primaryActions?.items || [])\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action));\n const secondaryActionItems = (\n config?.secondaryActions?.sections || []\n ).map((section) =>\n section.items\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n );\n\n return (\n <MultiBulkActionToolbar\n primaryActionItems={primaryActionItems}\n secondaryActionItems={secondaryActionItems}\n />\n );\n },\n [config, sharedData],\n );\n\n if (!config) {\n return undefined;\n }\n\n if (\n !config.primaryActions?.items.length &&\n !config.secondaryActions?.sections.length\n ) {\n return undefined;\n }\n return bulkActionToolbar;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,105 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.useColumns = void 0;
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
7
|
var _providers = require("../providers");
|
|
6
8
|
var _lodash = require("lodash");
|
|
9
|
+
var _designSystem = require("@wix/design-system");
|
|
10
|
+
var _getImageUrl = require("../utils/media/getImageUrl");
|
|
11
|
+
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useColumns.tsx";
|
|
7
12
|
const useColumns = columns => {
|
|
8
13
|
const {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
fields
|
|
15
|
+
} = (0, _providers.useSchema)();
|
|
16
|
+
const {
|
|
17
|
+
getSchema
|
|
18
|
+
} = (0, _providers.useSchemaRegistry)();
|
|
13
19
|
const overrides = (0, _providers.usePatternsWizardOverridesContext)();
|
|
14
20
|
const existingColumns = columns.filter(column => {
|
|
15
21
|
return !!fields[column.id];
|
|
16
22
|
});
|
|
23
|
+
const createRenderer = (fieldDefinition, itemValue) => {
|
|
24
|
+
if (itemValue == null) {
|
|
25
|
+
return '';
|
|
26
|
+
}
|
|
27
|
+
switch (fieldDefinition.type) {
|
|
28
|
+
case 'BOOLEAN':
|
|
29
|
+
return itemValue ? '✔' : '✖';
|
|
30
|
+
case 'DATE':
|
|
31
|
+
if (itemValue instanceof Date) {
|
|
32
|
+
return itemValue.toLocaleDateString();
|
|
33
|
+
}
|
|
34
|
+
if (typeof itemValue === 'string') {
|
|
35
|
+
const date = new Date(itemValue);
|
|
36
|
+
return date.toLocaleDateString();
|
|
37
|
+
}
|
|
38
|
+
return itemValue;
|
|
39
|
+
case 'DATETIME':
|
|
40
|
+
if (itemValue instanceof Date) {
|
|
41
|
+
return itemValue.toLocaleString();
|
|
42
|
+
}
|
|
43
|
+
if (typeof itemValue === 'string') {
|
|
44
|
+
const date = new Date(itemValue);
|
|
45
|
+
return date.toLocaleString();
|
|
46
|
+
}
|
|
47
|
+
return itemValue;
|
|
48
|
+
case 'ARRAY':
|
|
49
|
+
// We assume that the array contains strings
|
|
50
|
+
// If the array contains objects, we need to handle it differently
|
|
51
|
+
return itemValue.join(', ');
|
|
52
|
+
case 'REFERENCE':
|
|
53
|
+
if (fieldDefinition.referenceMetadata && getSchema) {
|
|
54
|
+
const {
|
|
55
|
+
referencedCollectionId
|
|
56
|
+
} = fieldDefinition.referenceMetadata;
|
|
57
|
+
const refSchema = getSchema(referencedCollectionId);
|
|
58
|
+
if (refSchema) {
|
|
59
|
+
let nameValue;
|
|
60
|
+
let imageValue;
|
|
61
|
+
const displayField = refSchema.displayField;
|
|
62
|
+
if (typeof itemValue === 'object' && itemValue !== null) {
|
|
63
|
+
nameValue = itemValue[displayField] || '';
|
|
64
|
+
imageValue = refSchema.imageField && itemValue[refSchema.imageField];
|
|
65
|
+
}
|
|
66
|
+
const imageUrl = imageValue && (0, _getImageUrl.getImageUrl)(imageValue);
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
68
|
+
gap: "SP2",
|
|
69
|
+
verticalAlign: "middle",
|
|
70
|
+
__self: void 0,
|
|
71
|
+
__source: {
|
|
72
|
+
fileName: _jsxFileName,
|
|
73
|
+
lineNumber: 69,
|
|
74
|
+
columnNumber: 15
|
|
75
|
+
}
|
|
76
|
+
}, imageUrl && /*#__PURE__*/_react.default.createElement(_designSystem.Avatar, {
|
|
77
|
+
size: "size24",
|
|
78
|
+
name: nameValue,
|
|
79
|
+
imgProps: {
|
|
80
|
+
src: imageUrl
|
|
81
|
+
},
|
|
82
|
+
__self: void 0,
|
|
83
|
+
__source: {
|
|
84
|
+
fileName: _jsxFileName,
|
|
85
|
+
lineNumber: 71,
|
|
86
|
+
columnNumber: 19
|
|
87
|
+
}
|
|
88
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
89
|
+
__self: void 0,
|
|
90
|
+
__source: {
|
|
91
|
+
fileName: _jsxFileName,
|
|
92
|
+
lineNumber: 77,
|
|
93
|
+
columnNumber: 17
|
|
94
|
+
}
|
|
95
|
+
}, nameValue));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return itemValue;
|
|
99
|
+
default:
|
|
100
|
+
return itemValue;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
17
103
|
return existingColumns.map(column => {
|
|
18
104
|
var _fieldDefinition$capa;
|
|
19
105
|
const fieldDefinition = fields[column.id];
|
|
@@ -41,39 +127,6 @@ const useColumns = columns => {
|
|
|
41
127
|
}).filter(Boolean);
|
|
42
128
|
};
|
|
43
129
|
exports.useColumns = useColumns;
|
|
44
|
-
const createRenderer = (fieldDefinition, itemValue) => {
|
|
45
|
-
if (itemValue == null) {
|
|
46
|
-
return '';
|
|
47
|
-
}
|
|
48
|
-
switch (fieldDefinition.type) {
|
|
49
|
-
case 'BOOLEAN':
|
|
50
|
-
return itemValue ? '✔' : '✖';
|
|
51
|
-
case 'DATE':
|
|
52
|
-
if (itemValue instanceof Date) {
|
|
53
|
-
return itemValue.toLocaleDateString();
|
|
54
|
-
}
|
|
55
|
-
if (typeof itemValue === 'string') {
|
|
56
|
-
const date = new Date(itemValue);
|
|
57
|
-
return date.toLocaleDateString();
|
|
58
|
-
}
|
|
59
|
-
return itemValue;
|
|
60
|
-
case 'DATETIME':
|
|
61
|
-
if (itemValue instanceof Date) {
|
|
62
|
-
return itemValue.toLocaleString();
|
|
63
|
-
}
|
|
64
|
-
if (typeof itemValue === 'string') {
|
|
65
|
-
const date = new Date(itemValue);
|
|
66
|
-
return date.toLocaleString();
|
|
67
|
-
}
|
|
68
|
-
return itemValue;
|
|
69
|
-
case 'ARRAY':
|
|
70
|
-
// We assume that the array contains strings
|
|
71
|
-
// If the array contains objects, we need to handle it differently
|
|
72
|
-
return itemValue.join(', ');
|
|
73
|
-
default:
|
|
74
|
-
return itemValue;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
130
|
const createSortConfiguration = (column, sortable) => {
|
|
78
131
|
if (!sortable) {
|
|
79
132
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_providers","require","_lodash","useColumns","columns","schema","fields","useCollectionData","overrides","usePatternsWizardOverridesContext","existingColumns","filter","column","id","map","_fieldDefinition$capa","fieldDefinition","sortable","capabilities","baseColumnConfig","title","name","displayName","width","createSortConfiguration","createCustomColumnConfiguration","render","item","_overrides$columns","_overrides$columns$ca","itemValue","get","camelCase","call","value","createRenderer","Boolean","exports","type","Date","toLocaleDateString","date","toLocaleString","join","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.ts"],"sourcesContent":["import { TableColumn } from '@wix/patterns';\nimport {\n useCollectionData,\n usePatternsWizardOverridesContext,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\n\nexport const useColumns = (columns: Column[]) => {\n const {\n schema: { fields },\n } = useCollectionData();\n\n const overrides = usePatternsWizardOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id];\n });\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition) {\n return null;\n }\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition.displayName,\n ...(column.width ? { width: column.width } : {}),\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (item: any) => {\n const itemValue = get(item, column.id);\n return (\n overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n }) ?? createRenderer(fieldDefinition, itemValue)\n );\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createRenderer = (fieldDefinition: Field, itemValue: any): string => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n default:\n return itemValue;\n }\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_providers","_lodash","_designSystem","_getImageUrl","_jsxFileName","useColumns","columns","fields","useSchema","getSchema","useSchemaRegistry","overrides","usePatternsWizardOverridesContext","existingColumns","filter","column","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","imageField","imageUrl","getImageUrl","default","createElement","Box","gap","verticalAlign","__self","__source","fileName","lineNumber","columnNumber","Avatar","size","name","imgProps","src","map","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","width","createSortConfiguration","createCustomColumnConfiguration","render","item","_overrides$columns","_overrides$columns$ca","get","camelCase","call","value","Boolean","exports","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n usePatternsWizardOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = usePatternsWizardOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n imageValue =\n refSchema.imageField && itemValue[refSchema.imageField];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition) {\n return null;\n }\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition.displayName,\n ...(column.width ? { width: column.width } : {}),\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (item: any) => {\n const itemValue = get(item, column.id);\n return (\n overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n }) ?? createRenderer(fieldDefinition, itemValue)\n );\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|