function ToolbarHandler::lazyBuilder

Same name in other branches
  1. 8.x-1.x src/ToolbarHandler.php \Drupal\devel\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;
}