protected function createComponentMemberGrid($name)
 {
     $grid = new \Ublaboo\DataGrid\DataGrid($this, $name);
     if ($this->presenter->id == null) {
         $contacts = $this->database->table("users");
     } else {
         $contacts = $this->database->table("users")->where("categories_id", $this->id);
     }
     $grid->setTranslator($this->presenter->translator);
     $grid->setDataSource($contacts);
     $grid->addGroupAction('Delete')->onSelect[] = [$this, 'handleDelete'];
     $grid->addColumnLink('name', 'dictionary.main.Title')->setRenderer(function ($item) {
         $url = \Nette\Utils\Html::el('a')->href($this->presenter->link('edit', array("id" => $item->id)))->setText($item->username);
         return $url;
     })->setSortable();
     $grid->addColumnText('email', $this->presenter->translator->translate('dictionary.main.Email'))->setSortable();
     $grid->addColumnText('state', $this->presenter->translator->translate('dictionary.main.State'))->setRenderer(function ($item) {
         if ($item->date_created == 1) {
             $text = 'dictionary.main.enabled';
         } else {
             $text = 'dictionary.main.disabled';
         }
         return $this->presenter->translator->translate($text);
     })->setSortable();
     $grid->addColumnText('date_created', $this->presenter->translator->translate('dictionary.main.Date'))->setRenderer(function ($item) {
         $date = date("j. n. Y", strtotime($item->date_created));
         return $date;
     })->setSortable();
     //$grid->setTranslator($this->translator);
 }
 public function createComponentCarouselGrid($name)
 {
     $grid = new \Ublaboo\DataGrid\DataGrid($this, $name);
     $test = $this->database->table("carousel")->order("sorted");
     $grid->setDataSource($test);
     $grid->setSortable(true);
     $grid->addGroupAction('Smazat')->onSelect[] = [$this, 'handleDelete'];
     $grid->addColumnText('title', 'dictionary.main.Title')->setRenderer(function ($item) {
         if ($item->title == '') {
             $title = \Nette\Utils\Html::el('a')->href('/admin/appearance/carousel-detail/' . $item->id)->setText('- nemá název - ');
         } else {
             $title = \Nette\Utils\Html::el('a')->href('/admin/appearance/carousel-detail/' . $item->id)->setText($item->title);
         }
         return $title;
     });
     $grid->addColumnText('test', 'dictionary.main.Image')->setRenderer(function ($item) {
         if ($item->image == '') {
             $fileImage = '';
         } else {
             $fileImage = \Nette\Utils\Html::el('img', array('style' => 'max-height: 130px;'))->src('/images/carousel/' . $item->image);
         }
         return $fileImage;
     });
     $grid->setTranslator($this->presenter->translator);
 }
 public function createComponentCommunicationGrid($name)
 {
     $grid = new \Ublaboo\DataGrid\DataGrid($this, $name);
     $dbCommunications = $this->database->table("contacts_communication")->where(array("contacts_id" => $this->presenter->getParameter('id')));
     $grid->setDataSource($dbCommunications);
     $grid->setItemsPerPageList(array(20));
     $grid->addGroupAction('dictionary.main.Delete')->onSelect[] = [$this, 'handleDeleteCommunication'];
     $grid->addColumnText('communication_type', 'Typ');
     $grid->addColumnText('communication_value', 'Hodnota');
     $grid->setTranslator($this->presenter->translator);
 }
 protected function createComponentContactsGrid($name)
 {
     $grid = new \Ublaboo\DataGrid\DataGrid($this, $name);
     if ($this->presenter->id == null) {
         $contacts = $this->database->table("contacts");
     } else {
         $contacts = $this->database->table("contacts")->where("categories_id", $this->presenter->id);
     }
     $grid->setDataSource($contacts);
     $grid->addGroupAction($this->presenter->translator->translate('dictionary.main.Delete'))->onSelect[] = [$this, 'handleDelete'];
     $grid->addColumnLink('name', 'dictionary.main.Title')->setRenderer(function ($item) {
         if (strlen($item->name) == 0 && strlen($item->company) == 0) {
             $name = 'nemá název';
         } elseif (strlen($item->name) == 0) {
             $name = $item->company;
         } else {
             $name = $item->name;
         }
         $url = \Nette\Utils\Html::el('a')->href($this->presenter->link('detail', array("id" => $item->pages_id)))->setText($name);
         return $url;
     })->setSortable();
     $grid->addFilterText('name', $this->presenter->translator->translate('dictionary.main.Name'));
     $grid->addColumnText('email', $this->presenter->translator->translate('dictionary.main.Email'))->setSortable();
     $grid->addFilterText('email', $this->presenter->translator->translate('dictionary.main.Email'));
     $grid->addColumnText('phone', $this->presenter->translator->translate('dictionary.main.Phone'))->setSortable();
     $grid->addFilterText('phone', $this->presenter->translator->translate('dictionary.main.Phone'));
     $grid->addColumnText('vatin', $this->presenter->translator->translate('dictionary.main.VatIn'))->setSortable();
     $grid->addFilterText('vatin', 'dictionary.main.VatIn');
     $grid->addColumnText('street', $this->presenter->translator->translate('dictionary.main.Address'))->setRenderer(function ($item) {
         $address = $item->street . ', ' . $item->zip . ' ' . $item->city;
         if (strlen($address) > 2) {
             $addressText = $address;
         } else {
             $addressText = null;
         }
         return $addressText;
     })->setSortable();
     $grid->addFilterText('street', 'dictionary.main.Street');
     $grid->setTranslator($this->presenter->translator);
 }