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

[Block Library - Query]: Add layout support and rename previous layout prop to displayLayout #31833

Merged
merged 4 commits into from
May 19, 2021

Conversation

ntsekouras
Copy link
Contributor

@ntsekouras ntsekouras commented May 14, 2021

Description

Closes: #31621

This PR does a couple of things regarding Query block and its 'basic' children QueryLoop and QueryPagination.

  1. Adds layout and color support to Query block to better handle the layout/alignments of the blocks and remove the need to wrap it in Group block.
  2. Adds align support to QueryLoop and color support to QueryPagination block.
  3. Renames existing Query layout property to displayLayout because layout is used for the layout support.

Notes

I have added a filter to Query edit in order to show the create new post link at the top of the Inspector controls. The order of InspectorControl children is based on the render order and with the addition of the new supports(color, layout) it was not displayed properly. The proper solution will be with an implementation of grouping these controls like the recent change in BlockControls with the group key.

Testing instructions

  1. Add Query block and test different alignments
  2. They should be displayed properly both in editor and front-end.

Types of changes

(**experimental breaking **)
This change will make existing Query blocks with flex layout (columns view) not to display as it was before, but as a vertical list. I couldn't avoid this because this property was passed on and used from context. That makes it difficult to handle this with a deprecation because it was used in server-side (index.php) as well..

I believe it's okay to have this change in order to have this in core for 5.8 as it will be much more difficult to handle when it lands there. We've made some more similar changes to other new blocks like SiteLogo.

Screenshots

queryLayout

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@ntsekouras ntsekouras added [Type] Enhancement A suggestion for improvement. [Package] Block library /packages/block-library [Block] Query Loop Affects the Query Loop Block [Block] Query Pagination Affects the Query Pagination Block - used for pagination within the Query Loop Block labels May 14, 2021
@ntsekouras ntsekouras self-assigned this May 14, 2021
@github-actions
Copy link

github-actions bot commented May 14, 2021

Size Change: +241 B (0%)

Total Size: 1.62 MB

Filename Size Change
build/block-editor/index.js 119 kB -1 B (0%)
build/block-library/blocks/query-loop/editor-rtl.css 98 B +15 B (+18%) ⚠️
build/block-library/blocks/query-loop/editor.css 97 B +15 B (+18%) ⚠️
build/block-library/editor-rtl.css 9.93 kB +3 B (0%)
build/block-library/editor.css 9.92 kB +2 B (0%)
build/block-library/index.js 146 kB +205 B (0%)
build/blocks/index.js 47.1 kB -1 B (0%)
build/components/index.js 188 kB +1 B (0%)
build/edit-navigation/index.js 13.6 kB +1 B (0%)
build/edit-site/index.js 26 kB +3 B (0%)
build/edit-widgets/index.js 292 kB +1 B (0%)
build/editor/index.js 38.4 kB -1 B (0%)
build/format-library/index.js 5.66 kB -2 B (0%)
build/plugins/index.js 1.99 kB +1 B (0%)
build/reusable-blocks/index.js 2.54 kB -1 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.12 kB 0 B
build/annotations/index.js 2.93 kB 0 B
build/api-fetch/index.js 2.42 kB 0 B
build/autop/index.js 2.28 kB 0 B
build/blob/index.js 673 B 0 B
build/block-directory/index.js 6.61 kB 0 B
build/block-directory/style-rtl.css 989 B 0 B
build/block-directory/style.css 990 B 0 B
build/block-editor/style-rtl.css 12.8 kB 0 B
build/block-editor/style.css 12.8 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 61 B 0 B
build/block-library/blocks/archives/editor.css 60 B 0 B
build/block-library/blocks/audio/editor-rtl.css 58 B 0 B
build/block-library/blocks/audio/editor.css 58 B 0 B
build/block-library/blocks/audio/style-rtl.css 112 B 0 B
build/block-library/blocks/audio/style.css 112 B 0 B
build/block-library/blocks/block/editor-rtl.css 161 B 0 B
build/block-library/blocks/block/editor.css 161 B 0 B
build/block-library/blocks/button/editor-rtl.css 475 B 0 B
build/block-library/blocks/button/editor.css 474 B 0 B
build/block-library/blocks/button/style-rtl.css 601 B 0 B
build/block-library/blocks/button/style.css 600 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 315 B 0 B
build/block-library/blocks/buttons/editor.css 315 B 0 B
build/block-library/blocks/buttons/style-rtl.css 375 B 0 B
build/block-library/blocks/buttons/style.css 375 B 0 B
build/block-library/blocks/calendar/style-rtl.css 208 B 0 B
build/block-library/blocks/calendar/style.css 208 B 0 B
build/block-library/blocks/categories/editor-rtl.css 84 B 0 B
build/block-library/blocks/categories/editor.css 83 B 0 B
build/block-library/blocks/categories/style-rtl.css 79 B 0 B
build/block-library/blocks/categories/style.css 79 B 0 B
build/block-library/blocks/code/style-rtl.css 90 B 0 B
build/block-library/blocks/code/style.css 90 B 0 B
build/block-library/blocks/columns/editor-rtl.css 190 B 0 B
build/block-library/blocks/columns/editor.css 190 B 0 B
build/block-library/blocks/columns/style-rtl.css 422 B 0 B
build/block-library/blocks/columns/style.css 422 B 0 B
build/block-library/blocks/cover/editor-rtl.css 643 B 0 B
build/block-library/blocks/cover/editor.css 645 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.22 kB 0 B
build/block-library/blocks/cover/style.css 1.22 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 486 B 0 B
build/block-library/blocks/embed/editor.css 486 B 0 B
build/block-library/blocks/embed/style-rtl.css 401 B 0 B
build/block-library/blocks/embed/style.css 400 B 0 B
build/block-library/blocks/file/editor-rtl.css 301 B 0 B
build/block-library/blocks/file/editor.css 300 B 0 B
build/block-library/blocks/file/frontend.js 771 B 0 B
build/block-library/blocks/file/style-rtl.css 255 B 0 B
build/block-library/blocks/file/style.css 255 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.45 kB 0 B
build/block-library/blocks/freeform/editor.css 2.45 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 704 B 0 B
build/block-library/blocks/gallery/editor.css 705 B 0 B
build/block-library/blocks/gallery/style-rtl.css 1.06 kB 0 B
build/block-library/blocks/gallery/style.css 1.05 kB 0 B
build/block-library/blocks/group/editor-rtl.css 160 B 0 B
build/block-library/blocks/group/editor.css 160 B 0 B
build/block-library/blocks/group/style-rtl.css 57 B 0 B
build/block-library/blocks/group/style.css 57 B 0 B
build/block-library/blocks/heading/editor-rtl.css 129 B 0 B
build/block-library/blocks/heading/editor.css 129 B 0 B
build/block-library/blocks/heading/style-rtl.css 76 B 0 B
build/block-library/blocks/heading/style.css 76 B 0 B
build/block-library/blocks/home-link/style-rtl.css 259 B 0 B
build/block-library/blocks/home-link/style.css 259 B 0 B
build/block-library/blocks/html/editor-rtl.css 281 B 0 B
build/block-library/blocks/html/editor.css 281 B 0 B
build/block-library/blocks/image/editor-rtl.css 717 B 0 B
build/block-library/blocks/image/editor.css 716 B 0 B
build/block-library/blocks/image/style-rtl.css 481 B 0 B
build/block-library/blocks/image/style.css 485 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 281 B 0 B
build/block-library/blocks/latest-comments/style.css 282 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B 0 B
build/block-library/blocks/latest-posts/editor.css 137 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 523 B 0 B
build/block-library/blocks/latest-posts/style.css 522 B 0 B
build/block-library/blocks/legacy-widget/editor-rtl.css 557 B 0 B
build/block-library/blocks/legacy-widget/editor.css 557 B 0 B
build/block-library/blocks/list/style-rtl.css 63 B 0 B
build/block-library/blocks/list/style.css 63 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 176 B 0 B
build/block-library/blocks/media-text/editor.css 176 B 0 B
build/block-library/blocks/media-text/style-rtl.css 492 B 0 B
build/block-library/blocks/media-text/style.css 489 B 0 B
build/block-library/blocks/more/editor-rtl.css 434 B 0 B
build/block-library/blocks/more/editor.css 434 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 633 B 0 B
build/block-library/blocks/navigation-link/editor.css 634 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B 0 B
build/block-library/blocks/navigation-link/style.css 94 B 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.54 kB 0 B
build/block-library/blocks/navigation/editor.css 1.54 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 1.78 kB 0 B
build/block-library/blocks/navigation/style.css 1.78 kB 0 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B 0 B
build/block-library/blocks/nextpage/editor.css 395 B 0 B
build/block-library/blocks/page-list/editor-rtl.css 310 B 0 B
build/block-library/blocks/page-list/editor.css 311 B 0 B
build/block-library/blocks/page-list/style-rtl.css 233 B 0 B
build/block-library/blocks/page-list/style.css 233 B 0 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B 0 B
build/block-library/blocks/paragraph/editor.css 157 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 247 B 0 B
build/block-library/blocks/paragraph/style.css 248 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 209 B 0 B
build/block-library/blocks/post-author/editor.css 209 B 0 B
build/block-library/blocks/post-author/style-rtl.css 183 B 0 B
build/block-library/blocks/post-author/style.css 184 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B 0 B
build/block-library/blocks/post-comments-form/style.css 140 B 0 B
build/block-library/blocks/post-comments/style-rtl.css 360 B 0 B
build/block-library/blocks/post-comments/style.css 359 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 139 B 0 B
build/block-library/blocks/post-content/editor.css 139 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B 0 B
build/block-library/blocks/post-excerpt/editor.css 73 B 0 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B 0 B
build/block-library/blocks/post-excerpt/style.css 69 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 338 B 0 B
build/block-library/blocks/post-featured-image/editor.css 338 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 119 B 0 B
build/block-library/blocks/post-featured-image/style.css 119 B 0 B
build/block-library/blocks/post-title/style-rtl.css 60 B 0 B
build/block-library/blocks/post-title/style.css 60 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 103 B 0 B
build/block-library/blocks/preformatted/style.css 103 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 183 B 0 B
build/block-library/blocks/pullquote/editor.css 183 B 0 B
build/block-library/blocks/pullquote/style-rtl.css 318 B 0 B
build/block-library/blocks/pullquote/style.css 318 B 0 B
build/block-library/blocks/query-loop/style-rtl.css 315 B 0 B
build/block-library/blocks/query-loop/style.css 317 B 0 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B 0 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B 0 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B 0 B
build/block-library/blocks/query-pagination/editor.css 262 B 0 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B 0 B
build/block-library/blocks/query-pagination/style.css 168 B 0 B
build/block-library/blocks/query-title/editor-rtl.css 86 B 0 B
build/block-library/blocks/query-title/editor.css 86 B 0 B
build/block-library/blocks/query/editor-rtl.css 131 B 0 B
build/block-library/blocks/query/editor.css 132 B 0 B
build/block-library/blocks/quote/style-rtl.css 169 B 0 B
build/block-library/blocks/quote/style.css 169 B 0 B
build/block-library/blocks/rss/editor-rtl.css 201 B 0 B
build/block-library/blocks/rss/editor.css 202 B 0 B
build/block-library/blocks/rss/style-rtl.css 290 B 0 B
build/block-library/blocks/rss/style.css 290 B 0 B
build/block-library/blocks/search/editor-rtl.css 189 B 0 B
build/block-library/blocks/search/editor.css 189 B 0 B
build/block-library/blocks/search/style-rtl.css 359 B 0 B
build/block-library/blocks/search/style.css 362 B 0 B
build/block-library/blocks/separator/editor-rtl.css 99 B 0 B
build/block-library/blocks/separator/editor.css 99 B 0 B
build/block-library/blocks/separator/style-rtl.css 251 B 0 B
build/block-library/blocks/separator/style.css 251 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 512 B 0 B
build/block-library/blocks/shortcode/editor.css 512 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 440 B 0 B
build/block-library/blocks/site-logo/editor.css 441 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 154 B 0 B
build/block-library/blocks/site-logo/style.css 154 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 164 B 0 B
build/block-library/blocks/social-link/editor.css 165 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 800 B 0 B
build/block-library/blocks/social-links/editor.css 799 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB 0 B
build/block-library/blocks/social-links/style.css 1.33 kB 0 B
build/block-library/blocks/spacer/editor-rtl.css 308 B 0 B
build/block-library/blocks/spacer/editor.css 308 B 0 B
build/block-library/blocks/spacer/style-rtl.css 48 B 0 B
build/block-library/blocks/spacer/style.css 48 B 0 B
build/block-library/blocks/table/editor-rtl.css 478 B 0 B
build/block-library/blocks/table/editor.css 478 B 0 B
build/block-library/blocks/table/style-rtl.css 485 B 0 B
build/block-library/blocks/table/style.css 485 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 118 B 0 B
build/block-library/blocks/tag-cloud/editor.css 118 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 94 B 0 B
build/block-library/blocks/tag-cloud/style.css 94 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 551 B 0 B
build/block-library/blocks/template-part/editor.css 550 B 0 B
build/block-library/blocks/term-description/editor-rtl.css 90 B 0 B
build/block-library/blocks/term-description/editor.css 90 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B 0 B
build/block-library/blocks/text-columns/editor.css 95 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 166 B 0 B
build/block-library/blocks/text-columns/style.css 166 B 0 B
build/block-library/blocks/verse/style-rtl.css 87 B 0 B
build/block-library/blocks/verse/style.css 87 B 0 B
build/block-library/blocks/video/editor-rtl.css 569 B 0 B
build/block-library/blocks/video/editor.css 570 B 0 B
build/block-library/blocks/video/style-rtl.css 169 B 0 B
build/block-library/blocks/video/style.css 169 B 0 B
build/block-library/common-rtl.css 1.26 kB 0 B
build/block-library/common.css 1.26 kB 0 B
build/block-library/reset-rtl.css 506 B 0 B
build/block-library/reset.css 507 B 0 B
build/block-library/style-rtl.css 10.2 kB 0 B
build/block-library/style.css 10.3 kB 0 B
build/block-library/theme-rtl.css 692 B 0 B
build/block-library/theme.css 693 B 0 B
build/block-serialization-default-parser/index.js 1.29 kB 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/components/style-rtl.css 16.2 kB 0 B
build/components/style.css 16.2 kB 0 B
build/compose/index.js 9.95 kB 0 B
build/core-data/index.js 12.1 kB 0 B
build/customize-widgets/index.js 43.2 kB 0 B
build/customize-widgets/style-rtl.css 1.38 kB 0 B
build/customize-widgets/style.css 1.38 kB 0 B
build/data-controls/index.js 829 B 0 B
build/data/index.js 7.23 kB 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 739 B 0 B
build/dom-ready/index.js 577 B 0 B
build/dom/index.js 4.62 kB 0 B
build/edit-navigation/style-rtl.css 2.82 kB 0 B
build/edit-navigation/style.css 2.82 kB 0 B
build/edit-post/classic-rtl.css 454 B 0 B
build/edit-post/classic.css 454 B 0 B
build/edit-post/index.js 335 kB 0 B
build/edit-post/style-rtl.css 6.78 kB 0 B
build/edit-post/style.css 6.77 kB 0 B
build/edit-site/style-rtl.css 4.76 kB 0 B
build/edit-site/style.css 4.75 kB 0 B
build/edit-widgets/style-rtl.css 3.46 kB 0 B
build/edit-widgets/style.css 3.47 kB 0 B
build/editor/style-rtl.css 3.92 kB 0 B
build/editor/style.css 3.91 kB 0 B
build/element/index.js 3.44 kB 0 B
build/escape-html/index.js 739 B 0 B
build/format-library/style-rtl.css 637 B 0 B
build/format-library/style.css 639 B 0 B
build/hooks/index.js 1.76 kB 0 B
build/html-entities/index.js 627 B 0 B
build/i18n/index.js 3.73 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 1.65 kB 0 B
build/keycodes/index.js 1.43 kB 0 B
build/list-reusable-blocks/index.js 2.06 kB 0 B
build/list-reusable-blocks/style-rtl.css 629 B 0 B
build/list-reusable-blocks/style.css 628 B 0 B
build/media-utils/index.js 3.08 kB 0 B
build/navigation/index.js 2.85 kB 0 B
build/notices/index.js 1.07 kB 0 B
build/nux/index.js 2.31 kB 0 B
build/nux/style-rtl.css 718 B 0 B
build/nux/style.css 716 B 0 B
build/primitives/index.js 1.03 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/react-i18n/index.js 923 B 0 B
build/redux-routine/index.js 2.82 kB 0 B
build/reusable-blocks/style-rtl.css 225 B 0 B
build/reusable-blocks/style.css 225 B 0 B
build/rich-text/index.js 10.7 kB 0 B
build/server-side-render/index.js 1.64 kB 0 B
build/shortcode/index.js 1.68 kB 0 B
build/token-list/index.js 846 B 0 B
build/url/index.js 1.95 kB 0 B
build/viewport/index.js 1.28 kB 0 B
build/warning/index.js 1.13 kB 0 B
build/widgets/index.js 1.66 kB 0 B
build/wordcount/index.js 1.24 kB 0 B

compressed-size-action

Copy link
Contributor

@youknowriad youknowriad left a comment

Choose a reason for hiding this comment

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

This is good for me in terms of code but I'd appreciate some testing (I'm setting up my new computer, can't test right now).

@jasmussen
Copy link
Contributor

jasmussen commented May 18, 2021

This is working well for me. In terms of changes, here's a basic before:

Screenshot 2021-05-18 at 15 37 01

Screenshot 2021-05-18 at 15 40 44

And after:

Screenshot 2021-05-18 at 15 35 54

Screenshot 2021-05-18 at 15 36 18

Screenshot 2021-05-18 at 15 38 50

Ultimately, I feel like this is fine to do, since we've already decided to add a div to the loop. That also, in my opinion, reduces the risk of this one. Does that make sense?

Finally, I see no difference in the block based themes I tested. So seems fine to add this.

@kjellr
Copy link
Contributor

kjellr commented May 18, 2021

I have a couple questions/observations:

  1. When you set the layout option for the Query block, should the carousel UI still appear full-width? My feeling is that it should. But currently, it does not:

query

  1. Possibly related to that, I'm seeing inconsistent wide/full behavior in the Query block. If I select a block that's populated with data, this works fine, but if I select a placeholder block, the alignments have no effect:

query2

@jameskoster
Copy link
Contributor

jameskoster commented May 18, 2021

I'm seeing the layout toggle on the Query block, and the alignment controls on the pagination and query loop. So I guess the PR is working as advertised. I do find these controls incredibly confusing to use though.

Sometimes the wide and full-width options seem to do the same thing, regardless of the layout toggle on the parent. Also, when the parent doesn't inherit the layout then the alignment option on the pagination block disappears, but remains in the query loop.

layout.mp4

I am not too familiar with this control, so perhaps this is intended. If so I feel the design needs some love.

Edit: Also worth noting that I'm doing this in the site editor, maybe this isn't optimised for that environment yet?

@ntsekouras
Copy link
Contributor Author

When you set the layout option for the Query block, should the carousel UI still appear full-width? My feeling is that it should. But currently, it does not:

It's the same for Group, no? I think the confusing thing here might be that while we are changing the alignment while in Placeholder state, when we actually choose something the attributes come from the pattern which doesn't contain this value. That is a separate issue though for pattern suggestions..

Also, when the parent doesn't inherit the layout then the alignment option on the pagination block disappears, but remains in the query loop.

This is expected as QueryPagination supports only wide, full alignments. It could change I guess but I'm not sure if has any value... Maybe there should be a consistency for both blocks (Loop, Pagination) to either support all alignments or only wide, full.

@kjellr
Copy link
Contributor

kjellr commented May 18, 2021

It's the same for Group, no? I think the confusing thing here might be that while we are changing the alignment while in Placeholder state, when we actually choose something the attributes come from the pattern which doesn't contain this value. That is a separate issue though for pattern suggestions..

I'm just referring to the block UI here, not the patterns themselves (though it definitely does get confusing when viewing the carousel 😅).

What I'm observing is that for the group block, when you select a layout, the block's UI (in this case, the appender) has no change:

group

... but for the Query block, the block's UI (the pattern selector) gets smaller:

query

Is that expected? It feels wrong to me, though I'll admit I'm still feeling a little lost about this feature.

@youknowriad
Copy link
Contributor

I agree that it's better if it the placeholder stays full wide, not sure how easy to do with our current way to output layout styles.

@youknowriad youknowriad added this to the Gutenberg 10.7 milestone May 19, 2021
@ntsekouras
Copy link
Contributor Author

Is the placeholder full width thing the only thing left?

This is more related to the below comment. The best thing would be not to be able to change alignments and other props while seeing the Placeholder.

I think the confusing thing here might be that while we are changing the alignment while in Placeholder state, when we actually choose something the attributes come from the pattern which doesn't contain this value. That is a separate issue though for pattern suggestions..

@youknowriad a quick test from you would be great though due to all your layout work.

@kjellr
Copy link
Contributor

kjellr commented May 19, 2021

The best thing would be not to be able to change alignments and other props while seeing the Placeholder.

Yeah, I'm seeing another bug: when I set layout in the placeholder state, they get cleared after I hit "choose":

layout-cleared

That would presumably go away if we didn't let people choose layouts at the placeholder state.

@ntsekouras
Copy link
Contributor Author

Yeah, I'm seeing another bug: when I set layout in the placeholder state, they get cleared after I hit "choose"

This is the issue I'm talking about:

when we actually choose something the attributes come from the pattern which doesn't contain this value

@youknowriad
Copy link
Contributor

Did we remove the "layout" support from query loop?

@carolinan
Copy link
Contributor

Late, but I am able to reproduce what Kjellr is mentioning.

@youknowriad
Copy link
Contributor

I think the bug mentioned by @kjellr is independent of this PR, it has to do with how "pattern transforms" work, right?

@ntsekouras
Copy link
Contributor Author

Did we remove the "layout" support from query loop?

QueryLoop never had layout support. We just added the align support. Layout support is in Query

I think the bug mentioned by @kjellr is independent of this PR, it has to do with how "pattern transforms" work, right?

Yes, It has to do with the pattern suggestion - experimental BlockPatternSetup component

@kjellr
Copy link
Contributor

kjellr commented May 19, 2021

For what it's worth, this PR is not working for me at this point. I'm curious if others are seeing these same issues. Here's a quick walkthrough (with audio):

Screen.Recording.2021-05-19.at.8.49.17.AM.mov

@youknowriad
Copy link
Contributor

QueryLoop never had layout support. We just added the align support. Layout support is in Query

That's not what the description of the PR suggests :)

@youknowriad
Copy link
Contributor

@kjellr the bug about not being able to select aligned blocks was in trunk and is independent of this PR. It was recently fixed in #31904

(a rebase here should bring the fix)

@ntsekouras
Copy link
Contributor Author

That's not what the description of the PR suggests :)

I typed the wrong thing... It was meant to be align regarding the loop

@youknowriad
Copy link
Contributor

It seems this PR works as intended for me then. I think classic themes will have trouble providing the CSS styles for these blocks though without shifting to theme.json + layout (just like they have trouble now getting group blocks to work well with alignments)

@youknowriad youknowriad merged commit 4d0c59d into trunk May 19, 2021
@youknowriad youknowriad deleted the add/query-layout-support branch May 19, 2021 18:34
jffng pushed a commit that referenced this pull request May 19, 2021
@kjellr
Copy link
Contributor

kjellr commented May 20, 2021

the bug about not being able to select aligned blocks was in trunk and is independent of this PR. It was recently fixed in #31904

(a rebase here should bring the fix)

Yeah, I hadn't noted mentioned that issue specifically in the video, but I can confirm that it is fixed now. The other issues in the video are still valid in my testing after merge — I'm still not seeing this PR actually work the way I'd expect. Most prominently: when I activate the layout controls on the Query block, the wide/full child blocks don't appear wide or full, and do not have access to wide/full alignment controls at all:

query

Are other folks encountering this? My understanding was that this PR was meant to enable that. Otherwise I'm not sure what the layout control is supposed to do here.

@youknowriad
Copy link
Contributor

@kjellr

#31833 (comment)

That's because there's another level of nesting. In other words, the wide/full should appear in the "Query Loop" block but not in its content. I guess the "layout" support could be added to the "QueryLoop" block separately as well.

@kjellr
Copy link
Contributor

kjellr commented May 20, 2021

Yeah... I thought this would enable it for both (probably due to the same oversight noted here). From my experience designing these patterns, I think having these controls available for the Query Loop block will be far more useful than having them on the Query block.

On a related note, I definitely worry about overcomplicating these interactions... I've found it really confusing to nest layout controls like this. But we can discuss that separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Query Loop Affects the Query Loop Block [Block] Query Pagination Affects the Query Pagination Block - used for pagination within the Query Loop Block [Package] Block library /packages/block-library [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Query pagination block cannot be dragged into a group
7 participants