#1 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Gridito (falešný datagrid) – komponenta
Falešný datagrid je budoucí konkurenční produkt k datagridu od Romana Sklenáře. A už se můžu pochlubit demem na http://griddemo.janmarek.net/document_root/.
#2 před 2 lety
#3 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Mělo by to být hodně univerzální, ale zatím OrmionCollection, když se ptáš ;)
#4 před 2 lety
#5 před 2 lety
- Jakub Šulák
- Nette guru

- Registrovaný: 26. 8. 2008
- Příspěvky: 253
Re: Gridito (falešný datagrid) – komponenta
velice šikovné. dost se mi líbí, že je to postavené na jquery css
#6 před 2 lety
- Lopata
- Člen

- Registrovaný: 4. 7. 2009
- Příspěvky: 143
Re: Gridito (falešný datagrid) – komponenta
Honza Marek napsal(a):
Falešný datagrid je budoucí konkurenční produkt k datagridu od Romana Sklenáře. A už se můžu pochlubit demem na http://griddemo.janmarek.net/document_root/.
Proč to vyvíjíš „znova“? Ono je to postavené na PHP 5.3…?
#7 před 2 lety
#8 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Lopata, despiq:
Můžete kouknout zhruba, jak se ten grid definuje: http://gist.github.com/346294
Oproti „velkému datagridu“ pro vlastní vykreslování buněk nebo vytvoření funkčních tlačítek potřebuju mnohem méně kódu. Nemusim definovat signály nebo zakládat šablony pohledům s formulářema na upravení či založení nového záznamu.
Dalším plusem mého řešení je témovatelnost pomocí jQuery UI a nezávislost na DibiDataSource.
Abych to shrnul, cílem není okopírovat kompletní funkčnost Romanova datagridu, ale abych já měl jednodušší práci, když budu vyrábět nějaké administrační rozhranní.
#9 před 2 lety
- Honza Kuchař
- Moderator

- Registrovaný: 12. 8. 2007
- Příspěvky: 1588
Re: Gridito (falešný datagrid) – komponenta
Jé, to vypadá fajn. :)
#10 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Je to venku: http://github.com/…arek/Gridito
#11 před 2 lety
- jasir
- Nette guru

- Registrovaný: 4. 12. 2008
- Příspěvky: 768
Re: Gridito (falešný datagrid) – komponenta
Tak to vypadá opravdu moc pěkně. Vyzkouším použít místo svého DataGridu. Jinak Ormion je boží. :) Díky.
#12 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
A jede to i na PHP 5.2, když se tomu trošku pomůže :)
#13 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Mohl bych se zeptat, jak to vypadá s vývojem Gridita? Jsi již spokojen se současným stavem? Pokud ne, co orientačně plánuješ?
#14 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Spokojen nejsem, ale teď jsem měsíc nebyl schopen naprogramovat ani čárku. Z velkejch věcí určitě budu potřebovat filtry a pak pár nějakejch detailů. Jinak nejsem moc spokojen s tím „CRUDem“. Když odešlu chybně vyplněný formulář a neodchytí to JS, tak přijdu o data. Ale tohle je bohužel koncepční, nikoliv implementační záležitost, takže řešení se musí vymyslet, nikoliv naklepat.
#15 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Tak to abych generování 5.2 verze plně zautomatizoval nebo se spokojil se starší verzí. Naštěstí ta automatizace nebude takový problém, k nejhorším asi bude kolize třídy Button s formuláři.
#16 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Měl bych ještě jeden dotaz: přidal jsem jeden formulář ke Griditu (předtím jsem používal Gridito jen read only) a celkem jsem se divil adrese: nazevKomponenty-toolbar-1-token=865f…(zbytek toho hausnumera). Co je to za token? Co umožňuje? Je citlivý?
#17 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Při kliknutí na tlačítko se praktikuje automatická ochrana proti CSRF.
#18 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Aha, takže ve chvíli, kdy se ten token dostane do URL, přestává být citlivý, že? Pokud to dobře chápu, tak tím pádem se nemusím bát potenciálních odkazů ven z cílové stránky.
Ještě bych měl menší kritiku: mezi jednotlivá tlačítka by se hodilo nějaké whitespace, bez stylů to pak může bypadat jako jedno slovo, což není dobře.
#19 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Pokud bych k tomu měl nějaké třídy (zatím DibiModel, ale měly by přibýt další, chtěl bych něco jako EditableGrid, IEditableModel a další), mám je ti spíše poslat, nebo spíše je mám dát k dispozici zvlášť?
#20 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Buď mi to pošli nebo na githubu vyrob fork.
#21 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Kromě DibiModelu bych to označil zatím spíše za experimentální. DibiModel ve starší verzi (pro PHP 5.2, neobsahuje create, neumí třídit a má natvrdo primary key ‚id‘) používám už i na ostrém webu a zatím OK.
Měl bych pár dotazů k implementaci:
- Gridito\IModel::setSorting(…) má počítat jenn s řazením podle jednoho sloupce?
- Má Gridito\IModel::setupGrid(Gridito\Grid) dělat i něco kromě nastavení primárního klíče?
Chtěl bych, aby se na mě sesypala kritika za Gridito\IEditableModel a použití ArrayAccess včetně návratových hodnot (vizte Gridito\DibiEditableModel). Je to ještě OK, nebo radši k tomu nemám ohýbat ArrayAccess a definovat vlastní metody? Anebo to mám udělat ještě jinak? Variantu použít IModel a k tomu nějaký IEditableRecord jsem zavrhl kvůli vetší volnosti, byl by k tomu potřeba ohýbat např. i Ormion, což nechci.
Měl bych drobnou výhradu k názvu IModel – možná by to mělo být spíše IRepository.
Dále bych měl určitou výhradu k tomu, že IModel je ohledně stránkování apod. brán jako mutable. To znamená, že je vpodstatě potřeba pokažé vrátit novou instanci.
Dále jsem proti generování ID v podobě ++$this->toolbarButtonId. Takto někomu pod rukama přehodím pořadí tlačítek (třeba zveřejnit vs. smazat) a je v háji. Asi by to chtělo explicitní uvádění id.
Pak bych měl i jedno řešení potenciálních problémů: Gridito mi nechtělo stránkovat. Zjistil jsem, že v @layout.phtml (víceméně původní ze skeletonu) je k {include #content} potřeba přidat zavináč.
V příkladu Ti chybí addProtection.
Jo, do názvu tématu PLS přidej i název ‚Gridito‘, třeba i „Gridito – Falešný datagrid – komponenta“.
#22 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
v6ak napsal(a):
Super,
Měl bych pár dotazů k implementaci:
- Gridito\IModel::setSorting(…) má počítat jenn s řazením podle jednoho sloupce?
Ano. Pro uživatele je řazení podle jednoho sloupce většinou lepší. Pokud budu implementovat řazení podle více sloupců, asi přidám metodu setMultiSorting nebo něco takového.
- Má Gridito\IModel::setupGrid(Gridito\Grid) dělat i něco kromě nastavení primárního klíče?
Můžeš si tam dělat co chceš. Slouží to k libovolné inicializaci komponenty.
Chtěl bych, aby se na mě sesypala kritika za Gridito\IEditableModel a použití ArrayAccess včetně návratových hodnot (vizte Gridito\DibiEditableModel). Je to ještě OK, nebo radši k tomu nemám ohýbat ArrayAccess a definovat vlastní metody? Anebo to mám udělat ještě jinak? Variantu použít IModel a k tomu nějaký IEditableRecord jsem zavrhl kvůli vetší volnosti, byl by k tomu potřeba ohýbat např. i Ormion, což nechci.
Neměl jsem čas to zatím prozkoumat, ale jinak bych asi ArrayAccess v tomhle případě nepoužil.
Měl bych drobnou výhradu k názvu IModel – možná by to mělo být spíše IRepository.
Proč?
Dále bych měl určitou výhradu k tomu, že IModel je ohledně stránkování apod. brán jako mutable. To znamená, že je vpodstatě potřeba pokažé vrátit novou instanci.
Asi nerozumím.
Dále jsem proti generování ID v podobě ++$this->toolbarButtonId. Takto někomu pod rukama přehodím pořadí tlačítek (třeba zveřejnit vs. smazat) a je v háji. Asi by to chtělo explicitní uvádění id.
Možná by to šlo nějak volitelně.
Pak bych měl i jedno řešení potenciálních problémů: Gridito mi nechtělo stránkovat. Zjistil jsem, že v @layout.phtml (víceméně původní ze skeletonu) je k {include #content} potřeba přidat zavináč.
Jasně, je to komponenta, která používá ajax.
Jo, do názvu tématu PLS přidej i název ‚Gridito‘, třeba i „Gridito – Falešný datagrid – komponenta“.
ok
#23 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Jé, já odpověď odložil a pak zasklil :-(
K setupGrid(): Jasně, jde mi o nějaké tipy na činnosti, které se zde
mohou nacházet. Popravdě řečeno, při implementaci DibiModelu jsem se díval
na OrmionModel.
ArrayAccess asi časem nahradím, asi to nebude velká změna. Ono mi to celkem
čisté přijde až na návratové hodnoty offsetSet. Jinak klíč null
u offsetSet není až takový výmysl, odpovídá to $foo []= bar.
K IRepository: http://www.phpguru.cz/…rstev-modelu –
asi to není vyloženě nutné, ale bylo by to asi lepší.
K mutable IModelu: pokud budu mít někde nějakou továrnu na IModel, musí
vždy vrátit novou instanci. Pokud by si instanci cacheovala, šlo by ji
v rámci kontextu továrny „rozbít“ (nechtěně ovlivnit vše) nějakým
setterem. Ale možná to takový problém není.
K id: Možná by bylo lepší za výchozí ID dosadit label, v případě
změny tu nejsou nějaké katastrofické následky moc pravděpodobné.
V případě přehození pořadí, řekněme, „Smazat“ a „Publikovat“,
je to mnohem horší.
Jinak jsem si všiml jedné vlastnosti, kterou nezmiňuješ: specifické
vykreslování typů \DateTime a boolean: http://github.com/…r/Column.php#L164
. To je důvod, proč v mém příkladu nefungují dva sloupce
(„Vytvořeno“ a „Je krásná“) korektně. Řešení mám v hlavě,
půjde o nějaký Decorator, aby jej bylo možné použít i mimo DibiModel.
V OrmionModelu to potřeba asi nebude, ale kdyby někdo chtěl třeba
NotORMModel, tak by se mu to mohlo hodit.
Mimochodem, zatím to skoro vypadá, jako by Gridito používali jen dva
programátoři (já a Honza). Můžete to někdo vyvrátit?
#24 před 2 lety
- pave.kucera
- Člen

- Registrovaný: 9. 5. 2009
- Příspěvky: 101
Re: Gridito (falešný datagrid) – komponenta
Já právě uvažuju o implementaci :)
#25 před 2 lety
- Matúš Matula
- Člen

- Registrovaný: 3. 9. 2009
- Příspěvky: 167
Re: Gridito (falešný datagrid) – komponenta
Tiez nad tym momentalne uvazujem, ale som odkazany na php 5.2 . V6ak ako si na tom s tou automatizaciou Gridita pre php5.2? :-)
#26 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
No, částečně. Napsal jsem http://gist.github.com/430117 (na
Windows jede pod Cygwinem), udělal pár ručních úprav (potřeboval jsem
honem funkční Gridito) a tím to skončilo. Doma asi napíšu nějaký lepší
skript. A pokud se budu nudit, implementuji i překlad anonymních funkcí na
třídy, takže půjde přeložit i EditableGrid apod. BTW: On ten trochu
lepší nástroj by mohl sloužit i k opačné portaci. A vlastně by se mi
to asi taky hodilo.
Jinak, vzpomínám si na tyto ruční úpravy:
- Přejmenování Button na Gridito_Button (kolize s \Nette\Forms\Button)
- Názvy tříd s tlačítky byly ve stringu, asi ve třídě Grid. Bylo z nich potřeba odstranit namespace.
- V nějakých renderovacích metodách tlačítek a asi i třídy Grid bylo potřeba se vyhnout použití method chainingu. Ale to jsem možná jen měl starou verzi Nette.
Pokud to chceš honem udělat, použij ten skript. Co bude potřeba dodělat, o to se PHP brzy přihlásí chybovou hláškou.
#27 před 2 lety
- Matúš Matula
- Člen

- Registrovaný: 3. 9. 2009
- Příspěvky: 167
Re: Gridito (falešný datagrid) – komponenta
Dik za bleskovu reakciu. Neponahlam sa s tym, teraz mam kopec roboty, len som si to chcel vyskusat :-)
#28 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Tak na vyzkoušení můžeš použít i PHP 5.3.
#29 před 2 lety
- univerz
- Nový člen

- Registrovaný: 22. 9. 2010
- Příspěvky: 7
Re: Gridito (falešný datagrid) – komponenta
gratulujem k vykonnostne pouzitelnemu rieseniu datagridu. vidim, ze vyvoj na githube ide dopredu, je nejaka moznost, ze fork od v6ak bude zluceny pred tym, nez sa zdrojaky priliz rozidu?
k dokonalosti mi chyba (mozno som jej existenciu prehliadol) moznost nastavit si sirku jednotlivych stlpcov, v zaujme zachovania vykonu v klude pekne jednoucelova, bez vyuzitia Nette\Web\Html. pripadne by sa hodilo nieco na styl PositionColumn stareho datagridu, nech nie je nutne vsetko davat do buttonov. samozrejme, pokial nie su v dohladnej dobe planovane BC breaky, rad prilozim ruku k dielu :).
#30 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Já bych teď asi už začal na autoportaci pro PHP 5.2. Pak bych jednu nezveřejněnou třídu z 5.2 upravil pro 5.3. Pak bych měl asi nějak sloučit svůj fork a upravit všechny modely kvůli jednomu menšímu BC breaku – jak to na GITu udělat co nejčistěji?
Jinak BC breaky – nedávno byl jeden BC break v IModelu, ale nevím, jaké jsou další plány Honzy. Já navrhoval změnu identifikace tlačítek („Dále jsem proti generování ID v podobě ++$this->toolbarButtonId. Takto někomu pod rukama přehodím pořadí tlačítek (třeba zveřejnit vs. smazat) a je v háji. Asi by to chtělo explicitní uvádění id.“), která by sice bez BC breaku šla, ale bylo by to dost kostrbaté. Nechci se do toho pouštět sám, protože řešením bez Honzova souhlasu bych riskoval vývoj dvou vzájemně nekompatibilních větví.
<EDIT n=„1“>Jo, asi časem upravím trošku IEditableModel tak, aby nepoužíval ArrayAccess.</EDIT>
Šířka jednotlivých sloupců – zajímavá poznámka, mělo by jít stejně jako barvení sudých a lichých řádků (vlastní šablonou), ale bylo by možná vhodné mít příjemnější cestu. Nechceš přiložit ruku k dílu zde?
<EDIT n=„2“>Jo, ještě by bylo asi dobré vymyslet nějaký dobrý způsob, jak předávat šablonám parametry tak, aby:
- šlo využít nápověd IDE
- šablona mohla mít svoje specifické vlastnosti
- dědičnost nebyla zneužita
Co říkáte na toto?:
$grid->setTemplate(MyGreatGridTemplate::create()->setFoo(12)->setColumnSize('foo', '64px'));
Další věc je, že by se dalo toto nějak zakomponovat do Honzova návrhu o nastavení Gridita
v šablonách . Bylo by to cooler.
</EDIT>
Editoval v6ak (22. 9. 2010 8:37)
#31 před 2 lety
- univerz
- Nový člen

- Registrovaný: 22. 9. 2010
- Příspěvky: 7
Re: Gridito (falešný datagrid) – komponenta
v6ak napsal(a):
Co říkáte na toto?:$grid->setTemplate(MyGreatGridTemplate::create()->setFoo(12)->setColumnSize('foo', '64px'));Další věc je, že by se dalo toto nějak zakomponovat do Honzova návrhu o nastavení Gridita v šablonách . Bylo by to cooler.
zrejme bude prezierave pockat si na vyjadrenie autora, kazdopadne som aj za variantu s quickfixom pomocou sablony – no idelane by som ju rad robil uz pre „spojene zrojaky“. aktualne robim s medziverziou s este vlastnou upravou pre namespaces a par upravami z gitu spred cca tyzdna.
#32 před 2 lety
- Werkov
- Člen

- Registrovaný: 30. 8. 2010
- Příspěvky: 16
Re: Gridito (falešný datagrid) – komponenta
- Bug report: v
OrmionModeljsou špatně parametry u metodysetLimit(přebýváoffset). - Feature request, dotaz: nebylo by lepší ukládat řazení a stránku do fragmentu? Uřivatelsky mi přijde lepší, když jsem se někam dolistoval, dám F5, ale nehodí mě to za defaultní pohled.
Jestli to budu hodně potřebovat, tak to možná někdy v budoucnu udělám. Proto by mě ještě zajímalo – neplánuje se toto řešit nějak centrálně v Nette (uložení/načtení parametrů ve fragmentu)?
#33 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Mám pocit, že se ten #fragment plánuje v Nete 1.0, ale krk za to nedám.
#34 před 2 lety
- Patrik Votoček
- Nette Evangelist

- Registrovaný: 8. 3. 2008
- Příspěvky: 2122
Re: Gridito (falešný datagrid) – komponenta
Přesněji řečeno Nette 2… :-)
Sorry my bad english.
Vrtak-CZ | Nella Project | Osobní Blog | Twitter | LinkedIn | GitHub
„Nastala chyba která neměla nastat“ aneb „Když se chce
všechno jde.“
#35 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
v6ak napsal(a):
Jinak BC breaky – nedávno byl jeden BC break v IModelu, ale nevím, jaké jsou další plány Honzy. Já navrhoval změnu identifikace tlačítek (*"Dále jsem proti generování ID v podobě ++$this->toolbarButtonId. Takto někomu pod rukama přehodím pořadí tlačítek (třeba zveřejnit vs. smazat) a je v háji.
Určitě souhlasím s tím, že by tlačítka měla mít nějaké ID (ne jen číslo jako teď).
Dálě chci celkově předělat přidání sloupců a tlačítek. Zvažuju něco takového:
$column = $grid->addColumn("date", array(
"sortable" => true,
"text" => "Datum",
...
));
$column->setOption("dateTimeFormat", "j.n.Y");
To je samozřejmě BC break jako prase, ale je potřeba v tom udělat pořádek i s ohledem na to alternativní nastavování v šablonách.
Další moje plány jsou k vidění v issues na githubu – http://github.com/…idito/issues#list
#36 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Někdy je lepší udělat BC break, než vláčet historii. Na druhou stranu, v takovém případě je lepší toho udělat více naráz.
Přiznám se, že:
- Ten přistup s array se mi nelíbí, snadno se zde dělá chyba a IDE nenapovídá.
- Byl bych pro více typů sloupců, zpracováni DateTime možná do obecného sloupce nepatří.
#37 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
v6ak napsal(a):
- Ten přistup s array se mi nelíbí, snadno se zde dělá chyba a IDE nenapovídá.
To by se dalo vylepšit definováním konstant Column::NAME, Column::SORTABLE atd. Jinak to, že se ti to nelíbí znamená, že preferuješ klasické settery nebo se ti nelíbí ani jeden z těchto způsobů? .)
#38 před 2 lety
- v6ak
- Člen

- Registrovaný: 1. 5. 2008
- Příspěvky: 194
Re: Gridito (falešný datagrid) – komponenta
Dal bych přednost klasickým setterům. Ty mi ostatně znemožní se snažit nastavovat sloupci něco, co mu nepatří.
Teda, ještě lepší je asi JavaFX-like deklarativní přístup, ale ten v PHP s plnou podporou IDE asi jen tak neuděláme.
#39 před 2 lety
- Quinix
- Člen

- Registrovaný: 31. 3. 2009
- Příspěvky: 33
Re: Gridito (falešný datagrid) – komponenta
Jde nějakým způsobem definovat, aby tlačítko v gridu bylo normální odkaz (tzn. Presenter:akce) a neotevíral se v jquery UI dialogu? form na přidání/úpravu je dost velký a do dialogu se moc nehodí…
#40 před 2 lety
- Werkov
- Člen

- Registrovaný: 30. 8. 2010
- Příspěvky: 16
Re: Gridito (falešný datagrid) – komponenta
Já to řešil takto (v PHP >= 5.3):
$pres = $this;
$grid->addButton("Upravit", null)->setLink(function ($row) use($pres)
{
return $pres->link("edit", array("id" => $row->id));
})->setIcon("pencil");
#41 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Na stránku http://griddemo.janmarek.net/document_root/ jsem hodil nové ukázky. Nicméně v tuto chvíli je datagrid kompatibilní pouze s Nette 2.0 dev, což obnáší i nefunkční ajax (kromě jQuery UI oken).
#42 před 2 lety
- colek
- Člen

- Registrovaný: 3. 1. 2010
- Příspěvky: 63
Re: Gridito (falešný datagrid) – komponenta
Ahoj, chtěl bych se zeptat na asi elementární věc. Gridito mi funguje krásně, ale jen na homepage. Pokud se dostanu hlouběji ve struktuře webu, kde je zobrazení vázáno na nějaké id, toto id se nepředává ve vygenerovaných odkazech.
Pokud navštívím url: text/123, funguje vše v pořádku, id 123 se správně předá a vše se vykreslí.
$router[] = new Route('text/<id>', array(
'module' => 'Front',
'presenter' => 'Text',
'action' => 'showText',
'id' => NULL,
));
...
$id = $this->getParam('id');
$grid->setModel(new Gridito\DibiFluentModel($model->getTextById($id) ));
ale všechny vygenerované odkazy (stránkování, řazení) tvoří url text/?grid-sort…
můžete mi s tím nějak pomoci, díky.. :)
#43 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Určitě by pomohl dát id jako persistentní parametr, ale to samozřejmě může dělat nějaký další bordel.
#44 před 2 lety
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Gridito je kompatibilní s Nette 2.0 alfa 2
#45 před 2 lety
- TeeBee87
- Člen

- Registrovaný: 17. 12. 2008
- Příspěvky: 13
Re: Gridito (falešný datagrid) – komponenta
Lze nějak jednodušeji přidat sloupec, který je z joinuté tabulky?
<?php
$qb->select(array('t', 'o'))
->from('Helpdesk\Entities\Ticket', 't')
->leftJoin('t.owner', 'o')
;
?>
Potřeboval bych vypsat například sloupec o.login.
Momentálně to dělám takto:
<?php
$grid->addColumn("login", "Vlastník", array(
'renderer' => function($row) {
echo $row->owner->login;
}
));
?>
#46 před rokem
- blacksun
- Člen

- Registrovaný: 26. 9. 2008
- Příspěvky: 169
Re: Gridito (falešný datagrid) – komponenta
Ahoj,
chtěl bych se zeptat, než si začnu tvořit vlastní úpravu, jestli není někde třeba skryta verze se sloupcem checkboxů, jako používá datagrid pro hromadné akce?
Šel bych na to přes vlastní šablonu a obalení tabulky formulářem..
Díky za info
Michal
#47 před rokem
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
Zatím to neexistuje. Když to vyrobíš, bude to fajn.
#48 před rokem
- lactarius
- Člen

- Registrovaný: 15. 3. 2009
- Příspěvky: 47
Re: Gridito (falešný datagrid) – komponenta
Ahoj,
má gridito vlastní konfirmační mechanismus ?
#49 před rokem
- Honza Marek
- Moderator

- Registrovaný: 31. 3. 2007
- Příspěvky: 1632
Re: Gridito (falešný datagrid) – komponenta
$grid->addButton('name', 'Popisek')->setConfirmationQuestion('jo?');
// nebo
$grid->addButton('name', 'Popisek')->setConfirmationQuestion(function ($entity) {
return "Zničit $entity->name?";
});
Pak to vyhodí klasickej JS confirm.
#50 před rokem
- lactarius
- Člen

- Registrovaný: 15. 3. 2009
- Příspěvky: 47
Re: Gridito (falešný datagrid) – komponenta
To je super – jenom tlačítka bych udělal menší – jenom ikony s nápovědným textem, takhle jsou zbytečně na úkor dat…