Closed romanmatyus closed 8 years ago
Hlavičku - souhlas.
Ale i šablonu inline editace? Myslíš, že když už někdo bude chtít inline editovat, napadne ho ještě měnit šablonu pro tu "textareu"?
Využil som to v inom gride (TwiGrid) konkrétne včera.
V jednom stĺpci som potreboval vykresliť viac formulárových prvkov s vlastnými triedami, toggle a pod.
{define body-cell-portal_fee}
<td class="text-center">
{if $record->portal_fee_active}
{$record->portal_fee_price|number:2,',',' '} € {_activationGrid.season.$record->portal_fee_season}
{else}
-
{/if}
</td>
{/define}
{define body-cell-portal_fee-inline}
<td n:class='body-inline-cell, "body-inline-cell-{$column}"'>
<div class="input-group">
<span class="input-group-addon">
<input n:name="inline-values-portal_fee-portal_fee_active" class="dark">
<label n:name="inline-values-portal_fee-portal_fee_active"><span></span> {_$_input->caption}</label>
</span>
{input inline-values-portal_fee-portal_fee_price, class => 'form-control'}
<span id="portal-fee-season" class="input-group-addon">
{input inline-values-portal_fee-portal_fee_season, class => 'form-control'}
</span>
</div>
</td>
{/define}
To je spíš o tom, jestli se bude inline editace vytvářet skrze nette formy a tudíž propracovaněji (možná napříč více sloupci, nebo jednoduše a rychle pomocí jednoho pole a basta - tak je to teď.
Zamyslím se nad tím.
Predvolene by to mohlo zostať tak ako to je - proste input, ktrorý sa onchange odošle.
Voliteľne by malo byť možné vykresliť na tom mieste aj vlastnú komponentu - Form/FormContainer, ktorého spracovanie je ponechané na programátorovi.
Implementoval jsem definici column headeru pomocí latte blocku.
S tím širším inline editem se mi to moc nelíbí. Tedy líbí, ale nese to s sebou bohužel dost problémů:
Uživatel by měl vytvořit formulář, kde by byly všechny sloupce definované. Těžko pak říct, kde jak se mají sloupce vypisovat a které inputy se mají použít pro který sloupec, pokud je uživatel všechny nedefinuje. Dále: datagrid by měl umět v takovém případě vytvořit alespoň základní sadu inputů. Nemá ale podle čeho poznat, jaký prvek formuláře zvolit. A podle "reflexe" databázových tabulek to nejde, i to je prasárna.. Mohl bych pokračovat dál.. Kvůli hodně důvodům si myslím, že takováto fíčura by měla být zatím ponechána do rukou cílového programátora. Třeba se to do datargidu jednou dostane. A třeba hodně brzy, uvidíme.
Myslel som to tak, že by to fungovalo ako doteraz, iba to kontrolovalo existenciu col-<id>-inline
.
Ak existuje, vypíše sa. Ak tam vykreslím vlastnú komponentu, je to na mne, rovnako aj spracovanie.
Faktom ale je, že som to neskúšal implementovať a neviem nakoľko by to bolo zložité.
No to je přesně ono. Komponentu by musel vytvářet datagrid. Jakmile by ji vytvářel, musel by vytvořit nějaké výchozí pole a podobně - už můžu pokračovat v předchozím commentu. Je to dost složité.
Třeba mě časem napadne jednodušší. Řešení..
Aktuálne je možné definovať vlastný render iba pre obsah bunky v štandardnom stave.
Bolo by fajn rozšíriť možnosti o:
col-<id>-inline
- šablóna inline editáciecol-<id>-header
- hlavička