Editace v modálním okne – TB3
- MW
- Člen | 626
Zdravím a prosím o radu.
Udelal jsem si vkladani záznamu přes modální okno pomocí Twitter Bootstrap3 a ted nevím, jak s editaci.
mam toto:
v default.latte
<button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#person">
Přidat záznam
</button>
{snippet formaddPersonal}
{form addPersonal class => 'form-horizontal ajax', role => 'form'}
<div class="modal fade" id="person" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Osoba</h4>
</div>
<div class="modal-body">
// .... formulář
</div>
<div class="modal-footer">
{input ulozit class => "btn btn-success"}
</div>
</div>
</div>
</div>
{/form addPersonal}
{/snippet}
v presenteru klasickou komponentu na form a vse funguje jak ma…
A ted jen nevím, jak nejlépe vyvolat na řádce modalní okno
s formulářem pro editaci..
Kam odkázát s IDckem a jak nastavit view …
Moc díky za tip..
- MW
- Člen | 626
Tak v komponete gridu mam link:
<a href="{plink edit! $primary}" data-toggle="modal" data-target="#person" class="tt btn btn-primary btn-xs" title="Upravit"><span class="glyphicon glyphicon-edit"></span></a>
a v presenteru mam handle:
public function handleEdit($id) {
if($id) {
$data = $this->context->personalModel->getData()->where('id', $id)->fetch();
$this['addPersonal']->setDefaults($data);
}
$this->invalidateControl('formaddPersonal');
}
no ale ten invalidate me totalne rozhodí modal s formularem :-(
prikladam i latte:
{block content}
<h2>Modul evidence personálu</h2>
{if $user->isAllowed('personal', 'edit')}
<button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#person">
Přidat záznam
</button>
{/if}
{snippet formaddPersonal}
{form addPersonal class => 'form-horizontal ajax', role => 'form'}
<div class="modal fade" id="person" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Osoba</h4>
</div>
<div class="modal-body">
<ul class="error" n:if="$form->hasErrors()">
<li n:foreach="$form->errors as $error">{$error}</li>
</ul>
<div class="form-group">
{label name /}<br />{input name class => "form-control"}
</div>
<div class="form-group">
{label lname /}<br />{input lname class => "form-control"}
</div>
<div class="form-group">
{label title /}<br />{input title class => "form-control"}
</div>
<div class="form-group">
{label place /}<br />{input place class => "form-control"}
</div>
<div class="form-group">
{label function /}<br />{input function class => "form-control"}
</div>
<div class="form-group">
{label phone /}<br />{input phone class => "form-control"}
</div>
<div class="form-group">
{label from /}<br />{input from class => "form-control date hasdatepicker"}
</div>
<div class="form-group">
{label birthday /}<br />{input birthday class => "form-control date hasdatepicker"}
</div>
<div class="form-group">
{label note /}<br />{input note class => "form-control"}
</div>
</div>
<div class="modal-footer">
{input ulozit class => "btn btn-success"}
</div>
</div>
</div>
</div>
{/form addPersonal}
{/snippet}
Moc díky !
- Jan Suchánek
- Člen | 404
@MW: Zkus si to rozfungovat nejprv bez modálu jen s ajaxem.
Jinak by mě zajímalo, když form odešleš jak budeš řešit zda je
správně vyplněný či ne
a při jaké akci modal zmizí? Bude to celé jen ajax nebo budeš
i redirectovat?
Editoval jenicek (26. 3. 2014 10:20)
- Jan Suchánek
- Člen | 404
@MW: No já že jsem tohle řešil i bez redirectu po správném odeslání formuláře z modalového okna a překreslení gridu, a samozřejmě jsem zkoušel invalidaci zda je isSuccess a v případě, že nebyl okno modalu jsem nezavíral.
Editoval jenicek (26. 3. 2014 11:09)
- Jan Suchánek
- Člen | 404
@MW: Musel bych jí vyseparovat example osekanej bez blbostí nemám. Navíc teď uvažuji že to celé předělám. Ono někdy se ten form v modalu vůbec nehodí. Ale zkusím to připravit ale ne asi hnedka. Pokud máš něco hotové ty tak se předveď mohu to okomentovat.
- MW
- Člen | 626
Ja to cely predelal na klasicky sablony s redirectem s nextras
datagridem…
Vůbec ted nevim, jak co nejjednodušeji na to .. vypadalo to jednoduse.. ale
jen s prazdnym formem :-)
Potreboval jsem predat něco funkčního, byt provizorne..
Nekde jsem to videl reseni, kde je ten modal jako komponenta, ale to me prislo strasne komplikovany.. asi to mělo důvod …
No jestli něco budes mit, bylo by to super.. nevim kde ted zacit…
Diky !