Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix navigation block inserter behavior: prioritize submenus and disable direct insert. #68263

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

snehapatil2001
Copy link
Contributor

@snehapatil2001 snehapatil2001 commented Dec 24, 2024

Closes #68184

What?

This PR fixes the behavior of the navigation block inserter by disabling direct block insertion and adding 'core/navigation-submenu' to the prioritized block list. It ensures that all navigation block variations, including submenus, are easily accessible and consistent across both the canvas and list views.

Why?

The current behavior of the navigation block inserter causes an inconsistent user experience by directly inserting blocks without showing the block inserter UI. This makes it difficult to insert navigation blocks, especially submenus. By disabling direct insertion and ensuring proper prioritization of blocks, we aim to provide a more predictable and consistent block insertion process across all contexts.

How?

  • Changed the directInsert property from true to false in both inner-blocks.js and unsaved-inner-blocks.js to prevent direct block insertion.
  • Updated the PRIORITIZED_INSERTER_BLOCKS constant to include 'core/navigation-submenu', ensuring submenus are prioritized and accessible in the block inserter.
  • Modified renderAppender logic to ensure that the block inserter UI appears consistently and provides clear navigation options.

Testing Instructions

  1. Open a post or page.
  2. Add a navigation block.
  3. Verify that the block inserter UI appears rather than direct block insertion.
  4. Test adding different types of navigation blocks (including submenus) from both the canvas and list view.
  5. Ensure that prioritized blocks, including 'core/navigation-link' and 'core/navigation-submenu', are accessible in the inserter.

Screenshots or screencast

Screen.Recording.2024-12-24.at.1.08.44.PM.mov

Copy link

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core, Gutenberg Plugin.
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

1 similar comment
Copy link

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core, Gutenberg Plugin.
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

Copy link

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: snehapatil2001 <[email protected]>

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Show the same link creation UI in Navigation block canvas and editable list view.
1 participant