public function create()
 {
     $grid = new Grid();
     $grid->model = $this->clientFacade->createDSDoctrine();
     $grid->addColumnText('name', 'Name')->setCustomRender(function ($item) {
         $href = $this->linkGenerator->link('Backend:Clients:update', array('id' => $item->id));
         return "<a href ='" . $href . "'>" . $item->name . "</a>";
         /* $el = Html::el('a');
            // $item represents whole row. So you can get here any filed you want.
            $el->setText($item->name);
            $el->addAttributes(array('target'=>"_blank"));
            $el->href = $this->linkGenerator->link(
                'Backend:Clients:product',    // this is how you can generate any link MODULE_NAME:PRESENTER_NAME:ACTION_NAME
                array(
                    // here is a place for path parameters. FE: here you are expecting /admin/<presenter>/<action>[/<id>]
                    // id is a parameter we can set here. FYI [/<id>] means that id is not required parameter, it can be NULL.
                    'id' => $item->id
                )
            );
            return $el;*/
     })->setSortable()->setFilterNumber();
     $grid->addColumnText('product', 'Product')->setCustomRender(function ($item) {
         return $item->product->name;
     })->setSortable()->setFilterText()->setSuggestion();
     $grid->addColumnText('address', 'Address')->setSortable()->setFilterText()->setSuggestion();
     $grid->addActionHref('update', 'Update')->setIcon('pencil');
     $grid->addActionEvent('delete', 'Delete', function ($item) {
         $this->clientFacade->delete($item);
     })->setIcon('trash-o')->setConfirm(function ($item) {
         return "Are you sure you want to delete {$item->name}?";
     });
     return $grid;
 }
Exemple #2
0
 /**
  * @return \Grido\Grid
  */
 protected function createComponentTable()
 {
     $table = new Grid();
     $table->setModel(new ArraySource($this->getFiles()));
     $table->addColumnText('id', 'Link')->setSortable()->getCellPrototype()->width = '70%';
     $table->addColumnDate('date', 'Date', 'Y.m.d H:i:s')->setSortable()->getCellPrototype()->width = '30%';
     $event = $table->addActionEvent('show', 'Show');
     $event->onClick[] = $this->handleShow;
     $event = $table->addActionEvent('delete', 'Delete');
     $event->getElementPrototype()->class[] = 'ajax';
     $event->onClick[] = $this->handleDelete;
     $event->setConfirm(function () {
         return 'Really delete?';
     });
     return $table;
 }
Exemple #3
0
 /**
  * @return \Grido\Grid
  */
 protected function createComponentTable()
 {
     $table = new Grid();
     $table->setModel(new ArraySource($this->workerManager->getWorkers()));
     $table->addColumnText('id', 'ID')->getCellPrototype()->width = '40%';
     $table->addColumnText('state', 'State')->setCustomRender(function ($data) {
         $lastCheck = \DateTime::createFromFormat('Y-m-d H:i:s', $data['lastCheck']);
         $lastCheck->modify('+' . ($this->workerManager->getInterval() + 7) . ' second');
         return $lastCheck < new \DateTime() ? 'break' : $data['state'];
     })->getCellPrototype()->width = '20%';
     $table->addColumnText('lastCheck', 'Last check')->getCellPrototype()->width = '30%';
     $table->addColumnText('lastJob', 'Last job')->getCellPrototype()->width = '30%';
     $table->addActionEvent('debug', 'Debug')->onClick[] = $this->tableDebugClick;
     $table->addActionEvent('restart', 'Restart')->onClick[] = $this->tableRestartClick;
     $table->addActionEvent('stop', 'Stop')->onClick[] = $this->tableStopClick;
     return $table;
 }
 protected function setupGrid(Grid $grid)
 {
     $grid->addColumnText('name', 'Name')->setSortable()->setFilterText()->setSuggestion();
     $grid->addColumnText('content', 'Content')->setCustomRender($this->renderContent)->setSortable()->setFilterText();
     $grid->addColumnBoolean('active', 'Active')->setSortable()->setFilterSelect(['' => '', 1 => 'Yes', 0 => 'No']);
     $grid->addActionHref('update', 'Update')->setIcon('pencil');
     $grid->addActionEvent('delete', 'Delete', $this->delete)->setIcon('trash-o')->setConfirm(function ($item) {
         return "Are you sure you want to delete {$item->name}?";
     });
 }
 protected function setupGrid(Grid $grid)
 {
     $grid->addColumnText('name', 'Name')->setSortable()->setFilterText()->setSuggestion();
     $grid->addColumnEmail('email', 'Email')->setSortable()->setFilterText()->setSuggestion();
     $grid->addColumnText('role', 'Role')->setSortable()->setFilterText()->setSuggestion();
     $grid->addActionHref('update', 'Update')->setIcon('pencil');
     $grid->addActionEvent('delete', 'Delete', $this->delete)->setIcon('trash-o')->setConfirm(function ($item) {
         return "Are you sure you want to delete {$item->name}?";
     });
 }
Exemple #6
0
 /**
  * @param $name
  * @return Grid
  */
 protected function createComponentGrid($name)
 {
     $grid = new Grid($this, $name);
     $grid->translator->lang = 'cs';
     $fluent = $this->sliderRepository->getAll();
     $grid->model = $fluent;
     $grid->addColumnText('imgName', 'Obrázek')->setCustomRender(function ($item) {
         $img = Html::el('img')->src($item->imgName)->width('200');
         return $img;
     });
     $grid->addColumnText('imgTitle', 'Titulek')->setSortable()->setFilterText();
     $grid->getColumn('imgTitle')->headerPrototype->style['width'] = '20%';
     $grid->addColumnText('imgDescription', 'Popisek')->setSortable()->setFilterText();
     $grid->getColumn('imgDescription')->headerPrototype->style['width'] = '40%';
     $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'])->href($this->presenter->link("delete!", $item->id))->setHtml($i);
         return $el;
     });
     $grid->setDefaultPerPage(50);
     $grid->filterRenderType = $this->filterRenderType;
     $grid->setExport();
     return $grid;
 }
Exemple #7
0
 /**
  * @param $name
  * @return Grid
  * @throws \Grido\Exception
  */
 protected function createComponentGrid($name)
 {
     $grid = new Grid($this, $name);
     $grid->translator->lang = 'cs';
     $fluent = $this->newsRepository->getAll();
     $grid->model = $fluent;
     $grid->addColumnText('title', 'Titulek')->setSortable()->setFilterText();
     $grid->getColumn('title')->headerPrototype->style['width'] = '65%';
     $grid->addColumnDate('dateAdd', 'Datum')->setSortable()->setFilterText();
     $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->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'])->href($this->presenter->link("delete!", $item->id))->setHtml($i);
         return $el;
     });
     $grid->addActionHref('edit', '')->setIcon('pencil');
     $grid->setDefaultSort(['dateAdd' => 'DESC']);
     $grid->setDefaultPerPage(50);
     $grid->filterRenderType = $this->filterRenderType;
     $grid->setExport();
     return $grid;
 }
Exemple #8
0
 /**
  * @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;
 }
Exemple #9
0
 /**
  * @param $name
  * @return Grid
  */
 protected function createComponentGrid($name)
 {
     $grid = new Grid($this, $name);
     $grid->translator->lang = 'cs';
     $fluent = $this->usersRepository->getAll();
     $grid->model = $fluent;
     $grid->addColumnText('username', 'Username')->setSortable()->setFilterText();
     $grid->addColumnText('name', 'Name')->setSortable()->setFilterText();
     $grid->addColumnText('lastname', 'Lastname')->setSortable()->setFilterText();
     $grid->addColumnText('role', 'Role')->setSortable()->setFilterText();
     $grid->addActionHref('edit', '')->setIcon('pencil');
     $grid->addActionEvent('delete', '')->setCustomRender(function ($item) {
         $i = \Nette\Utils\Html::el('i', ['class' => 'fa fa-trash']);
         $el = \Nette\Utils\Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax'])->href($this->presenter->link("delete!", $item->id))->setHtml($i);
         return $el;
     });
     $grid->setDefaultPerPage(50);
     $grid->filterRenderType = $this->filterRenderType;
     $grid->setExport();
     return $grid;
 }
Exemple #10
0
 /**
  * @param $name
  * @return Grid
  * @throws \Grido\Exception
  */
 protected function createComponentGrid($name)
 {
     $grid = new Grid($this, $name);
     $grid->translator->lang = 'cs';
     $fluent = $this->commentsRepository->getAll();
     $grid->model = $fluent;
     $grid->addColumnText('author', 'Autor')->setSortable()->setFilterText();
     $grid->addColumnDate('date', 'Datum')->setSortable()->setFilterText();
     $grid->addColumnText('allowed', 'Schváleno')->setCustomRender(function ($item) {
         if ($item['allowed'] === 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("allowed!", $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("allowed!", $item['id']))->setHtml($i);
         }
         return $el;
     })->cellPrototype->class[] = 'center';
     $grid->addColumnText('text', 'Text')->setCustomRender(function ($item) {
         $el = Html::el('span')->setText(Strings::substring($item['text'], 0, 80));
         return $el;
     });
     $grid->getColumn('text')->headerPrototype->style['width'] = '90%';
     $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'])->href($this->presenter->link("delete!", $item['id']))->setHtml($i);
         return $el;
     });
     $grid->setDefaultSort(['date' => 'DESC']);
     $grid->setDefaultPerPage(50);
     $grid->filterRenderType = $this->filterRenderType;
     $grid->setExport();
     return $grid;
 }
Exemple #11
0
 /**
  * @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;
 }
Exemple #12
0
 /**
  * @param $name
  * @return Grid
  * @throws \Grido\Exception
  */
 protected function createComponentGridPictures($name)
 {
     $grid = new Grid($this, $name);
     $grid->translator->lang = 'cs';
     $fluent = $this->picturesRepository->getAllWhere(['galleryId' => $this->getParameter('id')]);
     $grid->model = $fluent;
     $grid->addColumnText('id', 'ID')->setSortable();
     $grid->getColumn('id')->headerPrototype->style['width'] = '1%';
     $grid->addColumnText('name', 'Název')->setSortable()->setFilterText();
     $grid->getColumn('name')->headerPrototype->style['width'] = '25%';
     $grid->addColumnText('file', 'Soubor')->setSortable()->setFilterText();
     $grid->getColumn('file')->headerPrototype->style['width'] = '40%';
     $grid->addActionHref('editPicture', '')->setIcon('pencil');
     $grid->addActionEvent('deletePicture', '')->setCustomRender(function ($item) {
         $i = Html::el('i', ['class' => 'fa fa-trash']);
         $el = Html::el('a', ['class' => 'btn btn-default btn-xs btn-mini ajax'])->href($this->presenter->link("deletePicture!", $item->id))->setHtml($i);
         return $el;
     });
     $grid->setDefaultPerPage(50);
     $grid->filterRenderType = $this->filterRenderType;
     $grid->setExport();
     return $grid;
 }