Jak na zobrazeni detailu radku v tabulce?
- CZechBoY
- Člen | 3608
Dobře no, tak jsem teda použil neekonomické vyrenderování celé tabulky při každém požadavku o detaily.
Teď jsem se zasekl na tom jak bych měl dodat javascript komponenty z toho
detailu?
struktura komponent:
presenter
->tabulka
->detail
->nějaká další tabulka
vyžadující javascript
(vy)řešil to někdo?
- CZechBoY
- Člen | 3608
@Azathoth No invaliduju celej snippet s tabulkou, se všema řádkama. Pod každým řádkem mám podmínku jestli zrovna potřebuju vypsat ten detail. Takže vždy renderuju jen 1 detail. (mám to přes multiplier)
Zanořená komponenta, která se načte až ajaxem (není při úvodním načtení stránky zobrazená a ani to snad není možný) takže si nevím rady s dodatečným načtením JS. Jestli rovnou vyflushnout javascript do stránky k tomu snippetu?
Teď jsem ještě zjistil další problém – když chci překreslit celou tabulku (kvůli sortování, stránkování, filtrování) tak se mi pošlou jen ty snippety detailů a nepošle se tabulka jako taková.
Aktuální struktura hlavní komponenty
{snippet my_table}
{control filtry}
<table>
// sortování
{foreach $data as $d}
<tr>...</tr>
<tr n:snippet="tableDetails_$d->id">
<td colspan="{$pocet_sloupcu_zobrazenych_v_tabulce}">
{if $selectedId === $d->id}
{control details-$d->id}
{/if}
</td>
</tr>
{/foreach}
</table>
{control paginator}
{/snippet}
btw. jde v multiplieru nějak vyžádat 2 parametry?
return new Multiplier($a, $b) {...};
tohle nefunguje a hleda to komponentu component, potom sub $a a potom sub $b
{control component-$a-$b}
Editoval CZechBoY (6. 3. 2016 2:20)
- Azathoth
- Člen | 495
Hm, ty máš vnořené snippety, tak to se obávám, že to budeš muset
zrefactorovat. Se vnořenými snippety se lidé potýkali už tady https://forum.nette.org/…ymi-snippety
a tady https://forum.nette.org/…ace-snippetu
Mělo by ti pomoct buď snippetArea, dynamické snippety a nebo si to všechno
rozházet do komponent, abys měl jeden snippet na komponentu https://doc.nette.org/…mic-snippets
- CZechBoY
- Člen | 3608
Tak jsem narazil na to, že se mi nepředává na jaké stránce jsem a teda na jiné než první stránce detaily spadnou.
Obalovací tabulka obsahuje NPaginator paginator
, který má
svoji page
. Dále obsahuje komponentu Paginator.
Struktura komponent k detailu je: obalovaci tabulka > řádek >
detail.
Zkoušel jsem v obalovací tabulce dát persistentní parametr $paginator, ale
nepředal se. Stránka do paginatoru se nastavuje až při volání render, to
je možná ten problém?
Nevěděl by někdo jak tohle vyřešit? Díky