protected function createComponentInterpretList($name)
{
$grid = new Grid($this, $name);
$grid->setModel($this->interpreti->findAll());
$grid->addColumnText("nazev", "Interpret")->setCustomRender(function ($item) {
return !$item->interpret_id ? Html::el('b')->setText($item->nazev) : $item->nazev;
})->setSortable()->setFilterText()->setSuggestion();
$grid->addColumnText("alias", "Alias pro")->setColumn(function ($item) {
return isset($item->interpret->nazev) ? $item->interpret->nazev : null;
});
$grid->addFilterCheck('interpret_id', 'Jen aliasy');
$grid->addColumnText("desc", "Popis")->setCustomRender(function ($item) {
return Strings::truncate($item->desc, 256);
});
$grid->addActionHref('edit', 'Editovat', 'editor')->setIcon('pencil');
$grid->addActionHref('delete', 'Smazat', 'delete!')->setIcon('trash')->setConfirm('Opravdu chcete smazat tohoto interpreta?');
//Set face for grid
$gridTemplate = __DIR__ . "/../templates/components/Grid.latte";
if (file_exists($gridTemplate)) {
$grid->setTemplateFile($gridTemplate);
}
return $grid;
}