/** * Build the items. * * @param TreeBuilder $builder */ public function build(TreeBuilder $builder) { foreach ($builder->getTreeEntries() as $entry) { $segments = $this->segments->build($builder, $entry); $buttons = $this->buttons->build($builder, $entry); $buttons = $buttons->enabled(); $id = $entry->getId(); $parent = $entry->{$builder->getTreeOption('parent_segment', 'parent_id')}; $item = compact('builder', 'segments', 'buttons', 'entry', 'parent', 'id'); $item = $this->evaluator->evaluate($item, compact('builder', 'entry')); $builder->addTreeItem($this->factory->make($item)); } }
/** * Build segments and load them to the tree. * * @param BuildSegments $command */ public function handle(BuildSegments $command) { $this->builder->build($command->getBuilder()); }