ublaboo / datagrid-elasticsearch-data-source
Elasticsearch DataSource for Ublaboo\DataGrid
Fund package maintenance!
f3l1x
contributte.org/partners.html
Requires
- php: >= 7.1
- elasticsearch/elasticsearch: ^7.1
- nette/application: ^3.0
- ublaboo/datagrid: ~6.0
Requires (Dev)
- gamee/php-code-checker-rules: ^1.2
- nette/tester: ~2.3
README
Website 🚀 contributte.org | Contact 👨🏻💻 f3l1x.io | Twitter 🐦 @contributte
Disclaimer
Composer | ublaboo/datagrid-elasticsearch-data-source |
---|---|
Version | |
PHP | |
License |
Documentation
Usage
<?php namespace App\Presenters; use Elasticsearch\Client; use Nette\Application\UI\Presenter; use Ublaboo\DataGrid\DataGrid; use Ublaboo\DatagridElasticsearchDataSource\ElasticsearchDataSource; final class UsersPresenter extends Presenter { /** * @var ElasticsearchDataSource */ private $elasticsearchDataSource; public function __construct(Client $client) { $this->elasticsearchDataSource = new ElasticsearchDataSource( $client, // Elasticsearch\Client 'users', // Index name 'user' // Index type ); } public function createComponentUsersGrid(): DataGrid { $grid = new DataGrid; $grid->setDataSource($this->elasticsearchDataSource); $grid->addColumnText('id', '#')->setSortable(); $grid->addColumnLink('nickname', 'Nickname', 'edit') ->setFilterText(); $grid->addColumnText('username', 'E-mail (username)') ->setFilterText(); $grid->addColumnText('age', 'Age') ->setSortable() ->setFilterRange(); $grid->addColumnText('status', 'Status') ->setFilterMultiSelect([ 'active' => 'Active', 'disabled' => 'Disabled', ]); $grid->addColumnDateTime('created', 'Created') ->setFormat('j. n. Y H:i:s') ->setFilterDateRange(); return $grid; } }
Development
This package was maintain by these authors.
Consider to support contributte development team. Also thank you for being used this package.