Skip to content
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

Fix columns block style on the frontend #7128

Merged
merged 1 commit into from
Jun 4, 2018

Conversation

jorgefilipecosta
Copy link
Member

Description

Fixes: #7127.

How has this been tested?

Use the columns block verify things work as expected on the editor, posts with columns block and see that on the front end the columns appear as expected.

@jorgefilipecosta jorgefilipecosta self-assigned this Jun 4, 2018
@jorgefilipecosta jorgefilipecosta added the [Type] Bug An existing feature does not function as intended label Jun 4, 2018
@GlennMartin1
Copy link

GlennMartin1 commented Jun 4, 2018

Pending approvals, perhaps this should be a point-release, i.e. 3.0.1?

@jasmussen
Copy link
Contributor

Without the following, the columns on the front-end are arbitrarily sized:

	@for $i from 2 through 6 {
		&.has-#{ $i }-columns .editor-inner-blocks {
			grid-auto-columns: #{ 100% / $i };
		}
	}

The above sets the width to 33% if there are three columns. I think we need to output this separately for the front and the backend. Not sure how to do that.

@jorgefilipecosta jorgefilipecosta force-pushed the fix/collumns-block-on-front-end branch from 10522af to 60a3b1f Compare June 4, 2018 19:35
@jorgefilipecosta
Copy link
Member Author

Hi @jasmussen,

Without the following, the columns on the front-end are arbitrarily sized:´

But I'm not removing the rule, just the .editor-inner-blocks part which I think is not needed.

@jorgefilipecosta jorgefilipecosta force-pushed the fix/collumns-block-on-front-end branch from 60a3b1f to 86c10d2 Compare June 4, 2018 19:45
@jorgefilipecosta jorgefilipecosta force-pushed the fix/collumns-block-on-front-end branch from 86c10d2 to 17421db Compare June 4, 2018 19:52
@jasmussen jasmussen self-requested a review June 4, 2018 19:52
Copy link
Contributor

@jasmussen jasmussen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent work.

The problem was that .editor-inner-blocks did not exist on the front-end, but only on the back-end. Due to the need for nested grid column styles, we needed separate styles for the front and back-end.

This is tested locally and works on front-end and back-end with correctly sized columns. Nice work, thank you! 👍 👍

@jorgefilipecosta
Copy link
Member Author

jorgefilipecosta commented Jun 4, 2018

Thank you for the review and for catching the previous problem with the widths that existed in this fix @jasmussen!


@for $i from 2 through 6 {
&.has-#{ $i }-columns .editor-inner-blocks {
&.has-#{ $i }-columns {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a base stylesheet, meaning that in the editor, we have styles for both .has-x-columns and .has-x-columns .editor-inner-blocks to apply the grid-auto-columns. Will there be issues from this?

Copy link
Member Author

@jorgefilipecosta jorgefilipecosta Jun 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we have a problem because the styles in the editor will be applied to .wp-block-columns and we set it to display block so my expectation is that grid styles are simply ignored.

Copy link
Member

@aduth aduth Jun 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes me wonder a bit about nested nested blocks, Columns > Columns, where .editor-inner-blocks descendent could match multiple nodes. Probably outside the scope of this.

Copy link
Member Author

@jorgefilipecosta jorgefilipecosta Jun 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested a little bit and it looks like it works even in nested columns. I think because this style &.has-#{ $i }-columns { that is .wp-block-columns.has-2-columns does not uses the hierarchy it just selects elements with both classes .wp-block-columns and .has-2-columns. If the styles of the editor were applied on the front we would have a problem but in this case, I think we are safe.

@jorgefilipecosta jorgefilipecosta merged commit a2520a3 into master Jun 4, 2018
@jorgefilipecosta jorgefilipecosta deleted the fix/collumns-block-on-front-end branch June 4, 2018 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants