From 1b67d9e43b12c03dbfcecd509a4aefee5fc2f5d4 Mon Sep 17 00:00:00 2001 From: ramon Date: Tue, 3 Sep 2024 12:58:06 +1000 Subject: [PATCH] Don't show group toolbar if one or more selected blocks are content locked. --- .../src/components/block-toolbar/index.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/block-editor/src/components/block-toolbar/index.js b/packages/block-editor/src/components/block-toolbar/index.js index b14ceb5059049..aa1d00b79fb1d 100644 --- a/packages/block-editor/src/components/block-toolbar/index.js +++ b/packages/block-editor/src/components/block-toolbar/index.js @@ -66,6 +66,7 @@ export function PrivateBlockToolbar( { showParentSelector, isUsingBindings, hasParentPattern, + selectedHasTemplateLock, } = useSelect( ( select ) => { const { getBlockName, @@ -76,6 +77,7 @@ export function PrivateBlockToolbar( { getBlockEditingMode, getBlockAttributes, getBlockParentsByBlockName, + getTemplateLock, } = select( blockEditorStore ); const selectedBlockClientIds = getSelectedBlockClientIds(); const selectedBlockClientId = selectedBlockClientIds[ 0 ]; @@ -103,6 +105,10 @@ export function PrivateBlockToolbar( { .length > 0 ); + // If one or more selected blocks re locked, do not show the BlockGroupToolbar. + const _hasTemplateLock = selectedBlockClientIds.some( + ( id ) => getTemplateLock( id ) === 'contentOnly' + ); return { blockClientId: selectedBlockClientId, blockClientIds: selectedBlockClientIds, @@ -123,6 +129,7 @@ export function PrivateBlockToolbar( { _isDefaultEditingMode, isUsingBindings: _isUsingBindings, hasParentPattern: _hasParentPattern, + selectedHasTemplateLock: _hasTemplateLock, }; }, [] ); @@ -205,9 +212,9 @@ export function PrivateBlockToolbar( { ) } - { shouldShowVisualToolbar && isMultiToolbar && ( - - ) } + { ! selectedHasTemplateLock && + shouldShowVisualToolbar && + isMultiToolbar && } { shouldShowVisualToolbar && ( <>