Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Position: Refactor "Position" controls panel to use
ToolsPanel
instead ofPanelBody
#67967Position: Refactor "Position" controls panel to use
ToolsPanel
instead ofPanelBody
#67967Changes from 5 commits
6b82f9f
d41f5f9
6aa96a2
fbee655
ccd5773
5fce618
cf9871e
5b17dea
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
If a block has other styles, those styles will be reset unintentionally as well. I think all styles that are not related to position should be preserved. See this example.
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.
In the latest commit, I used the
uniqueByBlock
attribute and passed keyedclientIds
with their attributes as the second parameter inupdateBlockAttributes
. This ensures the styles of the respective blocks are preserved when multiple blocks are reset.However, I found this bug (within the existing implementation, not caused due to this PR):
Screen.Recording.2025-01-21.at.12.28.53.PM.mov
Setting the position to
sticky
when multiple blocks are selected applies the styles of the first block to all the other selected blocks overriding their applied styles.I believe we should also update the onChangeType here:
gutenberg/packages/block-editor/src/hooks/position.js
Line 239 in 39ed61d
Updating it for all the selected blocks fixed the bug for me. Do I create a separate PR as this is a separate bug?
Also, there's already a resetPosition function exported here:
gutenberg/packages/block-editor/src/hooks/position.js
Line 153 in 39ed61d
But, it accepts setAttributes, considering the above bug, I believe it's better to remove this implementation as it's not used anywhere in favor of the resetPosition in this PR.
CC: @t-hamano