Dynamicke pridavani ve formulari, kam zmizelo addDynamic?
- vosy
- Člen | 532
Ahoj, chtel jsem vytvorit dynamicke pridavani poli ve formulari, kdysi jsem to delal takto:
$form = new \Nette\Application\UI\Form();
$form->addGroup();
$form->addHidden('idPlatby')
->setDefaultValue(-1)
->setRequired('Neznámé ID platby, kontaktujte administrátora.');
$form->addText('datum', 'Datum:');
$form->addText('cisloFaktury', 'Číslo faktury:');
$removeEvent = array($this, 'mainFormRemove');
$auta = $form->addDynamic('auta', function (Container $auto) use ($removeEvent)
{
$auto->currentGroup = $auto->form->addGroup();
$auto->addSelect('vin', 'VIN:');
$auto->addText('castka', 'Částka:');
$auto->addText('mena', '');
$auto->addSubmit('odstranitAuto', '-')
->setValidationScope(false) # disables validation
->onClick[] = $removeEvent;
$pretyp = $phone['odstranitAuto']->getControlPrototype();
$pretyp->setName("button");
$pretyp->create('i class="icon-minus"');
}, 1);
/** @var \Kdyby\Replicator\Container $auta */
$auta->addSubmit('pridatAuto', NULL)
->setValidationScope(false)
->onClick[] = array($this, 'mainFormAdd');
$pretyp = $auta['pridatAuto']->getControlPrototype();
$pretyp->setName("button");
$pretyp->create('i class="icon-plus"');
$form->setCurrentGroup(NULL);
$form->addSubmit('save', 'Uložit')
->onClick[] = array($this, 'mainFormSave');
$form->addSubmit('storno', 'Storno')
->setValidationScope(false)
->onClick[] = array($this, 'mainFormStorno');
$form->addProtection('Vypršel časový limit, odešlete formulář znovu');
$form->onValidate[] = array($this, 'mainFormValidate');
return $form;
ted mi to haze
Nette\Application\UI\Form::addDynamic()
verze nette 2.3.10 asi
- h4kuna
- Backer | 740
Mám takový pocit, že metoda addDynamic() v nette nikdy nebyla. To ti musí přidávat nějaká knihovna, kterou jsi nyní nepoužil.
EDIT
Dělávalo se to přes \Nette\Forms\Container::extensionMethod(‚addDynamic‘,
<nějaký callback>); kde toto umožňoval/umožňuje Nette\Object.
Editoval h4kuna (20. 10. 2016 7:48)
- vosy
- Člen | 532
h4kuna napsal(a):
Mám takový pocit, že metoda addDynamic() v nette nikdy nebyla. To ti musí přidávat nějaká knihovna, kterou jsi nyní nepoužil.
EDIT
Dělávalo se to přes \Nette\Forms\Container::extensionMethod(‚addDynamic‘, <nějaký callback>); kde toto umožňoval/umožňuje Nette\Object.
jooo mas pravdu :D jsem tydyt bylo to pres Kdyby/FormsReplicator, diky