@webiny/app-website-builder 6.0.0 → 6.1.0-beta.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/BaseEditor/commandHandlers/CreateElement.js +8 -1
- package/BaseEditor/commandHandlers/CreateElement.js.map +1 -1
- package/BaseEditor/commandHandlers/DeleteElement.js +8 -3
- package/BaseEditor/commandHandlers/DeleteElement.js.map +1 -1
- package/BaseEditor/commandHandlers/MoveElement.js +12 -1
- package/BaseEditor/commandHandlers/MoveElement.js.map +1 -1
- package/BaseEditor/commands.d.ts +4 -0
- package/BaseEditor/commands.js +2 -0
- package/BaseEditor/commands.js.map +1 -1
- package/BaseEditor/config/EditorConfig.d.ts +494 -2
- package/BaseEditor/config/EditorConfig.js +20 -5
- package/BaseEditor/config/EditorConfig.js.map +1 -1
- package/BaseEditor/config/Element.d.ts +2 -2
- package/BaseEditor/config/Element.js.map +1 -1
- package/BaseEditor/config/ElementOverlay.d.ts +18 -0
- package/BaseEditor/config/ElementOverlay.js +49 -0
- package/BaseEditor/config/ElementOverlay.js.map +1 -0
- package/BaseEditor/config/IconButton.d.ts +1 -1
- package/BaseEditor/config/IconButton.js.map +1 -1
- package/BaseEditor/config/IsNotReadOnly.d.ts +5 -0
- package/BaseEditor/config/IsNotReadOnly.js +13 -0
- package/BaseEditor/config/IsNotReadOnly.js.map +1 -0
- package/BaseEditor/config/IsReadOnly.d.ts +5 -0
- package/BaseEditor/config/IsReadOnly.js +13 -0
- package/BaseEditor/config/IsReadOnly.js.map +1 -0
- package/BaseEditor/config/Layout.js +13 -4
- package/BaseEditor/config/Layout.js.map +1 -1
- package/BaseEditor/config/Sidebar/Layout.js +2 -0
- package/BaseEditor/config/Sidebar/Layout.js.map +1 -1
- package/BaseEditor/config/Sidebar/Tab.d.ts +1 -1
- package/BaseEditor/config/Sidebar/Tab.js +1 -1
- package/BaseEditor/config/Sidebar/Tab.js.map +1 -1
- package/BaseEditor/config/Toolbar/Layout.js +1 -1
- package/BaseEditor/config/Toolbar/Layout.js.map +1 -1
- package/BaseEditor/config/Toolbar/Toolbar.js +2 -1
- package/BaseEditor/config/Toolbar/Toolbar.js.map +1 -1
- package/BaseEditor/config/TopBar/Layout.js +1 -0
- package/BaseEditor/config/TopBar/Layout.js.map +1 -1
- package/BaseEditor/config/TopBar/MenuItem.d.ts +1 -1
- package/BaseEditor/config/TopBar/MenuItem.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/AddressBar.js +7 -6
- package/BaseEditor/defaultConfig/Content/AddressBar/AddressBar.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.js +2 -2
- package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.js +2 -2
- package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.js +2 -2
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/Breadcrumbs.js +2 -1
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js +9 -67
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.d.ts +2 -0
- package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js +22 -0
- package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.d.ts +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js +54 -11
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Iframe.js +27 -13
- package/BaseEditor/defaultConfig/Content/Preview/Iframe.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/KeyboardShortcuts.js +4 -11
- package/BaseEditor/defaultConfig/Content/Preview/KeyboardShortcuts.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.d.ts +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.js +44 -4
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.d.ts +1 -10
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js +13 -8
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.d.ts +16 -0
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.js +19 -0
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.js +9 -10
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Preview.js +2 -3
- package/BaseEditor/defaultConfig/Content/Preview/Preview.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.d.ts +6 -0
- package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js +16 -0
- package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js +36 -1
- package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.d.ts +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js +6 -5
- package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useIframeUrl.js +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useIframeUrl.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.d.ts +2 -1
- package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.js +4 -2
- package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.d.ts +3 -3
- package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js +18 -13
- package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.js → usePreviewDomain.js} +1 -1
- package/BaseEditor/defaultConfig/DefaultEditorConfig.js +2 -9
- package/BaseEditor/defaultConfig/DefaultEditorConfig.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.d.ts +19 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js +3 -2
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useBindingsForElement.d.ts +11 -11
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js +15 -4
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js.map +1 -1
- package/BaseEditor/defaultConfig/Toolbar/InsertElements/useComponentGroups.js +3 -2
- package/BaseEditor/defaultConfig/Toolbar/InsertElements/useComponentGroups.js.map +1 -1
- package/BaseEditor/hooks/useCreateElement.d.ts +5 -0
- package/BaseEditor/hooks/useCreateElement.js +14 -0
- package/BaseEditor/hooks/useCreateElement.js.map +1 -0
- package/BaseEditor/hooks/useDeleteElement.d.ts +3 -0
- package/BaseEditor/hooks/useDeleteElement.js +16 -0
- package/BaseEditor/hooks/useDeleteElement.js.map +1 -0
- package/BaseEditor/hooks/useElementInputs.d.ts +10 -0
- package/BaseEditor/hooks/useElementInputs.js +33 -0
- package/BaseEditor/hooks/useElementInputs.js.map +1 -0
- package/BaseEditor/hooks/useElementOverlay.d.ts +1 -0
- package/BaseEditor/hooks/useElementOverlay.js +3 -0
- package/BaseEditor/hooks/useElementOverlay.js.map +1 -0
- package/BaseEditor/hooks/useHighlightedElement.d.ts +2 -0
- package/BaseEditor/hooks/useHighlightedElement.js +26 -0
- package/BaseEditor/hooks/useHighlightedElement.js.map +1 -0
- package/BaseEditor/hooks/useReservedUISpace.d.ts +10 -0
- package/BaseEditor/hooks/useReservedUISpace.js +48 -0
- package/BaseEditor/hooks/useReservedUISpace.js.map +1 -0
- package/BaseEditor/hooks/useUpdateElement.d.ts +3 -0
- package/BaseEditor/hooks/useUpdateElement.js +14 -0
- package/BaseEditor/hooks/useUpdateElement.js.map +1 -0
- package/DocumentEditor/StateInspector.js +16 -43
- package/DocumentEditor/StateInspector.js.map +1 -1
- package/Extension.js +1 -8
- package/Extension.js.map +1 -1
- package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.d.ts +16 -0
- package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js +30 -0
- package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.d.ts +11 -0
- package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.js +30 -0
- package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinItemMapper.d.ts +5 -0
- package/components/TrashBin/adapters/TrashBinItemMapper.js +18 -0
- package/components/TrashBin/adapters/TrashBinItemMapper.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.d.ts +16 -0
- package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.js +32 -0
- package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.d.ts +14 -0
- package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.js +30 -0
- package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/graphql/bulkActionsMutation.d.ts +15 -0
- package/components/TrashBin/adapters/graphql/bulkActionsMutation.js +20 -0
- package/components/TrashBin/adapters/graphql/bulkActionsMutation.js.map +1 -0
- package/components/TrashBin/adapters/graphql/listQuery.d.ts +21 -0
- package/components/TrashBin/adapters/graphql/listQuery.js +20 -0
- package/components/TrashBin/adapters/graphql/listQuery.js.map +1 -0
- package/components/TrashBin/adapters/graphql/permanentDeleteMutation.d.ts +15 -0
- package/components/TrashBin/adapters/graphql/permanentDeleteMutation.js +18 -0
- package/components/TrashBin/adapters/graphql/permanentDeleteMutation.js.map +1 -0
- package/components/TrashBin/adapters/graphql/restoreMutation.d.ts +14 -0
- package/components/TrashBin/adapters/graphql/restoreMutation.js +20 -0
- package/components/TrashBin/adapters/graphql/restoreMutation.js.map +1 -0
- package/components/TrashBin/adapters/index.d.ts +6 -0
- package/components/TrashBin/adapters/index.js +8 -0
- package/components/TrashBin/adapters/index.js.map +1 -0
- package/components/TrashBin/adapters/usePageFields.d.ts +1 -0
- package/components/TrashBin/adapters/usePageFields.js +14 -0
- package/components/TrashBin/adapters/usePageFields.js.map +1 -0
- package/components/TrashBin/components/TrashBin.d.ts +2 -0
- package/components/TrashBin/components/TrashBin.js +70 -0
- package/components/TrashBin/components/TrashBin.js.map +1 -0
- package/components/TrashBin/components/TrashBin.styled.d.ts +13 -0
- package/components/TrashBin/components/TrashBin.styled.js +44 -0
- package/components/TrashBin/components/TrashBin.styled.js.map +1 -0
- package/components/TrashBin/components/TrashBinButton.d.ts +5 -0
- package/components/TrashBin/components/TrashBinButton.js +17 -0
- package/components/TrashBin/components/TrashBinButton.js.map +1 -0
- package/components/TrashBin/components/index.d.ts +1 -0
- package/components/TrashBin/components/index.js +3 -0
- package/components/TrashBin/components/index.js.map +1 -0
- package/components/TrashBin/index.d.ts +1 -0
- package/components/TrashBin/index.js +3 -0
- package/components/TrashBin/index.js.map +1 -0
- package/editorSdk/Editor.d.ts +6 -0
- package/editorSdk/Editor.js +8 -1
- package/editorSdk/Editor.js.map +1 -1
- package/editorSdk/utils/$createElement.d.ts +2 -1
- package/editorSdk/utils/$createElement.js +40 -1
- package/editorSdk/utils/$createElement.js.map +1 -1
- package/editorSdk/utils/$deleteElement.d.ts +2 -2
- package/editorSdk/utils/$deleteElement.js +58 -14
- package/editorSdk/utils/$deleteElement.js.map +1 -1
- package/editorSdk/utils/$getElementInputValues.d.ts +5 -0
- package/editorSdk/utils/$getElementInputValues.js +76 -0
- package/editorSdk/utils/$getElementInputValues.js.map +1 -0
- package/editorSdk/utils/$getElementsOfType.d.ts +2 -0
- package/editorSdk/utils/$getElementsOfType.js +5 -0
- package/editorSdk/utils/$getElementsOfType.js.map +1 -0
- package/editorSdk/utils/$getFirstElementOfType.d.ts +2 -0
- package/editorSdk/utils/$getFirstElementOfType.js +5 -0
- package/editorSdk/utils/$getFirstElementOfType.js.map +1 -0
- package/editorSdk/utils/$moveElement.d.ts +3 -2
- package/editorSdk/utils/$moveElement.js +14 -1
- package/editorSdk/utils/$moveElement.js.map +1 -1
- package/editorSdk/utils/$previewElementInputs.d.ts +6 -0
- package/editorSdk/utils/$previewElementInputs.js +39 -0
- package/editorSdk/utils/$previewElementInputs.js.map +1 -0
- package/editorSdk/utils/$updateElementInputs.d.ts +7 -0
- package/editorSdk/utils/$updateElementInputs.js +50 -0
- package/editorSdk/utils/$updateElementInputs.js.map +1 -0
- package/editorSdk/utils/executeOnChange.d.ts +33 -0
- package/editorSdk/utils/executeOnChange.js +246 -0
- package/editorSdk/utils/executeOnChange.js.map +1 -0
- package/editorSdk/utils/index.d.ts +6 -0
- package/editorSdk/utils/index.js +6 -0
- package/editorSdk/utils/index.js.map +1 -1
- package/exports/admin/website-builder/page/editor.d.ts +34 -2
- package/exports/admin/website-builder/page/editor.js +34 -2
- package/exports/admin/website-builder/page/editor.js.map +1 -1
- package/exports/admin/website-builder.d.ts +1 -0
- package/exports/admin/website-builder.js +1 -0
- package/exports/admin/website-builder.js.map +1 -1
- package/features/pages/deletePage/DeletePage.test.js +2 -1
- package/features/pages/deletePage/DeletePage.test.js.map +1 -1
- package/features/pages/deletePage/DeletePageGqlGateway.d.ts +2 -1
- package/features/pages/deletePage/DeletePageGqlGateway.js +3 -2
- package/features/pages/deletePage/DeletePageGqlGateway.js.map +1 -1
- package/features/pages/deletePage/DeletePageRepository.d.ts +1 -1
- package/features/pages/deletePage/DeletePageRepository.js +2 -2
- package/features/pages/deletePage/DeletePageRepository.js.map +1 -1
- package/features/pages/deletePage/DeletePageUseCase.js +1 -1
- package/features/pages/deletePage/DeletePageUseCase.js.map +1 -1
- package/features/pages/deletePage/IDeletePageGateway.d.ts +1 -1
- package/features/pages/deletePage/IDeletePageGateway.js.map +1 -1
- package/features/pages/deletePage/IDeletePageRepository.d.ts +1 -1
- package/features/pages/deletePage/IDeletePageRepository.js.map +1 -1
- package/features/pages/deletePage/IDeletePageUseCase.d.ts +1 -0
- package/features/pages/deletePage/IDeletePageUseCase.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/modules/pages/PageEditor/DefaultPageEditorConfig.js +6 -5
- package/modules/pages/PageEditor/DefaultPageEditorConfig.js.map +1 -1
- package/modules/pages/PageEditor/PageAutoSave.js +5 -5
- package/modules/pages/PageEditor/PageAutoSave.js.map +1 -1
- package/modules/pages/PageEditor/PageEditorConfig.d.ts +569 -88
- package/modules/pages/PageEditor/PageEditorConfig.js +23 -3
- package/modules/pages/PageEditor/PageEditorConfig.js.map +1 -1
- package/modules/pages/PageEditor/PageSettings/PageSettings.d.ts +30 -0
- package/modules/pages/PageEditor/PageSettings/PageSettings.js +84 -0
- package/modules/pages/PageEditor/PageSettings/PageSettings.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js +98 -0
- package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js +31 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js +14 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js +14 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js +31 -0
- package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js +26 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js +18 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialImage.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js +31 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js +18 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js.map +1 -0
- package/modules/pages/PageEditor/TopBar/RevisionsMenu.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.d.ts +2 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js +37 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js.map +1 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.d.ts +3 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js +73 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js.map +1 -0
- package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.d.ts +5 -1
- package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js +15 -229
- package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/SettingsButton.d.ts +6 -0
- package/modules/pages/PageEditor/TopBar/SettingsButton.js +45 -27
- package/modules/pages/PageEditor/TopBar/SettingsButton.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/Title.js +10 -0
- package/modules/pages/PageEditor/TopBar/Title.js.map +1 -1
- package/modules/pages/PageEditor/usePageEditorConfig.d.ts +20 -0
- package/modules/pages/PageEditor/usePageEditorConfig.js +13 -0
- package/modules/pages/PageEditor/usePageEditorConfig.js.map +1 -0
- package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js +2 -1
- package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js.map +1 -1
- package/modules/pages/PagesList/components/Main/CreatePage/CreatePage.js +9 -1
- package/modules/pages/PagesList/components/Main/CreatePage/CreatePage.js.map +1 -1
- package/modules/pages/PagesList/components/Table/Actions/Delete.js +1 -1
- package/modules/pages/PagesList/components/Table/Actions/Delete.js.map +1 -1
- package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js +4 -3
- package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js.map +1 -1
- package/modules/pages/PagesList/hooks/usePagePreviewLink.js +1 -1
- package/modules/pages/PagesList/hooks/usePagePreviewLink.js.map +1 -1
- package/modules/pages/PagesListConfig.js +4 -0
- package/modules/pages/PagesListConfig.js.map +1 -1
- package/modules/pages/configs/list/Browser/PageAction.d.ts +1 -0
- package/modules/pages/configs/list/Browser/PageAction.js +3 -1
- package/modules/pages/configs/list/Browser/PageAction.js.map +1 -1
- package/modules/pages/configs/list/Browser/index.d.ts +1 -0
- package/modules/pages/configs/list/PageListConfig.d.ts +2 -0
- package/modules/redirects/configs/list/Browser/RedirectAction.d.ts +1 -0
- package/modules/redirects/configs/list/Browser/RedirectAction.js +3 -1
- package/modules/redirects/configs/list/Browser/RedirectAction.js.map +1 -1
- package/modules/redirects/configs/list/Browser/index.d.ts +1 -0
- package/modules/redirects/configs/list/RedirectListConfig.d.ts +1 -0
- package/package.json +35 -42
- package/presentation/navigation/NextjsConfig/markdownComponents.js +3 -1
- package/presentation/navigation/NextjsConfig/markdownComponents.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/AddressBar.js.map +0 -1
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/AddressBar.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.js +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.js +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.js +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.d.ts → usePreviewDomain.d.ts} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.js.map → usePreviewDomain.js.map} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.d.ts → useSubscribeToLocalStorage.d.ts} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.js → useSubscribeToLocalStorage.js} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.js.map → useSubscribeToLocalStorage.js.map} +0 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { toJS } from "mobx";
|
|
2
|
+
import { buildAncestors, ComponentManifestToAstConverter, createElement, InputsBindingsProcessor } from "@webiny/website-builder-sdk";
|
|
3
|
+
const STOP_SYMBOL = Symbol.for("wb.handler.stop");
|
|
4
|
+
const CONTINUE_SYMBOL = Symbol.for("wb.handler.continue");
|
|
5
|
+
const stop = () => STOP_SYMBOL;
|
|
6
|
+
const cont = () => CONTINUE_SYMBOL;
|
|
7
|
+
function runHandlers(handlers, ctx) {
|
|
8
|
+
if (Array.isArray(handlers)) {
|
|
9
|
+
for (const handler of handlers) {
|
|
10
|
+
if (handler(ctx) === STOP_SYMBOL) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
} else {
|
|
15
|
+
handlers(ctx);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Runs manifest.onChange on the element, then walks up the ancestor chain
|
|
20
|
+
* firing onDescendantChange on each ancestor that defines it.
|
|
21
|
+
*
|
|
22
|
+
* Returns an array of ancestor updates that must be flushed inside
|
|
23
|
+
* editor.updateDocument().
|
|
24
|
+
*/
|
|
25
|
+
export function executeOnChange(params) {
|
|
26
|
+
const {
|
|
27
|
+
editor,
|
|
28
|
+
elementId,
|
|
29
|
+
action,
|
|
30
|
+
breakpointNames,
|
|
31
|
+
baseBreakpoint,
|
|
32
|
+
elementFactory,
|
|
33
|
+
deepStyles
|
|
34
|
+
} = params;
|
|
35
|
+
const ancestorUpdates = [];
|
|
36
|
+
const document = editor.getDocumentState().read();
|
|
37
|
+
const components = editor.getEditorState().read().components;
|
|
38
|
+
const element = document.elements[elementId];
|
|
39
|
+
if (!element) {
|
|
40
|
+
return ancestorUpdates;
|
|
41
|
+
}
|
|
42
|
+
const manifest = components[element.component.name];
|
|
43
|
+
|
|
44
|
+
// Resolve deep inputs from the document when not explicitly provided.
|
|
45
|
+
const deepInputs = params.deepInputs ?? (manifest ? getDeepInputsForElement(elementId, manifest, document, breakpointNames, elementFactory) : {});
|
|
46
|
+
|
|
47
|
+
// --- manifest.onChange on the element itself ---
|
|
48
|
+
if (manifest?.onChange) {
|
|
49
|
+
const ancestors = buildAncestors(element, components, document);
|
|
50
|
+
const getElement = createGetElement(document, components, breakpointNames, elementFactory);
|
|
51
|
+
runHandlers(manifest.onChange, {
|
|
52
|
+
action,
|
|
53
|
+
id: elementId,
|
|
54
|
+
component: manifest,
|
|
55
|
+
inputs: deepInputs,
|
|
56
|
+
styles: deepStyles ?? {},
|
|
57
|
+
getAncestor: componentName => {
|
|
58
|
+
const found = ancestors.find(a => a.manifest.name === componentName);
|
|
59
|
+
if (!found) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return buildAncestorContext(found.element.id, found.manifest, document, breakpointNames, elementFactory, ancestorUpdates, getElement);
|
|
63
|
+
},
|
|
64
|
+
getElement,
|
|
65
|
+
createElement: p => createElement(p),
|
|
66
|
+
executeCommand: (command, payload) => {
|
|
67
|
+
editor.executeCommand({
|
|
68
|
+
type: command
|
|
69
|
+
}, payload);
|
|
70
|
+
},
|
|
71
|
+
breakpoint: baseBreakpoint,
|
|
72
|
+
log: (...args) => console.log(...args),
|
|
73
|
+
stop,
|
|
74
|
+
continue: cont
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// --- onDescendantChange on each ancestor ---
|
|
79
|
+
fireDescendantChange({
|
|
80
|
+
editor,
|
|
81
|
+
element,
|
|
82
|
+
elementId,
|
|
83
|
+
deepInputs,
|
|
84
|
+
action,
|
|
85
|
+
document,
|
|
86
|
+
components,
|
|
87
|
+
breakpointNames,
|
|
88
|
+
baseBreakpoint,
|
|
89
|
+
elementFactory,
|
|
90
|
+
ancestorUpdates
|
|
91
|
+
});
|
|
92
|
+
return ancestorUpdates;
|
|
93
|
+
}
|
|
94
|
+
function fireDescendantChange(params) {
|
|
95
|
+
const {
|
|
96
|
+
editor,
|
|
97
|
+
element,
|
|
98
|
+
elementId,
|
|
99
|
+
deepInputs,
|
|
100
|
+
action,
|
|
101
|
+
document,
|
|
102
|
+
components,
|
|
103
|
+
breakpointNames,
|
|
104
|
+
baseBreakpoint,
|
|
105
|
+
elementFactory,
|
|
106
|
+
ancestorUpdates
|
|
107
|
+
} = params;
|
|
108
|
+
let currentParentId = element.parent?.id;
|
|
109
|
+
while (currentParentId) {
|
|
110
|
+
const parentEl = document.elements[currentParentId];
|
|
111
|
+
if (!parentEl) {
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
const parentManifest = components[parentEl.component.name];
|
|
115
|
+
if (parentManifest?.onDescendantChange) {
|
|
116
|
+
const parentDeep = getDeepInputsForElement(parentEl.id, parentManifest, document, breakpointNames, elementFactory);
|
|
117
|
+
const getElement = createGetElement(document, components, breakpointNames, elementFactory);
|
|
118
|
+
runHandlers(parentManifest.onDescendantChange, {
|
|
119
|
+
action,
|
|
120
|
+
descendant: {
|
|
121
|
+
component: components[element.component.name],
|
|
122
|
+
id: elementId,
|
|
123
|
+
inputs: structuredClone(deepInputs),
|
|
124
|
+
updateInputs: cb => {
|
|
125
|
+
cb(deepInputs);
|
|
126
|
+
ancestorUpdates.push({
|
|
127
|
+
elementId,
|
|
128
|
+
manifest: components[element.component.name],
|
|
129
|
+
inputs: deepInputs
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
inputs: parentDeep,
|
|
134
|
+
updateInputs: cb => {
|
|
135
|
+
cb(parentDeep);
|
|
136
|
+
ancestorUpdates.push({
|
|
137
|
+
elementId: parentEl.id,
|
|
138
|
+
manifest: parentManifest,
|
|
139
|
+
inputs: parentDeep
|
|
140
|
+
});
|
|
141
|
+
},
|
|
142
|
+
getElement,
|
|
143
|
+
executeCommand: (command, payload) => editor.executeCommand({
|
|
144
|
+
type: command
|
|
145
|
+
}, payload),
|
|
146
|
+
breakpoint: baseBreakpoint,
|
|
147
|
+
log: (...args) => console.log(...args),
|
|
148
|
+
stop,
|
|
149
|
+
continue: cont
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
currentParentId = parentEl.parent?.id;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function buildAncestorContext(ancestorElementId, ancestorManifest, document, breakpointNames, elementFactory, ancestorUpdates, getElement) {
|
|
156
|
+
const deepInputs = getDeepInputsForElement(ancestorElementId, ancestorManifest, document, breakpointNames, elementFactory);
|
|
157
|
+
return {
|
|
158
|
+
id: ancestorElementId,
|
|
159
|
+
component: ancestorManifest,
|
|
160
|
+
inputs: deepInputs,
|
|
161
|
+
updateInputs: cb => {
|
|
162
|
+
cb(deepInputs);
|
|
163
|
+
ancestorUpdates.push({
|
|
164
|
+
elementId: ancestorElementId,
|
|
165
|
+
manifest: ancestorManifest,
|
|
166
|
+
inputs: deepInputs
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
getElement
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function createGetElement(document, components, breakpointNames, elementFactory) {
|
|
173
|
+
return id => {
|
|
174
|
+
const el = document.elements[id];
|
|
175
|
+
if (!el) {
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
const manifest = components[el.component.name];
|
|
179
|
+
if (!manifest) {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
const inputs = getDeepInputsForElement(id, manifest, document, breakpointNames, elementFactory);
|
|
183
|
+
return {
|
|
184
|
+
id,
|
|
185
|
+
component: manifest,
|
|
186
|
+
inputs
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function getDeepInputsForElement(elId, manifest, document, breakpointNames, elementFactory) {
|
|
191
|
+
const rawBindings = toJS(document.bindings[elId]) ?? {};
|
|
192
|
+
const ast = ComponentManifestToAstConverter.convert(manifest.inputs);
|
|
193
|
+
const processor = new InputsBindingsProcessor(elId, ast, breakpointNames, rawBindings, elementFactory);
|
|
194
|
+
return structuredClone(processor.toDeepInputs(rawBindings.inputs ?? {}));
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Apply collected ancestor updates inside editor.updateDocument().
|
|
199
|
+
*/
|
|
200
|
+
export function applyAncestorUpdates(doc, updates, breakpointNames, baseBreakpoint, elementFactory) {
|
|
201
|
+
for (const update of updates) {
|
|
202
|
+
const rawBindings = doc.bindings[update.elementId] ?? {
|
|
203
|
+
inputs: {}
|
|
204
|
+
};
|
|
205
|
+
const ast = ComponentManifestToAstConverter.convert(update.manifest.inputs);
|
|
206
|
+
|
|
207
|
+
// Refresh slot values from the current document state so that
|
|
208
|
+
// ancestor updates don't overwrite slot changes made by the
|
|
209
|
+
// caller (e.g. element deletion removing an ID from a slot).
|
|
210
|
+
refreshSlotValues(ast, rawBindings.inputs ?? {}, update.inputs);
|
|
211
|
+
const processor = new InputsBindingsProcessor(update.elementId, ast, breakpointNames, rawBindings, elementFactory);
|
|
212
|
+
const inputsUpdate = processor.createUpdate(update.inputs, baseBreakpoint);
|
|
213
|
+
inputsUpdate.applyToDocument(doc);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Walk the AST and overwrite slot values in `deepInputs` with the
|
|
219
|
+
* current flat binding values from `currentFlat`. This prevents stale
|
|
220
|
+
* slot snapshots (captured before element removal) from restoring
|
|
221
|
+
* deleted element references.
|
|
222
|
+
*/
|
|
223
|
+
function refreshSlotValues(ast, currentFlat, deepInputs) {
|
|
224
|
+
const walk = (nodes, target, prefix) => {
|
|
225
|
+
for (const node of nodes) {
|
|
226
|
+
const pathParts = [...prefix, node.name];
|
|
227
|
+
const flatKey = pathParts.join("/");
|
|
228
|
+
if (node.children.length > 0) {
|
|
229
|
+
// Recurse into object children (skip list objects — their
|
|
230
|
+
// slots are nested under indexed paths we can't enumerate here).
|
|
231
|
+
if (!node.list && target[node.name] && typeof target[node.name] === "object") {
|
|
232
|
+
walk(node.children, target[node.name], pathParts);
|
|
233
|
+
}
|
|
234
|
+
} else if (node.type === "slot") {
|
|
235
|
+
// Overwrite with current document value
|
|
236
|
+
const current = currentFlat[flatKey];
|
|
237
|
+
if (current) {
|
|
238
|
+
target[node.name] = current.static;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
walk(ast, deepInputs, []);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
//# sourceMappingURL=executeOnChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toJS","buildAncestors","ComponentManifestToAstConverter","createElement","InputsBindingsProcessor","STOP_SYMBOL","Symbol","for","CONTINUE_SYMBOL","stop","cont","runHandlers","handlers","ctx","Array","isArray","handler","executeOnChange","params","editor","elementId","action","breakpointNames","baseBreakpoint","elementFactory","deepStyles","ancestorUpdates","document","getDocumentState","read","components","getEditorState","element","elements","manifest","component","name","deepInputs","getDeepInputsForElement","onChange","ancestors","getElement","createGetElement","id","inputs","styles","getAncestor","componentName","found","find","a","undefined","buildAncestorContext","p","executeCommand","command","payload","type","breakpoint","log","args","console","continue","fireDescendantChange","currentParentId","parent","parentEl","parentManifest","onDescendantChange","parentDeep","descendant","structuredClone","updateInputs","cb","push","ancestorElementId","ancestorManifest","el","elId","rawBindings","bindings","ast","convert","processor","toDeepInputs","applyAncestorUpdates","doc","updates","update","refreshSlotValues","inputsUpdate","createUpdate","applyToDocument","currentFlat","walk","nodes","target","prefix","node","pathParts","flatKey","join","children","length","list","current","static"],"sources":["executeOnChange.ts"],"sourcesContent":["import { toJS } from \"mobx\";\nimport type { Editor } from \"../Editor.js\";\nimport type {\n OnChangeAction,\n ComponentManifest,\n Document,\n OnChangeElementContext,\n Stop,\n Continue\n} from \"@webiny/website-builder-sdk\";\nimport {\n buildAncestors,\n ComponentManifestToAstConverter,\n createElement,\n ElementFactory,\n InputsBindingsProcessor\n} from \"@webiny/website-builder-sdk\";\n\nconst STOP_SYMBOL: Stop = Symbol.for(\"wb.handler.stop\") as unknown as Stop;\nconst CONTINUE_SYMBOL: Continue = Symbol.for(\"wb.handler.continue\") as unknown as Continue;\nconst stop = (): Stop => STOP_SYMBOL;\nconst cont = (): Continue => CONTINUE_SYMBOL;\n\nfunction runHandlers<TCtx>(\n handlers: ((ctx: TCtx) => any) | ((ctx: TCtx) => any)[],\n ctx: TCtx\n): void {\n if (Array.isArray(handlers)) {\n for (const handler of handlers) {\n if (handler(ctx) === STOP_SYMBOL) {\n return;\n }\n }\n } else {\n handlers(ctx);\n }\n}\n\nexport interface AncestorUpdate {\n elementId: string;\n manifest: ComponentManifest;\n inputs: Record<string, any>;\n}\n\ninterface ExecuteOnChangeParams {\n editor: Editor;\n elementId: string;\n /** When provided, used as-is. When omitted, resolved from the document. */\n deepInputs?: Record<string, any>;\n action: OnChangeAction;\n breakpointNames: string[];\n baseBreakpoint: string;\n elementFactory: ElementFactory;\n /** Optional deep styles — only available from the sidebar UI path. */\n deepStyles?: Record<string, any>;\n}\n\n/**\n * Runs manifest.onChange on the element, then walks up the ancestor chain\n * firing onDescendantChange on each ancestor that defines it.\n *\n * Returns an array of ancestor updates that must be flushed inside\n * editor.updateDocument().\n */\nexport function executeOnChange(params: ExecuteOnChangeParams): AncestorUpdate[] {\n const {\n editor,\n elementId,\n action,\n breakpointNames,\n baseBreakpoint,\n elementFactory,\n deepStyles\n } = params;\n\n const ancestorUpdates: AncestorUpdate[] = [];\n\n const document = editor.getDocumentState().read();\n const components = editor.getEditorState().read().components;\n const element = document.elements[elementId];\n if (!element) {\n return ancestorUpdates;\n }\n\n const manifest = components[element.component.name];\n\n // Resolve deep inputs from the document when not explicitly provided.\n const deepInputs =\n params.deepInputs ??\n (manifest\n ? getDeepInputsForElement(\n elementId,\n manifest,\n document,\n breakpointNames,\n elementFactory\n )\n : {});\n\n // --- manifest.onChange on the element itself ---\n if (manifest?.onChange) {\n const ancestors = buildAncestors(element, components, document);\n const getElement = createGetElement(document, components, breakpointNames, elementFactory);\n runHandlers(manifest.onChange, {\n action,\n id: elementId,\n component: manifest,\n inputs: deepInputs,\n styles: deepStyles ?? {},\n getAncestor: componentName => {\n const found = ancestors.find(a => a.manifest.name === componentName);\n if (!found) {\n return undefined;\n }\n return buildAncestorContext(\n found.element.id,\n found.manifest,\n document,\n breakpointNames,\n elementFactory,\n ancestorUpdates,\n getElement\n );\n },\n getElement,\n createElement: p => createElement(p),\n executeCommand: <T = unknown>(command: string, payload?: T) => {\n editor.executeCommand({ type: command }, payload);\n },\n breakpoint: baseBreakpoint,\n log: (...args: any[]) => console.log(...args),\n stop,\n continue: cont\n });\n }\n\n // --- onDescendantChange on each ancestor ---\n fireDescendantChange({\n editor,\n element,\n elementId,\n deepInputs,\n action,\n document,\n components,\n breakpointNames,\n baseBreakpoint,\n elementFactory,\n ancestorUpdates\n });\n\n return ancestorUpdates;\n}\n\nfunction fireDescendantChange(params: {\n editor: Editor;\n element: { parent?: { id: string; slot: string }; component: { name: string } };\n elementId: string;\n deepInputs: Record<string, any>;\n action: OnChangeAction;\n document: Document;\n components: Record<string, ComponentManifest>;\n breakpointNames: string[];\n baseBreakpoint: string;\n elementFactory: ElementFactory;\n ancestorUpdates: AncestorUpdate[];\n}) {\n const {\n editor,\n element,\n elementId,\n deepInputs,\n action,\n document,\n components,\n breakpointNames,\n baseBreakpoint,\n elementFactory,\n ancestorUpdates\n } = params;\n\n let currentParentId = element.parent?.id;\n\n while (currentParentId) {\n const parentEl = document.elements[currentParentId];\n if (!parentEl) {\n break;\n }\n\n const parentManifest = components[parentEl.component.name];\n if (parentManifest?.onDescendantChange) {\n const parentDeep = getDeepInputsForElement(\n parentEl.id,\n parentManifest,\n document,\n breakpointNames,\n elementFactory\n );\n\n const getElement = createGetElement(\n document,\n components,\n breakpointNames,\n elementFactory\n );\n runHandlers(parentManifest.onDescendantChange, {\n action,\n descendant: {\n component: components[element.component.name],\n id: elementId,\n inputs: structuredClone(deepInputs),\n updateInputs: (cb: (inputs: Record<string, any>) => void) => {\n cb(deepInputs);\n ancestorUpdates.push({\n elementId,\n manifest: components[element.component.name],\n inputs: deepInputs\n });\n }\n },\n inputs: parentDeep,\n updateInputs: (cb: (inputs: Record<string, any>) => void) => {\n cb(parentDeep);\n ancestorUpdates.push({\n elementId: parentEl.id,\n manifest: parentManifest,\n inputs: parentDeep\n });\n },\n getElement,\n executeCommand: <T = unknown>(command: string, payload?: T) =>\n editor.executeCommand({ type: command }, payload as Record<string, any>),\n breakpoint: baseBreakpoint,\n log: (...args: any[]) => console.log(...args),\n stop,\n continue: cont\n });\n }\n\n currentParentId = parentEl.parent?.id;\n }\n}\n\nfunction buildAncestorContext(\n ancestorElementId: string,\n ancestorManifest: ComponentManifest,\n document: Document,\n breakpointNames: string[],\n elementFactory: ElementFactory,\n ancestorUpdates: AncestorUpdate[],\n getElement: (id: string) => OnChangeElementContext | undefined\n) {\n const deepInputs = getDeepInputsForElement(\n ancestorElementId,\n ancestorManifest,\n document,\n breakpointNames,\n elementFactory\n );\n\n return {\n id: ancestorElementId,\n component: ancestorManifest,\n inputs: deepInputs,\n updateInputs: (cb: (inputs: Record<string, any>) => void) => {\n cb(deepInputs);\n ancestorUpdates.push({\n elementId: ancestorElementId,\n manifest: ancestorManifest,\n inputs: deepInputs\n });\n },\n getElement\n };\n}\n\nfunction createGetElement(\n document: Document,\n components: Record<string, ComponentManifest>,\n breakpointNames: string[],\n elementFactory: ElementFactory\n): (id: string) => OnChangeElementContext | undefined {\n return (id: string) => {\n const el = document.elements[id];\n if (!el) {\n return undefined;\n }\n const manifest = components[el.component.name];\n if (!manifest) {\n return undefined;\n }\n const inputs = getDeepInputsForElement(\n id,\n manifest,\n document,\n breakpointNames,\n elementFactory\n );\n return { id, component: manifest, inputs };\n };\n}\n\nfunction getDeepInputsForElement(\n elId: string,\n manifest: ComponentManifest,\n document: Document,\n breakpointNames: string[],\n elementFactory: ElementFactory\n): Record<string, any> {\n const rawBindings = toJS(document.bindings[elId]) ?? {};\n const ast = ComponentManifestToAstConverter.convert(manifest.inputs);\n const processor = new InputsBindingsProcessor(\n elId,\n ast,\n breakpointNames,\n rawBindings,\n elementFactory\n );\n return structuredClone(processor.toDeepInputs(rawBindings.inputs ?? {}));\n}\n\n/**\n * Apply collected ancestor updates inside editor.updateDocument().\n */\nexport function applyAncestorUpdates(\n doc: Document,\n updates: AncestorUpdate[],\n breakpointNames: string[],\n baseBreakpoint: string,\n elementFactory: ElementFactory\n): void {\n for (const update of updates) {\n const rawBindings = doc.bindings[update.elementId] ?? { inputs: {} };\n const ast = ComponentManifestToAstConverter.convert(update.manifest.inputs);\n\n // Refresh slot values from the current document state so that\n // ancestor updates don't overwrite slot changes made by the\n // caller (e.g. element deletion removing an ID from a slot).\n refreshSlotValues(ast, rawBindings.inputs ?? {}, update.inputs);\n\n const processor = new InputsBindingsProcessor(\n update.elementId,\n ast,\n breakpointNames,\n rawBindings,\n elementFactory\n );\n const inputsUpdate = processor.createUpdate(update.inputs, baseBreakpoint);\n inputsUpdate.applyToDocument(doc);\n }\n}\n\n/**\n * Walk the AST and overwrite slot values in `deepInputs` with the\n * current flat binding values from `currentFlat`. This prevents stale\n * slot snapshots (captured before element removal) from restoring\n * deleted element references.\n */\nfunction refreshSlotValues(\n ast: ReturnType<typeof ComponentManifestToAstConverter.convert>,\n currentFlat: Record<string, any>,\n deepInputs: Record<string, any>\n) {\n const walk = (nodes: typeof ast, target: Record<string, any>, prefix: string[]) => {\n for (const node of nodes) {\n const pathParts = [...prefix, node.name];\n const flatKey = pathParts.join(\"/\");\n\n if (node.children.length > 0) {\n // Recurse into object children (skip list objects — their\n // slots are nested under indexed paths we can't enumerate here).\n if (!node.list && target[node.name] && typeof target[node.name] === \"object\") {\n walk(node.children, target[node.name], pathParts);\n }\n } else if (node.type === \"slot\") {\n // Overwrite with current document value\n const current = currentFlat[flatKey];\n if (current) {\n target[node.name] = current.static;\n }\n }\n }\n };\n\n walk(ast, deepInputs, []);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,3 +9,9 @@ export * from "./$createElement.js";
|
|
|
9
9
|
export * from "./$moveElement.js";
|
|
10
10
|
export * from "./$removeElementReferenceFromParent.js";
|
|
11
11
|
export * from "./$addElementReferenceToParent.js";
|
|
12
|
+
export * from "./$getElementsOfType.js";
|
|
13
|
+
export * from "./$getFirstElementOfType.js";
|
|
14
|
+
export * from "./$getElementInputValues.js";
|
|
15
|
+
export * from "./$updateElementInputs.js";
|
|
16
|
+
export * from "./$previewElementInputs.js";
|
|
17
|
+
export * from "./executeOnChange.js";
|
package/editorSdk/utils/index.js
CHANGED
|
@@ -9,5 +9,11 @@ export * from "./$createElement.js";
|
|
|
9
9
|
export * from "./$moveElement.js";
|
|
10
10
|
export * from "./$removeElementReferenceFromParent.js";
|
|
11
11
|
export * from "./$addElementReferenceToParent.js";
|
|
12
|
+
export * from "./$getElementsOfType.js";
|
|
13
|
+
export * from "./$getFirstElementOfType.js";
|
|
14
|
+
export * from "./$getElementInputValues.js";
|
|
15
|
+
export * from "./$updateElementInputs.js";
|
|
16
|
+
export * from "./$previewElementInputs.js";
|
|
17
|
+
export * from "./executeOnChange.js";
|
|
12
18
|
|
|
13
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./$selectElement.js\";\nexport * from \"./$deselectElement.js\";\nexport * from \"./$highlightElement.js\";\nexport * from \"./$getElementById.js\";\nexport * from \"./$getActiveElementId.js\";\nexport * from \"./$getComponentManifestByElementId.js\";\nexport * from \"./$deleteElement.js\";\nexport * from \"./$createElement.js\";\nexport * from \"./$moveElement.js\";\nexport * from \"./$removeElementReferenceFromParent.js\";\nexport * from \"./$addElementReferenceToParent.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./$selectElement.js\";\nexport * from \"./$deselectElement.js\";\nexport * from \"./$highlightElement.js\";\nexport * from \"./$getElementById.js\";\nexport * from \"./$getActiveElementId.js\";\nexport * from \"./$getComponentManifestByElementId.js\";\nexport * from \"./$deleteElement.js\";\nexport * from \"./$createElement.js\";\nexport * from \"./$moveElement.js\";\nexport * from \"./$removeElementReferenceFromParent.js\";\nexport * from \"./$addElementReferenceToParent.js\";\nexport * from \"./$getElementsOfType.js\";\nexport * from \"./$getFirstElementOfType.js\";\nexport * from \"./$getElementInputValues.js\";\nexport * from \"./$updateElementInputs.js\";\nexport * from \"./$previewElementInputs.js\";\nexport * from \"./executeOnChange.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -1,2 +1,34 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { PageEditorConfig } from "../../../../
|
|
1
|
+
export { usePageEditorConfig } from "../../../../modules/pages/PageEditor/usePageEditorConfig.js";
|
|
2
|
+
export { PageEditorConfig } from "../../../../modules/pages/PageEditor/PageEditorConfig.js";
|
|
3
|
+
export { createCommand } from "../../../../editorSdk/createCommand.js";
|
|
4
|
+
export { Commands } from "../../../../BaseEditor/index.js";
|
|
5
|
+
export { useSelectFromEditor } from "../../../../BaseEditor/hooks/useSelectFromEditor.js";
|
|
6
|
+
export { useSelectFromDocument } from "../../../../BaseEditor/hooks/useSelectFromDocument.js";
|
|
7
|
+
export { useDocumentEditor } from "../../../../DocumentEditor/index.js";
|
|
8
|
+
export { useActiveElement } from "../../../../BaseEditor/hooks/useActiveElement.js";
|
|
9
|
+
export { useHighlightedElement } from "../../../../BaseEditor/hooks/useHighlightedElement.js";
|
|
10
|
+
export { useComponent } from "../../../../BaseEditor/hooks/useComponent.js";
|
|
11
|
+
export { useElementInputs } from "../../../../BaseEditor/hooks/useElementInputs.js";
|
|
12
|
+
export { useCreateElement } from "../../../../BaseEditor/hooks/useCreateElement.js";
|
|
13
|
+
export { useDeleteElement } from "../../../../BaseEditor/hooks/useDeleteElement.js";
|
|
14
|
+
export { useUpdateElement } from "../../../../BaseEditor/hooks/useUpdateElement.js";
|
|
15
|
+
export { useElementOverlay } from "../../../../BaseEditor/hooks/useElementOverlay.js";
|
|
16
|
+
export { useElementComponentManifest } from "../../../../BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js";
|
|
17
|
+
export { ElementInputs } from "../../../../BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js";
|
|
18
|
+
export { $selectElement } from "../../../../editorSdk/utils/index.js";
|
|
19
|
+
export { $deselectElement } from "../../../../editorSdk/utils/index.js";
|
|
20
|
+
export { $highlightElement } from "../../../../editorSdk/utils/index.js";
|
|
21
|
+
export { $getElementById } from "../../../../editorSdk/utils/index.js";
|
|
22
|
+
export { $getActiveElementId } from "../../../../editorSdk/utils/index.js";
|
|
23
|
+
export { $getComponentManifestByElementId } from "../../../../editorSdk/utils/index.js";
|
|
24
|
+
export { $deleteElement } from "../../../../editorSdk/utils/index.js";
|
|
25
|
+
export { $createElement } from "../../../../editorSdk/utils/index.js";
|
|
26
|
+
export { $moveElement } from "../../../../editorSdk/utils/index.js";
|
|
27
|
+
export { $removeElementReferenceFromParent } from "../../../../editorSdk/utils/index.js";
|
|
28
|
+
export { $addElementReferenceToParent } from "../../../../editorSdk/utils/index.js";
|
|
29
|
+
export { $getElementsOfType } from "../../../../editorSdk/utils/index.js";
|
|
30
|
+
export { $getFirstElementOfType } from "../../../../editorSdk/utils/index.js";
|
|
31
|
+
export { $getElementInputValues } from "../../../../editorSdk/utils/index.js";
|
|
32
|
+
export { $updateElementInputs } from "../../../../editorSdk/utils/index.js";
|
|
33
|
+
export { $previewElementInputs } from "../../../../editorSdk/utils/index.js";
|
|
34
|
+
export { createElement } from "@webiny/website-builder-sdk";
|
|
@@ -1,4 +1,36 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { PageEditorConfig } from "../../../../
|
|
1
|
+
export { usePageEditorConfig } from "../../../../modules/pages/PageEditor/usePageEditorConfig.js";
|
|
2
|
+
export { PageEditorConfig } from "../../../../modules/pages/PageEditor/PageEditorConfig.js";
|
|
3
|
+
export { createCommand } from "../../../../editorSdk/createCommand.js";
|
|
4
|
+
export { Commands } from "../../../../BaseEditor/index.js";
|
|
5
|
+
export { useSelectFromEditor } from "../../../../BaseEditor/hooks/useSelectFromEditor.js";
|
|
6
|
+
export { useSelectFromDocument } from "../../../../BaseEditor/hooks/useSelectFromDocument.js";
|
|
7
|
+
export { useDocumentEditor } from "../../../../DocumentEditor/index.js";
|
|
8
|
+
export { useActiveElement } from "../../../../BaseEditor/hooks/useActiveElement.js";
|
|
9
|
+
export { useHighlightedElement } from "../../../../BaseEditor/hooks/useHighlightedElement.js";
|
|
10
|
+
export { useComponent } from "../../../../BaseEditor/hooks/useComponent.js";
|
|
11
|
+
export { useElementInputs } from "../../../../BaseEditor/hooks/useElementInputs.js";
|
|
12
|
+
export { useCreateElement } from "../../../../BaseEditor/hooks/useCreateElement.js";
|
|
13
|
+
export { useDeleteElement } from "../../../../BaseEditor/hooks/useDeleteElement.js";
|
|
14
|
+
export { useUpdateElement } from "../../../../BaseEditor/hooks/useUpdateElement.js";
|
|
15
|
+
export { useElementOverlay } from "../../../../BaseEditor/hooks/useElementOverlay.js";
|
|
16
|
+
export { useElementComponentManifest } from "../../../../BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js";
|
|
17
|
+
export { ElementInputs } from "../../../../BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js";
|
|
18
|
+
export { $selectElement } from "../../../../editorSdk/utils/index.js";
|
|
19
|
+
export { $deselectElement } from "../../../../editorSdk/utils/index.js";
|
|
20
|
+
export { $highlightElement } from "../../../../editorSdk/utils/index.js";
|
|
21
|
+
export { $getElementById } from "../../../../editorSdk/utils/index.js";
|
|
22
|
+
export { $getActiveElementId } from "../../../../editorSdk/utils/index.js";
|
|
23
|
+
export { $getComponentManifestByElementId } from "../../../../editorSdk/utils/index.js";
|
|
24
|
+
export { $deleteElement } from "../../../../editorSdk/utils/index.js";
|
|
25
|
+
export { $createElement } from "../../../../editorSdk/utils/index.js";
|
|
26
|
+
export { $moveElement } from "../../../../editorSdk/utils/index.js";
|
|
27
|
+
export { $removeElementReferenceFromParent } from "../../../../editorSdk/utils/index.js";
|
|
28
|
+
export { $addElementReferenceToParent } from "../../../../editorSdk/utils/index.js";
|
|
29
|
+
export { $getElementsOfType } from "../../../../editorSdk/utils/index.js";
|
|
30
|
+
export { $getFirstElementOfType } from "../../../../editorSdk/utils/index.js";
|
|
31
|
+
export { $getElementInputValues } from "../../../../editorSdk/utils/index.js";
|
|
32
|
+
export { $updateElementInputs } from "../../../../editorSdk/utils/index.js";
|
|
33
|
+
export { $previewElementInputs } from "../../../../editorSdk/utils/index.js";
|
|
34
|
+
export { createElement } from "@webiny/website-builder-sdk";
|
|
3
35
|
|
|
4
36
|
//# sourceMappingURL=editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["usePageEditorConfig","PageEditorConfig","createCommand","Commands","useSelectFromEditor","useSelectFromDocument","useDocumentEditor","useActiveElement","useHighlightedElement","useComponent","useElementInputs","useCreateElement","useDeleteElement","useUpdateElement","useElementOverlay","useElementComponentManifest","ElementInputs","$selectElement","$deselectElement","$highlightElement","$getElementById","$getActiveElementId","$getComponentManifestByElementId","$deleteElement","$createElement","$moveElement","$removeElementReferenceFromParent","$addElementReferenceToParent","$getElementsOfType","$getFirstElementOfType","$getElementInputValues","$updateElementInputs","$previewElementInputs","createElement"],"sources":["editor.ts"],"sourcesContent":["export { usePageEditorConfig } from \"~/modules/pages/PageEditor/usePageEditorConfig.js\";\nexport { PageEditorConfig } from \"~/modules/pages/PageEditor/PageEditorConfig.js\";\nexport { createCommand } from \"~/editorSdk/createCommand.js\";\nexport { Commands } from \"~/BaseEditor/index.js\";\nexport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nexport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nexport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nexport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nexport { useHighlightedElement } from \"~/BaseEditor/hooks/useHighlightedElement.js\";\nexport { useComponent } from \"~/BaseEditor/hooks/useComponent.js\";\nexport { useElementInputs } from \"~/BaseEditor/hooks/useElementInputs.js\";\nexport { useCreateElement } from \"~/BaseEditor/hooks/useCreateElement.js\";\nexport { useDeleteElement } from \"~/BaseEditor/hooks/useDeleteElement.js\";\nexport { useUpdateElement } from \"~/BaseEditor/hooks/useUpdateElement.js\";\nexport { useElementOverlay } from \"~/BaseEditor/hooks/useElementOverlay.js\";\nexport { useElementComponentManifest } from \"~/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js\";\nexport { ElementInputs } from \"~/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js\";\n\nexport { $selectElement } from \"~/editorSdk/utils/index.js\";\nexport { $deselectElement } from \"~/editorSdk/utils/index.js\";\nexport { $highlightElement } from \"~/editorSdk/utils/index.js\";\nexport { $getElementById } from \"~/editorSdk/utils/index.js\";\nexport { $getActiveElementId } from \"~/editorSdk/utils/index.js\";\nexport { $getComponentManifestByElementId } from \"~/editorSdk/utils/index.js\";\nexport { $deleteElement } from \"~/editorSdk/utils/index.js\";\nexport { $createElement } from \"~/editorSdk/utils/index.js\";\nexport { $moveElement } from \"~/editorSdk/utils/index.js\";\nexport { $removeElementReferenceFromParent } from \"~/editorSdk/utils/index.js\";\nexport { $addElementReferenceToParent } from \"~/editorSdk/utils/index.js\";\nexport { $getElementsOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getFirstElementOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getElementInputValues } from \"~/editorSdk/utils/index.js\";\nexport { $updateElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { $previewElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { createElement } from \"@webiny/website-builder-sdk\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAASC,QAAQ;AACjB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2B;AACpC,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,mBAAmB;AAC5B,SAASC,gCAAgC;AACzC,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,iCAAiC;AAC1C,SAASC,4BAA4B;AACrC,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,aAAa,QAAQ,6BAA6B","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { Routes } from "../../routes.js";
|
|
2
2
|
export { EcommerceIntegration } from "../../ecommerce/index.js";
|
|
3
3
|
export { pagePathFromTitle } from "../../index.js";
|
|
4
|
+
export { usePermissions } from "../../presentation/security/usePermissions.js";
|
|
4
5
|
|
|
5
6
|
//# sourceMappingURL=website-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Routes","EcommerceIntegration","pagePathFromTitle"],"sources":["website-builder.ts"],"sourcesContent":["export { Routes } from \"~/routes.js\";\nexport { EcommerceIntegration } from \"~/ecommerce/index.js\";\nexport { pagePathFromTitle } from \"~/index.js\";\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Routes","EcommerceIntegration","pagePathFromTitle","usePermissions"],"sources":["website-builder.ts"],"sourcesContent":["export { Routes } from \"~/routes.js\";\nexport { EcommerceIntegration } from \"~/ecommerce/index.js\";\nexport { pagePathFromTitle } from \"~/index.js\";\nexport { usePermissions } from \"~/presentation/security/usePermissions.js\";\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAASC,cAAc","ignoreList":[]}
|
|
@@ -36,7 +36,8 @@ describe("DeletePage", () => {
|
|
|
36
36
|
const item = pagesCache.getItem(page => page.id === "page-1#0001");
|
|
37
37
|
expect(item?.id).toEqual("page-1#0001");
|
|
38
38
|
await deletePage.execute({
|
|
39
|
-
id: "page-1#0001"
|
|
39
|
+
id: "page-1#0001",
|
|
40
|
+
permanently: true
|
|
40
41
|
});
|
|
41
42
|
expect(gateway.execute).toHaveBeenCalledTimes(1);
|
|
42
43
|
expect(pagesCache.hasItems()).toBeFalse();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","it","expect","beforeEach","vi","DeletePage","WbPageStatus","Page","pageListCache","gateway","execute","fn","mockResolvedValue","pagesCache","clear","addItems","create","id","entryId","status","Draft","location","folderId","properties","title","metadata","elements","element1","bindings","data","deletePage","getInstance","hasItems","toBeTrue","item","getItem","page","toEqual","toHaveBeenCalledTimes","toBeFalse"],"sources":["DeletePage.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { DeletePage } from \"./DeletePage.js\";\nimport { WbPageStatus } from \"~/constants.js\";\nimport { Page, pageListCache } from \"~/domain/Page/index.js\";\n\ndescribe(\"DeletePage\", () => {\n const gateway = {\n execute: vi.fn().mockResolvedValue(true)\n };\n const pagesCache = pageListCache;\n\n beforeEach(() => {\n pagesCache.clear();\n pagesCache.addItems([\n Page.create({\n id: \"page-1#0001\",\n entryId: \"page-1\",\n status: WbPageStatus.Draft,\n location: {\n folderId: \"folder-1\"\n },\n properties: {\n title: \"Page 1\"\n },\n metadata: {\n title: \"Page 1\"\n },\n elements: {\n element1: \"element\"\n },\n bindings: {\n data: \"any-data\"\n }\n })\n ]);\n });\n\n it(\"should be able to delete a page\", async () => {\n const deletePage = DeletePage.getInstance(gateway);\n\n expect(pagesCache.hasItems()).toBeTrue();\n const item = pagesCache.getItem(page => page.id === \"page-1#0001\");\n expect(item?.id).toEqual(\"page-1#0001\");\n\n await deletePage.execute({\n id: \"page-1#0001\"\n });\n\n expect(gateway.execute).toHaveBeenCalledTimes(1);\n expect(pagesCache.hasItems()).toBeFalse();\n });\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,UAAU;AACnB,SAASC,YAAY;AACrB,SAASC,IAAI,EAAEC,aAAa;AAE5BR,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzB,MAAMS,OAAO,GAAG;IACZC,OAAO,EAAEN,EAAE,CAACO,EAAE,CAAC,CAAC,CAACC,iBAAiB,CAAC,IAAI;EAC3C,CAAC;EACD,MAAMC,UAAU,GAAGL,aAAa;EAEhCL,UAAU,CAAC,MAAM;IACbU,UAAU,CAACC,KAAK,CAAC,CAAC;IAClBD,UAAU,CAACE,QAAQ,CAAC,CAChBR,IAAI,CAACS,MAAM,CAAC;MACRC,EAAE,EAAE,aAAa;MACjBC,OAAO,EAAE,QAAQ;MACjBC,MAAM,EAAEb,YAAY,CAACc,KAAK;MAC1BC,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,UAAU,EAAE;QACRC,KAAK,EAAE;MACX,CAAC;MACDC,QAAQ,EAAE;QACND,KAAK,EAAE;MACX,CAAC;MACDE,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,QAAQ,EAAE;QACNC,IAAI,EAAE;MACV;IACJ,CAAC,CAAC,CACL,CAAC;EACN,CAAC,CAAC;EAEF5B,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAM6B,UAAU,GAAGzB,UAAU,CAAC0B,WAAW,CAACtB,OAAO,CAAC;IAElDP,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IACxC,MAAMC,IAAI,GAAGrB,UAAU,CAACsB,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACnB,EAAE,KAAK,aAAa,CAAC;IAClEf,MAAM,CAACgC,IAAI,EAAEjB,EAAE,CAAC,CAACoB,OAAO,CAAC,aAAa,CAAC;IAEvC,MAAMP,UAAU,CAACpB,OAAO,CAAC;MACrBO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"names":["describe","it","expect","beforeEach","vi","DeletePage","WbPageStatus","Page","pageListCache","gateway","execute","fn","mockResolvedValue","pagesCache","clear","addItems","create","id","entryId","status","Draft","location","folderId","properties","title","metadata","elements","element1","bindings","data","deletePage","getInstance","hasItems","toBeTrue","item","getItem","page","toEqual","permanently","toHaveBeenCalledTimes","toBeFalse"],"sources":["DeletePage.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { DeletePage } from \"./DeletePage.js\";\nimport { WbPageStatus } from \"~/constants.js\";\nimport { Page, pageListCache } from \"~/domain/Page/index.js\";\n\ndescribe(\"DeletePage\", () => {\n const gateway = {\n execute: vi.fn().mockResolvedValue(true)\n };\n const pagesCache = pageListCache;\n\n beforeEach(() => {\n pagesCache.clear();\n pagesCache.addItems([\n Page.create({\n id: \"page-1#0001\",\n entryId: \"page-1\",\n status: WbPageStatus.Draft,\n location: {\n folderId: \"folder-1\"\n },\n properties: {\n title: \"Page 1\"\n },\n metadata: {\n title: \"Page 1\"\n },\n elements: {\n element1: \"element\"\n },\n bindings: {\n data: \"any-data\"\n }\n })\n ]);\n });\n\n it(\"should be able to delete a page\", async () => {\n const deletePage = DeletePage.getInstance(gateway);\n\n expect(pagesCache.hasItems()).toBeTrue();\n const item = pagesCache.getItem(page => page.id === \"page-1#0001\");\n expect(item?.id).toEqual(\"page-1#0001\");\n\n await deletePage.execute({\n id: \"page-1#0001\",\n permanently: true\n });\n\n expect(gateway.execute).toHaveBeenCalledTimes(1);\n expect(pagesCache.hasItems()).toBeFalse();\n });\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,UAAU;AACnB,SAASC,YAAY;AACrB,SAASC,IAAI,EAAEC,aAAa;AAE5BR,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzB,MAAMS,OAAO,GAAG;IACZC,OAAO,EAAEN,EAAE,CAACO,EAAE,CAAC,CAAC,CAACC,iBAAiB,CAAC,IAAI;EAC3C,CAAC;EACD,MAAMC,UAAU,GAAGL,aAAa;EAEhCL,UAAU,CAAC,MAAM;IACbU,UAAU,CAACC,KAAK,CAAC,CAAC;IAClBD,UAAU,CAACE,QAAQ,CAAC,CAChBR,IAAI,CAACS,MAAM,CAAC;MACRC,EAAE,EAAE,aAAa;MACjBC,OAAO,EAAE,QAAQ;MACjBC,MAAM,EAAEb,YAAY,CAACc,KAAK;MAC1BC,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,UAAU,EAAE;QACRC,KAAK,EAAE;MACX,CAAC;MACDC,QAAQ,EAAE;QACND,KAAK,EAAE;MACX,CAAC;MACDE,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,QAAQ,EAAE;QACNC,IAAI,EAAE;MACV;IACJ,CAAC,CAAC,CACL,CAAC;EACN,CAAC,CAAC;EAEF5B,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAM6B,UAAU,GAAGzB,UAAU,CAAC0B,WAAW,CAACtB,OAAO,CAAC;IAElDP,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IACxC,MAAMC,IAAI,GAAGrB,UAAU,CAACsB,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACnB,EAAE,KAAK,aAAa,CAAC;IAClEf,MAAM,CAACgC,IAAI,EAAEjB,EAAE,CAAC,CAACoB,OAAO,CAAC,aAAa,CAAC;IAEvC,MAAMP,UAAU,CAACpB,OAAO,CAAC;MACrBO,EAAE,EAAE,aAAa;MACjBqB,WAAW,EAAE;IACjB,CAAC,CAAC;IAEFpC,MAAM,CAACO,OAAO,CAACC,OAAO,CAAC,CAAC6B,qBAAqB,CAAC,CAAC,CAAC;IAChDrC,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACQ,SAAS,CAAC,CAAC;EAC7C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import type { IDeletePageGateway } from "./IDeletePageGateway.js";
|
|
|
3
3
|
import type { WbError } from "../../../types.js";
|
|
4
4
|
export interface DeletePageVariables {
|
|
5
5
|
id: string;
|
|
6
|
+
permanently: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface DeletePageResponse {
|
|
8
9
|
websiteBuilder: {
|
|
@@ -16,5 +17,5 @@ export declare const DELETE_PAGE: import("graphql").DocumentNode;
|
|
|
16
17
|
export declare class DeletePageGqlGateway implements IDeletePageGateway {
|
|
17
18
|
private client;
|
|
18
19
|
constructor(client: ApolloClient<any>);
|
|
19
|
-
execute(id: string): Promise<void>;
|
|
20
|
+
execute(id: string, permanently: boolean): Promise<void>;
|
|
20
21
|
}
|
|
@@ -17,13 +17,14 @@ export class DeletePageGqlGateway {
|
|
|
17
17
|
constructor(client) {
|
|
18
18
|
this.client = client;
|
|
19
19
|
}
|
|
20
|
-
async execute(id) {
|
|
20
|
+
async execute(id, permanently) {
|
|
21
21
|
const {
|
|
22
22
|
data: response
|
|
23
23
|
} = await this.client.mutate({
|
|
24
24
|
mutation: DELETE_PAGE,
|
|
25
25
|
variables: {
|
|
26
|
-
id
|
|
26
|
+
id,
|
|
27
|
+
permanently
|
|
27
28
|
}
|
|
28
29
|
});
|
|
29
30
|
if (!response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gql","DELETE_PAGE","DeletePageGqlGateway","constructor","client","execute","id","data","response","mutate","mutation","variables","Error","error","websiteBuilder","deletePage","message"],"sources":["DeletePageGqlGateway.ts"],"sourcesContent":["import type ApolloClient from \"apollo-client\";\nimport gql from \"graphql-tag\";\nimport type { IDeletePageGateway } from \"./IDeletePageGateway.js\";\nimport type { WbError } from \"~/types.js\";\n\nexport interface DeletePageVariables {\n id: string;\n}\n\nexport interface DeletePageResponse {\n websiteBuilder: {\n deletePage: {\n data: boolean;\n error: WbError | null;\n };\n };\n}\n\nexport const DELETE_PAGE = gql`\n mutation DeletePage($id: ID!) {\n websiteBuilder {\n deletePage(id: $id) {\n data\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nexport class DeletePageGqlGateway implements IDeletePageGateway {\n private client: ApolloClient<any>;\n\n constructor(client: ApolloClient<any>) {\n this.client = client;\n }\n\n async execute(id: string) {\n const { data: response } = await this.client.mutate<\n DeletePageResponse,\n DeletePageVariables\n >({\n mutation: DELETE_PAGE,\n variables: {\n id\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while deleting page.\");\n }\n\n const { data, error } = response.websiteBuilder.deletePage;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete page.\");\n }\n\n return;\n }\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,aAAa;
|
|
1
|
+
{"version":3,"names":["gql","DELETE_PAGE","DeletePageGqlGateway","constructor","client","execute","id","permanently","data","response","mutate","mutation","variables","Error","error","websiteBuilder","deletePage","message"],"sources":["DeletePageGqlGateway.ts"],"sourcesContent":["import type ApolloClient from \"apollo-client\";\nimport gql from \"graphql-tag\";\nimport type { IDeletePageGateway } from \"./IDeletePageGateway.js\";\nimport type { WbError } from \"~/types.js\";\n\nexport interface DeletePageVariables {\n id: string;\n permanently: boolean;\n}\n\nexport interface DeletePageResponse {\n websiteBuilder: {\n deletePage: {\n data: boolean;\n error: WbError | null;\n };\n };\n}\n\nexport const DELETE_PAGE = gql`\n mutation DeletePage($id: ID!) {\n websiteBuilder {\n deletePage(id: $id) {\n data\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nexport class DeletePageGqlGateway implements IDeletePageGateway {\n private client: ApolloClient<any>;\n\n constructor(client: ApolloClient<any>) {\n this.client = client;\n }\n\n async execute(id: string, permanently: boolean) {\n const { data: response } = await this.client.mutate<\n DeletePageResponse,\n DeletePageVariables\n >({\n mutation: DELETE_PAGE,\n variables: {\n id,\n permanently\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while deleting page.\");\n }\n\n const { data, error } = response.websiteBuilder.deletePage;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete page.\");\n }\n\n return;\n }\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,aAAa;AAkB7B,OAAO,MAAMC,WAAW,GAAGD,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,oBAAoB,CAA+B;EAG5DC,WAAWA,CAACC,MAAyB,EAAE;IACnC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAEC,WAAoB,EAAE;IAC5C,MAAM;MAAEC,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,MAAM,CAGjD;MACEC,QAAQ,EAAEV,WAAW;MACrBW,SAAS,EAAE;QACPN,EAAE;QACFC;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACE,QAAQ,EAAE;MACX,MAAM,IAAII,KAAK,CAAC,oCAAoC,CAAC;IACzD;IAEA,MAAM;MAAEL,IAAI;MAAEM;IAAM,CAAC,GAAGL,QAAQ,CAACM,cAAc,CAACC,UAAU;IAE1D,IAAI,CAACR,IAAI,EAAE;MACP,MAAM,IAAIK,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,wBAAwB,CAAC;IAC/D;IAEA;EACJ;AACJ","ignoreList":[]}
|
|
@@ -8,5 +8,5 @@ export declare class DeletePageRepository implements IDeletePageRepository {
|
|
|
8
8
|
private meta;
|
|
9
9
|
private gateway;
|
|
10
10
|
constructor(cache: IListCache<Page>, meta: IMetaRepository, gateway: IDeletePageGateway);
|
|
11
|
-
execute(page: Page): Promise<void>;
|
|
11
|
+
execute(page: Page, permanently?: boolean): Promise<void>;
|
|
12
12
|
}
|
|
@@ -4,8 +4,8 @@ export class DeletePageRepository {
|
|
|
4
4
|
this.meta = meta;
|
|
5
5
|
this.gateway = gateway;
|
|
6
6
|
}
|
|
7
|
-
async execute(page) {
|
|
8
|
-
await this.gateway.execute(page.id);
|
|
7
|
+
async execute(page, permanently = false) {
|
|
8
|
+
await this.gateway.execute(page.id, permanently);
|
|
9
9
|
this.cache.removeItems(p => p.id === page.id);
|
|
10
10
|
await this.meta.decreaseTotalCount();
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeletePageRepository","constructor","cache","meta","gateway","execute","page","id","removeItems","p","decreaseTotalCount"],"sources":["DeletePageRepository.ts"],"sourcesContent":["import type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport type { IDeletePageGateway } from \"~/features/pages/deletePage/IDeletePageGateway.js\";\nimport type { Page } from \"~/domain/Page/index.js\";\nimport { type IListCache } from \"~/domain/Page/index.js\";\nimport type { IMetaRepository } from \"@webiny/app-utils\";\n\nexport class DeletePageRepository implements IDeletePageRepository {\n private cache: IListCache<Page>;\n private meta: IMetaRepository;\n private gateway: IDeletePageGateway;\n\n constructor(cache: IListCache<Page>, meta: IMetaRepository, gateway: IDeletePageGateway) {\n this.cache = cache;\n this.meta = meta;\n this.gateway = gateway;\n }\n\n async execute(page: Page) {\n await this.gateway.execute(page.id);\n this.cache.removeItems(p => p.id === page.id);\n await this.meta.decreaseTotalCount();\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,oBAAoB,CAAkC;EAK/DC,WAAWA,CAACC,KAAuB,EAAEC,IAAqB,EAAEC,OAA2B,EAAE;IACrF,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,IAAU,EAAE;
|
|
1
|
+
{"version":3,"names":["DeletePageRepository","constructor","cache","meta","gateway","execute","page","permanently","id","removeItems","p","decreaseTotalCount"],"sources":["DeletePageRepository.ts"],"sourcesContent":["import type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport type { IDeletePageGateway } from \"~/features/pages/deletePage/IDeletePageGateway.js\";\nimport type { Page } from \"~/domain/Page/index.js\";\nimport { type IListCache } from \"~/domain/Page/index.js\";\nimport type { IMetaRepository } from \"@webiny/app-utils\";\n\nexport class DeletePageRepository implements IDeletePageRepository {\n private cache: IListCache<Page>;\n private meta: IMetaRepository;\n private gateway: IDeletePageGateway;\n\n constructor(cache: IListCache<Page>, meta: IMetaRepository, gateway: IDeletePageGateway) {\n this.cache = cache;\n this.meta = meta;\n this.gateway = gateway;\n }\n\n async execute(page: Page, permanently = false) {\n await this.gateway.execute(page.id, permanently);\n this.cache.removeItems(p => p.id === page.id);\n await this.meta.decreaseTotalCount();\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,oBAAoB,CAAkC;EAK/DC,WAAWA,CAACC,KAAuB,EAAEC,IAAqB,EAAEC,OAA2B,EAAE;IACrF,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,IAAU,EAAEC,WAAW,GAAG,KAAK,EAAE;IAC3C,MAAM,IAAI,CAACH,OAAO,CAACC,OAAO,CAACC,IAAI,CAACE,EAAE,EAAED,WAAW,CAAC;IAChD,IAAI,CAACL,KAAK,CAACO,WAAW,CAACC,CAAC,IAAIA,CAAC,CAACF,EAAE,KAAKF,IAAI,CAACE,EAAE,CAAC;IAC7C,MAAM,IAAI,CAACL,IAAI,CAACQ,kBAAkB,CAAC,CAAC;EACxC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Page","DeletePageUseCase","constructor","repository","execute","params","create","id"],"sources":["DeletePageUseCase.ts"],"sourcesContent":["import type {\n DeletePageParams,\n IDeletePageUseCase\n} from \"~/features/pages/deletePage/IDeletePageUseCase.js\";\nimport type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport { Page } from \"~/domain/Page/index.js\";\n\nexport class DeletePageUseCase implements IDeletePageUseCase {\n private repository: IDeletePageRepository;\n\n constructor(repository: IDeletePageRepository) {\n this.repository = repository;\n }\n\n async execute(params: DeletePageParams) {\n await this.repository.execute(\n Page.create({\n id: params.id\n })\n );\n }\n}\n"],"mappings":"AAKA,SAASA,IAAI;AAEb,OAAO,MAAMC,iBAAiB,CAA+B;EAGzDC,WAAWA,CAACC,UAAiC,EAAE;IAC3C,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAAwB,EAAE;IACpC,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CACzBJ,IAAI,CAACM,MAAM,CAAC;MACRC,EAAE,EAAEF,MAAM,CAACE;IACf,CAAC,
|
|
1
|
+
{"version":3,"names":["Page","DeletePageUseCase","constructor","repository","execute","params","create","id","permanently"],"sources":["DeletePageUseCase.ts"],"sourcesContent":["import type {\n DeletePageParams,\n IDeletePageUseCase\n} from \"~/features/pages/deletePage/IDeletePageUseCase.js\";\nimport type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport { Page } from \"~/domain/Page/index.js\";\n\nexport class DeletePageUseCase implements IDeletePageUseCase {\n private repository: IDeletePageRepository;\n\n constructor(repository: IDeletePageRepository) {\n this.repository = repository;\n }\n\n async execute(params: DeletePageParams) {\n await this.repository.execute(\n Page.create({\n id: params.id\n }),\n params.permanently\n );\n }\n}\n"],"mappings":"AAKA,SAASA,IAAI;AAEb,OAAO,MAAMC,iBAAiB,CAA+B;EAGzDC,WAAWA,CAACC,UAAiC,EAAE;IAC3C,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAAwB,EAAE;IACpC,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CACzBJ,IAAI,CAACM,MAAM,CAAC;MACRC,EAAE,EAAEF,MAAM,CAACE;IACf,CAAC,CAAC,EACFF,MAAM,CAACG,WACX,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IDeletePageGateway.ts"],"sourcesContent":["export interface IDeletePageGateway {\n execute: (id: string) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IDeletePageGateway.ts"],"sourcesContent":["export interface IDeletePageGateway {\n execute: (id: string, permanently: boolean) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IDeletePageRepository.ts"],"sourcesContent":["import type { Page } from \"~/domain/Page/index.js\";\n\nexport interface IDeletePageRepository {\n execute: (page: Page) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IDeletePageRepository.ts"],"sourcesContent":["import type { Page } from \"~/domain/Page/index.js\";\n\nexport interface IDeletePageRepository {\n execute: (page: Page, permanently: boolean) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IDeletePageUseCase.ts"],"sourcesContent":["export interface DeletePageParams {\n id: string;\n}\n\nexport interface IDeletePageUseCase {\n execute: (params: DeletePageParams) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IDeletePageUseCase.ts"],"sourcesContent":["export interface DeletePageParams {\n id: string;\n permanently: boolean;\n}\n\nexport interface IDeletePageUseCase {\n execute: (params: DeletePageParams) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
package/index.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ export * as Editor from "./BaseEditor/index.js";
|
|
|
2
2
|
export * from "./shared/pagePathFromTitle.js";
|
|
3
3
|
export { PageListConfig } from "./modules/pages/configs/index.js";
|
|
4
4
|
export { RedirectListConfig } from "./modules/redirects/configs/index.js";
|
|
5
|
-
export
|
|
5
|
+
export { PageEditorConfig } from "./modules/pages/PageEditor/PageEditorConfig.js";
|