Vykreslení zanořené kontroly v layoutu (modal)
- zt
- Člen | 13
Zdravím,
mám komponentu pro tvorbu modal oken. Je jednoduchá, kosnstruktor má parametr callback který má vrátit komponentu který se má vykreslit v modal okně.
Používá se takhle třeba:
Krásně mi to funguje když v šabloně zavolám
{control modal}
, prostě skvělé. Ovšem z různch důvodů chci
vykreslovat tyto modaly v layoutu nezanořené v DOMu. Otázkou je jak toho
docílit?
Zkoušel jsem přes attached
kdy do BasePresenteru do pole
skládám ty komponenty ale zasekl jsem na tom že je nemám jak vykreslit
protože attached se volá ař při renderování ve většině případů a v
afterRender
už to nemůžu do layoutu dokreslit pokud se nepletu.
Takže tedy jak na to?
- Pavel Macháň
- Člen | 282
zt napsal(a):
Zdravím,
mám komponentu pro tvorbu modal oken. Je jednoduchá, kosnstruktor má parametr callback který má vrátit komponentu který se má vykreslit v modal okně.
Používá se takhle třeba:
Krásně mi to funguje když v šabloně zavolám
{control modal}
, prostě skvělé. Ovšem z různch důvodů chci vykreslovat tyto modaly v layoutu nezanořené v DOMu. Otázkou je jak toho docílit?
Zkoušel jsem přesattached
kdy do BasePresenteru do pole skládám ty komponenty ale zasekl jsem na tom že je nemám jak vykreslit protože attached se volá ař při renderování ve většině případů a vafterRender
už to nemůžu do layoutu dokreslit pokud se nepletu. Takže tedy jak na to?
Řeším to pomocí „Modal manageru“, který je obsažen v Base presenteru a pomocí signálu vložím do továrničky jaký modál se má vytvořit (pomocí extension mám registrováné továrničky modálů které jsou pro manager dostupné).
- Pavel Macháň
- Člen | 282
zt napsal(a):
Pavel Macháň: nějaký příklad by nebyl prosím? … není zase blbé v komponentně spoléhat na presenter?
@zt Komponenta funguje sama o sobě. Manager nedělá nic jiného než že modál zobrazí (načte pomocí ajaxu nebo po redirectu). V komponentě (modál) se s presentrem vůbec nepracuje. Pokud by si modál vložil ručně do templatu tak by také fungovala. Kdyby bylo potřeba zavolat presenter tak v modálu vytvoříš event, který následně zpracuje presenter v rámci eventu.
Editoval Pavel Macháň (28. 8. 2015 15:13)