Překreslení všech snippetů komponent presenteru z jedné komponenty (AJAX)

Odo
Člen | 48
+
0
-

Ahoj všem,

může komponenta vynutit ajaxové překleslení celého presenteru (všech snippetů všech komponent), něco jako $this->presenter->redrawControl();, což mi nefunguje?

Mám v presenteru dvě komponenty a když jedna změní stav přes AJAXový požadavek (smazání položky), potřebuji, aby se překreslila i druhá komponenta.

Používám nette-ajax.js 2.3.0 / Nette 2.4.

Předem díky za rady!

Editoval Odo (25. 4. 2020 21:39)

Šaman
Člen | 2667
+
0
-

Zkus obalit celý blok content snippetem.

Odo
Člen | 48
+
+1
-

Díky moc, já to opravdu na fóru hledal, ale nedohledal.

Funguje!

V šabloně presenteru mám:

{block content}
	{snippet wrapper}
		{control komponentaA}
		{control komponentaB}
	{/snippet}

V komponentě mám:

	$this->presenter->redrawControl('wrapper');
Odo
Člen | 48
+
0
-

Hmm, takže to nefunguje úplně dobře – druhá komponenta se sice překreslí, ale „zapomene“ svůj stav, tj. hodnoty persistentních parametrů. Dá se s tím něco dělat?

Nemá být v šabloně snippetArea místo snippet? Vlastně vůbec netuším, jaký je mezi tím rozdíl :/

Předem dík za rady :)