Remove Layout Builder dependency for the UI of Navigation admin config

Created on 25 April 2025, 1 day ago

Problem/Motivation

The navigation admin UI is tied to Layout Builder by design #3438895-24: Add the new Navigation to core as an Experimental module β†’ to reduce code duplication. Now that Layout Builder is not the future of laying things out in core, we need to prepare for it's removal. First step is to update the UI, another issue will need to deal with the new config format of the navigation configuration.

Steps to reproduce

Proposed resolution

Remove the dependency on the Layout Builder interface and create a bespoke UI that still generates Layout Builder configuration.

Remaining tasks

Define if there is an updated UI or if we simply replace the implementation while keeping most of the existing UX.

User interface changes

Updated interface for navigation sidebar configuration

Introduced terminology

API changes

none

Data model changes

none

Release notes snippet

πŸ“Œ Task
Status

Active

Version

11.0 πŸ”₯

Component

navigation.module

Created by

πŸ‡«πŸ‡·France nod_ Lille

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @nod_
  • πŸ‡¬πŸ‡§United Kingdom catch

    It seems likely that this won't be the last blocker to deprecating layout builder, so I think it would make sense to remove the layout builder UI dependency as a by-product of the UX improvements, and then only have to do the implementation once (or at least, not definitely have to do it twice).

    We briefly discussed that https://github.com/SortableJS/Sortable might be a good fit here, since this only needs 1d drag and drop, and doesn't need/want a table. Sortable is already in core.libraries.yml so no new dependency.

  • πŸ‡ͺπŸ‡ΈSpain ckrina Barcelona

    Huge +1 to this. As discussed with Navigation maintainers and several core committers the existing UI doesn’t meet the UX standards we should have.

Production build 0.71.5 2024