/** * Build the rows. * * @param TableBuilder $builder */ public function build(TableBuilder $builder) { foreach ($builder->getTableEntries() as $entry) { $columns = $this->columns->build($builder, $entry); $buttons = $this->buttons->build($builder, $entry); $buttons = $buttons->enabled(); $row = compact('columns', 'buttons', 'entry'); if ($entry instanceof Model) { $row['key'] = $entry->getKey(); } $row['table'] = $builder->getTable(); $row = $this->evaluator->evaluate($row, compact('builder', 'entry')); $builder->addTableRow($this->factory->make($row)); } }
/** * Build columns and load them to the table. * * @param BuildColumns $command */ public function handle(BuildColumns $command) { $this->builder->build($command->getBuilder()); }