diff --git a/packages/block-editor/src/components/block-toolbar/index.js b/packages/block-editor/src/components/block-toolbar/index.js index 95e94d65ead102..fdf51303241815 100644 --- a/packages/block-editor/src/components/block-toolbar/index.js +++ b/packages/block-editor/src/components/block-toolbar/index.js @@ -67,6 +67,7 @@ export function PrivateBlockToolbar( { showParentSelector, isUsingBindings, canRemove, + selectedHasTemplateLock, } = useSelect( ( select ) => { const { getBlockName, @@ -100,8 +101,10 @@ export function PrivateBlockToolbar( { ( clientId ) => !! getBlockAttributes( clientId )?.metadata?.bindings ); - // @TODO If a selected block is locked, we should not show the BlockGroupToolbar. - + // 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 +126,7 @@ export function PrivateBlockToolbar( { _isDefaultEditingMode, isUsingBindings: _isUsingBindings, canRemove: canRemoveBlock( selectedBlockClientId ), + selectedHasTemplateLock: _hasTemplateLock, }; }, [] ); @@ -208,9 +212,9 @@ export function PrivateBlockToolbar( { { ! isMultiToolbar && canRemove && ( ) } - { shouldShowVisualToolbar && isMultiToolbar && ( - - ) } + { ! selectedHasTemplateLock && + shouldShowVisualToolbar && + isMultiToolbar && } { shouldShowVisualToolbar && ( <>