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

Edit Site: Fix the pattern with the post types becomes the placeholder pattern when editing template part #52503

Merged
merged 1 commit into from
Jul 14, 2023

Conversation

arthur791004
Copy link
Contributor

@arthur791004 arthur791004 commented Jul 11, 2023

What?

The pattern with the post types becomes the placeholder pattern since the site editor only allows patterns with the specific post type. However, the allowed post type is always undefined because we never pass the value when calling the hook.

Why?

This resolves Automattic/wp-calypso#79145 that the pattern with wp_template_part post type becomes the placeholder pattern when you're editing the template part and you cannot do anything on the placeholder pattern.

How?

The useSiteEditorSettings hook supports templateType as an argument, just pass the value to it so it can filter the patterns out with the specific post type correctly.

Testing Instructions

  1. Download TT3 from https://wordpress.org/themes/twentytwentythree/
  2. Edit the patterns/footer-default.php pattern as followed
   /**
    * Title: Default Footer
    * Slug: twentytwentythree/footer-default
    * Categories: footer
    * Block Types: core/template-part/footer
    * Block Types: core/template-part
+   * Post Types: wp_template, wp_template_part, page
    */
  1. Zip the modified TT3 theme and upload again
  2. Go to the site editor to edit the footer template part
  3. Before this patch, you will see the placeholder pattern and you cannot do anything on it
  4. After this patch, the footer template part will be displayed correctly

Testing Instructions for Keyboard

Screenshots or screencast

Before After
image image

@arthur791004 arthur791004 changed the title Edit Site: Fix the missing templateType when calling useSiteEditorSettings hook Edit Site: Fix the pattern with the post types becomes the placeholder pattern Jul 11, 2023
@arthur791004 arthur791004 changed the title Edit Site: Fix the pattern with the post types becomes the placeholder pattern Edit Site: Fix the pattern with the post types becomes the placeholder pattern when editing template part Jul 11, 2023
@dsas dsas requested a review from getdave July 11, 2023 12:49
Copy link
Contributor

@okmttdhr okmttdhr left a comment

Choose a reason for hiding this comment

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

I did not have time to test, but the code looks good 👍
Thank you for your quick fix.

@okmttdhr
Copy link
Contributor

It might be better to have one more person to review, but let me know if you need to merge.

Copy link
Contributor

@getdave getdave left a comment

Choose a reason for hiding this comment

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

Rather than dd a dependency to the hook why not select the template type within the hook itself?

const { templateType } = useSelect( ( select ) => {
		const { getEditedPostType } = unlock( select( editSiteStore ) );

		return {
			templateType: getEditedPostType(),
		};
	}, [] );

@arthur791004 arthur791004 force-pushed the fix/missing-template-type branch 2 times, most recently from 5c7f2dc to 8b6d9c0 Compare July 12, 2023 14:01
@arthur791004
Copy link
Contributor Author

@getdave I just want to follow the original design to let callers decide the template type. But I agree with you that we can select the template type inside the hook itself. I've made the change as you suggested, thanks 👍

Copy link
Contributor

@getdave getdave left a comment

Choose a reason for hiding this comment

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

This looks better now - thanks for amending. Not sure about those test failures though... 😟

@arthur791004
Copy link
Contributor Author

Seems like the failed tests are flaky as the results are different after re-triggering 😓

@getdave
Copy link
Contributor

getdave commented Jul 13, 2023

@arthur791004 You'll want to rebase as opposed to merge. We look to avoid merge commits.

  • Pull trunk from your upstream (as it looks like you are working on a fork)
  • Merge upsteam into your fork's trunk.
  • Switch to this branch
  • git rebase trunk

@arthur791004
Copy link
Contributor Author

Okay!

@arthur791004
Copy link
Contributor Author

@getdave The tests are passed now!

Copy link
Contributor

@getdave getdave left a comment

Choose a reason for hiding this comment

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

LGTM - this will need backporting so pinging @tellthemachines and @ramonjd

@getdave getdave added [Type] Regression Related to a regression in the latest release Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta labels Jul 13, 2023
@ramonjd
Copy link
Member

ramonjd commented Jul 14, 2023

Tested and works as described 👍🏻

@ramonjd ramonjd merged commit a6389cf into WordPress:trunk Jul 14, 2023
@github-actions github-actions bot added this to the Gutenberg 16.3 milestone Jul 14, 2023
@tellthemachines
Copy link
Contributor

I just cherry-picked this PR to the update/first-batch-pre-RC1 branch to get it included in the next release: 298f5b1

@tellthemachines tellthemachines removed the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Jul 14, 2023
@arthur791004
Copy link
Contributor Author

Thank you 😊

@arthur791004 arthur791004 deleted the fix/missing-template-type branch July 14, 2023 02:04
tellthemachines added a commit that referenced this pull request Jul 14, 2023
* Site Editor: Restore quick inserter 'Browse all' button (#52529)

* Site Editor: Restore quick inserter 'Browse all' button

* Remove leftover comment

* Patterns: update the title of Pattern block in the block inspector card  (#52010)

* Site Editor Pages: load the appropriate template if posts page set (#52266)

* This commit:
- links the posts page to the homepage template when a post page is set
- abstracts logic to get page item props

* The Posts Page resolves to display the Home or Index template only. Adding a check to skip the Front Page

* Showing homepage settings for posts pages that are set as the post page in reading settings

* Post pages that have been set to display posts will redirect to first the home template, then the index template. The fallback is the post id of the page.

* Reverted refactor of packages/edit-site/src/components/sidebar-navigation-screen-page/index.js
Will do it in a follow up

* Allow editing existing footnote from formats toolbar (#52506)

* Block Editor: Display variation icon in the 'BlockDraggable' component (#52502)

* Patterns: add option to set sync status when adding from wp-admin patterns list (#52352)

* Show a modal to set sync status if adding pattern from pattern list page

* Make sure the modal loads if post settings panel not open

* don't load modal component at all if not new post

* Simplify the sync status so undefined always = synced

* Update packages/editor/src/components/post-sync-status/index.js

---------

Co-authored-by: Ramon <ramonjd@users.noreply.github.com>

* Revise LinkControl suggestions UI to use MenuItem (#50978)

* Use "link" instead of "URL" for URL_TYPE

* Use MenuItem for search create button

* Use sentence case for "Create page"

* Use a MenuGroup for search results

* Use MenuItem for search item

* Refactoring styles (WIP)

* Preserve whitespace in results text

* Reinstate result item information including permalink

* Remove debugging CSS code

* Reinstate CSS to control size of rich previews favicon

* Remove other commented out CSS code

* Reinstate selected styles

* Remove more redundant CSS

* Add some basic results hover/focus styling.

Needs improving

* Improve icon alignment

* Update tests to handle wording changes

* Remove inconsistent hover/focus style

MenuItem already has hover/focus styles

* Reinstate is-selected visual state

* Update test to make sense in context of #51011

See #51011

* Fix locator for result text

---------

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Fix LinkControl mark highlight to bold (#52517)

* Add 'reusable' keyword to Pattern blocks (#52543)

* Fix missing Add Template Part button in Template Parts page (#52542)

* Tweak copy for the reusable block rename hint (#52581)

* Trim footnote anchors from excerpts (#52518)

* Trim footnote anchors from excerpts

* Add comments, fix spacing, appease linter

* Site Editor: Reset device preview type when exiting the editing mode (#52566)

* Make "My patterns" permanently visible (#52531)

* Hide site hub when resizing frame upwards to avoid overlap (#52180)

* Fix "Manage all patterns" link appearance (#52532)

* Fix "Manage all patterns" link

* Update focus style

* Update navigation menu title size & weight in detail panels (#52477)

* Update menu title size

* Adjust font weight

* Site Editor Patterns: Ensure sidebar does not shrink when long pattern titles are used (#52547)

* Edit Site: Select templateType from the store inside the useSiteEditorSettings hook (#52503)

* Add width to ensure ellipsis is applied (#52575)

* Cover Block: Fix block deprecation when fixed background is enabled (#51612)

* ResizableFrame: Make keyboard accessible (#52443)

* ResizableFrame: Make keyboard accessible

* Fix outline in Safari

* Use proper CSS modifier

* Add aria-label to button

* Keep handle enlarged when resizing (Safari)

* Add back visually hidden help text

* Don't switch to edit mode

* Make the handle a role="separator"

* Revert to `button`

* Switch description text to `div hidden`

* Prevent keydown event default when right/left arrow

* Change minimum frame width to 320px

* Mention shift key in description text

* Only render resize handle when in View mode

* Fix importing classic menus (#52573)

* use the same create hook for classic import

* Remove redundant arg to hook

---------

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Site Editor: Fix navigation menu sidebar actions order and label (#52592)

* Avoid errors in Dimension visualizers when switching between iframed and non-iframed editors (#52588)

* Patterns: Add client side pagination to patterns list (#52538)

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>

* Site Editor: Make sidebar back button go *back* instead of *up* if possible (#52456)

* Navigator: Add replace option to goTo() and goToParent()

* Site Editor: Make sidebar back button go back instead of up if possible

* Adapt template part hint copy (#52527)

* Try "panel" instead of "page"

* Update template-part-hint.js

---------

Co-authored-by: George Mamadashvili <georgemamadashvili@gmail.com>
Co-authored-by: Glen Davies <glendaviesnz@users.noreply.github.com>
Co-authored-by: Ramon <ramonjd@users.noreply.github.com>
Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com>
Co-authored-by: Rich Tabor <hi@richtabor.com>
Co-authored-by: Dave Smith <getdavemail@gmail.com>
Co-authored-by: Robert Anderson <robert@noisysocks.com>
Co-authored-by: James Koster <james@jameskoster.co.uk>
Co-authored-by: Andrew Serong <14988353+andrewserong@users.noreply.github.com>
Co-authored-by: arthur791004 <arthur.chu@automattic.com>
Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
Co-authored-by: Lena Morita <lena@jaguchi.com>
Co-authored-by: Andrei Draganescu <me@andreidraganescu.info>
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
@mburridge mburridge added the [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") label Jul 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") [Type] Regression Related to a regression in the latest release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pattern Placeholder blocking editing of template parts in site editor
6 participants