Formuláře – problémy se složitějšími podmínkami pro toggle a vnořováním groups
- LeonardoCA
- Člen | 296
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
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)