Sets saving state to session.
public setRememberState ( boolean $state = TRUE, string $sectionName = NULL ) : |
||
$state | boolean | |
$sectionName | string | |
return |
/** * @param $name * @return Grid */ protected function createComponentGrid($name) { $grid = new Grid($this, $name); $grid->translator->lang = 'cs'; $fluent = $this->pagesRepository->getAll(); $pages = []; foreach ($fluent as $pageRow) { $pages[$pageRow->id] = $pageRow; } if (isset($grid->model)) { $grid->model = $fluent; } $grid->addColumnNumber('id', 'ID'); $header = $grid->getColumn('id')->headerPrototype; $header->style['width'] = '0.5%'; $grid->addColumnText('name', 'Název')->setFilterText()->setSuggestion(); $grid->getColumn('name')->headerPrototype->style['width'] = '80%'; $grid->addColumnText('active', 'Aktivní')->setCustomRender(function ($item) { if ($item->active == 0) { $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-down']); $el = Html::el('a', ['class' => 'btn btn-danger btn-xs btn-mini ajax'])->href($this->presenter->link("active!", $item->id))->setHtml($i); } else { $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-up']); $el = Html::el('a', ['class' => 'btn btn-success btn-xs btn-mini ajax'])->href($this->presenter->link("active!", $item->id))->setHtml($i); } return $el; })->cellPrototype->class[] = 'center'; $grid->addColumnText('inMenu', 'Top menu')->setCustomRender(function ($item) { $menuItems = (array) json_decode($item->inMenu); if (!in_array('topMenu', $menuItems)) { $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-down']); $el = Html::el('a', ['class' => 'btn btn-danger btn-xs btn-mini ajax'])->href($this->presenter->link("inTopMenu!", $item->id))->setHtml($i); } else { $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-up']); $el = Html::el('a', ['class' => 'btn btn-success btn-xs btn-mini ajax'])->href($this->presenter->link("inTopMenu!", $item->id))->setHtml($i); } return $el; })->cellPrototype->class[] = 'center'; $grid->addActionHref('edit', '')->setIcon('pencil'); $grid->addActionEvent('delete', '')->setCustomRender(function ($item) { if ($item->parent === 0 || $item->rgt - $item->lft > 1) { $i = Html::el('i', ['class' => 'fa']); $el = Html::el('span', ['class' => 'btn btn-xs btn-mini'])->setHtml($i); } else { $i = Html::el('i', ['class' => 'fa fa-trash']); $el = Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax', 'data-grido-confirm' => "Opravdu chcete tuto položku odstranit?"])->href($this->presenter->link("delete!", $item->id))->setHtml($i); } return $el; }); $grid->addActionEvent('moveup', '')->setCustomRender(function ($item) use($pages) { $first = $item->parent == 0 || $item->lft - 1 == $pages[$item->parent]['lft']; if ($first) { $i = Html::el('i', ['class' => 'fa']); $el = Html::el('span', ['class' => 'btn btn-xs btn-mini'])->setHtml($i); } else { $i = Html::el('i', ['class' => 'fa fa-arrow-up']); $el = Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax'])->href($this->presenter->link("move!", $item->id, self::UP))->setHtml($i); } return $el; }); $grid->addActionEvent('movedn', '')->setCustomRender(function ($item) use($pages) { $last = $item->parent == 0 || $item->rgt + 1 == $pages[$item->parent]['rgt']; if ($last) { $i = Html::el('i', ['class' => 'fa']); $el = Html::el('span', ['class' => 'btn btn-xs btn-mini'])->setHtml($i); } else { $i = Html::el('i', ['class' => 'fa fa-arrow-down']); $el = Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax'])->href($this->presenter->link("move!", $item->id, self::DN))->setHtml($i); } return $el; }); $grid->addActionHref('add', '')->setIcon('plus'); $grid->setDefaultSort(['lft' => 'ASC']); $grid->setRememberState(TRUE); $grid->setPrimaryKey('id'); $grid->setDefaultPerPage(50); $grid->setRowCallback(function ($item, $tr) { $tr->class[] = "level_{$item->level}"; return $tr; }); $grid->filterRenderType = $this->filterRenderType; $grid->setExport(); return $grid; }
/** * @param $name * @return Grid */ protected function createComponentGrid($name) { $grid = new Grid($this, $name); $grid->translator->lang = 'cs'; $fluent = $this->articlesRepository->getAll(); $articles = []; foreach ($fluent as $articleRow) { $articles[$articleRow->id] = $articleRow; } if (isset($grid->model)) { $grid->model = $fluent; } $grid->addColumnNumber('id', 'ID'); $header = $grid->getColumn('id')->headerPrototype; $header->style['width'] = '0.5%'; $grid->addColumnText('name', 'Název')->setFilterText()->setSuggestion(); $grid->getColumn('name')->headerPrototype->style['width'] = '40%'; $grid->addColumnText('active', 'Aktivní')->setCustomRender(function ($item) { if ($item->active == 0) { $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-down']); $el = Html::el('a', ['class' => 'btn btn-danger btn-xs btn-mini ajax'])->href($this->presenter->link("active!", $item->id))->setHtml($i); } else { $i = Html::el('i', ['class' => 'glyphicon glyphicon-thumbs-up']); $el = Html::el('a', ['class' => 'btn btn-success btn-xs btn-mini ajax'])->href($this->presenter->link("active!", $item->id))->setHtml($i); } return $el; })->cellPrototype->class[] = 'center'; $grid->addActionHref('edit', '')->setIcon('pencil'); $grid->addActionEvent('delete', '')->setCustomRender(function ($item) { $i = Html::el('i', ['class' => 'fa fa-trash']); $el = Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax', 'data-grido-confirm' => "Opravdu chcete tuto položku odstranit?"])->href($this->presenter->link("delete!", $item->id))->setHtml($i); return $el; }); $grid->setDefaultSort(['date' => 'DESC']); $grid->setRememberState(true); $grid->setPrimaryKey('id'); $grid->setDefaultPerPage(50); $grid->filterRenderType = $this->filterRenderType; $grid->setExport(); return $grid; }