示例#1
0
 public function createComponentStaticPagesGrid($name)
 {
     try {
         //	    $users	= [null=>null] + $this->userService->getSelectUsers();
         //	    $pages	= [null=>null] + $this->staticPageService->getSelectStaticPages();
         $states = [null => null] + StaticPageStatus::getOptions();
         $commModes = [null => null] + CommentMode::getOptions();
     } catch (Exceptions\DataErrorException $ex) {
         $this->handleDataLoad(null, ":System:Default:adminRoot", $ex);
     }
     $grid = new Grid($this, $name);
     $grid->setTranslator($this->getTranslator());
     $grid->setModel($this->staticPageService->getPagesDataSource());
     $grid->setPrimaryKey('id');
     $grid->addColumnNumber('id', '#')->cellPrototype->class[] = 'center';
     $headerId = $grid->getColumn('id')->headerPrototype;
     $headerId->class[] = 'center';
     $headerId->rowspan = "2";
     $headerId->style['width'] = '0.1%';
     $grid->addColumnText('title', $this->tt("systemModule.admin.grid.title"))->setSortable();
     $headerTt = $grid->getColumn('title')->headerPrototype;
     $headerTt->class[] = 'center';
     $grid->addColumnText('abbr', $this->tt("systemModule.admin.grid.abbr"))->setSortable()->setFilterText();
     $headerAb = $grid->getColumn('abbr')->headerPrototype;
     $headerAb->class[] = 'center';
     //	$grid->addColumnText('parent', $this->tt("systemModule.admin.grid.parent"))
     //		->setSortable()
     //		->setFilterSelect($pages);
     //	$headerParent = $grid->getColumn('parent')->headerPrototype;
     //	$headerParent->class[] = 'center';
     $grid->addColumnText('group', $this->tt("systemModule.admin.grid.group"))->setSortable()->setFilterSelect([null => null] + $this->getSelectSportGroups());
     $headerParent = $grid->getColumn('group')->headerPrototype;
     $headerParent->class[] = 'center';
     $grid->addColumnText('commentMode', $this->tt("systemModule.admin.grid.commMode"))->setSortable()->setCustomRender($this->spCommModeRender)->setFilterSelect($commModes);
     $headerCm = $grid->getColumn('commentMode')->headerPrototype;
     $headerCm->class[] = 'center';
     $grid->addColumnText('status', $this->tt("systemModule.admin.grid.status"))->setSortable()->setCustomRender($this->spStatusRender)->setFilterSelect($states);
     $headerSt = $grid->getColumn('status')->headerPrototype;
     $headerSt->class[] = 'center';
     $grid->addActionHref('delete', '', 'deleteStaticPage!')->setIcon('trash')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("systemModule.admin.grid.delete")]))->setConfirm(function ($u) {
         return $this->tt("systemModule.admin.grid.messages.rlyDelPage", null, ["id" => $u->getId()]);
     });
     $grid->addActionHref('edit', '', 'updateStaticPage')->setIcon('pencil')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("systemModule.admin.grid.update")]));
     $grid->setOperation(["delete" => $this->tt("systemModule.admin.grid.delete")], $this->staticPagesOpHandler)->setConfirm("delete", $this->tt("systemModule.admin.grid.messages.rlyDelPageItems"));
     $grid->setFilterRenderType($this->filterRenderType);
     $grid->setExport("admin-types " . date("Y-m-d H:i:s", time()));
 }