-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ToolsPanel: Add tools panel item deregistration #34085
Conversation
Size Change: +23 B (0%) Total Size: 1.03 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Smoke tested that it doesn't affect any existing behaviour with the ToolsPanel in use for group, button and columns blocks, and no errors in the console.
I was wondering for a moment if label
is always unique enough, but I think it's fair to expect that each item will have a unique label, and we're already treating it as a unique identifier in the toggleItem
logic, so this looks good to me 👍
Update: confirmed that it's already documented that tools panel item labels are required and need to be unique 👍
Thanks for the review @andrewserong 🙇 The dual-purpose nature of the label, being both a human-readable string and the key by which menu items are found, is documented in the component readme. Should there be a desire to change that, we'll address it in a separate PR and this can change with it. |
Related: #34063
Description
ToolsPanelItem
s to deregister themselves from theToolsPanel
and its menu state.This overcomes a problem encountered when injecting controls into a ToolsPanel via a
SlotFill
. In that scenario, switching your block selection from one block to another with the sameToolsPanel
e.g. dimensions, would retain theSlotFill
provided item in the menu.How has this been tested?
Manually and via #34063.
Types of changes
Bug fix.
Checklist:
*.native.js
files for terms that need renaming or removal).