Commit 7e7888c6 authored by Sascha Eggenberger's avatar Sascha Eggenberger
Browse files

Update to new navigation concept

parent 1e2c7654
Loading
Loading
Loading
Loading
+13 −38
Original line number Diff line number Diff line
@@ -47,35 +47,10 @@ function gin_toolbar_preprocess_html(&$variables) {
  if ($toolbar === 'new') {
    /** @var \Drupal\gin\GinNavigaton $navigation */
    $navigation = \Drupal::classResolver(GinNavigation::class);

    // Get navigation items.
    $menu['top']['bookmarks'] = $navigation->getNavigationBookmarksMenuItems();
    $menu['middle']['content'] = $navigation->getNavigationContentMenuItems();
    $menu['middle']['admin'] = $navigation->getNavigationAdminMenuItems();
    $menu['bottom']['user'] = $navigation->getMenuNavigationUserItems();

    $variables['page_top']['navigation'] = [
      '#theme' => 'navigation',
      '#menu_top' => $menu['top'],
      '#menu_middle' => $menu['middle'],
      '#menu_bottom' => $menu['bottom'],
      '#attached' => [
        'library' => [
          'gin/navigation',
        ],
      ],
      '#access' => \Drupal::currentUser()->hasPermission('access toolbar'),
      '#weight' => -1,
    ];

    // Get the breadcrumb paths to maintain active trail in the toolbar.
    $links = \Drupal::service('breadcrumb')->build(\Drupal::routeMatch())->getLinks();
    $paths = [];
    foreach ($links as $link) {
      $paths[] = $link->getUrl()->getInternalPath();
    }
    $variables['#attached']['drupalSettings']['active_trail_paths'] = $paths;

    // Get new navigation.
    $variables['page_top']['navigation'] = $navigation->getNavigationStructure();
    // Get active trail.
    $variables['#attached']['drupalSettings']['active_trail_paths'] = $navigation->getNavigationActiveTrail();
    // Set toolbar class.
    $variables['attributes']['class'][] = 'gin--navigation';
  }
@@ -418,21 +393,21 @@ function gin_toolbar_theme() {
    ],
  ];

  $items['menu_region__middle'] = [
    'base hook' => 'menu',
  $items['menu_region__top'] = [
    'variables' => [
      'menu_name' => NULL,
      'items' => [],
      'attributes' => [],
      'links' => [],
      'title' => NULL,
      'menu_name' => NULL,
    ],
  ];

  $items['menu_region__top'] = [
  $items['menu_region__middle'] = [
    'base hook' => 'menu',
    'variables' => [
      'links' => [],
      'title' => NULL,
      'menu_name' => NULL,
      'items' => [],
      'attributes' => [],
      'title' => NULL,
    ],
  ];