Skip to content

Commit 4859d0d

Browse files
committed
Extract pattern overrides toolbar indicator from the block-editor package
1 parent 35ddbfb commit 4859d0d

File tree

9 files changed

+180
-155
lines changed

9 files changed

+180
-155
lines changed

packages/block-editor/src/components/block-toolbar/index.js

+6-22
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,8 @@ import { store as blockEditorStore } from '../../store';
3535
import __unstableBlockNameContext from './block-name-context';
3636
import NavigableToolbar from '../navigable-toolbar';
3737
import Shuffle from './shuffle';
38-
import PatternOverridesToolbarIndicator from '../pattern-overrides-toolbar-indicator';
3938
import { useHasBlockToolbar } from './use-has-block-toolbar';
40-
import { canBindBlock } from '../../hooks/use-bindings-attributes';
39+
4140
/**
4241
* Renders the block toolbar.
4342
*
@@ -62,18 +61,15 @@ export function PrivateBlockToolbar( {
6261
blockClientIds,
6362
isDefaultEditingMode,
6463
blockType,
65-
blockName,
6664
toolbarKey,
6765
shouldShowVisualToolbar,
6866
showParentSelector,
6967
isUsingBindings,
70-
hasParentPattern,
7168
} = useSelect( ( select ) => {
7269
const {
7370
getBlockName,
7471
getBlockMode,
7572
getBlockParents,
76-
getBlockParentsByBlockName,
7773
getSelectedBlockClientIds,
7874
isBlockValid,
7975
getBlockRootClientId,
@@ -96,18 +92,14 @@ export function PrivateBlockToolbar( {
9692
const isVisual = selectedBlockClientIds.every(
9793
( id ) => getBlockMode( id ) === 'visual'
9894
);
99-
const bindings = getBlockAttributes( selectedBlockClientId )?.metadata
100-
?.bindings;
101-
const parentPatternClientId = getBlockParentsByBlockName(
102-
selectedBlockClientId,
103-
'core/block',
104-
true
105-
)[ 0 ];
95+
const _isUsingBindings = selectedBlockClientIds.every(
96+
( clientId ) =>
97+
!! getBlockAttributes( clientId )?.metadata?.bindings
98+
);
10699
return {
107100
blockClientId: selectedBlockClientId,
108101
blockClientIds: selectedBlockClientIds,
109102
isDefaultEditingMode: _isDefaultEditingMode,
110-
blockName: _blockName,
111103
blockType: selectedBlockClientId && getBlockType( _blockName ),
112104
shouldShowVisualToolbar: isValid && isVisual,
113105
rootClientId: blockRootClientId,
@@ -122,8 +114,7 @@ export function PrivateBlockToolbar( {
122114
) &&
123115
selectedBlockClientIds.length === 1 &&
124116
_isDefaultEditingMode,
125-
isUsingBindings: !! bindings,
126-
hasParentPattern: !! parentPatternClientId,
117+
isUsingBindings: _isUsingBindings,
127118
};
128119
}, [] );
129120

@@ -176,13 +167,6 @@ export function PrivateBlockToolbar( {
176167
{ ! isMultiToolbar &&
177168
isLargeViewport &&
178169
isDefaultEditingMode && <BlockParentSelector /> }
179-
{ isUsingBindings &&
180-
hasParentPattern &&
181-
canBindBlock( blockName ) && (
182-
<PatternOverridesToolbarIndicator
183-
clientIds={ blockClientIds }
184-
/>
185-
) }
186170
{ ( shouldShowVisualToolbar || isMultiToolbar ) &&
187171
( isDefaultEditingMode || isSynced ) && (
188172
<div

packages/block-editor/src/components/pattern-overrides-toolbar-indicator/index.js

-120
This file was deleted.

packages/block-editor/src/components/pattern-overrides-toolbar-indicator/style.scss

-12
This file was deleted.

packages/block-editor/src/private-apis.js

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import { PrivateBlockPopover } from './components/block-popover';
4343
import { PrivateInserterLibrary } from './components/inserter/library';
4444
import { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';
4545
import useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';
46+
import useBlockDisplayTitle from './components/block-title/use-block-display-title';
4647

4748
/**
4849
* Private @wordpress/block-editor APIs.
@@ -86,4 +87,5 @@ lock( privateApis, {
8687
PrivateBlockPopover,
8788
PrivatePublishDateTimePicker,
8889
useSpacingSizes,
90+
useBlockDisplayTitle,
8991
} );

packages/block-editor/src/style.scss

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@import "./autocompleters/style.scss";
22
@import "./components/block-alignment-control/style.scss";
3-
@import "./components/pattern-overrides-toolbar-indicator/style.scss";
43
@import "./components/block-canvas/style.scss";
54
@import "./components/block-icon/style.scss";
65
@import "./components/block-inspector/style.scss";

packages/editor/src/hooks/pattern-overrides.js

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { unlock } from '../lock-unlock';
1717
const {
1818
PatternOverridesControls,
1919
ResetOverridesControl,
20+
PatternOverridesBlockControls,
2021
PATTERN_TYPES,
2122
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
2223
PATTERN_SYNC_TYPES,
@@ -43,6 +44,7 @@ const withPatternOverrideControls = createHigherOrderComponent(
4344
{ props.isSelected && isSupportedBlock && (
4445
<ControlsWithStoreSubscription { ...props } />
4546
) }
47+
{ isSupportedBlock && <PatternOverridesBlockControls /> }
4648
</>
4749
);
4850
}

0 commit comments

Comments
 (0)