@wix/auto-patterns 1.53.0 → 1.55.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/assets/locale/messages_en.json +1 -0
- package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/color-view/color-input.js +168 -0
- package/dist/cjs/cms-fields/components/color-view/color-input.js.map +1 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.js +62 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.js.map +1 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.st.css +14 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.st.css.js +24 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.uni.driver.js +15 -0
- package/dist/cjs/cms-fields/components/color-view/color-view.uni.driver.js.map +1 -0
- package/dist/cjs/cms-fields/components/color-view/form-color-input.js +35 -0
- package/dist/cjs/cms-fields/components/color-view/form-color-input.js.map +1 -0
- package/dist/cjs/cms-fields/components/color-view/index.js +22 -0
- package/dist/cjs/cms-fields/components/color-view/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
- package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css +2 -3
- package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/exclamation/type-mismatch-exclamation.js +1 -0
- package/dist/cjs/cms-fields/components/exclamation/type-mismatch-exclamation.js.map +1 -1
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/index.js +6 -0
- package/dist/cjs/cms-fields/components/index.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
- package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/validations/array.js +26 -0
- package/dist/cjs/cms-fields/validations/array.js.map +1 -0
- package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +1 -1
- package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +2 -1
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +9 -6
- package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +7 -5
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.uni.driver.js +5 -0
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +7 -5
- package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -1
- package/dist/cjs/components/fields/Array.js +111 -0
- package/dist/cjs/components/fields/Array.js.map +1 -0
- package/dist/cjs/components/fields/Color.js +50 -0
- package/dist/cjs/components/fields/Color.js.map +1 -0
- package/dist/cjs/components/fields/Color.uni.driver.js +19 -0
- package/dist/cjs/components/fields/Color.uni.driver.js.map +1 -0
- package/dist/cjs/components/fields/index.js +8 -2
- package/dist/cjs/components/fields/index.js.map +1 -1
- package/dist/cjs/components/layouts/FormField.js +4 -2
- package/dist/cjs/components/layouts/FormField.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +20 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsBackup.js +48 -0
- package/dist/cjs/dataSourceAdapters/cms/cmsBackup.js.map +1 -0
- package/dist/cjs/hooks/pluginsDynamicImports.js +4 -1
- package/dist/cjs/hooks/pluginsDynamicImports.js.map +1 -1
- package/dist/cjs/hooks/useActionCell.js +3 -0
- package/dist/cjs/hooks/useActionCell.js.map +1 -1
- package/dist/cjs/hooks/useBaseTableFeatures.js +1 -0
- package/dist/cjs/hooks/useBaseTableFeatures.js.map +1 -1
- package/dist/cjs/hooks/useColumns.js +36 -18
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useFiltersState.js +1 -0
- package/dist/cjs/hooks/useFiltersState.js.map +1 -1
- package/dist/cjs/hooks/useGridFeaturesAsync.js +3 -1
- package/dist/cjs/hooks/useGridFeaturesAsync.js.map +1 -1
- package/dist/cjs/hooks/useImport.js +78 -0
- package/dist/cjs/hooks/useImport.js.map +1 -0
- package/dist/cjs/hooks/useTableFeaturesAsync.js +3 -1
- package/dist/cjs/hooks/useTableFeaturesAsync.js.map +1 -1
- package/dist/cjs/hooks/useTableGridSwitchFeaturesAsync.js +3 -1
- package/dist/cjs/hooks/useTableGridSwitchFeaturesAsync.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
- package/dist/cjs/types/SchemaConfig.js +4 -0
- package/dist/cjs/types/SchemaConfig.js.map +1 -0
- package/dist/cjs/types/types.js +6 -0
- package/dist/cjs/types/types.js.map +1 -1
- package/dist/cjs/utils/backupPolling.js +31 -0
- package/dist/cjs/utils/backupPolling.js.map +1 -0
- package/dist/esm/assets/locale/messages_en.json +1 -0
- package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
- package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/color-view/color-input.js +104 -0
- package/dist/esm/cms-fields/components/color-view/color-input.js.map +1 -0
- package/dist/esm/cms-fields/components/color-view/color-view.js +30 -0
- package/dist/esm/cms-fields/components/color-view/color-view.js.map +1 -0
- package/dist/esm/cms-fields/components/color-view/color-view.st.css +14 -0
- package/dist/esm/cms-fields/components/color-view/color-view.st.css.js +20 -0
- package/dist/esm/cms-fields/components/color-view/color-view.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/color-view/color-view.uni.driver.js +11 -0
- package/dist/esm/cms-fields/components/color-view/color-view.uni.driver.js.map +1 -0
- package/dist/esm/cms-fields/components/color-view/form-color-input.js +24 -0
- package/dist/esm/cms-fields/components/color-view/form-color-input.js.map +1 -0
- package/dist/esm/cms-fields/components/color-view/index.js +4 -0
- package/dist/esm/cms-fields/components/color-view/index.js.map +1 -0
- package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
- package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
- package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/exclamation/exclamation.st.css +2 -3
- package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/exclamation/type-mismatch-exclamation.js +2 -1
- package/dist/esm/cms-fields/components/exclamation/type-mismatch-exclamation.js.map +1 -1
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/index.js +1 -0
- package/dist/esm/cms-fields/components/index.js.map +1 -1
- package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
- package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
- package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
- package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
- package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
- package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
- package/dist/esm/cms-fields/validations/array.js +20 -0
- package/dist/esm/cms-fields/validations/array.js.map +1 -0
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +1 -1
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +6 -3
- package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +4 -2
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.uni.driver.js +5 -0
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.uni.driver.js.map +1 -1
- package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +4 -2
- package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -1
- package/dist/esm/components/fields/Array.js +86 -0
- package/dist/esm/components/fields/Array.js.map +1 -0
- package/dist/esm/components/fields/Color.js +31 -0
- package/dist/esm/components/fields/Color.js.map +1 -0
- package/dist/esm/components/fields/Color.uni.driver.js +15 -0
- package/dist/esm/components/fields/Color.uni.driver.js.map +1 -0
- package/dist/esm/components/fields/index.js +2 -0
- package/dist/esm/components/fields/index.js.map +1 -1
- package/dist/esm/components/layouts/FormField.js +4 -2
- package/dist/esm/components/layouts/FormField.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +20 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/cmsBackup.js +44 -0
- package/dist/esm/dataSourceAdapters/cms/cmsBackup.js.map +1 -0
- package/dist/esm/hooks/pluginsDynamicImports.js +2 -0
- package/dist/esm/hooks/pluginsDynamicImports.js.map +1 -1
- package/dist/esm/hooks/useActionCell.js +3 -0
- package/dist/esm/hooks/useActionCell.js.map +1 -1
- package/dist/esm/hooks/useBaseTableFeatures.js +1 -0
- package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
- package/dist/esm/hooks/useColumns.js +11 -5
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useFiltersState.js +1 -0
- package/dist/esm/hooks/useFiltersState.js.map +1 -1
- package/dist/esm/hooks/useGridFeaturesAsync.js +4 -2
- package/dist/esm/hooks/useGridFeaturesAsync.js.map +1 -1
- package/dist/esm/hooks/useImport.js +66 -0
- package/dist/esm/hooks/useImport.js.map +1 -0
- package/dist/esm/hooks/useTableFeaturesAsync.js +4 -2
- package/dist/esm/hooks/useTableFeaturesAsync.js.map +1 -1
- package/dist/esm/hooks/useTableGridSwitchFeaturesAsync.js +4 -2
- package/dist/esm/hooks/useTableGridSwitchFeaturesAsync.js.map +1 -1
- package/dist/esm/services/translations.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/types/CollectionPageConfig.js.map +1 -1
- package/dist/esm/types/SchemaConfig.js +2 -0
- package/dist/esm/types/SchemaConfig.js.map +1 -0
- package/dist/esm/types/types.js +5 -0
- package/dist/esm/types/types.js.map +1 -1
- package/dist/esm/utils/backupPolling.js +27 -0
- package/dist/esm/utils/backupPolling.js.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/color-view/color-input.d.ts +8 -0
- package/dist/types/cms-fields/components/color-view/color-input.d.ts.map +1 -0
- package/dist/types/cms-fields/components/color-view/color-view.d.ts +7 -0
- package/dist/types/cms-fields/components/color-view/color-view.d.ts.map +1 -0
- package/dist/types/cms-fields/components/color-view/color-view.st.css.d.ts +15 -0
- package/dist/types/cms-fields/components/color-view/color-view.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/color-view/color-view.uni.driver.d.ts +16 -0
- package/dist/types/cms-fields/components/color-view/color-view.uni.driver.d.ts.map +1 -0
- package/dist/types/cms-fields/components/color-view/form-color-input.d.ts +7 -0
- package/dist/types/cms-fields/components/color-view/form-color-input.d.ts.map +1 -0
- package/dist/types/cms-fields/components/color-view/index.d.ts +4 -0
- package/dist/types/cms-fields/components/color-view/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/document/form-document-field.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/index.d.ts +1 -0
- package/dist/types/cms-fields/components/index.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/text/text-view.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/validations/array.d.ts +3 -0
- package/dist/types/cms-fields/validations/array.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts +379 -5
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts +1 -0
- package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsTable/AutoPatternsTable.uni.driver.d.ts +379 -5
- package/dist/types/components/AutoPatternsTable/AutoPatternsTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts.map +1 -1
- package/dist/types/components/fields/Array.d.ts +6 -0
- package/dist/types/components/fields/Array.d.ts.map +1 -0
- package/dist/types/components/fields/Color.d.ts +6 -0
- package/dist/types/components/fields/Color.d.ts.map +1 -0
- package/dist/types/components/fields/Color.uni.driver.d.ts +89 -0
- package/dist/types/components/fields/Color.uni.driver.d.ts.map +1 -0
- package/dist/types/components/fields/index.d.ts +2 -0
- package/dist/types/components/fields/index.d.ts.map +1 -1
- package/dist/types/components/layouts/FormField.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsBackup.d.ts +3 -0
- package/dist/types/dataSourceAdapters/cms/cmsBackup.d.ts.map +1 -0
- package/dist/types/hooks/pluginsDynamicImports.d.ts +1 -0
- package/dist/types/hooks/pluginsDynamicImports.d.ts.map +1 -1
- package/dist/types/hooks/useActionCell.d.ts +1 -1
- package/dist/types/hooks/useActionCell.d.ts.map +1 -1
- package/dist/types/hooks/useBaseTableFeatures.d.ts +2 -0
- package/dist/types/hooks/useBaseTableFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useColumns.d.ts.map +1 -1
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts +1 -1
- package/dist/types/hooks/useFiltersState.d.ts.map +1 -1
- package/dist/types/hooks/useGridFeaturesAsync.d.ts +1 -0
- package/dist/types/hooks/useGridFeaturesAsync.d.ts.map +1 -1
- package/dist/types/hooks/useImport.d.ts +8 -0
- package/dist/types/hooks/useImport.d.ts.map +1 -0
- package/dist/types/hooks/useTableFeaturesAsync.d.ts +1 -0
- package/dist/types/hooks/useTableFeaturesAsync.d.ts.map +1 -1
- package/dist/types/hooks/useTableGridSwitchFeaturesAsync.d.ts +1 -0
- package/dist/types/hooks/useTableGridSwitchFeaturesAsync.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +379 -5
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +379 -5
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +379 -5
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +379 -5
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/types/CollectionPageConfig.d.ts +14 -0
- package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
- package/dist/types/types/SchemaConfig.d.ts +211 -0
- package/dist/types/types/SchemaConfig.d.ts.map +1 -0
- package/dist/types/types/types.d.ts +1 -160
- package/dist/types/types/types.d.ts.map +1 -1
- package/dist/types/utils/backupPolling.d.ts +12 -0
- package/dist/types/utils/backupPolling.d.ts.map +1 -0
- package/package.json +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["collections","items","fetchCmsData","errorHandler","CMS_EMAIL_TYPE","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","TIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","MULTI_REFERENCE","IMAGE","MEDIA_GALLERY","DOCUMENT","ARRAY_DOCUMENT","AUDIO","fetchCmsSchema","collectionId","schema","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","replaceReferences","transformCmsSchema","transformedFields","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","_field$typeMetadata2","key","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","referencedCollectionId","typeMetadata","reference","multiReference","isReference","referenceMetadata","referenceFields","allReferenceFieldIds","schemaConfig","displayField","idField","actions","get","dataQuery","query","eq","length","include","res","find","returnTotalCount","Error","create","created","insert","createdId","update","delete","remove","bulkDelete","entityIds","bulkRemove","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\n// The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK\n// doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.\n// TODO: remove this once the SDK is updated\nconst CMS_EMAIL_TYPE = 'EMAIL' as collections.Type;\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.TIME]: 'TIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'ADDRESS',\n [collections.Type.OBJECT]: 'OBJECT',\n [collections.Type.RICH_TEXT]: 'RICH_TEXT',\n [collections.Type.RICH_CONTENT]: 'RICH_CONTENT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',\n [collections.Type.DOCUMENT]: 'DOCUMENT',\n [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',\n [collections.Type.AUDIO]: 'AUDIO',\n [CMS_EMAIL_TYPE]: 'EMAIL',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<collections.DataCollection> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n return schema;\n}\n\nconst getReferenceFields = (fields: Record<string, Field>) =>\n Object.values(fields).filter(\n (f): f is Field => f?.type === 'REFERENCE' || f?.type === 'MULTI_REFERENCE',\n );\n\nconst updateMultiReferences = async (\n collectionId: string,\n entityId: string,\n entity: Record<string, any>,\n multiReferenceFields: Field[],\n) => {\n await Promise.all(\n multiReferenceFields.map(async (field) => {\n const rawValue = entity[field.id];\n const multipleReferenceValues = rawValue as Record<string, unknown>[];\n const multipleReferenceIds = multipleReferenceValues.map(\n (value) => value._id as string,\n );\n\n await items.replaceReferences(\n collectionId,\n field.id,\n entityId,\n multipleReferenceIds,\n );\n }),\n );\n};\n\nexport function transformCmsSchema(\n schema: collections.DataCollection,\n): SchemaConfig {\n const collectionId = schema._id as string;\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 const referencedCollectionId =\n field.typeMetadata?.reference?.referencedCollectionId ??\n field.typeMetadata?.multiReference?.referencedCollectionId;\n\n const isReference =\n fieldType === 'REFERENCE' || fieldType === 'MULTI_REFERENCE';\n\n if (isReference && referencedCollectionId) {\n acc[field.key] = {\n ...baseField,\n type: fieldType as 'REFERENCE' | 'MULTI_REFERENCE',\n referenceMetadata: { referencedCollectionId },\n };\n } else {\n acc[field.key] = {\n ...baseField,\n type: isReference ? 'SHORT_TEXT' : fieldType,\n };\n }\n\n return acc;\n },\n {},\n );\n\n const referenceFields = getReferenceFields(transformedFields);\n const multiReferenceFields = referenceFields.filter(\n (f) => f.type === 'MULTI_REFERENCE',\n );\n const allReferenceFieldIds = referenceFields.map((f) => f.id);\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: async (entityId: string) => {\n let dataQuery = items.query(collectionId).eq('_id', entityId);\n if (allReferenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...allReferenceFieldIds);\n }\n\n const res = await dataQuery.find({ returnTotalCount: false });\n const entity = res.items[0];\n\n if (!entity) {\n throw new Error(`Entity not found: ${entityId}`);\n }\n\n return entity;\n },\n\n create: async (entity) => {\n const created = await items.insert(collectionId, entity);\n const createdId = created._id as string;\n\n if (createdId) {\n await updateMultiReferences(\n collectionId,\n createdId,\n entity as Record<string, unknown>,\n multiReferenceFields,\n );\n }\n\n return { ...entity, _id: createdId };\n },\n\n update: async (entity) => {\n await items.update(\n collectionId,\n entity as typeof entity & { _id: string },\n );\n\n const entityId = entity._id as string;\n\n if (entityId) {\n await updateMultiReferences(\n collectionId,\n entityId,\n entity,\n multiReferenceFields,\n );\n }\n\n return entity;\n },\n\n delete: (entityId) => items.remove(collectionId, entityId),\n bulkDelete: (entityIds) => 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":[]}
|
|
1
|
+
{"version":3,"names":["collections","items","fetchCmsData","errorHandler","createCmsBackupConfig","CMS_EMAIL_TYPE","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","TIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","MULTI_REFERENCE","IMAGE","MEDIA_GALLERY","DOCUMENT","ARRAY_DOCUMENT","AUDIO","LEGACY_COLOR","fetchCmsSchema","collectionId","schema","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","replaceReferences","transformCmsSchema","transformedFields","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","_field$typeMetadata2","key","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","referencedCollectionId","typeMetadata","reference","multiReference","isReference","referenceMetadata","referenceFields","allReferenceFieldIds","schemaConfig","displayField","idField","actions","get","dataQuery","query","eq","length","include","res","find","returnTotalCount","Error","create","created","insert","createdId","update","delete","remove","bulkDelete","entityIds","bulkRemove","options","backup","bulkInsert","entities","inserted","updated","errors","succeeded","failed","e","rowIndex","originalIndex","message","code"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, PatternsFieldType, SchemaConfig } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\nimport { createCmsBackupConfig } from './cmsBackup';\n\n// The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK\n// doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.\n// TODO: remove this once the SDK is updated\nconst CMS_EMAIL_TYPE = 'EMAIL' as collections.Type;\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.TIME]: 'TIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'ADDRESS',\n [collections.Type.OBJECT]: 'OBJECT',\n [collections.Type.RICH_TEXT]: 'RICH_TEXT',\n [collections.Type.RICH_CONTENT]: 'RICH_CONTENT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',\n [collections.Type.DOCUMENT]: 'DOCUMENT',\n [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',\n [collections.Type.AUDIO]: 'AUDIO',\n [CMS_EMAIL_TYPE]: 'EMAIL',\n [collections.Type.LEGACY_COLOR]: 'COLOR',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<collections.DataCollection> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n return schema;\n}\n\nconst getReferenceFields = (fields: Record<string, Field>) =>\n Object.values(fields).filter(\n (f): f is Field => f?.type === 'REFERENCE' || f?.type === 'MULTI_REFERENCE',\n );\n\nconst updateMultiReferences = async (\n collectionId: string,\n entityId: string,\n entity: Record<string, any>,\n multiReferenceFields: Field[],\n) => {\n await Promise.all(\n multiReferenceFields.map(async (field) => {\n const rawValue = entity[field.id];\n const multipleReferenceValues = rawValue as Record<string, unknown>[];\n const multipleReferenceIds = multipleReferenceValues.map(\n (value) => value._id as string,\n );\n\n await items.replaceReferences(\n collectionId,\n field.id,\n entityId,\n multipleReferenceIds,\n );\n }),\n );\n};\n\nexport function transformCmsSchema(\n schema: collections.DataCollection,\n): SchemaConfig {\n const collectionId = schema._id as string;\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 const referencedCollectionId =\n field.typeMetadata?.reference?.referencedCollectionId ??\n field.typeMetadata?.multiReference?.referencedCollectionId;\n\n const isReference =\n fieldType === 'REFERENCE' || fieldType === 'MULTI_REFERENCE';\n\n if (isReference && referencedCollectionId) {\n acc[field.key] = {\n ...baseField,\n type: fieldType as 'REFERENCE' | 'MULTI_REFERENCE',\n referenceMetadata: { referencedCollectionId },\n };\n } else {\n acc[field.key] = {\n ...baseField,\n type: isReference ? 'SHORT_TEXT' : fieldType,\n };\n }\n\n return acc;\n },\n {},\n );\n\n const referenceFields = getReferenceFields(transformedFields);\n const multiReferenceFields = referenceFields.filter(\n (f) => f.type === 'MULTI_REFERENCE',\n );\n const allReferenceFieldIds = referenceFields.map((f) => f.id);\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: async (entityId: string) => {\n let dataQuery = items.query(collectionId).eq('_id', entityId);\n if (allReferenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...allReferenceFieldIds);\n }\n\n const res = await dataQuery.find({ returnTotalCount: false });\n const entity = res.items[0];\n\n if (!entity) {\n throw new Error(`Entity not found: ${entityId}`);\n }\n\n return entity;\n },\n\n create: async (entity) => {\n const created = await items.insert(collectionId, entity);\n const createdId = created._id as string;\n\n if (createdId) {\n await updateMultiReferences(\n collectionId,\n createdId,\n entity as Record<string, unknown>,\n multiReferenceFields,\n );\n }\n\n return { ...entity, _id: createdId };\n },\n\n update: async (entity) => {\n await items.update(\n collectionId,\n entity as typeof entity & { _id: string },\n );\n\n const entityId = entity._id as string;\n\n if (entityId) {\n await updateMultiReferences(\n collectionId,\n entityId,\n entity,\n multiReferenceFields,\n );\n }\n\n return entity;\n },\n\n delete: (entityId) => items.remove(collectionId, entityId),\n bulkDelete: (entityIds) => 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 backup: createCmsBackupConfig(),\n bulkInsert: async (entities) => {\n const { inserted, updated, errors } =\n await errorHandler.withErrorHandler(\n async () => items.bulkInsert(collectionId, entities),\n {},\n );\n\n return {\n succeeded: inserted + updated,\n failed: errors.length,\n errors: errors.map((e) => ({\n rowIndex: e.originalIndex,\n message: e.message,\n code: e.code,\n })),\n };\n },\n },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { backups } from '@wix/data';
|
|
2
|
+
import { errorHandler } from '@wix/essentials';
|
|
3
|
+
import { pollUntilReady } from '../../utils/backupPolling';
|
|
4
|
+
export function createCmsBackupConfig() {
|
|
5
|
+
return {
|
|
6
|
+
restore: async backupId => {
|
|
7
|
+
var _response$restoration;
|
|
8
|
+
const response = await errorHandler.withErrorHandler(async () => backups.restoreBackup(backupId), {});
|
|
9
|
+
return {
|
|
10
|
+
restorationId: response == null || (_response$restoration = response.restoration) == null ? void 0 : _response$restoration._id
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
waitForRestoration: async (restorationId, options) => {
|
|
14
|
+
await pollUntilReady(async () => {
|
|
15
|
+
const {
|
|
16
|
+
restorations: list
|
|
17
|
+
} = await errorHandler.withErrorHandler(() => backups.listRestorations(), {});
|
|
18
|
+
const found = list == null ? void 0 : list.find(r => r._id === restorationId);
|
|
19
|
+
return (found == null ? void 0 : found.status) === 'COMPLETED' || (found == null ? void 0 : found.status) === 'FAILED';
|
|
20
|
+
}, {
|
|
21
|
+
signal: options == null ? void 0 : options.signal
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
create: async () => {
|
|
25
|
+
var _response$backup;
|
|
26
|
+
const response = await errorHandler.withErrorHandler(async () => backups.createBackup(), {});
|
|
27
|
+
return {
|
|
28
|
+
backupId: response == null || (_response$backup = response.backup) == null ? void 0 : _response$backup._id
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
waitForCompletion: async (backupId, options) => {
|
|
32
|
+
await pollUntilReady(async () => {
|
|
33
|
+
const {
|
|
34
|
+
backups: list
|
|
35
|
+
} = await errorHandler.withErrorHandler(() => backups.listBackups(), {});
|
|
36
|
+
const found = list == null ? void 0 : list.find(b => b._id === backupId);
|
|
37
|
+
return (found == null ? void 0 : found.status) === 'READY' || (found == null ? void 0 : found.status) === 'FAILED';
|
|
38
|
+
}, {
|
|
39
|
+
signal: options == null ? void 0 : options.signal
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=cmsBackup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["backups","errorHandler","pollUntilReady","createCmsBackupConfig","restore","backupId","_response$restoration","response","withErrorHandler","restoreBackup","restorationId","restoration","_id","waitForRestoration","options","restorations","list","listRestorations","found","find","r","status","signal","create","_response$backup","createBackup","backup","waitForCompletion","listBackups","b"],"sources":["../../../../src/dataSourceAdapters/cms/cmsBackup.ts"],"sourcesContent":["import { backups } from '@wix/data';\nimport { errorHandler } from '@wix/essentials';\nimport { pollUntilReady } from '../../utils/backupPolling';\nimport type { BackupConfig } from '../../types/SchemaConfig';\n\nexport function createCmsBackupConfig(): BackupConfig {\n return {\n restore: async (backupId: string) => {\n const response = await errorHandler.withErrorHandler(\n async () => backups.restoreBackup(backupId),\n {},\n );\n\n return { restorationId: response?.restoration?._id! };\n },\n waitForRestoration: async (restorationId, options) => {\n await pollUntilReady(\n async () => {\n const { restorations: list } = await errorHandler.withErrorHandler(\n () => backups.listRestorations(),\n {},\n );\n const found = list?.find((r) => r._id === restorationId);\n return found?.status === 'COMPLETED' || found?.status === 'FAILED';\n },\n { signal: options?.signal },\n );\n },\n create: async () => {\n const response = await errorHandler.withErrorHandler(\n async () => backups.createBackup(),\n {},\n );\n return { backupId: response?.backup?._id! };\n },\n waitForCompletion: async (backupId, options) => {\n await pollUntilReady(\n async () => {\n const { backups: list } = await errorHandler.withErrorHandler(\n () => backups.listBackups(),\n {},\n );\n const found = list?.find((b) => b._id === backupId);\n return found?.status === 'READY' || found?.status === 'FAILED';\n },\n { signal: options?.signal },\n );\n },\n };\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,cAAc,QAAQ,2BAA2B;AAG1D,OAAO,SAASC,qBAAqBA,CAAA,EAAiB;EACpD,OAAO;IACLC,OAAO,EAAE,MAAOC,QAAgB,IAAK;MAAA,IAAAC,qBAAA;MACnC,MAAMC,QAAQ,GAAG,MAAMN,YAAY,CAACO,gBAAgB,CAClD,YAAYR,OAAO,CAACS,aAAa,CAACJ,QAAQ,CAAC,EAC3C,CAAC,CACH,CAAC;MAED,OAAO;QAAEK,aAAa,EAAEH,QAAQ,aAAAD,qBAAA,GAARC,QAAQ,CAAEI,WAAW,qBAArBL,qBAAA,CAAuBM;MAAK,CAAC;IACvD,CAAC;IACDC,kBAAkB,EAAE,MAAAA,CAAOH,aAAa,EAAEI,OAAO,KAAK;MACpD,MAAMZ,cAAc,CAClB,YAAY;QACV,MAAM;UAAEa,YAAY,EAAEC;QAAK,CAAC,GAAG,MAAMf,YAAY,CAACO,gBAAgB,CAChE,MAAMR,OAAO,CAACiB,gBAAgB,CAAC,CAAC,EAChC,CAAC,CACH,CAAC;QACD,MAAMC,KAAK,GAAGF,IAAI,oBAAJA,IAAI,CAAEG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACR,GAAG,KAAKF,aAAa,CAAC;QACxD,OAAO,CAAAQ,KAAK,oBAALA,KAAK,CAAEG,MAAM,MAAK,WAAW,IAAI,CAAAH,KAAK,oBAALA,KAAK,CAAEG,MAAM,MAAK,QAAQ;MACpE,CAAC,EACD;QAAEC,MAAM,EAAER,OAAO,oBAAPA,OAAO,CAAEQ;MAAO,CAC5B,CAAC;IACH,CAAC;IACDC,MAAM,EAAE,MAAAA,CAAA,KAAY;MAAA,IAAAC,gBAAA;MAClB,MAAMjB,QAAQ,GAAG,MAAMN,YAAY,CAACO,gBAAgB,CAClD,YAAYR,OAAO,CAACyB,YAAY,CAAC,CAAC,EAClC,CAAC,CACH,CAAC;MACD,OAAO;QAAEpB,QAAQ,EAAEE,QAAQ,aAAAiB,gBAAA,GAARjB,QAAQ,CAAEmB,MAAM,qBAAhBF,gBAAA,CAAkBZ;MAAK,CAAC;IAC7C,CAAC;IACDe,iBAAiB,EAAE,MAAAA,CAAOtB,QAAQ,EAAES,OAAO,KAAK;MAC9C,MAAMZ,cAAc,CAClB,YAAY;QACV,MAAM;UAAEF,OAAO,EAAEgB;QAAK,CAAC,GAAG,MAAMf,YAAY,CAACO,gBAAgB,CAC3D,MAAMR,OAAO,CAAC4B,WAAW,CAAC,CAAC,EAC3B,CAAC,CACH,CAAC;QACD,MAAMV,KAAK,GAAGF,IAAI,oBAAJA,IAAI,CAAEG,IAAI,CAAEU,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKP,QAAQ,CAAC;QACnD,OAAO,CAAAa,KAAK,oBAALA,KAAK,CAAEG,MAAM,MAAK,OAAO,IAAI,CAAAH,KAAK,oBAALA,KAAK,CAAEG,MAAM,MAAK,QAAQ;MAChE,CAAC,EACD;QAAEC,MAAM,EAAER,OAAO,oBAAPA,OAAO,CAAEQ;MAAO,CAC5B,CAAC;IACH;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -10,4 +10,6 @@ export const importCommonCollectionFeatures = () => import(/* webpackChunkName:
|
|
|
10
10
|
'./useCommonCollectionFeatures');
|
|
11
11
|
export const importTableSections = () => import(/* webpackChunkName: "useTableSections" */
|
|
12
12
|
'./useTableSections');
|
|
13
|
+
export const importImportFeature = () => import(/* webpackChunkName: "useImport" */
|
|
14
|
+
'./useImport');
|
|
13
15
|
//# sourceMappingURL=pluginsDynamicImports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["importTableDragAndDrop","importTableGridSwitchDragAndDrop","importGridDragAndDrop","importBaseTableFeatures","importCommonCollectionFeatures","importTableSections"],"sources":["../../../src/hooks/pluginsDynamicImports.ts"],"sourcesContent":["export const importTableDragAndDrop = () =>\n import(\n /* webpackChunkName: \"useTableDragAndDrop\" */\n './useTableDragAndDrop'\n );\n\nexport const importTableGridSwitchDragAndDrop = () =>\n import(\n /* webpackChunkName: \"useTableGridSwitchDragAndDrop\" */\n './useTableGridSwitchDragAndDrop'\n );\n\nexport const importGridDragAndDrop = () =>\n import(\n /* webpackChunkName: \"useGridDragAndDrop\" */\n './useGridDragAndDrop'\n );\n\nexport const importBaseTableFeatures = () =>\n import(\n /* webpackChunkName: \"useBaseTableFeatures\" */\n './useBaseTableFeatures'\n );\n\nexport const importCommonCollectionFeatures = () =>\n import(\n /* webpackChunkName: \"useCommonCollectionFeatures\" */\n './useCommonCollectionFeatures'\n );\n\nexport const importTableSections = () =>\n import(\n /* webpackChunkName: \"useTableSections\" */\n './useTableSections'\n );\n"],"mappings":"AAAA,OAAO,MAAMA,sBAAsB,GAAGA,CAAA,KACpC,MAAM,CACJ;AACA,uBACF,CAAC;AAEH,OAAO,MAAMC,gCAAgC,GAAGA,CAAA,KAC9C,MAAM,CACJ;AACA,iCACF,CAAC;AAEH,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KACnC,MAAM,CACJ;AACA,sBACF,CAAC;AAEH,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KACrC,MAAM,CACJ;AACA,wBACF,CAAC;AAEH,OAAO,MAAMC,8BAA8B,GAAGA,CAAA,KAC5C,MAAM,CACJ;AACA,+BACF,CAAC;AAEH,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KACjC,MAAM,CACJ;AACA,oBACF,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["importTableDragAndDrop","importTableGridSwitchDragAndDrop","importGridDragAndDrop","importBaseTableFeatures","importCommonCollectionFeatures","importTableSections","importImportFeature"],"sources":["../../../src/hooks/pluginsDynamicImports.ts"],"sourcesContent":["export const importTableDragAndDrop = () =>\n import(\n /* webpackChunkName: \"useTableDragAndDrop\" */\n './useTableDragAndDrop'\n );\n\nexport const importTableGridSwitchDragAndDrop = () =>\n import(\n /* webpackChunkName: \"useTableGridSwitchDragAndDrop\" */\n './useTableGridSwitchDragAndDrop'\n );\n\nexport const importGridDragAndDrop = () =>\n import(\n /* webpackChunkName: \"useGridDragAndDrop\" */\n './useGridDragAndDrop'\n );\n\nexport const importBaseTableFeatures = () =>\n import(\n /* webpackChunkName: \"useBaseTableFeatures\" */\n './useBaseTableFeatures'\n );\n\nexport const importCommonCollectionFeatures = () =>\n import(\n /* webpackChunkName: \"useCommonCollectionFeatures\" */\n './useCommonCollectionFeatures'\n );\n\nexport const importTableSections = () =>\n import(\n /* webpackChunkName: \"useTableSections\" */\n './useTableSections'\n );\n\nexport const importImportFeature = () =>\n import(\n /* webpackChunkName: \"useImport\" */\n './useImport'\n );\n"],"mappings":"AAAA,OAAO,MAAMA,sBAAsB,GAAGA,CAAA,KACpC,MAAM,CACJ;AACA,uBACF,CAAC;AAEH,OAAO,MAAMC,gCAAgC,GAAGA,CAAA,KAC9C,MAAM,CACJ;AACA,iCACF,CAAC;AAEH,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KACnC,MAAM,CACJ;AACA,sBACF,CAAC;AAEH,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KACrC,MAAM,CACJ;AACA,wBACF,CAAC;AAEH,OAAO,MAAMC,8BAA8B,GAAGA,CAAA,KAC5C,MAAM,CACJ;AACA,+BACF,CAAC;AAEH,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KACjC,MAAM,CACJ;AACA,oBACF,CAAC;AAEH,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KACjC,MAAM,CACJ;AACA,aACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
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","_config$primaryAction3","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","action","hidden","resolvedAction","label","tooltip","resolvedActionProps","text","disabledDescription","isMultiplePrimaryActions","primaryAction","primaryActions","items","map","Boolean","primaryActionProps","alwaysVisible","visibility","rawSecondaryActions","secondaryActions","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible","alwaysShowPrimaryActions"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ActionCellPrimaryActions,\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 // Handle both single primary action and multiple primary actions\n const isMultiplePrimaryActions = 'items' in (config?.primaryAction || {});\n\n const primaryActions = isMultiplePrimaryActions\n ? (config?.primaryAction as ActionCellPrimaryActions)?.items\n ?.map(buildAction)\n .filter(Boolean) || []\n : config?.primaryAction && 'item' in config.primaryAction\n ? [buildAction(config.primaryAction.item)].filter(Boolean)\n : [];\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 (!primaryActions.length && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryActions.length\n ? {\n primaryAction: primaryActions.map((action: any) => ({\n ...action,\n ...primaryActionProps,\n })),\n }\n : { primaryAction: [] }),\n ...(isMultiplePrimaryActions && {\n alwaysShowPrimaryActions: config?.primaryAction?.alwaysVisible,\n }),\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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
|
|
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","_config$primaryAction3","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","action","hidden","resolvedAction","label","tooltip","resolvedActionProps","text","disabledDescription","isMultiplePrimaryActions","primaryAction","primaryActions","items","map","Boolean","primaryActionProps","alwaysVisible","visibility","rawSecondaryActions","secondaryActions","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible","alwaysShowPrimaryActions","undefined"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ActionCellPrimaryActions,\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 // Handle both single primary action and multiple primary actions\n const isMultiplePrimaryActions = 'items' in (config?.primaryAction || {});\n\n const primaryActions = isMultiplePrimaryActions\n ? (config?.primaryAction as ActionCellPrimaryActions)?.items\n ?.map(buildAction)\n .filter(Boolean) || []\n : config?.primaryAction && 'item' in config.primaryAction\n ? [buildAction(config.primaryAction.item)].filter(Boolean)\n : [];\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 (!primaryActions.length && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryActions.length\n ? {\n primaryAction: primaryActions.map((action: any) => ({\n ...action,\n ...primaryActionProps,\n })),\n }\n : { primaryAction: [] }),\n ...(isMultiplePrimaryActions && {\n alwaysShowPrimaryActions: config?.primaryAction?.alwaysVisible,\n }),\n ...(secondaryActions.length && { secondaryActions }),\n numOfVisibleSecondaryActions,\n alwaysShowSecondaryActions,\n };\n },\n [config, sdk],\n );\n\n if (!config) {\n return undefined;\n }\n\n return buildCellActions;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useDataExtensionProps","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","dataExtensionProps","horizontalScroll","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';\nimport { useDataExtensionProps } from './useDataExtensionProps';\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 const dataExtensionProps = useDataExtensionProps(configuration);\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n horizontalScroll: true,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n ...dataExtensionProps,\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;AACpD,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGL,aAAa,CAAC,CAAC;EAChD,MAAMM,OAAO,GAAGT,UAAU,CAACM,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGX,OAAO,CAC7B,MAAMO,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,GAAGb,kCAAkC,CAAC;IAC5Dc,+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;EACvD,MAAMC,kBAAkB,GAAGpB,qBAAqB,CAACE,aAAa,CAAC;EAE/D,OAAO;IACLG,OAAO;IACPC,eAAe;IACfO,UAAU;IACVQ,gBAAgB,EAAE,IAAI;IACtBC,aAAa,EAAE,CAAAnB,qBAAA,GAAAD,aAAa,CAACoB,aAAa,aAA3BnB,qBAAA,CAA6BoB,OAAO,gBACjD7B,KAAA,CAAA8B,aAAA,CAAC3B,aAAa,MAAE,CAAC,GACf4B,SAAS;IACbR,aAAa;IACbC,qBAAqB;IACrBC,YAAY;
|
|
1
|
+
{"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useDataExtensionProps","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","dataExtensionProps","horizontalScroll","customColumns","enabled","createElement","undefined","showFieldTypeIcons"],"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';\nimport { useDataExtensionProps } from './useDataExtensionProps';\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 const dataExtensionProps = useDataExtensionProps(configuration);\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n horizontalScroll: true,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n showFieldTypeIcons: configuration.showFieldTypeIcons,\n ...dataExtensionProps,\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;AACpD,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGL,aAAa,CAAC,CAAC;EAChD,MAAMM,OAAO,GAAGT,UAAU,CAACM,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGX,OAAO,CAC7B,MAAMO,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,GAAGb,kCAAkC,CAAC;IAC5Dc,+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;EACvD,MAAMC,kBAAkB,GAAGpB,qBAAqB,CAACE,aAAa,CAAC;EAE/D,OAAO;IACLG,OAAO;IACPC,eAAe;IACfO,UAAU;IACVQ,gBAAgB,EAAE,IAAI;IACtBC,aAAa,EAAE,CAAAnB,qBAAA,GAAAD,aAAa,CAACoB,aAAa,aAA3BnB,qBAAA,CAA6BoB,OAAO,gBACjD7B,KAAA,CAAA8B,aAAA,CAAC3B,aAAa,MAAE,CAAC,GACf4B,SAAS;IACbR,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZO,kBAAkB,EAAExB,aAAa,CAACwB,kBAAkB;IACpD,GAAGN;EACL,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { useAutoPatternsOverridesContext, useSchema, useSchemaRegistry } from '.
|
|
|
3
3
|
import { camelCase, get } from 'lodash';
|
|
4
4
|
import { Box, Image } from '@wix/design-system';
|
|
5
5
|
import { getImageUrl } from '../utils/media/getImageUrl';
|
|
6
|
-
import { AddressView, AudioView, JsonView, MediaGalleryView, RichTextView, TimeView, DocumentView, MultiDocumentView } from '../cms-fields';
|
|
6
|
+
import { AddressView, AudioView, ColorView, JsonView, MediaGalleryView, RichTextView, TimeView, DocumentView, MultiDocumentView } from '../cms-fields';
|
|
7
7
|
import { extractReferenceDisplayValues } from '../utils/schema';
|
|
8
8
|
import { ReferenceAvatar } from '../components/ReferenceAvatar';
|
|
9
9
|
import { LazyRichContentView } from '../components/LazyRichContentView';
|
|
@@ -50,9 +50,9 @@ export const useColumns = columns => {
|
|
|
50
50
|
data: itemValue
|
|
51
51
|
});
|
|
52
52
|
case 'ARRAY':
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
return /*#__PURE__*/React.createElement(JsonView, {
|
|
54
|
+
data: itemValue
|
|
55
|
+
});
|
|
56
56
|
case 'REFERENCE':
|
|
57
57
|
if (fieldDefinition.referenceMetadata && getSchema) {
|
|
58
58
|
const {
|
|
@@ -127,6 +127,10 @@ export const useColumns = columns => {
|
|
|
127
127
|
return /*#__PURE__*/React.createElement(AudioView, {
|
|
128
128
|
data: itemValue
|
|
129
129
|
});
|
|
130
|
+
case 'COLOR':
|
|
131
|
+
return /*#__PURE__*/React.createElement(ColorView, {
|
|
132
|
+
data: itemValue
|
|
133
|
+
});
|
|
130
134
|
default:
|
|
131
135
|
return itemValue;
|
|
132
136
|
}
|
|
@@ -138,9 +142,11 @@ export const useColumns = columns => {
|
|
|
138
142
|
return null;
|
|
139
143
|
}
|
|
140
144
|
const sortable = column.sortable && (fieldDefinition == null || (_fieldDefinition$capa = fieldDefinition.capabilities) == null ? void 0 : _fieldDefinition$capa.sortable);
|
|
145
|
+
const displayName = column.name || (fieldDefinition == null ? void 0 : fieldDefinition.displayName);
|
|
141
146
|
const baseColumnConfig = {
|
|
142
147
|
id: column.id,
|
|
143
|
-
title:
|
|
148
|
+
title: displayName,
|
|
149
|
+
fieldType: fieldDefinition == null ? void 0 : fieldDefinition.type,
|
|
144
150
|
width: column.width,
|
|
145
151
|
...createSortConfiguration(column, sortable),
|
|
146
152
|
...createCustomColumnConfiguration(column),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Box","Image","getImageUrl","AddressView","AudioView","JsonView","MediaGalleryView","RichTextView","TimeView","DocumentView","MultiDocumentView","extractReferenceDisplayValues","ReferenceAvatar","LazyRichContentView","MultiReferenceViewField","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","createElement","data","join","referenceMetadata","referencedCollectionId","refSchema","name","image","gap","verticalAlign","field","value","imageUrl","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","tooltipContent","infoTooltipProps","content","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","Boolean","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 useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\nimport {\n AddressView,\n AudioView,\n JsonView,\n MediaGalleryView,\n RichTextView,\n TimeView,\n DocumentView,\n MultiDocumentView,\n} from '../cms-fields';\nimport { extractReferenceDisplayValues } from '../utils/schema';\nimport { ReferenceAvatar } from '../components/ReferenceAvatar';\nimport { LazyRichContentView } from '../components/LazyRichContentView';\nimport { MultiReferenceViewField } from '../components/MultiReferenceViewField';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[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 'TIME':\n return <TimeView data={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 const { name, image } = extractReferenceDisplayValues(\n itemValue,\n refSchema,\n );\n\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {name && <ReferenceAvatar name={name} image={image} />}\n <div>{name}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'MULTI_REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n return (\n <MultiReferenceViewField\n field={fieldDefinition}\n value={itemValue}\n />\n );\n }\n }\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n case 'OBJECT':\n return <JsonView data={itemValue} />;\n case 'MEDIA_GALLERY':\n return <MediaGalleryView data={itemValue} />;\n case 'ADDRESS':\n return <AddressView data={itemValue} />;\n case 'RICH_TEXT':\n return <RichTextView data={itemValue} />;\n case 'DOCUMENT':\n return <DocumentView data={itemValue} />;\n case 'RICH_CONTENT':\n return <LazyRichContentView data={itemValue} />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={itemValue} />;\n case 'AUDIO':\n return <AudioView data={itemValue} />;\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition?.displayName,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n ...(column.tooltipContent && {\n infoTooltipProps: {\n content: column.tooltipContent,\n },\n }),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\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":[]}
|
|
1
|
+
{"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Box","Image","getImageUrl","AddressView","AudioView","ColorView","JsonView","MediaGalleryView","RichTextView","TimeView","DocumentView","MultiDocumentView","extractReferenceDisplayValues","ReferenceAvatar","LazyRichContentView","MultiReferenceViewField","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","createElement","data","referenceMetadata","referencedCollectionId","refSchema","name","image","gap","verticalAlign","field","value","imageUrl","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","displayName","baseColumnConfig","title","fieldType","createSortConfiguration","createCustomColumnConfiguration","tooltipContent","infoTooltipProps","content","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","Boolean","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 useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\nimport {\n AddressView,\n AudioView,\n ColorView,\n JsonView,\n MediaGalleryView,\n RichTextView,\n TimeView,\n DocumentView,\n MultiDocumentView,\n} from '../cms-fields';\nimport { extractReferenceDisplayValues } from '../utils/schema';\nimport { ReferenceAvatar } from '../components/ReferenceAvatar';\nimport { LazyRichContentView } from '../components/LazyRichContentView';\nimport { MultiReferenceViewField } from '../components/MultiReferenceViewField';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[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 'TIME':\n return <TimeView data={itemValue} />;\n case 'ARRAY':\n return <JsonView data={itemValue} />;\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n const { name, image } = extractReferenceDisplayValues(\n itemValue,\n refSchema,\n );\n\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {name && <ReferenceAvatar name={name} image={image} />}\n <div>{name}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'MULTI_REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n return (\n <MultiReferenceViewField\n field={fieldDefinition}\n value={itemValue}\n />\n );\n }\n }\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n case 'OBJECT':\n return <JsonView data={itemValue} />;\n case 'MEDIA_GALLERY':\n return <MediaGalleryView data={itemValue} />;\n case 'ADDRESS':\n return <AddressView data={itemValue} />;\n case 'RICH_TEXT':\n return <RichTextView data={itemValue} />;\n case 'DOCUMENT':\n return <DocumentView data={itemValue} />;\n case 'RICH_CONTENT':\n return <LazyRichContentView data={itemValue} />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={itemValue} />;\n case 'AUDIO':\n return <AudioView data={itemValue} />;\n case 'COLOR':\n return <ColorView data={itemValue} />;\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const displayName = column.name || fieldDefinition?.displayName;\n\n const baseColumnConfig = {\n id: column.id,\n title: displayName,\n fieldType: fieldDefinition?.type,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n ...(column.tooltipContent && {\n infoTooltipProps: {\n content: column.tooltipContent,\n },\n }),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","FilterOperator","createBooleanFilter","createDateTimeFilter","createEnumFilter","createNumberFilter","createOperatorFilter","createReferenceFilter","createHasValueFilter","useSchema","useSchemaRegistry","useAutoPatternsAppContainer","useFiltersState","config","schema","schemaRegistry","translate","t","filters","useState","currFilters","items","forEach","filter","id","fieldId","fieldDefinition","fields","label","displayName","openByDefault","tagLabel","sectionTitle","baseParams","commonFilterProps","initiallyOpen","accordionItemProps","toolbarItemProps","toolbarTagProps","
|
|
1
|
+
{"version":3,"names":["React","FilterOperator","createBooleanFilter","createDateTimeFilter","createEnumFilter","createNumberFilter","createOperatorFilter","createReferenceFilter","createHasValueFilter","useSchema","useSchemaRegistry","useAutoPatternsAppContainer","useFiltersState","config","schema","schemaRegistry","translate","t","filters","useState","currFilters","items","forEach","filter","id","fieldId","fieldDefinition","fields","label","displayName","openByDefault","tagLabel","sectionTitle","baseParams","commonFilterProps","fieldType","type","initiallyOpen","accordionItemProps","toolbarItemProps","toolbarTagProps","push","dateConfig","booleanConfig","hasValueLabel","noValueLabel","numberConfig","referencedCollectionId","referenceMetadata","referencedSchema","getSchema","dynamicOptionsConfig","additionalParams","operators","CONTAINS","NOT_CONTAINS","IS_EMPTY","EXISTS","enumConfig","filterFieldMapping","useMemo","reduce","acc","filtersObject","key"],"sources":["../../../src/hooks/useFiltersState.tsx"],"sourcesContent":["import React from 'react';\nimport { Filter, FilterOperator } from '@wix/patterns';\nimport {\n createBooleanFilter,\n createDateTimeFilter,\n createEnumFilter,\n createNumberFilter,\n createOperatorFilter,\n createReferenceFilter,\n createHasValueFilter,\n} from '../utils/filterCreators';\nimport {\n DateFilterConfig,\n DynamicOptionsFilterConfig,\n EnumFilterConfig,\n Field,\n Filter as SchemaFilterType,\n FiltersConfig,\n} from '../types';\nimport { useSchema, useSchemaRegistry } from '../providers';\nimport { useAutoPatternsAppContainer } from '../components/AutoPatternsApp/AutoPatternsAppContainerProvider';\n\nexport interface FilterOptions {\n key: string;\n fieldId: string;\n fieldDefinition: Field;\n filter: Filter<any>;\n collectionData?: { id: string; name: string }[];\n collectionId?: string;\n componentName?: string;\n props: Record<string, any>;\n dateConfig?: DateFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsFilterConfig?: DynamicOptionsFilterConfig;\n}\n\nexport function useFiltersState(config?: FiltersConfig) {\n const schema = useSchema();\n const schemaRegistry = useSchemaRegistry();\n const { translate: t } = useAutoPatternsAppContainer();\n const [filters] = React.useState(() => {\n const currFilters: FilterOptions[] = [];\n config?.items.forEach((filter) => {\n const { id, fieldId } = filter;\n const fieldDefinition = schema.fields[fieldId];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { openByDefault, tagLabel, sectionTitle } = filter;\n\n const baseParams = {\n id,\n fieldId,\n fieldDefinition,\n commonFilterProps: {\n fieldType: fieldDefinition.type,\n sectionTitle,\n initiallyOpen: openByDefault,\n accordionItemProps: {\n label,\n },\n toolbarItemProps: {\n label,\n },\n toolbarTagProps: { label: tagLabel },\n },\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push(\n createDateTimeFilter({\n ...baseParams,\n config: filter.dateConfig,\n }),\n );\n break;\n\n case 'BOOLEAN':\n currFilters.push(\n createBooleanFilter({\n ...baseParams,\n config: filter.booleanConfig,\n }),\n );\n break;\n\n case 'RICH_CONTENT':\n case 'TIME':\n case 'DOCUMENT':\n case 'MULTI_DOCUMENT':\n case 'AUDIO':\n currFilters.push(\n createHasValueFilter({\n ...baseParams,\n hasValueLabel: t('auto-patterns.filters.has_value'),\n noValueLabel: t('auto-patterns.filters.no_value'),\n }),\n );\n break;\n\n case 'NUMBER':\n currFilters.push(\n createNumberFilter({\n ...baseParams,\n config: filter.numberConfig,\n }),\n );\n break;\n\n case 'REFERENCE':\n case 'MULTI_REFERENCE': {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const referencedSchema = schemaRegistry.getSchema(\n referencedCollectionId,\n );\n\n if (referencedSchema) {\n currFilters.push(\n createReferenceFilter({\n ...baseParams,\n config: filter.dynamicOptionsConfig,\n additionalParams: {\n referencedSchema,\n },\n }),\n );\n }\n break;\n }\n\n case 'RICH_TEXT':\n case 'ADDRESS':\n case 'EMAIL': {\n currFilters.push(\n createOperatorFilter({\n ...baseParams,\n additionalParams: {\n operators: [\n FilterOperator.CONTAINS,\n FilterOperator.NOT_CONTAINS,\n FilterOperator.IS_EMPTY,\n FilterOperator.EXISTS,\n ],\n },\n }),\n );\n break;\n }\n\n default:\n if (filter?.enumConfig) {\n currFilters.push(\n createEnumFilter({\n ...baseParams,\n config: filter.enumConfig,\n }),\n );\n }\n break;\n }\n });\n return currFilters;\n });\n\n const filterFieldMapping = React.useMemo(() => {\n return config?.items.reduce((acc, filter) => {\n acc[filter.id] = filter;\n return acc;\n }, {} as Record<string, SchemaFilterType>);\n }, [config?.items]);\n\n const filtersObject = filters.reduce((acc, filter) => {\n acc[filter.key] = filter.filter;\n return acc;\n }, {} as { [key: string]: Filter<any> });\n\n return { filters, filterFieldMapping, filtersObject };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useAsyncFeaturesPromiseState } from './useAsyncFeaturesPromiseState';
|
|
2
|
-
import { importGridDragAndDrop } from './pluginsDynamicImports';
|
|
2
|
+
import { importGridDragAndDrop, importImportFeature } from './pluginsDynamicImports';
|
|
3
3
|
import { getCommonCollectionFeaturesAsync } from './getCommonCollectionFeaturesAsync';
|
|
4
4
|
/**
|
|
5
5
|
* useGridFeaturesAsync - Step 3 in Grid Flow
|
|
@@ -28,7 +28,9 @@ export const useGridFeaturesAsync = props => {
|
|
|
28
28
|
dragAndDrop: () => {
|
|
29
29
|
var _config$dragAndDrop;
|
|
30
30
|
return (_config$dragAndDrop = config.dragAndDrop) != null && _config$dragAndDrop.enabled ? importGridDragAndDrop() : null;
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
|
+
// Import feature - only load if import is configured
|
|
33
|
+
importFeature: () => config.import ? importImportFeature() : null
|
|
32
34
|
});
|
|
33
35
|
return {
|
|
34
36
|
asyncFeaturesState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAsyncFeaturesPromiseState","importGridDragAndDrop","getCommonCollectionFeaturesAsync","useGridFeaturesAsync","props","config","asyncFeaturesState","dragAndDrop","_config$dragAndDrop","enabled"],"sources":["../../../src/hooks/useGridFeaturesAsync.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useAsyncFeaturesPromiseState } from './useAsyncFeaturesPromiseState';\nimport {
|
|
1
|
+
{"version":3,"names":["useAsyncFeaturesPromiseState","importGridDragAndDrop","importImportFeature","getCommonCollectionFeaturesAsync","useGridFeaturesAsync","props","config","asyncFeaturesState","dragAndDrop","_config$dragAndDrop","enabled","importFeature","import"],"sources":["../../../src/hooks/useGridFeaturesAsync.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useAsyncFeaturesPromiseState } from './useAsyncFeaturesPromiseState';\nimport {\n importGridDragAndDrop,\n importImportFeature,\n} from './pluginsDynamicImports';\nimport { getCommonCollectionFeaturesAsync } from './getCommonCollectionFeaturesAsync';\n\nexport interface UseGridFeaturesAsyncProps {\n config: GridConfig;\n}\n\n/**\n * useGridFeaturesAsync - Step 3 in Grid Flow\n *\n * FLOW 2: AutoPatternsCollectionComponent → AutoPatternsGrid → [useGridFeaturesAsync] → AutoPatternsGridLoaded → useBaseCollectionComponentReadyFeatures → Grid\n *\n * This hook is responsible for loading all grid-specific async features and plugins.\n * It dynamically imports features based on configuration to optimize bundle size.\n * Grid flow is simpler than table flow since grids have fewer optional features.\n *\n * Key Responsibilities:\n * - Loads common collection features (shared across all flows)\n * - Conditionally loads grid-specific dragAndDrop if enabled\n * - Returns promise state that tracks loading status of all features\n * - Enables AutoPatternsGrid to know when all features are ready\n */\nexport const useGridFeaturesAsync = (props: UseGridFeaturesAsyncProps) => {\n const { config } = props;\n\n const asyncFeaturesState = useAsyncFeaturesPromiseState({\n // Load common features shared by all collection components (filters, common actions, etc.)\n ...getCommonCollectionFeaturesAsync(),\n\n // Grid-specific drag and drop functionality - only load if enabled in config\n // Note: Grid has fewer async features compared to Table (no sections, no baseTableFeatures)\n dragAndDrop: () =>\n config.dragAndDrop?.enabled ? importGridDragAndDrop() : null,\n\n // Import feature - only load if import is configured\n importFeature: () => (config.import ? importImportFeature() : null),\n });\n\n return {\n asyncFeaturesState,\n };\n};\n"],"mappings":"AACA,SAASA,4BAA4B,QAAQ,gCAAgC;AAC7E,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,yBAAyB;AAChC,SAASC,gCAAgC,QAAQ,oCAAoC;AAMrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAIC,KAAgC,IAAK;EACxE,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,kBAAkB,GAAGP,4BAA4B,CAAC;IACtD;IACA,GAAGG,gCAAgC,CAAC,CAAC;IAErC;IACA;IACAK,WAAW,EAAEA,CAAA;MAAA,IAAAC,mBAAA;MAAA,OACX,CAAAA,mBAAA,GAAAH,MAAM,CAACE,WAAW,aAAlBC,mBAAA,CAAoBC,OAAO,GAAGT,qBAAqB,CAAC,CAAC,GAAG,IAAI;IAAA;IAE9D;IACAU,aAAa,EAAEA,CAAA,KAAOL,MAAM,CAACM,MAAM,GAAGV,mBAAmB,CAAC,CAAC,GAAG;EAChE,CAAC,CAAC;EAEF,OAAO;IACLK;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import { ImportButton } from '@wix/patterns';
|
|
3
|
+
import { useSchema } from '../providers';
|
|
4
|
+
function composeBackupFn(backup) {
|
|
5
|
+
return async backupSignal => {
|
|
6
|
+
const {
|
|
7
|
+
backupId
|
|
8
|
+
} = await backup.create();
|
|
9
|
+
await backup.waitForCompletion(backupId, {
|
|
10
|
+
signal: backupSignal
|
|
11
|
+
});
|
|
12
|
+
const restoreBackup = backup.restore;
|
|
13
|
+
if (!restoreBackup) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
restore: async restoreSignal => {
|
|
18
|
+
const {
|
|
19
|
+
restorationId
|
|
20
|
+
} = await restoreBackup(backupId);
|
|
21
|
+
await (backup.waitForRestoration == null ? void 0 : backup.waitForRestoration(restorationId, {
|
|
22
|
+
signal: restoreSignal
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function useImport(config) {
|
|
29
|
+
const schema = useSchema();
|
|
30
|
+
const importConfig = config.import;
|
|
31
|
+
const isEnabled = !!(importConfig != null && importConfig.enabled);
|
|
32
|
+
const {
|
|
33
|
+
bulkInsert,
|
|
34
|
+
backup
|
|
35
|
+
} = schema.actions;
|
|
36
|
+
const hasBulkInsert = bulkInsert != null;
|
|
37
|
+
if (!hasBulkInsert && isEnabled && process.env.NODE_ENV === 'development') {
|
|
38
|
+
console.warn('Import is configured, but the schema does not support bulk insert. Please provide a "bulkInsert" action in the schema. Current schema:', schema);
|
|
39
|
+
}
|
|
40
|
+
return useMemo(() => {
|
|
41
|
+
if (!isEnabled || !hasBulkInsert || !bulkInsert) {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
const fields = Object.values(schema.fields).filter(field => field != null).map(field => ({
|
|
45
|
+
id: field.id,
|
|
46
|
+
header: field.displayName
|
|
47
|
+
}));
|
|
48
|
+
const bulkUploadItems = async items => {
|
|
49
|
+
const result = await bulkInsert(items);
|
|
50
|
+
return {
|
|
51
|
+
succeeded: result.succeeded ?? items.length,
|
|
52
|
+
failed: result.failed ?? 0,
|
|
53
|
+
errors: result.errors ?? []
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
const backupFn = backup ? composeBackupFn(backup) : undefined;
|
|
57
|
+
return {
|
|
58
|
+
importButton: /*#__PURE__*/React.createElement(ImportButton, {
|
|
59
|
+
fields: fields,
|
|
60
|
+
bulkUploadItems: bulkUploadItems,
|
|
61
|
+
backup: backupFn
|
|
62
|
+
})
|
|
63
|
+
};
|
|
64
|
+
}, [isEnabled, hasBulkInsert, bulkInsert, backup, schema.fields]);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=useImport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMemo","ImportButton","useSchema","composeBackupFn","backup","backupSignal","backupId","create","waitForCompletion","signal","restoreBackup","restore","restoreSignal","restorationId","waitForRestoration","useImport","config","schema","importConfig","import","isEnabled","enabled","bulkInsert","actions","hasBulkInsert","process","env","NODE_ENV","console","warn","fields","Object","values","filter","field","map","id","header","displayName","bulkUploadItems","items","result","succeeded","length","failed","errors","backupFn","undefined","importButton","createElement"],"sources":["../../../src/hooks/useImport.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport type { BackupFn } from '@wix/patterns';\nimport { ImportButton } from '@wix/patterns';\nimport { useSchema } from '../providers';\nimport type { BaseCollectionComponentConfig, BulkInsertResult } from '../types';\nimport type { BackupConfig } from '../types/SchemaConfig';\n\nfunction composeBackupFn(backup: BackupConfig): BackupFn {\n return async (backupSignal) => {\n const { backupId } = await backup.create();\n await backup.waitForCompletion(backupId, {\n signal: backupSignal,\n });\n\n const restoreBackup = backup.restore;\n\n if (!restoreBackup) {\n return;\n }\n\n return {\n restore: async (restoreSignal) => {\n const { restorationId } = await restoreBackup(backupId);\n await backup.waitForRestoration?.(restorationId, {\n signal: restoreSignal,\n });\n },\n };\n };\n}\n\nexport function useImport(config: BaseCollectionComponentConfig) {\n const schema = useSchema();\n const importConfig = config.import;\n const isEnabled = !!importConfig?.enabled;\n const { bulkInsert, backup } = schema.actions;\n const hasBulkInsert = bulkInsert != null;\n\n if (!hasBulkInsert && isEnabled && process.env.NODE_ENV === 'development') {\n console.warn(\n 'Import is configured, but the schema does not support bulk insert. Please provide a \"bulkInsert\" action in the schema. Current schema:',\n schema,\n );\n }\n\n return useMemo(() => {\n if (!isEnabled || !hasBulkInsert || !bulkInsert) {\n return {};\n }\n\n const fields = Object.values(schema.fields)\n .filter((field): field is NonNullable<typeof field> => field != null)\n .map((field) => ({\n id: field.id,\n header: field.displayName,\n }));\n\n const bulkUploadItems = async (items: Record<string, unknown>[]) => {\n const result: BulkInsertResult = await bulkInsert(items);\n return {\n succeeded: result.succeeded ?? items.length,\n failed: result.failed ?? 0,\n errors: result.errors ?? [],\n };\n };\n\n const backupFn = backup ? composeBackupFn(backup) : undefined;\n\n return {\n importButton: (\n <ImportButton\n fields={fields}\n bulkUploadItems={bulkUploadItems}\n backup={backupFn}\n />\n ),\n };\n }, [isEnabled, hasBulkInsert, bulkInsert, backup, schema.fields]);\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,SAAS,QAAQ,cAAc;AAIxC,SAASC,eAAeA,CAACC,MAAoB,EAAY;EACvD,OAAO,MAAOC,YAAY,IAAK;IAC7B,MAAM;MAAEC;IAAS,CAAC,GAAG,MAAMF,MAAM,CAACG,MAAM,CAAC,CAAC;IAC1C,MAAMH,MAAM,CAACI,iBAAiB,CAACF,QAAQ,EAAE;MACvCG,MAAM,EAAEJ;IACV,CAAC,CAAC;IAEF,MAAMK,aAAa,GAAGN,MAAM,CAACO,OAAO;IAEpC,IAAI,CAACD,aAAa,EAAE;MAClB;IACF;IAEA,OAAO;MACLC,OAAO,EAAE,MAAOC,aAAa,IAAK;QAChC,MAAM;UAAEC;QAAc,CAAC,GAAG,MAAMH,aAAa,CAACJ,QAAQ,CAAC;QACvD,OAAMF,MAAM,CAACU,kBAAkB,oBAAzBV,MAAM,CAACU,kBAAkB,CAAGD,aAAa,EAAE;UAC/CJ,MAAM,EAAEG;QACV,CAAC,CAAC;MACJ;IACF,CAAC;EACH,CAAC;AACH;AAEA,OAAO,SAASG,SAASA,CAACC,MAAqC,EAAE;EAC/D,MAAMC,MAAM,GAAGf,SAAS,CAAC,CAAC;EAC1B,MAAMgB,YAAY,GAAGF,MAAM,CAACG,MAAM;EAClC,MAAMC,SAAS,GAAG,CAAC,EAACF,YAAY,YAAZA,YAAY,CAAEG,OAAO;EACzC,MAAM;IAAEC,UAAU;IAAElB;EAAO,CAAC,GAAGa,MAAM,CAACM,OAAO;EAC7C,MAAMC,aAAa,GAAGF,UAAU,IAAI,IAAI;EAExC,IAAI,CAACE,aAAa,IAAIJ,SAAS,IAAIK,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;IACzEC,OAAO,CAACC,IAAI,CACV,wIAAwI,EACxIZ,MACF,CAAC;EACH;EAEA,OAAOjB,OAAO,CAAC,MAAM;IACnB,IAAI,CAACoB,SAAS,IAAI,CAACI,aAAa,IAAI,CAACF,UAAU,EAAE;MAC/C,OAAO,CAAC,CAAC;IACX;IAEA,MAAMQ,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACf,MAAM,CAACa,MAAM,CAAC,CACxCG,MAAM,CAAEC,KAAK,IAAyCA,KAAK,IAAI,IAAI,CAAC,CACpEC,GAAG,CAAED,KAAK,KAAM;MACfE,EAAE,EAAEF,KAAK,CAACE,EAAE;MACZC,MAAM,EAAEH,KAAK,CAACI;IAChB,CAAC,CAAC,CAAC;IAEL,MAAMC,eAAe,GAAG,MAAOC,KAAgC,IAAK;MAClE,MAAMC,MAAwB,GAAG,MAAMnB,UAAU,CAACkB,KAAK,CAAC;MACxD,OAAO;QACLE,SAAS,EAAED,MAAM,CAACC,SAAS,IAAIF,KAAK,CAACG,MAAM;QAC3CC,MAAM,EAAEH,MAAM,CAACG,MAAM,IAAI,CAAC;QAC1BC,MAAM,EAAEJ,MAAM,CAACI,MAAM,IAAI;MAC3B,CAAC;IACH,CAAC;IAED,MAAMC,QAAQ,GAAG1C,MAAM,GAAGD,eAAe,CAACC,MAAM,CAAC,GAAG2C,SAAS;IAE7D,OAAO;MACLC,YAAY,eACVjD,KAAA,CAAAkD,aAAA,CAAChD,YAAY;QACX6B,MAAM,EAAEA,MAAO;QACfS,eAAe,EAAEA,eAAgB;QACjCnC,MAAM,EAAE0C;MAAS,CAClB;IAEL,CAAC;EACH,CAAC,EAAE,CAAC1B,SAAS,EAAEI,aAAa,EAAEF,UAAU,EAAElB,MAAM,EAAEa,MAAM,CAACa,MAAM,CAAC,CAAC;AACnE","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';
|
|
2
|
-
import { importBaseTableFeatures, importTableDragAndDrop, importTableSections } from './pluginsDynamicImports';
|
|
2
|
+
import { importBaseTableFeatures, importImportFeature, importTableDragAndDrop, importTableSections } from './pluginsDynamicImports';
|
|
3
3
|
import { useAsyncFeaturesPromiseState } from './useAsyncFeaturesPromiseState';
|
|
4
4
|
import { getCommonCollectionFeaturesAsync } from './getCommonCollectionFeaturesAsync';
|
|
5
5
|
/**
|
|
@@ -37,7 +37,9 @@ export const useTableFeaturesAsync = props => {
|
|
|
37
37
|
sections: () => {
|
|
38
38
|
var _config$sections, _overrides$sections;
|
|
39
39
|
return !!((_config$sections = config.sections) != null && _config$sections.id) && (overrides == null || (_overrides$sections = overrides.sections) == null ? void 0 : _overrides$sections[config.sections.id]) != null ? importTableSections() : null;
|
|
40
|
-
}
|
|
40
|
+
},
|
|
41
|
+
// Import feature - only load if import is configured
|
|
42
|
+
importFeature: () => config.import ? importImportFeature() : null
|
|
41
43
|
});
|
|
42
44
|
return {
|
|
43
45
|
asyncFeaturesState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAutoPatternsOverridesContext","importBaseTableFeatures","importTableDragAndDrop","importTableSections","useAsyncFeaturesPromiseState","getCommonCollectionFeaturesAsync","useTableFeaturesAsync","props","config","overrides","asyncFeaturesState","dragAndDrop","_config$dragAndDrop","enabled","baseTableFeatures","sections","_config$sections","_overrides$sections","id"],"sources":["../../../src/hooks/useTableFeaturesAsync.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';\nimport {\n importBaseTableFeatures,\n importTableDragAndDrop,\n importTableSections,\n} from './pluginsDynamicImports';\nimport { useAsyncFeaturesPromiseState } from './useAsyncFeaturesPromiseState';\nimport { getCommonCollectionFeaturesAsync } from './getCommonCollectionFeaturesAsync';\n\nexport interface UseTableFeaturesAsyncProps {\n config: TableConfig;\n}\n\n/**\n * useTableFeaturesAsync - Step 3 in Table Flow\n *\n * FLOW 1: AutoPatternsCollectionComponent → AutoPatternsTable → [useTableFeaturesAsync] → AutoPatternsTableLoaded → useBaseCollectionComponentReadyFeatures → Table\n *\n * This hook is responsible for loading all table-specific async features and plugins.\n * It dynamically imports features based on configuration to optimize bundle size.\n *\n * Key Responsibilities:\n * - Loads common collection features (shared across all flows)\n * - Conditionally loads table-specific dragAndDrop if enabled\n * - Always loads baseTableFeatures for core table functionality\n * - Conditionally loads table sections if configured with overrides\n * - Returns promise state that tracks loading status of all features\n * - Enables AutoPatternsTable to know when all features are ready\n */\nexport const useTableFeaturesAsync = (props: UseTableFeaturesAsyncProps) => {\n const { config } = props;\n\n const overrides = useAutoPatternsOverridesContext();\n\n const asyncFeaturesState = useAsyncFeaturesPromiseState({\n // Load common features shared by all collection components (filters, common actions, etc.)\n ...getCommonCollectionFeaturesAsync(),\n\n // Table-specific drag and drop functionality - only load if enabled in config\n dragAndDrop: () =>\n config.dragAndDrop?.enabled ? importTableDragAndDrop() : null,\n\n // Core table features (columns, custom columns, row clicks, etc.) - always required\n baseTableFeatures: () => importBaseTableFeatures(),\n\n // Table sections feature - only load if sections are configured AND overrides exist\n sections: () =>\n !!config.sections?.id && overrides?.sections?.[config.sections.id] != null\n ? importTableSections()\n : null,\n });\n\n return { asyncFeaturesState };\n};\n"],"mappings":"AACA,SAASA,+BAA+B,QAAQ,2CAA2C;AAC3F,SACEC,uBAAuB,EACvBC,sBAAsB,EACtBC,mBAAmB,QACd,yBAAyB;AAChC,SAASC,4BAA4B,QAAQ,gCAAgC;AAC7E,SAASC,gCAAgC,QAAQ,oCAAoC;AAMrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAIC,KAAiC,IAAK;EAC1E,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,SAAS,
|
|
1
|
+
{"version":3,"names":["useAutoPatternsOverridesContext","importBaseTableFeatures","importImportFeature","importTableDragAndDrop","importTableSections","useAsyncFeaturesPromiseState","getCommonCollectionFeaturesAsync","useTableFeaturesAsync","props","config","overrides","asyncFeaturesState","dragAndDrop","_config$dragAndDrop","enabled","baseTableFeatures","sections","_config$sections","_overrides$sections","id","importFeature","import"],"sources":["../../../src/hooks/useTableFeaturesAsync.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useAutoPatternsOverridesContext } from '../providers/AutoPatternsOverridesContext';\nimport {\n importBaseTableFeatures,\n importImportFeature,\n importTableDragAndDrop,\n importTableSections,\n} from './pluginsDynamicImports';\nimport { useAsyncFeaturesPromiseState } from './useAsyncFeaturesPromiseState';\nimport { getCommonCollectionFeaturesAsync } from './getCommonCollectionFeaturesAsync';\n\nexport interface UseTableFeaturesAsyncProps {\n config: TableConfig;\n}\n\n/**\n * useTableFeaturesAsync - Step 3 in Table Flow\n *\n * FLOW 1: AutoPatternsCollectionComponent → AutoPatternsTable → [useTableFeaturesAsync] → AutoPatternsTableLoaded → useBaseCollectionComponentReadyFeatures → Table\n *\n * This hook is responsible for loading all table-specific async features and plugins.\n * It dynamically imports features based on configuration to optimize bundle size.\n *\n * Key Responsibilities:\n * - Loads common collection features (shared across all flows)\n * - Conditionally loads table-specific dragAndDrop if enabled\n * - Always loads baseTableFeatures for core table functionality\n * - Conditionally loads table sections if configured with overrides\n * - Returns promise state that tracks loading status of all features\n * - Enables AutoPatternsTable to know when all features are ready\n */\nexport const useTableFeaturesAsync = (props: UseTableFeaturesAsyncProps) => {\n const { config } = props;\n\n const overrides = useAutoPatternsOverridesContext();\n\n const asyncFeaturesState = useAsyncFeaturesPromiseState({\n // Load common features shared by all collection components (filters, common actions, etc.)\n ...getCommonCollectionFeaturesAsync(),\n\n // Table-specific drag and drop functionality - only load if enabled in config\n dragAndDrop: () =>\n config.dragAndDrop?.enabled ? importTableDragAndDrop() : null,\n\n // Core table features (columns, custom columns, row clicks, etc.) - always required\n baseTableFeatures: () => importBaseTableFeatures(),\n\n // Table sections feature - only load if sections are configured AND overrides exist\n sections: () =>\n !!config.sections?.id && overrides?.sections?.[config.sections.id] != null\n ? importTableSections()\n : null,\n\n // Import feature - only load if import is configured\n importFeature: () => (config.import ? importImportFeature() : null),\n });\n\n return { asyncFeaturesState };\n};\n"],"mappings":"AACA,SAASA,+BAA+B,QAAQ,2CAA2C;AAC3F,SACEC,uBAAuB,EACvBC,mBAAmB,EACnBC,sBAAsB,EACtBC,mBAAmB,QACd,yBAAyB;AAChC,SAASC,4BAA4B,QAAQ,gCAAgC;AAC7E,SAASC,gCAAgC,QAAQ,oCAAoC;AAMrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAIC,KAAiC,IAAK;EAC1E,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,SAAS,GAAGV,+BAA+B,CAAC,CAAC;EAEnD,MAAMW,kBAAkB,GAAGN,4BAA4B,CAAC;IACtD;IACA,GAAGC,gCAAgC,CAAC,CAAC;IAErC;IACAM,WAAW,EAAEA,CAAA;MAAA,IAAAC,mBAAA;MAAA,OACX,CAAAA,mBAAA,GAAAJ,MAAM,CAACG,WAAW,aAAlBC,mBAAA,CAAoBC,OAAO,GAAGX,sBAAsB,CAAC,CAAC,GAAG,IAAI;IAAA;IAE/D;IACAY,iBAAiB,EAAEA,CAAA,KAAMd,uBAAuB,CAAC,CAAC;IAElD;IACAe,QAAQ,EAAEA,CAAA;MAAA,IAAAC,gBAAA,EAAAC,mBAAA;MAAA,OACR,CAAC,GAAAD,gBAAA,GAACR,MAAM,CAACO,QAAQ,aAAfC,gBAAA,CAAiBE,EAAE,KAAI,CAAAT,SAAS,aAAAQ,mBAAA,GAATR,SAAS,CAAEM,QAAQ,qBAAnBE,mBAAA,CAAsBT,MAAM,CAACO,QAAQ,CAACG,EAAE,CAAC,KAAI,IAAI,GACtEf,mBAAmB,CAAC,CAAC,GACrB,IAAI;IAAA;IAEV;IACAgB,aAAa,EAAEA,CAAA,KAAOX,MAAM,CAACY,MAAM,GAAGnB,mBAAmB,CAAC,CAAC,GAAG;EAChE,CAAC,CAAC;EAEF,OAAO;IAAES;EAAmB,CAAC;AAC/B,CAAC","ignoreList":[]}
|