function ToolbarHandler::lazyBuilder

Lazy builder callback for the devel menu toolbar.

Return value

array The renderable array rapresentation of the devel menu.

File

src/ToolbarHandler.php, line 143

Class

ToolbarHandler
Toolbar integration handler.

Namespace

Drupal\devel

Code

public function lazyBuilder() {
  $parameters = new MenuTreeParameters();
  $parameters->onlyEnabledLinks()
    ->setTopLevelOnly();
  $tree = $this->menuLinkTree
    ->load('devel', $parameters);
  $manipulators = [
    [
      'callable' => 'menu.default_tree_manipulators:checkAccess',
    ],
    [
      'callable' => 'menu.default_tree_manipulators:generateIndexAndSort',
    ],
    [
      'callable' => ToolbarHandler::class . ':processTree',
    ],
  ];
  $tree = $this->menuLinkTree
    ->transform($tree, $manipulators);
  $build = $this->menuLinkTree
    ->build($tree);
  CacheableMetadata::createFromRenderArray($build)->addCacheableDependency($this->config)
    ->applyTo($build);
  return $build;
}