best practice naplnění defaultních dat formuláře, když se na stránce volá spoustu ajaxových požadavků
- sevca79
- Člen | 55
Ahoj,
jsem v nette začátečník a zajímalo by mě jaký je best practice na
naplnění dat formuláře či jiných komponent, když jich je na stránce
více a každá vykonává nějaké ajaxové požadavky
asi je blbost to cpát do actionDefault, která se tuším volá při každé ajaxovém handleru?
public function actionDefault($id) {
$this['myForm']->setDefaults($this->repository->getData($id));
}
to by se asi vykonávalo i tehdy, když to není potřeba
nebo to dávat až když se vytváří komponenta do createComponent??
public function createComponentMyForm() {
$productId=$this->getParameter('id');
$this['myForm']->setDefaults($this->repository->getData($id));
$form=$formFactory->create();
return $form;
}
to teda nemám vozkoušený a nevím zda bu to vůbec fungovalo, když zřejmě asi ještě formulář není vytvořen :)
nebo kde mám ty defaultní hodnoty formuláře či jiných komponent
naplňovat..
omlouvám se zřejmě za stupidní otázku, kterou by měl asi každý
znát :)
a když už mám tak rozepsáno, tak ještě prosím je špatně když dávám třeba nějaký parametr, který díky kterému s komponentou pracuju, tak že ho dávám továrničce?? To používám zas u gridů.
např. opět
public function actionDefault($id) {
$this->myGridFactory->productId=$id;
}
nebo lépe v createComponent?
public function createComponentMyGrid() {
$productId=$this->getParameter('id');
$grid=$this->myGridFactory->create($productId);
return $grid;
}
a naplňovat daný parametr tady???
nebo opět úplně jinak?? :)
tady budou asi fungovat obě metody, ale nevím, která by se správně měla používat…
opět často používané na stránce s ajaxovými požadavky, takže přímo v action asi použito víckrát (naštěstí už ale nevykonává nic v db)
díky za cenné rady ;)
Editoval sevca79 (5. 3. 2018 11:38)