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

Patterns: remove "Manage all parts" page & link #60689

Merged
merged 37 commits into from
Apr 22, 2024

Conversation

oandregal
Copy link
Member

@oandregal oandregal commented Apr 12, 2024

Part #59659 and #55083

What?

  • Removes the link to "Manage all template parts" in patterns.
  • The /wp_template_part/all URL is still accessible to hybrid themes (classic themes that declare support for block-template-part).
  • The /patterns URL is still accessible unofficially to classic themes (with or without support for block-template-part).
Before After
Block themes. The "Manage all parts" link is no longer accessible. Captura de ecrã 2024-04-22, às 12 47 32 Captura de ecrã 2024-04-22, às 12 55 08
Hybrid themes. They still can access the /wp_template_part/all URL, as before Captura de ecrã 2024-04-22, às 12 47 49 Captura de ecrã 2024-04-22, às 13 10 32
Hybrid themes. They still can access the unofficially supported /patterns URL, as before Captura de ecrã 2024-04-22, às 12 48 15 Captura de ecrã 2024-04-22, às 13 10 39
Classic themes. They still can access the unofficially supported /patterns URL, as before Captura de ecrã 2024-04-22, às 12 48 33 Captura de ecrã 2024-04-22, às 13 00 00

Why?

  • That's the target design we want, as per Advancing site editor index views #59659
  • Over small PRs, all functionality have been migrated to the existing Parts pages in Patterns, so this is just removing the link and the code.

How?

The /wp_template_part/all URL still exists, because hybrid themes require it.

This PR updates the components that are used for that route. It now loads the code from Patterns (sidebar & content components). The reason for this is that in a future step hybrid themes will also have access to the Patterns from the site editor, so we'll load the same components.

Changes:

  • Router: packages/edit-site/src/components/layout/router.js
    • Updates the components used. From PageTemplatesTemplateParts to PagePatterns and from SidebarNavigationScreenTemplatesBrowse to SidebarNavigationScreenPatterns.
  • Patterns
    • Sidebar: packages/edit-site/src/components/sidebar-navigation-screen-patterns/index.js. Configures the component depending on whether we're loading the /wp_template_part/all URL (display only Template parts) or /patterns (display everything, Patterns & Parts).
    • Content: packages/edit-site/src/components/page-patterns/index.js. Configures the component depending on whether we're loading the /wp_template_part/all URL (display only Template parts) or /patterns (display everything, Patterns & Parts).
  • Pattern (details view)
    • Sidebar: packages/edit-site/src/components/sidebar-navigation-screen-pattern/index.js. Updates the logic so that is goes back to /wp_template_part/all if the theme is not a block theme.

Remove no longer necessary code.

The "Manage template parts" screen used different code to render the Template parts than the "Patterns" screen uses. This PR removes all of that.

Changes:

  • Sidebar (packages/edit-site/src/components/sidebar-navigation-screen-templates-browse/):
    • index.js: removes all the code related to parts.
  • Content (packages/edit-site/src/components/page-templates/):
    • Renames the directory from packages/edit-site/src/components/page-templates-template-parts/ to packages/edit-site/src/components/page-templates/.
    • Renames the PageTemplatesTemplateParts component to PageTemplates.
    • Removes packages/edit-site/src/components/page-templates-template-parts/add-new-template-part.js, as we already have the same code in the Patterns screen.
    • index.js: removes all the code that was used for template parts.

Testing Instructions

Using a block theme:

  • Visit the Patterns page and verify that the link is not there.
  • Verify the link back from details takes you back to the patterns page, whether you are editing a Part or a Pattern.

Using a classic theme (for example, visit localhost:8889 and select TwentyTwentyOne):

  • Visit the link http://localhost:8889/wp-admin/site-editor.php?path=%2Fpatterns and verify that it works as described above. It's an unofficial link, but people expect it to work.

Using a hybrid theme (for example, visit localhost:8889 and select EmptyHybrid):

  • Go to Appareance > Template parts and verify the site-editor Template Parts page is loaded and works as described above.

  • Visit the link http://localhost:8889/wp-admin/site-editor.php?path=%2Fpatterns and verify that it works as described above. It's an unofficial link, but people expect it to work.

@oandregal oandregal self-assigned this Apr 12, 2024
@oandregal oandregal added [Type] Enhancement A suggestion for improvement. [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") [Feature] DataViews Work surrounding upgrading and evolving views in the site editor and beyond labels Apr 12, 2024
Copy link

github-actions bot commented Apr 12, 2024

Size Change: -2.26 kB (0%)

Total Size: 1.75 MB

Filename Size Change
build/block-editor/content-rtl.css 4.53 kB +26 B (+1%)
build/block-editor/content.css 4.53 kB +26 B (+1%)
build/block-editor/index.min.js 256 kB +261 B (0%)
build/block-editor/style-rtl.css 15.7 kB +77 B (0%)
build/block-editor/style.css 15.7 kB +86 B (+1%)
build/block-library/blocks/gallery/editor-rtl.css 956 B +9 B (+1%)
build/block-library/blocks/gallery/editor.css 960 B +8 B (+1%)
build/block-library/blocks/group/style-rtl.css 103 B +46 B (+81%) 🆘
build/block-library/blocks/group/style.css 103 B +46 B (+81%) 🆘
build/block-library/editor-rtl.css 12.4 kB +6 B (0%)
build/block-library/editor.css 12.4 kB +8 B (0%)
build/block-library/index.min.js 219 kB +484 B (0%)
build/block-library/style-rtl.css 14.8 kB +21 B (0%)
build/block-library/style.css 14.8 kB +21 B (0%)
build/components/index.min.js 220 kB -2.01 kB (-1%)
build/components/style-rtl.css 12 kB +67 B (+1%)
build/components/style.css 12 kB +66 B (+1%)
build/customize-widgets/index.min.js 11 kB -232 B (-2%)
build/edit-post/index.min.js 17.9 kB -1.58 kB (-8%)
build/edit-post/style-rtl.css 4.24 kB -208 B (-5%)
build/edit-post/style.css 4.23 kB -209 B (-5%)
build/edit-site/index.min.js 225 kB -2.04 kB (-1%)
build/edit-site/style-rtl.css 13.9 kB -200 B (-1%)
build/edit-site/style.css 13.9 kB -198 B (-1%)
build/edit-widgets/index.min.js 17.6 kB -218 B (-1%)
build/edit-widgets/style-rtl.css 4.16 kB +6 B (0%)
build/edit-widgets/style.css 4.16 kB +3 B (0%)
build/editor/index.min.js 77.9 kB +1.52 kB (+2%)
build/editor/style-rtl.css 6.95 kB +206 B (+3%)
build/editor/style.css 6.95 kB +207 B (+3%)
build/interactivity/router.min.js 2.79 kB +1.43 kB (+105%) 🆘
build/plugins/index.min.js 1.8 kB +2 B (0%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 955 B
build/annotations/index.min.js 2.27 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.1 kB
build/blob/index.min.js 578 B
build/block-directory/index.min.js 7.26 kB
build/block-directory/style-rtl.css 1.03 kB
build/block-directory/style.css 1.03 kB
build/block-editor/default-editor-styles-rtl.css 395 B
build/block-editor/default-editor-styles.css 395 B
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 122 B
build/block-library/blocks/audio/style.css 122 B
build/block-library/blocks/audio/theme-rtl.css 133 B
build/block-library/blocks/audio/theme.css 133 B
build/block-library/blocks/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/block/editor-rtl.css 305 B
build/block-library/blocks/block/editor.css 305 B
build/block-library/blocks/button/editor-rtl.css 415 B
build/block-library/blocks/button/editor.css 414 B
build/block-library/blocks/button/style-rtl.css 627 B
build/block-library/blocks/button/style.css 626 B
build/block-library/blocks/buttons/editor-rtl.css 337 B
build/block-library/blocks/buttons/editor.css 337 B
build/block-library/blocks/buttons/style-rtl.css 332 B
build/block-library/blocks/buttons/style.css 332 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 B
build/block-library/blocks/categories/editor-rtl.css 113 B
build/block-library/blocks/categories/editor.css 112 B
build/block-library/blocks/categories/style-rtl.css 124 B
build/block-library/blocks/categories/style.css 124 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 421 B
build/block-library/blocks/columns/style.css 421 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-content/style-rtl.css 92 B
build/block-library/blocks/comment-content/style.css 92 B
build/block-library/blocks/comment-template/style-rtl.css 199 B
build/block-library/blocks/comment-template/style.css 198 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 840 B
build/block-library/blocks/comments/editor.css 839 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 636 B
build/block-library/blocks/cover/editor-rtl.css 671 B
build/block-library/blocks/cover/editor.css 674 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 322 B
build/block-library/blocks/embed/editor.css 322 B
build/block-library/blocks/embed/style-rtl.css 410 B
build/block-library/blocks/embed/style.css 410 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 327 B
build/block-library/blocks/file/style-rtl.css 280 B
build/block-library/blocks/file/style.css 281 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 201 B
build/block-library/blocks/footnotes/style.css 199 B
build/block-library/blocks/form-input/editor-rtl.css 227 B
build/block-library/blocks/form-input/editor.css 227 B
build/block-library/blocks/form-input/style-rtl.css 343 B
build/block-library/blocks/form-input/style.css 343 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 340 B
build/block-library/blocks/form-submission-notification/editor.css 340 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 471 B
build/block-library/blocks/freeform/editor-rtl.css 2.61 kB
build/block-library/blocks/freeform/editor.css 2.61 kB
build/block-library/blocks/gallery/style-rtl.css 1.72 kB
build/block-library/blocks/gallery/style.css 1.72 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 647 B
build/block-library/blocks/group/editor.css 647 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 189 B
build/block-library/blocks/heading/style.css 189 B
build/block-library/blocks/html/editor-rtl.css 336 B
build/block-library/blocks/html/editor.css 337 B
build/block-library/blocks/image/editor-rtl.css 878 B
build/block-library/blocks/image/editor.css 878 B
build/block-library/blocks/image/style-rtl.css 1.6 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 133 B
build/block-library/blocks/image/theme.css 133 B
build/block-library/blocks/image/view.min.js 1.54 kB
build/block-library/blocks/latest-comments/style-rtl.css 357 B
build/block-library/blocks/latest-comments/style.css 357 B
build/block-library/blocks/latest-posts/editor-rtl.css 213 B
build/block-library/blocks/latest-posts/editor.css 212 B
build/block-library/blocks/latest-posts/style-rtl.css 478 B
build/block-library/blocks/latest-posts/style.css 478 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 B
build/block-library/blocks/media-text/editor-rtl.css 306 B
build/block-library/blocks/media-text/editor.css 305 B
build/block-library/blocks/media-text/style-rtl.css 505 B
build/block-library/blocks/media-text/style.css 503 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 668 B
build/block-library/blocks/navigation-link/editor.css 669 B
build/block-library/blocks/navigation-link/style-rtl.css 259 B
build/block-library/blocks/navigation-link/style.css 257 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 296 B
build/block-library/blocks/navigation-submenu/editor.css 295 B
build/block-library/blocks/navigation/editor-rtl.css 2.26 kB
build/block-library/blocks/navigation/editor.css 2.26 kB
build/block-library/blocks/navigation/style-rtl.css 2.26 kB
build/block-library/blocks/navigation/style.css 2.25 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 235 B
build/block-library/blocks/paragraph/editor.css 235 B
build/block-library/blocks/paragraph/style-rtl.css 335 B
build/block-library/blocks/paragraph/style.css 335 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 508 B
build/block-library/blocks/post-comments-form/style.css 508 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-date/style-rtl.css 61 B
build/block-library/blocks/post-date/style.css 61 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 141 B
build/block-library/blocks/post-excerpt/style.css 141 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 727 B
build/block-library/blocks/post-featured-image/style-rtl.css 342 B
build/block-library/blocks/post-featured-image/style.css 342 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 409 B
build/block-library/blocks/post-template/style.css 408 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 69 B
build/block-library/blocks/post-time-to-read/style.css 69 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 135 B
build/block-library/blocks/pullquote/editor.css 135 B
build/block-library/blocks/pullquote/style-rtl.css 354 B
build/block-library/blocks/pullquote/style.css 353 B
build/block-library/blocks/pullquote/theme-rtl.css 174 B
build/block-library/blocks/pullquote/theme.css 174 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 288 B
build/block-library/blocks/query-pagination/style.css 284 B
build/block-library/blocks/query-title/style-rtl.css 63 B
build/block-library/blocks/query-title/style.css 63 B
build/block-library/blocks/query/editor-rtl.css 486 B
build/block-library/blocks/query/editor.css 486 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 237 B
build/block-library/blocks/quote/style.css 237 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 235 B
build/block-library/blocks/read-more/style-rtl.css 140 B
build/block-library/blocks/read-more/style.css 140 B
build/block-library/blocks/rss/editor-rtl.css 149 B
build/block-library/blocks/rss/editor.css 149 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 184 B
build/block-library/blocks/search/editor.css 184 B
build/block-library/blocks/search/style-rtl.css 690 B
build/block-library/blocks/search/style.css 689 B
build/block-library/blocks/search/theme-rtl.css 114 B
build/block-library/blocks/search/theme.css 114 B
build/block-library/blocks/search/view.min.js 478 B
build/block-library/blocks/separator/editor-rtl.css 146 B
build/block-library/blocks/separator/editor.css 146 B
build/block-library/blocks/separator/style-rtl.css 239 B
build/block-library/blocks/separator/style.css 239 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 B
build/block-library/blocks/shortcode/editor-rtl.css 323 B
build/block-library/blocks/shortcode/editor.css 323 B
build/block-library/blocks/site-logo/editor-rtl.css 801 B
build/block-library/blocks/site-logo/editor.css 801 B
build/block-library/blocks/site-logo/style-rtl.css 204 B
build/block-library/blocks/site-logo/style.css 204 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 116 B
build/block-library/blocks/site-title/editor.css 116 B
build/block-library/blocks/site-title/style-rtl.css 57 B
build/block-library/blocks/site-title/style.css 57 B
build/block-library/blocks/social-link/editor-rtl.css 184 B
build/block-library/blocks/social-link/editor.css 184 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.48 kB
build/block-library/blocks/social-links/style.css 1.48 kB
build/block-library/blocks/spacer/editor-rtl.css 350 B
build/block-library/blocks/spacer/editor.css 350 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 395 B
build/block-library/blocks/table/editor.css 395 B
build/block-library/blocks/table/style-rtl.css 639 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/style-rtl.css 251 B
build/block-library/blocks/tag-cloud/style.css 253 B
build/block-library/blocks/template-part/editor-rtl.css 431 B
build/block-library/blocks/template-part/editor.css 431 B
build/block-library/blocks/template-part/theme-rtl.css 107 B
build/block-library/blocks/template-part/theme.css 107 B
build/block-library/blocks/term-description/style-rtl.css 111 B
build/block-library/blocks/term-description/style.css 111 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 99 B
build/block-library/blocks/verse/style.css 99 B
build/block-library/blocks/video/editor-rtl.css 552 B
build/block-library/blocks/video/editor.css 555 B
build/block-library/blocks/video/style-rtl.css 185 B
build/block-library/blocks/video/style.css 185 B
build/block-library/blocks/video/theme-rtl.css 133 B
build/block-library/blocks/video/theme.css 133 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.11 kB
build/block-library/common.css 1.11 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/theme-rtl.css 707 B
build/block-library/theme.css 713 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 51.6 kB
build/commands/index.min.js 15.2 kB
build/commands/style-rtl.css 953 B
build/commands/style.css 951 B
build/compose/index.min.js 12.6 kB
build/core-commands/index.min.js 2.77 kB
build/core-data/index.min.js 72.5 kB
build/customize-widgets/style-rtl.css 1.36 kB
build/customize-widgets/style.css 1.36 kB
build/data-controls/index.min.js 640 B
build/data/index.min.js 9 kB
build/date/index.min.js 17.9 kB
build/deprecated/index.min.js 451 B
build/dom-ready/index.min.js 324 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 578 B
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.07 kB
build/format-library/style-rtl.css 493 B
build/format-library/style.css 492 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 448 B
build/i18n/index.min.js 3.58 kB
build/interactivity/debug.min.js 16.2 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.67 kB
build/interactivity/index.min.js 13 kB
build/interactivity/navigation.min.js 1.17 kB
build/interactivity/query.min.js 740 B
build/interactivity/search.min.js 618 B
build/is-shallow-equal/index.min.js 527 B
build/keyboard-shortcuts/index.min.js 1.3 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.11 kB
build/list-reusable-blocks/style-rtl.css 851 B
build/list-reusable-blocks/style.css 851 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.2 kB
build/notices/index.min.js 948 B
build/nux/index.min.js 1.57 kB
build/nux/style-rtl.css 748 B
build/nux/style.css 744 B
build/patterns/index.min.js 6.47 kB
build/patterns/style-rtl.css 595 B
build/patterns/style.css 595 B
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.85 kB
build/preferences/style-rtl.css 710 B
build/preferences/style.css 712 B
build/primitives/index.min.js 975 B
build/priority-queue/index.min.js 1.52 kB
build/private-apis/index.min.js 1 kB
build/react-i18n/index.min.js 623 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.78 kB
build/redux-routine/index.min.js 2.7 kB
build/reusable-blocks/index.min.js 2.73 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10 kB
build/router/index.min.js 1.88 kB
build/server-side-render/index.min.js 1.96 kB
build/shortcode/index.min.js 1.39 kB
build/style-engine/index.min.js 2.03 kB
build/token-list/index.min.js 582 B
build/url/index.min.js 3.74 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 957 B
build/warning/index.min.js 249 B
build/widgets/index.min.js 7.23 kB
build/widgets/style-rtl.css 1.17 kB
build/widgets/style.css 1.17 kB
build/wordcount/index.min.js 1.02 kB

compressed-size-action

@jameskoster
Copy link
Contributor

There will be a couple of pieces missing if we move forward with this...

The "Manage all template parts" view supports the List layout, whereas other pattern views do not. We should decide whether it should be possible to view patterns in List layout and apply that across. Probably fine to do that separately if you prefer.

In "Manage all template parts" there are dedicated views to filter by author. This filter is missing entirely in the pattern category views. Would it be possible to add it as a primary filter?

@oandregal
Copy link
Member Author

So, there's a question here about how to do with classic themes that declare theme support for block-template-parts (hybrid themes) when we remove the '/wp_template_part/all` page.

This is how they work in 6.5:

  • Appareance > Patterns: navigates to wp-admin patterns.
  • Appareance > Template Parts: navigates to site editor "Manage all Parts".
Gravacao.do.ecra.2024-04-12.as.16.11.45.mov

This is how they work in this PR:

  • Appareance > Patterns: navigates to wp-admin patterns.
  • Appareance > Template parts: load site-editor Patterns page, but only has access to Template Parts.
Gravacao.do.ecra.2024-04-12.as.16.10.00.mov

For this PR, the current state could be enough. However, it raised a few questions for me:

  1. Why don't we have an option in the sidebar to view all Parts at once (but we do allow to load the URL).
  2. Why don't we load the site-editor Patterns screen for classic themes as well?
  3. If we are merging Patterns&Parts in a single screen in the editor for block themes, why don't we do the same for hybrid themes? This is: remove the "Template parts link" in Appareance and leave only the "Patterns" link that would point to the site editor Patterns page (that would display always patterns, but only parts if the theme supports it).

cc @SaxonF @jameskoster @youknowriad
Also @aaronrobertshaw @kevin940726 @talldan @glendaviesnz as I saw you having related conversations.

@oandregal oandregal marked this pull request as ready for review April 12, 2024 14:31
Copy link

github-actions bot commented Apr 12, 2024

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 props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: oandregal <oandregal@git.wordpress.org>
Co-authored-by: aaronrobertshaw <aaronrobertshaw@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: mcsf <mcsf@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: SaxonF <saxonafletcher@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@oandregal
Copy link
Member Author

The "Manage all template parts" view supports the List layout, whereas other pattern views do not. We should decide whether it should be possible to view patterns in List layout and apply that across. Probably fine to do that separately if you prefer.

Yeah, I mentioned this in the other PR. I'm happy to implement this as a follow-up if we want, but shouldn't be a blocker IMO.

In "Manage all template parts" there are dedicated views to filter by author. This filter is missing entirely in the pattern category views. Would it be possible to add it as a primary filter?

mmm, how so? I've added it in a previous step at #60372

Gravacao.do.ecra.2024-04-12.as.16.35.31.mov

Copy link

github-actions bot commented Apr 12, 2024

Flaky tests detected in 2ea07e2.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/8750686569
📝 Reported issues:

@jameskoster
Copy link
Contributor

mmm, how so? I've added it in a previous step at #60372

My build must not have compiled or something; I wasn't seeing it before, but I do see it now :)

Why don't we have an option in the sidebar to view all Parts at once (but we do allow to load the URL)

Since the idea is to consolidate the pattern/template part concepts I think ideally the "All patterns" view will include template parts down the road. Is that technically feasible?

If we are merging Patterns&Parts in a single screen in the editor for block themes, why don't we do the same for hybrid themes? This is: remove the "Template parts link" in Appareance and leave only the "Patterns" link that would point to the site editor Patterns page (that would display always patterns, but only parts if the theme supports it).

That's a very good question. Considering my previous point, I think your suggestion makes sense. cc @t-hamano on this since you've worked on the classic theme UX.

@t-hamano
Copy link
Contributor

Why don't we load the site-editor Patterns screen for classic themes as well?

This is a planned feature and is being tracked in #52150. For future roadmap, please see comments here.

In fact, even in the classic theme, access to the site editor's pattern page (/wp-admin/site-editor.php?path=%2Fpatterns) is internally allowed as of WP6.5. However, the Appearance > Patterns menu currently links to the list of pattern posts (/wp-admin/edit.php?post_type=wp_block). This is because the Gutenberg plugin needs to support lower versions of WordPress core. Once the Gutenberg plugin supports core version 6.5, we should be able to link the Appearance > Patterns menu to the Patterns page in the site editor.

If we are merging Patterns&Parts in a single screen in the editor for block themes, why don't we do the same for hybrid themes? This is: remove the "Template parts link" in Appareance and leave only the "Patterns" link that would point to the site editor Patterns page (that would display always patterns, but only parts if the theme supports it).

This should also be possible. However, as mentioned earlier, we should also consider scenarios where the Gutenberg plugin is used on lower WP versions.

@aaronrobertshaw
Copy link
Contributor

Thanks for the ping 👍

I think @t-hamano sums up the current situation well. We should be able to improve some of these things but as I understand it, we'll need to ensure Gutenberg's minimum supported version is 6.5 before the consolidation can completely happen.

@SaxonF
Copy link
Contributor

SaxonF commented Apr 15, 2024

Why don't we have an option in the sidebar to view all Parts at once (but we do allow to load the URL).

Agree with @jameskoster that end goal is to simplify and treat template parts as synced patterns that belong to special categories (e.g header). In the short term though, if we need to fill a functionality gap, could we add an "all" category under template parts?

Separately, as part of this work, could we move template parts above patterns to give them a little more prominence?

@oandregal
Copy link
Member Author

#60775 adds a "All template parts" section in the sidebar as a previous step so it's available and can be used in this PR for hybrid themes. I'll rebase this when 60775 lands.

@oandregal
Copy link
Member Author

oandregal commented Apr 16, 2024

@t-hamano @aaronrobertshaw thanks so much for the context.

This PR removes the existing "Manage all template parts" link/page, but it also redirects /wp_template_part/all to the Patterns page, so hybrid themes would still have access to template parts — just using the /patterns path.

My understanding is that this PR makes progress towards using the site-editor patterns screen for hybrid themes: when that time comes, we'd just need to make everything (patterns&parts) visible.

I'll rebase this PR when #60775 lands, everything will be a bit clearer then.

@oandregal
Copy link
Member Author

Separately, as part of this work, could we move template parts above patterns to give them a little more prominence?

This is done at #60359 which I'll update when both #60775 and this PR land, so we have a better view of everything.

@t-hamano
Copy link
Contributor

In fact, even in the classic theme, access to the site editor's pattern page (/wp-admin/site-editor.php?path=%2Fpatterns) is internally allowed as of WP6.5. However, the Appearance > Patterns menu currently links to the list of pattern posts (/wp-admin/edit.php?post_type=wp_block). This is because the Gutenberg plugin needs to support lower versions of WordPress core. Once the Gutenberg plugin supports core version 6.5, we should be able to link the Appearance > Patterns menu to the Patterns page in the site editor.

In this regard, by adding a backward compatibility hook to the Gutenberg plugin, we might be able to immediately publish the new Patterns page to all classic themes without having to wait until Gutenberg supports core version 6.5. See this comment for details.

I plan to tackle this challenge.

@oandregal
Copy link
Member Author

So, there's a few scenarios to cover: block themes, hybrid themes (two separate paths), and classic themes. I've pushed the changes to make them all work and updated the PR description.

This is the before/after:

Before After
Block themes. The "Manage all parts" link is no longer accessible. Captura de ecrã 2024-04-22, às 12 47 32 Captura de ecrã 2024-04-22, às 12 55 08
Hybrid themes. They still can access the /wp_template_part/all URL, as before Captura de ecrã 2024-04-22, às 12 47 49 Captura de ecrã 2024-04-22, às 13 10 32
Hybrid themes. They still can access the unofficially supported /patterns URL, as before Captura de ecrã 2024-04-22, às 12 48 15 Captura de ecrã 2024-04-22, às 13 10 39
Classic themes. They still can access the unofficially supported /patterns URL, as before Captura de ecrã 2024-04-22, às 12 48 33 Captura de ecrã 2024-04-22, às 13 00 00

@oandregal
Copy link
Member Author

I've also tested the backflows from the editor and this is how it works:

  1. Block themes ✅
Gravacao.do.ecra.2024-04-22.as.12.12.29.mov
  1. Classic themes (unofficial patterns path) ✅
Gravacao.do.ecra.2024-04-22.as.13.19.54.mov
  1. Hybrid themes (template parts path) ✅
Gravacao.do.ecra.2024-04-22.as.12.13.12.mov
  1. Hybrid themes (unofficial patterns path). Note how the backpath navigates the user to the Template Parts screen instead of the Patterns screen where they came from. We don't have a way to know where it came from, so it cannot be fixed here. The fix is actually the next step in this consolidation: making the /patterns path official and remove the template parts path. Given this is an "unofficial" page and that we plan to consolidate in this cycle, I think this is ok for now.
Gravacao.do.ecra.2024-04-22.as.13.20.34.mov

@oandregal
Copy link
Member Author

Unless there's more use cases to support, I think this is working as expected. Is there anything else left or can this be merged?

Copy link
Contributor

@mcsf mcsf left a comment

Choose a reason for hiding this comment

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

LGTM, but you know this better than me. :)

title={ config[ postType ].title }
description={ config[ postType ].description }
backPath={ config[ postType ].backPath }
title={ config.title }
Copy link
Contributor

Choose a reason for hiding this comment

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

Minor suggestion: since there's no more branching based on postType, why not inline the values? title={ __( 'Manage templates' ) }, etc.

Copy link
Member Author

Choose a reason for hiding this comment

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

Addressed at 5192d86

const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );

useInitEditedEntityFromURL();

const patternDetails = usePatternDetails( postType, postId );
const isTemplatePartsMode = useSelect( ( select ) => {
return !! select( editSiteStore ).getSettings()
.supportsTemplatePartsMode;
Copy link
Contributor

Choose a reason for hiding this comment

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

We should document supportsTemplatePartsMode and/or state the intention of this const.

Copy link
Member Author

Choose a reason for hiding this comment

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

2dbe1c5 should help.

Comment on lines 162 to 167
actions={
<AddNewPattern
canCreateParts={ isBlockBasedTheme }
canCreatePatterns={ ! isTemplatePartsPath }
/>
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
actions={
<AddNewPattern
canCreateParts={ isBlockBasedTheme }
canCreatePatterns={ ! isTemplatePartsPath }
/>
}
actions={
( isBlockBasedTheme || ! isTemplatePartsPath ) && (
<AddNewPattern
canCreateParts={ isBlockBasedTheme }
canCreatePatterns={ ! isTemplatePartsPath }
/>
)
}

How about changing to conditional rendering? Otherwise, the hidden field will be rendered even though there are no controls.

template-parts-no-control

Copy link
Member Author

@oandregal oandregal Apr 22, 2024

Choose a reason for hiding this comment

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

Done at 08e8ebe

Comment on lines 43 to 44
title = templatePartArea?.label || __( 'All Template Parts' );
description =
templatePartArea?.description ||
__( 'Includes every template part defined for any area.' );
title = templatePartArea?.label || __( 'Template Parts' );
description = templatePartArea?.description;
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a reason why you removed "all" from the title and the description fallback? I'm curious about the difference when opening "All patterns" and "All template parts" in the sidebar.

"Al template part" is selected:

image

"All patterns" is selected:

image

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought about making these text the same for hybrid themes in the template parts screen so before/after is the same. Though I now realize it's best to leave them as they are. Reverted the changes at 18c6a0b

@t-hamano t-hamano self-requested a review April 22, 2024 13:59
Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

I left only two suggestions, but they all work as expected. I think there are some tasks to tackle after this is merged, do you have any plans?

@oandregal oandregal enabled auto-merge (squash) April 22, 2024 15:56
@oandregal
Copy link
Member Author

oandregal commented Apr 22, 2024

I think there are some tasks to tackle after this is merged, do you have any plans?

I'm going to take a few days off this area: I need to prepare a talk I'll give by end of week + looking at improving the DataViews component. My main focus is #59659 Happy to review work in this area.

Do you have a sense of next steps for this? I presume we want to update the Patterns link for classic themes so they load the site-editor Patterns page. Then also remove /wp_template_part/all link, perhaps?

@oandregal oandregal merged commit e6321ba into trunk Apr 22, 2024
63 of 64 checks passed
@oandregal oandregal deleted the remove/manage-all-parts-page branch April 22, 2024 16:26
@github-actions github-actions bot added this to the Gutenberg 18.3 milestone Apr 22, 2024
@jameskoster
Copy link
Contributor

Thanks for all the work here @oandregal.

In terms of pattern / template part alignment I think there are a couple of outstanding details that it'd be good to address for 6.6 if possible:

  1. "All patterns" view should include template parts (probably the most challenging part).
  2. The separate menus should ideally converge, mockup here: Pattern / Template Part Unification - the technical challenges #57011 (comment).
  3. We need to settle on a more intuitive name for the "General" category.
  4. Align or differentiate the "Header" + "Headers" categories.
  5. Update the creation flow, mockup here: Pattern / Template Part Unification - the technical challenges #57011 (comment)

@t-hamano
Copy link
Contributor

I presume we want to update the Patterns link for classic themes so they load the site-editor Patterns page. Then also remove /wp_template_part/all link, perhaps?

I think so. I will be working on officially publishing the Site Editor Patterns page for all Classic themes in WP6.6. Detailed specifications are summarized in this comment.

I believe it does not conflict with the improvements suggested by @jameskoster.

@oandregal
Copy link
Member Author

@jameskoster I've added those tasks as part of the tracking issue, so they're not lost #59659

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] DataViews Work surrounding upgrading and evolving views in the site editor and beyond [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants