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); }