Define the 3 areas the Top Bar will provide

Created on 30 October 2024, 22 days ago

Problem/Motivation

Currently the Top Bar renders the the local tasks. But there is no logic, order or even an standardized way to add elements to it.

Proposed resolution

Provide 3 delimited regions where UI elements will be hooked and rendered.
Refactor how the existing local tasks are rendered so they used the standardized system created in this issue.

Remaining tasks

User interface changes

None

Introduced terminology

API changes

Data model changes

Release notes snippet

📌 Task
Status

Active

Version

11.0 🔥

Component

navigation.module

Created by

🇪🇸Spain ckrina Barcelona

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

Merge Requests

Comments & Activities

  • Issue created by @ckrina
  • 🇪🇸Spain plopesc Valladolid

    Working on the definition of the 3 new areas.

  • 🇪🇸Spain plopesc Valladolid
  • 🇪🇸Spain plopesc Valladolid

    plopesc changed the visibility of the branch 3484564-define-top-bar-regions to hidden.

  • 🇪🇸Spain plopesc Valladolid

    plopesc changed the visibility of the branch 3484564-define-top-bar-regions to active.

  • 🇪🇸Spain plopesc Valladolid

    Initial round to define the new TopBar render element and the plugin system to define top bar items.

    We can iterate from here if the approach is considered valid.

  • Pipeline finished with Failed
    21 days ago
    Total: 575s
    #325772
  • Pipeline finished with Failed
    21 days ago
    Total: 623s
    #325788
  • 🇫🇷France nod_ Lille

    Conceptually I don't see an issue. The fact that it's not editable makes sense.

    on the PHP implementation i'm not the best person to comment, just pointing out that the region names feels a bit magic, if we're really tryin to enforce the 3 areas i'd use an enum or something a bit more restrictive (and maybe easier to document).

    As it is contrib can add anything fairly easily, and i'm not sure it's a feature or not.

  • Pipeline finished with Canceled
    15 days ago
    #331063
  • Pipeline finished with Running
    15 days ago
    #331065
  • 🇪🇸Spain plopesc Valladolid

    Good point about the enum!

    Created and used it as part of TopBar::preRenderTopBar() . Tried to use the enum in the twig template as well, but it was not possible, given that enum support in Twig has been added recently and will not be available until 3.15. Core is now using Twig 3.14.

    See https://twig.symfony.com/doc/3.x/functions/enum.html & https://github.com/twigphp/Twig/pull/4352

    Regarding the styles, some basic styling is needed. Hopefully a more experienced FE dev could help here.

  • 🇫🇷France nod_ Lille

    Let's get some minimal styling going on. just some barebone flexbox layout to replicate the positioning we can see 📌 [PP1] Show entity information on the Top Bar Postponed

  • 🇷🇸Serbia finnsky

    This issue has POC with styles required
    https://www.drupal.org/project/drupal/issues/3401826 🌱 [PLAN] Top contextual bar Active

  • 🇬🇧United Kingdom catch

    Left a (slightly drive-by) review on the MR.

  • Pipeline finished with Success
    14 days ago
    #331754
  • Pipeline finished with Success
    14 days ago
    Total: 1344s
    #332052
  • Pipeline finished with Failed
    13 days ago
    Total: 682s
    #332756
  • Pipeline finished with Failed
    13 days ago
    #332791
  • Pipeline finished with Success
    13 days ago
    Total: 1891s
    #332859
  • 🇮🇳India kunalkursija Mumbai

    I tried applying the patch today to see what functionality is being added. Unfortunately, The patch is failing to apply.
    Navigation.module seems to be having conflicts.

  • Pipeline finished with Failed
    about 21 hours ago
    Total: 139s
    #344653
  • Pipeline finished with Success
    about 21 hours ago
    Total: 637s
    #344659
  • 🇮🇳India kunalkursija Mumbai

    Tried out the MR, This seems to be a solid way of defining the top bar elements. Thanks @plopesc!

  • Pipeline finished with Failed
    about 3 hours ago
    Total: 793s
    #345521
  • 🇷🇸Serbia finnsky

    I'm not really sure how to apply styles to nothing :)

    Could you please add some test cases?

Production build 0.71.5 2024