ublaboo/datagrid: powerfull, fast, extensible, pretty datagrid

3 years ago

Pavel Janda
Backer | 823
+
+2
-

Documentation with examples and demos is available on project website: ublaboo.paveljanda.com.

Addon on componette: here.

No need to talk about sorting, filtering, drag & drop reordering, datasources, inline editing, ajax states, url refreshing etc. That is boring and you can find it in documentation. I will point out some features that are more fun:

  • Item detail loaded via ajax (that eye icon on homepage)
  • Filter range, filter date range, column link
  • Possibility of custom tmeplates of filters/columns/another blocks
  • Column can be displayed via renderer callback, template and also a latte {block}
  • Tree view with children loaded via ajax
  • Multilevel group actions
  • Column renderer with conditional rendering
  • Redrawing only one line when items has been changed
  • Filtered/non filtered exports, csv ready (again filtered/non filtered)

I made datagrid templating very easy. You can simply extend parent template and define your own {block data} when rendering items not in table but into divs (maybe on smaller screen of mobile device).

If you have any question or any idea feel free to ask/comment. There or in github issue.

3 years ago

Pavel Kouřil
Member | 128
+
0
-

Looks nice, I'll try it tomorrow with Doctrine data source. :)

Btw. you've got typo on the website (is't).

And one question, I am using bootstrap-datetimepicker, not bootstrap-datepicker … will it work with it too or am I going to need to make some changes?

3 years ago

Pavel Janda
Backer | 823
+
0
-

Thanks.

Can you send me a link to the library you are using? I will test it and maybe implement some property that will keep this attribute name.

3 years ago

Pavel Kouřil
Member | 128
+
0
-

Hi, I tried it it and am getting an error: Undefined variable: data_source (ublaboo\datagrid\src\DataGrid.php:351)

The code I'm using to initialize DataGrid is the following one:

public function createComponentGrid()
{
    $grid = new DataGrid();
    $grid->setDataSource(new DoctrineDataSource($this->productRepository->createQueryBuilder('p'), 'p.id'));
    $grid->addColumnNumber('id', 'id');
    return $grid;
}

I figured out the location of the error, fixed it and after I try the datagrid more (and eventually find out more errors), I'll send a PR.

Also, the datetimepicker I'm using is the one http://www.malot.fr/…etimepicker/ (recommended by nextras/forms).

3 years ago

Pavel Janda
Backer | 823
+
0
-

@PavelKouřil The way you are setting the data source is far to complicated. You can take a look at live demo here. Click on the “Show me the code” link and a demo code will slide down.

I will take a look at the datetimepicker and let you know.