Formuláře – problémy se složitějšími podmínkami pro toggle a vnořováním groups

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

Prosím o nějakou informaci k budoucímu stavu formulářů. Na stránce vývoje je zmiňován refactoring a body, kterých se má týkat. Ale nenašel jsem nic bližšího.

Složitější formuláře si zatím raději řídím vlastním javascriptem, protože toggle (ne)funguje podivně například, když se pokouším přídá toggle a závislosti na více prvků současně. Některé případy by se daly elegantně vyřešit, kdyby se daly groups jednoduše(ji) vnořovat, ale to moc dobře neřeší ani úprava s přetypováním embedNext na číslo.

Existuje už nějaká představa jakým směrem by se měla například nová a obecnější implementace toggle() a změna pojetí groups vyvíjet? Hodilo by se mi trošku vylepšená funkcionalita a raději bych přispěl k vývoji formulářů přímo v nette, než pak přizpůsobovat své řešení budoucím změnám ve frameworku.

LeonardoCA
Člen | 296
+
0
-

Možná nechápu správně význam a účel současných skupin (groups), ale zkusím naznačit mou představu řešení pro obecnější a jednodušší (nejen) toggle.

1. Pro rozdělení formulářů do bloků jsou podle mne zcela dostačující Containers/podformuláře. Skupiny (groups) bych chápal pouze jako nevykreslitelné skupiny controls formuláře definovaných právě hlavně pro zjednodušení validace a podmínek pro zobrazení/disable/toggle a další hromadné nastavování vlastnosti/chování jednotlivých controls.

To znamená:

2. groups by nemusely vůbec ctít DOM formuláře. Vybrané controls z libovolného containeru by mohly být součástí stejné skupiny.

3. jeden prvek by mohl zároveň patřit do více skupin

4. Toggle by mohl fungovat zároveň stejně jako nyní pro ID, a zároveň lépe a jednodušeji by skupiny byly definovány podobně jako rules přes vlastní atribut např. „data-nette-groups“, který by obsahoval pouze výčet skupin do kterých patří. Tak by se daly definovat jednoduchá pravidla fungující i napříč dynamicky generovanými formuláři.

5. Toggle by mohl ovlivňovat nejen viditelnost prvků, ale např editovatelnost (atribut disabled/readonly), povinnost, atp.

6. Aby se zajistilo, že si skupiny nebudou přepisovat pravidla vzájemně, tak by mohly být samotné skupiny definovány mohly mít stále hirearchickou struktůru, s tím že pravidla rodičovské skupiny by měly defaultně přednost před pravidly vnořených skupin (nebo naopak) (s volitelnou možností definovat výjímku, něco jak v css !important)

Nemám vše ještě úplně domyšlené, ale co na to říkáte?

Editoval LeonardoCA (30. 6. 2012 15:27)