Problémy u klonovaného AppFormu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Dragon Jake
Člen | 20
+
0
-

Zdravím,

narazil jsem na menší problémy v klonování AppFormu. Mám obecnou komponentu registerForm, kterou následně klonuji na userRegisterForm a partnerRegisterForm, v createComponent<name>() metodách následně přidávám/odebírám/upravuji některé prvky a vlastnosti klonovaného formuláře. Jenže…

  1. pokud v registerForm definuji skupiny prvků (addGroup()), v klonované verzi se vytratí a nelze je ani opětovně nastavit skrze add(),
  2. nefunguje JavaScript, dle zdrojového kódu má vygenerovaný kód staré reference na IDčka prvků (InstantClientScript).

A teď otázka: dělám něco, co bych neměl, co je špatně a čemu absolutně nerozumím nebo nechápu, jak funguje a nebo je to chybka a mělo by to fungovat? Předem díky :)

edit:
3. zdá, se, že ze stejné příčiny nefunguje ani addError() u validačních pravidel

Editoval Dragon Jake (20. 8. 2009 11:42)

Blizzy
Člen | 149
+
0
-

https://forum.nette.org/…are-tlacitka?…

Jinak tyto problémy by měly jít také řešit vytvářením tříd, které rozšiřují AppForm a v konstruktoru přidávají prvky formuláře. Tyto třídy se pak dají dědit, konstruktor rozšiřovat atd.

Dragon Jake
Člen | 20
+
0
-

Mno vida, tohle přesně jsem tu nemohl najít. Díky :)

Mě právě ještě napadlo řešení v podobě továrničky a dodatečné úpravy řešit až v action, ale nepřišlo mi to tak čisté a elegantní.

David Grudl
Nette Core | 8227
+
0
-

Dám raději do formuláře zákaz klonování, aby se podobným chybám předcházelo. (teda než a pokud se vyřeší způsob, jak formuláře klonovat).

Honza Kuchař
Člen | 1662
+
0
-

Nedávno jsem na tohle taky narazil. Nestačilo by jenom projít všechny controly a pravidla a nastavit jim parent na nového rodiče? nebo je v tom něco víc čeho jsem si nevšiml?

Dragon Jake
Člen | 20
+
0
-

honzakuchar napsal(a):

Nedávno jsem na tohle taky narazil. Nestačilo by jenom projít všechny controly a pravidla a nastavit jim parent na nového rodiče? nebo je v tom něco víc čeho jsem si nevšiml?

V tom objektu je toho celkem dost, reference na rodiče mě taky trkly… jen jsem si netroufl se do toho víc šťourat ;)