-
Notifications
You must be signed in to change notification settings - Fork 808
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
[RNMobile] Tiled Gallery Block: Aspect Ratio for Square Layout #21166
[RNMobile] Tiled Gallery Block: Aspect Ratio for Square Layout #21166
Conversation
Thank you for your PR! When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:
This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖 The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available. 🔴 Action required: Please add missing changelog entries for the following projects: Use the Jetpack CLI tool to generate changelog entries by running the following command: Once your PR is ready for review, check one last time that all required checks (other than "Required review") appearing at the bottom of this PR are passing or skipped. Jetpack plugin:
|
By adding an "imageCrop" and setting it to true, images in the Tiled Gallery will now appear cropped by default. This is important so that images don't appear unusually distorted when their shape is changed to be square.
As the image block's caption component is not a part of the Tiled Gallery block's design, it's hidden with this commit. This is done by adding an "hideImageCaption" context and setting it to true. This is passed back to the image block, which is set to hide the component when this context is detected.
"imageCrop" and "hideImageCaption" don't need to be set as props.
With this commit, the image's aspect ratio is being set in Jetpack's CSS files. It was previously set in Gutenberg's files, but this wasn't inline with our guidelines for Jetpack code appearing in the open source project.
The previous version of this code wasn't working as expected, as it included quotation marks. With this commit, the issue is fixed and the reference to the CSS class now works as expected.
hideImageCaption: { | ||
type: 'boolean', | ||
default: true, | ||
}, |
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 file is shared between native and web so hideImageCaption
is being added as a new block attribute on both platforms. Do you think we should copy this file into a new index.native.js
and only add this attribute there?
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.
That seems like a good idea, I've gone ahead to create a native-specific file in 128667a, let me know if anything looks off with that to you.
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 left a few comments, we might need to make an index.native.js
file to avoid impacting the web, but overall the approach is solid and I learned about these block contexts 🙇♂️
In order to limit the PR's scope to the square aspect ratio, this commit removes the 'hideImageCaption'. New contexts for hiding the image block's caption and settings will be moved to #21278.
As a native-specific index file was introdued in 128667a, we no longer need to include contexts in the web-only index file, as they're only used with the apps.
Thank you for taking a first pass @guarani 🙇♀️ I've gone ahead to add the mobile-specific file in 128667a. As we've chatted about, too, I've also removed the |
…ared-aspect-ratio
The removal of the image's caption goes beyond the scope of this specific PR, so its removal is reverted with this PR.
@guarani, this PR is ready for review again whenever you have the chance. Thanks in advance! 🙇♀️ |
I just realized that #20831 should actually be closed since its changes have already been merged to the feature branch, so I closed it now. |
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 tested this on iOS and Android and it looks perfect 💯. I've held off approving so I can get clarification on whether a single index
file would still be preferable, but apart from that this is ready to approve.
projects/plugins/jetpack/extensions/blocks/tiled-gallery/index.native.js
Outdated
Show resolved
Hide resolved
projects/plugins/jetpack/extensions/blocks/tiled-gallery/edit.native.js
Outdated
Show resolved
Hide resolved
@SiobhyB, I think the three failing PR checks are not an issue. The failing changelog check can be ignored because we're merging to a feature branch, the failing |
As discussed here, there isn't currently a compelling need to keep the changes to the index file in a native-specific file: #21166 (comment) This change therefore reverts the use of a native-specific file, combining its changes into the shared index file.
As the layout constant doesn't currently have any values other than "squared", it's removed with this commit.
@guarani, thanks for your review! I've addressed all your comments and updated the PR description 🙇♀️ |
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.
Looks great! 👍 Thanks @SiobhyB!
…ared-aspect-ratio
Gutenberg Mobile
: wordpress-mobile/gutenberg-mobile#4017This PR is one part of a wider effort to port the Jetpack Tiled Gallery block to Mobile Gutenberg. It will be merged into a feature branch,
rnmobile/add/tiled-gallery-block
.For this specific PR, the purpose is to define the aspect ratio of images in the editor, so that they appear as squares.
Changes proposed in this Pull Request:
Brief overview of code changes proposed in this Pull Request:
imageCrop
, has been added to the index.js file. This is an existing context in the image block, which translates toresizeMode=cover
, which is necessary in order for us to be able to change the image's shape.className
prop is passed to the inner image blocks, which in turn will be passed to the image block'sshapeStyle
prop and used to pass styles.is-style-squared
CSS selector is defined directly in the Tiled Gallery'sstyles.native.css
file and its styles are the ones being passed to the inner image blocks, making use of the fact that aspect ratio is supported by React Native.Jetpack product discussion
Tiled Gallery project thread: p9ugOq-1Tb-p2
Does this pull request change what data or activity we track or use?
No, it doesn't.
Testing instructions:
A few ideas for testing:
Screenshots