From c7dd5330f1189cfccd609cd100a1c4b7234f266c Mon Sep 17 00:00:00 2001 From: Jorge Costa Date: Thu, 9 Feb 2023 19:04:01 +0000 Subject: [PATCH] Update: Make OffCanvasEditor use LeafMoreMenu by default. (#47844) --- .../components/off-canvas-editor}/leaf-more-menu.js | 11 ++++++++--- packages/block-editor/src/private-apis.js | 2 ++ .../src/navigation/edit/menu-inspector-controls.js | 3 +-- .../navigation-inspector/navigation-menu.js | 10 ++++++++-- 4 files changed, 19 insertions(+), 7 deletions(-) rename packages/{block-library/src/navigation => block-editor/src/components/off-canvas-editor}/leaf-more-menu.js (93%) diff --git a/packages/block-library/src/navigation/leaf-more-menu.js b/packages/block-editor/src/components/off-canvas-editor/leaf-more-menu.js similarity index 93% rename from packages/block-library/src/navigation/leaf-more-menu.js rename to packages/block-editor/src/components/off-canvas-editor/leaf-more-menu.js index 77b11b71b2845..6b4d8cf893382 100644 --- a/packages/block-library/src/navigation/leaf-more-menu.js +++ b/packages/block-editor/src/components/off-canvas-editor/leaf-more-menu.js @@ -5,16 +5,21 @@ import { createBlock } from '@wordpress/blocks'; import { addSubmenu, moreVertical } from '@wordpress/icons'; import { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components'; import { useDispatch } from '@wordpress/data'; -import { store as blockEditorStore, BlockTitle } from '@wordpress/block-editor'; import { __, sprintf } from '@wordpress/i18n'; +/** + * Internal dependencies + */ +import { store as blockEditorStore } from '../../store'; +import BlockTitle from '../block-title'; + const POPOVER_PROPS = { className: 'block-editor-block-settings-menu__popover', position: 'bottom right', variant: 'toolbar', }; -export const LeafMoreMenu = ( props ) => { +export default function LeafMoreMenu( props ) { const { clientId, block } = props; const { insertBlock, replaceBlock, removeBlocks, replaceInnerBlocks } = @@ -90,4 +95,4 @@ export const LeafMoreMenu = ( props ) => { ) } ); -}; +} diff --git a/packages/block-editor/src/private-apis.js b/packages/block-editor/src/private-apis.js index 2e59430ae78b2..a624480bbcce1 100644 --- a/packages/block-editor/src/private-apis.js +++ b/packages/block-editor/src/private-apis.js @@ -5,6 +5,7 @@ import * as globalStyles from './components/global-styles'; import { ExperimentalBlockEditorProvider } from './components/provider'; import { lock } from './lock-unlock'; import OffCanvasEditor from './components/off-canvas-editor'; +import LeafMoreMenu from './components/off-canvas-editor/leaf-more-menu'; /** * Experimental @wordpress/block-editor APIs. @@ -13,5 +14,6 @@ export const experiments = {}; lock( experiments, { ...globalStyles, ExperimentalBlockEditorProvider, + LeafMoreMenu, OffCanvasEditor, } ); diff --git a/packages/block-library/src/navigation/edit/menu-inspector-controls.js b/packages/block-library/src/navigation/edit/menu-inspector-controls.js index 2918782dcd712..26bf21168ee88 100644 --- a/packages/block-library/src/navigation/edit/menu-inspector-controls.js +++ b/packages/block-library/src/navigation/edit/menu-inspector-controls.js @@ -19,7 +19,6 @@ import { __, sprintf } from '@wordpress/i18n'; * Internal dependencies */ import NavigationMenuSelector from './navigation-menu-selector'; -import { LeafMoreMenu } from '../leaf-more-menu'; import { unlock } from '../../private-apis'; import DeletedNavigationWarning from './deleted-navigation-warning'; import useNavigationMenu from '../use-navigation-menu'; @@ -34,7 +33,7 @@ const MainContent = ( { isNavigationMenuMissing, onCreateNew, } ) => { - const { OffCanvasEditor } = unlock( blockEditorExperiments ); + const { OffCanvasEditor, LeafMoreMenu } = unlock( blockEditorExperiments ); // Provide a hierarchy of clientIds for the given Navigation block (clientId). // This is required else the list view will display the entire block tree. const clientIdsTree = useSelect( diff --git a/packages/edit-site/src/components/navigation-inspector/navigation-menu.js b/packages/edit-site/src/components/navigation-inspector/navigation-menu.js index b4854f8b6cfe2..e261fdaa4030d 100644 --- a/packages/edit-site/src/components/navigation-inspector/navigation-menu.js +++ b/packages/edit-site/src/components/navigation-inspector/navigation-menu.js @@ -39,7 +39,7 @@ const ALLOWED_BLOCKS = { export default function NavigationMenu( { innerBlocks, onSelect } ) { const { updateBlockListSettings } = useDispatch( blockEditorStore ); - const { OffCanvasEditor } = unlock( blockEditorExperiments ); + const { OffCanvasEditor, LeafMoreMenu } = unlock( blockEditorExperiments ); //TODO: Block settings are normally updated as a side effect of rendering InnerBlocks in BlockList //Think through a better way of doing this, possible with adding allowed blocks to block library metadata @@ -56,5 +56,11 @@ export default function NavigationMenu( { innerBlocks, onSelect } ) { } ); }, [ updateBlockListSettings, innerBlocks ] ); - return ; + return ( + + ); }