-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Latest Post Block: Refactor settings panel to use ToolsPanel #67956
Latest Post Block: Refactor settings panel to use ToolsPanel #67956
Conversation
This reverts commit 63f81c1.
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.
To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
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.
This one needs a little more refinement.
- We should ensure that every single control inside any of the
ToolsPanel
component gets their ownToolsPanelItem
- The UI of the Featured Image settings currently has some spacing issues:
- We should ensure that all the defaults that render by default today have the
isShownByDefault
prop added so they cannot get removed.
<ToolsPanelItem | ||
hasValue={ () => order !== undefined } | ||
label={ __( 'Sorting options' ) } | ||
onDeselect={ () => | ||
setAttributes( { order: 'desc', orderBy: 'date' } ) | ||
} | ||
> |
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.
Instead of one ToolsPanelItem
called Sorting Options
we should have each of the elements in this section as it's own ToolsPanelItem
. That requires a bit of a larger refactor but we need to ensure each item can be reset on its own.
@fabiankaegy - Only fixed the spacing issues on the Featured Image settings. Need some advice on how to proceed for converting ImageSizeControl and QueryControls options to have their own reset and toolspanelitems. |
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.
Thanks for the PR!
The Latest Posts block controls consist of the following sections:
- Post content
- Post meta
- Featured image (Includes
ImageSizeControl
component) - Sorting and filtering (includes
QueryControls
component)
The main challenge is that ImageSizeControl
and QueryControls
are public components and are not constructed as ToolsPanelItem
.
As for the ImageSizeControl
component, we should be able to refactor it with ResolutionTools
configured with ToolsPanelItem
.
As for QueryControls
component, we may need to give up on the individual reset functionality, or rebuild the equivalent functionality on a ToolsPanelItem
basis and implement it in the Latest Post block.
In any case, it would be too much work to do everything in one PR, so how about just refactoring "Post content" and "Post meta" sections in this PR?
Thank you, @t-hamano, for the detailed feedback and suggestions! I’ve implemented the changes as per your recommendations:
As you suggested, handling ImageSizeControl and QueryControls will require significant effort, so I’ve deferred those changes to keep this PR focused and manageable. Please let me know if there are any additional adjustments needed or further feedback. I appreciate your guidance throughout this process! |
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! I think everything is working as expected.
The Featured image, Sorting and filtering panel will be addressed in a follow-up PR.
What?
Part of: #67813
Fixes #67931
Why?
Latest Post Block code to include ToolsPanel instead of PanelBody.
How?
Refactored Latest Post Block code to include ToolsPanel instead of PanelBody.
Testing Instructions
Screenshots or screencast
Before
After