From d761f4c613ce5b3a5f1052c3a465d57797165c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Zieli=C5=84ski?= Date: Wed, 20 May 2020 12:05:04 +0200 Subject: [PATCH] Support for arbitrary clientIds in BlockSettingsMenuControlsSlot --- .../src/components/block-settings-menu-controls/index.js | 6 ++++-- .../block-settings-menu/block-settings-dropdown.js | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/block-editor/src/components/block-settings-menu-controls/index.js b/packages/block-editor/src/components/block-settings-menu-controls/index.js index 310d295b3dca52..fe64c785c0886f 100644 --- a/packages/block-editor/src/components/block-settings-menu-controls/index.js +++ b/packages/block-editor/src/components/block-settings-menu-controls/index.js @@ -13,14 +13,16 @@ const { Fill: BlockSettingsMenuControls, Slot } = createSlotFill( 'BlockSettingsMenuControls' ); -const BlockSettingsMenuControlsSlot = ( { fillProps } ) => { +const BlockSettingsMenuControlsSlot = ( { fillProps, clientIds = null } ) => { const { selectedBlocks } = useSelect( ( select ) => { const { getBlocksByClientId, getSelectedBlockClientIds } = select( 'core/block-editor' ); + const ids = + clientIds !== null ? clientIds : getSelectedBlockClientIds(); return { selectedBlocks: map( - getBlocksByClientId( getSelectedBlockClientIds() ), + getBlocksByClientId( ids ), ( block ) => block.name ), }; diff --git a/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js b/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js index fbd69c84cce89c..e9e3ae9b235a9b 100644 --- a/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js +++ b/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js @@ -147,6 +147,7 @@ export function BlockSettingsDropdown( { clientIds, ...props } ) { { ! isLocked && (