-
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
Handle zoom out when changing device preview #65444
Conversation
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. |
Size Change: +20 B (0%) Total Size: 1.77 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!
Another thing I was wondering is whether a follow-up PR should address the reverse operation as well:
That is, whether or not to reset the device type to desktop when we enable the zoom out mode.
Currently, the zoom out toggle button doesn't reset the device type, which is why the device preview icon changes:
d35d0bac10c18bbac2aa08c79f3108b3.mp4
@@ -44,6 +45,12 @@ export default function PreviewDropdown( { forceIsAutosaveable, disabled } ) { | |||
}; | |||
}, [] ); | |||
const { setDeviceType } = useDispatch( editorStore ); | |||
const { __unstableSetEditorMode } = useDispatch( blockEditorStore ); | |||
|
|||
const handleDevicePreviewChange = ( newDeviceType ) => { |
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.
Should we add doc comment for the new function?
This is what I was thinking:
/**
* Handles the selection of a device type from preview dropdown.
*
* Turns off the zoom out mode after setting the device type.
*
* @param {string} newDeviceType The selected device type.
*/
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.
I think there are no clear rules about JSDoc, but this is an internal function that is not exposed, and the process it performs is just two lines.
I personally don't think JSDoc is necessary because we can see what it's doing at a glance and I feel like JSDoc is a bit over the top. 😄
I just cherry-picked this PR to the wp/6.7 branch to get it included in the next release: 0237d6e |
What?
Fixes #65411
Why?
Bug fix.
How?
The device preview and zoom out toggle are two components that live in the same place in the component tree so they can be aware of the same mechanism and states of the UI. So I added a call to disable zoom out if a preview size is selected.
Testing Instructions
Testing Instructions for Keyboard
N/A
Screenshots or screencast
zoomout-vs-device.mp4