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

Template part 'replace' flow - don't show currently used template part as option. #31720

Merged
merged 12 commits into from May 19, 2021

Conversation

Addison-Stavlo
Copy link
Contributor

@Addison-Stavlo Addison-Stavlo commented May 11, 2021

Description

Following up on suggestions from #31520 - here we have removed the currently used template part from the replacement options and hide the selection component if no corresponding template parts are present.

This also slightly updates the area group labels to be a little more clear: "Area: Header" as opposed to just "Header".

How has this been tested?

Test current template part creation/selection flows, as well as replacement flows. Verify that:

  • The current template part is not an option in the 'replace' flow.
  • The 'replace' button does not show up when no other template parts of that area exist.
  • Extra - The 'choose existing' button in the placeholder does not show up when no other template parts of the area exist. (delete all template part CPTs AND the block-template-part directory of your theme to test).

Screenshots

Types of changes

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).

@github-actions
Copy link

github-actions bot commented May 11, 2021

Size Change: +351 B (0%)

Total Size: 1.62 MB

Filename Size Change
build/block-library/index.js 147 kB +351 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/index.js 118 kB 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/editor-rtl.css 83 B 0 B
build/block-library/blocks/query-loop/editor.css 82 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/editor-rtl.css 9.92 kB 0 B
build/block-library/editor.css 9.91 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/blocks/index.js 47.1 kB 0 B
build/components/index.js 188 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.94 kB 0 B
build/core-data/index.js 12.1 kB 0 B
build/customize-widgets/index.js 42.3 kB 0 B
build/customize-widgets/style-rtl.css 1.35 kB 0 B
build/customize-widgets/style.css 1.35 kB 0 B
build/data-controls/index.js 826 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/index.js 13.6 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 334 kB 0 B
build/edit-post/style-rtl.css 6.79 kB 0 B
build/edit-post/style.css 6.78 kB 0 B
build/edit-site/index.js 26 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/index.js 292 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/index.js 38.4 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/index.js 5.67 kB 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/plugins/index.js 1.99 kB 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/index.js 2.54 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

@jameskoster
Copy link
Contributor

jameskoster commented May 12, 2021

I still think that if there are no same-area TPs then we should exercise some subtraction and just hide the replace button altogether.

Screenshot 2021-05-12 at 11 05 51

@jameskoster jameskoster added the Needs Design Feedback Needs general design feedback. label May 12, 2021
@david-szabo97
Copy link
Member

I still think that if there are no same-area TPs then we should exercise some subtraction and just hide the replace button altogether.

A user might want to replace the template part with a different area template part. I wonder how often that will happen though. So I'm not sure if we should remove the Replace button if there are no same-area TPs.

@jameskoster
Copy link
Contributor

I don't think that will happen very often and otherwise adds unnecessary weight to the UI. It is very easy to just remove the incorrect TP and insert the correct one.

@Addison-Stavlo
Copy link
Contributor Author

It shouldn't happen very often, but it definitely could by mistake. As in a user creating what they thought was a header and forgetting to assign it as such. If they went to swap their header, they would need to search for it as it would be general.

Hiding the button altogether when there are no other variations in place will also require adding yet another db request on the editor's initial loading phase (as opposed to just when the component is triggered). I don't think it alone makes a huge difference, but in general I think that is something we try to limit if its not completely necessary.

@jameskoster
Copy link
Contributor

I remain unconvinced that we should be optimising the UI for flows that are essentially edge cases. That said I wasn't aware of the performance expense. Hopefully we get some more design feedback soon.

@shaunandrews
Copy link
Contributor

image

This seems very unhelpful and confusing. The copy is hard to understand and relying on search (and knowing the name of what you're searching for) seems a little complicated. If we do need this, I think we should improve the copy and perhaps add some more helpful actions. Something like this maybe:

image

--

That said, I think @jameskoster's suggestion of simply hiding the button might be the simplest option overall.

@jameskoster
Copy link
Contributor

I like this idea in the sense that it educates the user that certain template parts can be swapped, before they are swappable. A shortcut to create a new TP could be really handy as well.

Searching seems a little awkward for the reasons you mentioned. It could be a dead end if you don't know what to search for, and swapping a header with a non-header still feels like an edge-case to me.

@Addison-Stavlo
Copy link
Contributor Author

and swapping a header with a non-header still feels like an edge-case to me.

I guess my edge case was more swapping a header for header that happens to be uncategorized. Such as the user created one in the stand-alone template part editor and never assigned its 'area' to be header.

Either way, Im starting to think you are right. The search is weird in general and it doesn't really make sense to swap with another 'area' if things are defined correctly.

So we can try disabling the button if there are no other options to replace with... Do you think we should scrap the 'search' feature altogether?

@jameskoster
Copy link
Contributor

I guess my edge case was more swapping a header for header that happens to be uncategorized. Such as the user created one in the stand-alone template part editor and never assigned its 'area' to be header.

Hopefully the dedicated header / footer block variations make that edge case even less likely.

Do you think we should scrap the 'search' feature altogether?

We can probably leave it in for now, and explore it in more detail in #31747.

@Addison-Stavlo
Copy link
Contributor Author

Updated! The replace button should no longer be present if there are no other template parts of the specified area to switch to.

@Copons
Copy link
Contributor

Copons commented May 13, 2021

Code LGTM and it seems to work well! ✨

Two things:

  • Could you update the description to reflect the current state of affairs?

  • How would you test if the placeholder button is hidden and the dropdown contains the "no template parts" message?
    If there are no replacements, the Replace button is not showing, so I can't really make it show the dropdown.
    I guess I could check the placeholder button by removing a template part from the theme files? 🤔

@Addison-Stavlo
Copy link
Contributor Author

Addison-Stavlo commented May 13, 2021

Could you update the description to reflect the current state of affairs?

Updated 😁

How would you test if the placeholder button is hidden and the dropdown contains the "no template parts" message?

Technically you shouldn't be able to see it, it just seemed like a better fallback than the previous null return. In order to see it you would need to delete all template part CPTs, delete the block-template-parts directory in your theme, and remove the conditionals that hide the selection components in the first place:
Screen Shot 2021-05-13 at 11 49 22 AM

So unless someone adds that component somewhere else without a condition and they are running a theme that supplies no template parts and somehow triggers FSE, I don't think there should be a way for that to appear.

Copy link
Contributor

@jameskoster jameskoster left a comment

Choose a reason for hiding this comment

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

I think this makes sense and works well on the design side.

Shaun's idea to enable folks to create a new template part in this scenario is worth exploring, but we can do that in a follow-up or as part of #31750

@jameskoster
Copy link
Contributor

jameskoster commented May 13, 2021

Ah, one small thing, can we make the fallback copy contextual?

There are no other template parts of this area headers

Perhaps worth putting it inside an informational Notice as well?

There is also a typo: "Searchnig".

@Addison-Stavlo
Copy link
Contributor Author

Ah, one small thing, can we make the fallback copy contextual? 'There are no other template parts of this area headers'
There is also a typo: "Searchnig".

Ah yeah. I did remove that specific fallback altogether as that situation shouldn't currently happen but it probably does make sense to keep it just in case (just as with the other fallback 😆 )!

Perhaps worth putting it inside an informational Notice as well?

I wouldn't think so. That fallback message should never actually appear in the first place, and if it did I think it would be plenty visible where it is so I'm not sure a notice would add much?

@Addison-Stavlo
Copy link
Contributor Author

Ah, one small thing, can we make the fallback copy contextual?

Re-added this fallback and made it contextual. Although, it shouldn't be observable as things are currently laid out (buttons hidden, etc.). 😁

@david-szabo97
Copy link
Member

Should we make this button primary in this case? It's weird to have a secondary button here without any other buttons.

image

Copy link
Member

@david-szabo97 david-szabo97 left a comment

Choose a reason for hiding this comment

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

Everything works as expected! 🚀 Left one small thought to consider.

@Addison-Stavlo
Copy link
Contributor Author

@david-szabo97 that makes sense to me! Updated it to be primary when its the only button:

Screen Shot 2021-05-14 at 10 04 11 AM

Although side note to other folks that this will probably not be seen often as it requires the theme to not supply any template parts as well.

@david-szabo97
Copy link
Member

It's much better now!

Although side note to other folks that this will probably not be seen often as it requires the theme to not supply any template parts as well.

That's fine 😄

🚢 🚢 🚢 🚢 🚢 🚢

@shaunandrews
Copy link
Contributor

Is that message correct? It says "pick an existing one from the list" but there is no list, correct? Maybe it should be more general about the purpose of the template part, rather than explaining the available options that may or may not exist.

@Addison-Stavlo
Copy link
Contributor Author

Hi @shaunandrews ! 👋

Is that message correct?

Thats the copy that has been in place on the placeholder for a while. Its currently being updated on another PR - #31721 (comment) - "Choose an existing template part or create a new one". But you are right, in this edge case there would be no "Choose" option either. 🤔

@Addison-Stavlo
Copy link
Contributor Author

It could display a separate copy in that edge case that there are none to choose from, we could come up with a copy that is more general as you say, or we could look at just automatically triggering the 'create new' step in that case. Id be happy to open a follow up to explore options too.

@Addison-Stavlo
Copy link
Contributor Author

It could display a separate copy in that edge case that there are none to choose from

Il start by adding that in here for that edge case to just be "Create a new template part" and re can explore other alternatives later if necessary.

@Addison-Stavlo Addison-Stavlo merged commit b3826d7 into trunk May 19, 2021
@Addison-Stavlo Addison-Stavlo deleted the try/template-part-replace-exclude-current-entity branch May 19, 2021 19:21
@github-actions github-actions bot added this to the Gutenberg 10.7 milestone May 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Template Part Affects the Template Parts Block Needs Design Feedback Needs general design feedback.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants