Komponenta se při invalidaci přes AJAX vykreslí přes špatnou variantu metody render()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Růžička
Člen | 43
+
0
-

Mám komponentu xxx, která má dvě metody render a renderSmall. V šabloně ji zobrazuju takto:

{control xxx:small}

Komponenta reaguje na signál Sig, při kterém se celá invaliduje.

Pokud zpracovávám signál přes AJAX, po invalidaci se mi zobrazí špatná varianta komponenty. Tedy ne Small

Pokud nepoužiju AJAX, chová se to správně.

Odkaz na signál v šabloně komponenty je:

<a n:href="sig!" class="ajax">

Nevíte někdo v čem je problém? Dělám něco špatně nebo je chyba v nette?
Verze nette: 2.0.3 (2012–04–04)

Jan Endel
Člen | 1016
+
0
-

Viz mé téma.

David Růžička
Člen | 43
+
0
-

pilec napsal(a):

Viz mé téma.

Nejsem si jistý, co si z toho mám vzít. Znamená to teda, že si musím nějak detekovat odkud a jak to volám a podle toho v render() volat jiný kód? To by ale bylo přesně to, čemu jsem se chtěl vyhnout. A ani mi není jasné, jestli se to takhle skutečně má chovat nebo je to bug, který bude někdy v budoucnu odstraněn?

duke
Člen | 650
+
0
-

Bug to určitě je, ale asi není úplně triviální ho opravit, protože už je to hodně starý bug. Prozatím asi bude nejlepší v případě používání více render metod hlavní render metodu rezervovat pro ajax, a prostě z ní zavolat všechny specifické render metody (jak už doporučoval hrach).

Editoval duke (21. 4. 2012 2:06)

Rampus
Člen | 39
+
0
-

Jen toto téma oživuju, protože to stále zlobí. Nebo už někdo vymyslel, jak to přinutit fungovat?