- Pavel Kravčík
- Člen | 1196
Zdravím,
mám spíš teoretickou otázku na best practise. Vytvořím si továrničku na základní formulář. Ten chci pak rozšířit o pár políček na dalších deseti místech a pokaždé jiných. Chtěl jsem zachovat princip 1 definice a 1 latte pro každou továrničku. Abych pokud změním zíkladní formulář – změní se mi všude. Vyhnout se DRY.
Podobně složím i latte přes bloky. Což je samo o sobě skvělé pro můj případ.
Ale kdybych teoreticky chtěl složit formulářů více? Tady můžu snadno používat všechny protected vlastnosti předka (ajax, signály). Ale kdyby nastala situace, že chci dědit dvě věci a nějakým způsobem si je spojit?
V současnosti to považuju za blbost a neřešitelný „problém“ a myslím, že musím změnit myšlení. Dědit si form ale nespojovat jich tolik a radši to řešit závislostmi nebo postupnými kroky. Ale myslím, že čím víc informací tím lepší návrh.
Díky
- Pavel Kravčík
- Člen | 1196
@FilipKlimeš: Ano to používám na určité bloky baseForm. Například volitelné bloky jako korespondenční adresa. Jde mi o kompozici na úrovni továrniček.
Protože třeba ten baseForm bude mít handler na výpis dat z Ares. To do containeru nenarvu.
Editoval kzk_cz (23. 1. 2015 9:11)
- Filip Procházka
- Moderator | 4668
Mně se to nelíbí. A to tvoje přetížené createBody
už
vůbec ne.
Handle na ARES můžeš dát klidně do té komponenty a nemusíš to dávat do formuláře, na co taky? :)
- Pavel Kravčík
- Člen | 1196
Ono to ani pořádně nefunguje. V podstatě hledám nějaké „rozšířené containery“. Já si sice můžu jednoduše připravit část formuláře, kterou použiji potom 10×. Ale pokud na tu část budu mít navázány nějaké speciální akce (dependent select box přes ajax), tak bych ho stejně musel 10× dát do každého presenteru. A pokud ho budu chtít změnit, tak ho musím hledat na deseti místech.