You are here

public function TreeHelper::applyFunctionToTree in Views tree 8.2

Applies a given callable to each row and leaf.

Parameters

\Drupal\views_tree\TreeItem $tree: The tree item.

callable $callable: The callable.

Return value

\Drupal\views_tree\TreeItem The new tree item.

1 call to TreeHelper::applyFunctionToTree()
TreeHelper::buildRenderTree in src/TreeHelper.php
Builds a render tree from an executed view.

File

src/TreeHelper.php, line 126

Class

TreeHelper
The tree helper service.

Namespace

Drupal\views_tree

Code

public function applyFunctionToTree(TreeItem $tree, callable $callable) {
  if (($node = $tree
    ->getNode()) && $node !== NULL) {
    $new_node = $callable($tree
      ->getNode());
  }
  else {
    $new_node = NULL;
  }
  $new_tree = new TreeItem($new_node);
  foreach ($tree
    ->getLeaves() as $leave) {
    $new_tree
      ->addLeave($this
      ->applyFunctionToTree($leave, $callable));
  }
  return $new_tree;
}