Autor
Matouš Němec (mesour.com)
mesour/datagrid
Obsah
● Dokumentace (stylem kód → ukázka)
● Mesour DataGrid
● Plány do budoucna
● Otázky
Mesour DataGrid
● Proč vlastně nový grid
– Nevyhovující API
– Chybějící featury
● V čem je tento grid výjimečný
– Styl but...
Schéma Gridu
Jak to rozchodit
1. Instalace Composer „mesour/datagrid“
2. Vytvoření componenty Gridu
● createComponentTestGrid($name)
3....
Základní Grid
// v presenteru
use DataGridNetteDbDataSource,
DataGridGrid;
protected function createComponentTestGrid($nam...
Základní Grid
Vlastní sloupce
● Metody začínající „add“
– $grid->addText('name', 'Name');
● Více nastavení
– $grid->addDate('from')
->se...
Rozšíření a události
● Metody začínající „enable“
– $grid->enablePager(10);
// 10 = limit na stránku
● Metody začínající „...
Nejvíce řešené na fóru
● AJAX - Nette Snippety - překreslení
– jquery.nette.js
– $(window).ajaxComplete(...)
● Načítání JS...
Plány do budoucna
● SubGridy (SubItemy)
– AJAXové donačtení
– Rekurze
– Itemy: text, formulář...
● Vlastní renderer factor...
Dotazy?
Díky za pozornost.
of 12

Mesour DataGrid

Prezentace k přednášce na Nette Posobotě 31.1.2015
Published on: Mar 4, 2016
Published in: Software      
Source: www.slideshare.net


Transcripts - Mesour DataGrid

  • 1. Autor Matouš Němec (mesour.com) mesour/datagrid
  • 2. Obsah ● Dokumentace (stylem kód → ukázka) ● Mesour DataGrid ● Plány do budoucna ● Otázky
  • 3. Mesour DataGrid ● Proč vlastně nový grid – Nevyhovující API – Chybějící featury ● V čem je tento grid výjimečný – Styl buttonů a dropdownů – Sorting (problémy: filtr, stránkování) – Vlastní filtr form a podmínky
  • 4. Schéma Gridu
  • 5. Jak to rozchodit 1. Instalace Composer „mesour/datagrid“ 2. Vytvoření componenty Gridu ● createComponentTestGrid($name) 3. Vypsání do templaty ● {control testGrid}
  • 6. Základní Grid // v presenteru use DataGridNetteDbDataSource, DataGridGrid; protected function createComponentTestGrid($name) { $selection = $this->nette_db_context->table('user'); $source = new NetteDbDataSource($selection); $source->setPrimaryKey('user_id'); // default „id“ $grid = new Grid($this, $name); $grid->setDataSource($source); return $grid; } // v šabloně {control testGrid}
  • 7. Základní Grid
  • 8. Vlastní sloupce ● Metody začínající „add“ – $grid->addText('name', 'Name'); ● Více nastavení – $grid->addDate('from') ->setHeader('From') ->setFormat('j.n.Y H:i');
  • 9. Rozšíření a události ● Metody začínající „enable“ – $grid->enablePager(10); // 10 = limit na stránku ● Metody začínající „on“ – $grid->onSort[] = callback($this, 'sort');
  • 10. Nejvíce řešené na fóru ● AJAX - Nette Snippety - překreslení – jquery.nette.js – $(window).ajaxComplete(...) ● Načítání JS a CSS – Metody: disableJsDraw a disableCssDraw – Soubory: src/grid.js a src/grid.css – Pořadí, vlastní načítání
  • 11. Plány do budoucna ● SubGridy (SubItemy) – AJAXové donačtení – Rekurze – Itemy: text, formulář... ● Vlastní renderer factory – Potřeba upravit stávající implementaci ● Inline default filtr ● Permissions (zjednodušit, zpřehlednit, jak?)
  • 12. Dotazy? Díky za pozornost.

Related Documents