예제 #1
0
 /**
  * Component factory for Roles administration grid
  * @param string $name
  */
 public function createComponentRolesGrid($name)
 {
     $grid = new \Grido\Grid($this, $name);
     $grid->setModel($this->roleService->getRolesDatasource());
     $grid->addColumnNumber('id', '#')->cellPrototype->class[] = 'center';
     $headerId = $grid->getColumn('id')->headerPrototype;
     $headerId->class[] = 'center';
     $headerId->rowspan = "2";
     $headerId->style['width'] = '0.1%';
     $grid->addColumnText('name', 'Jméno')->setSortable()->setFilterText();
     $grid->getColumn('name')->getEditableControl()->setRequired('Name is required.');
     $headerName = $grid->getColumn('name')->headerPrototype;
     $headerName->class[] = 'center';
     $grid->addColumnText('parents', 'Rodiče')->setSortable()->setFilterText();
     $grid->getColumn('parents')->setCustomRender(callback($this, 'roleParColToString'));
     $headerParent = $grid->getColumn('parents')->headerPrototype;
     $headerParent->class[] = 'center';
     $grid->addColumnDate('added', 'Přidáno')->setSortable();
     $headerAdded = $grid->getColumn('added')->headerPrototype;
     $headerAdded->class[] = 'center';
     $grid->addColumnText('note', 'Poznámka')->setCustomRender($this->noteGridRender)->setSortable()->setTruncate(20)->setFilterText();
     $headerNote = $grid->getColumn('note')->headerPrototype;
     $headerNote->class[] = 'center';
     $grid->addActionHref('delete', '', 'deleteRole!')->setIcon('trash')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("securityModule.admin.grid.delete")]))->setConfirm(function ($u) {
         return $this->tt("securityModule.admin.grid.rlyDeleteRole", null, ["pos" => $u]);
     });
     $grid->addActionHref('edit', '', 'updateRole')->setIcon('pencil')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("securityModule.admin.grid.update")]));
     $grid->setOperation(["delete" => $this->tt("system.common.delete")], $this->roleGridOpsHandler);
     $grid->setFilterRenderType($this->filterRenderType);
     $grid->setExport("admin-roles " . date("Y-m-d H:i:s", time()));
 }