Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ODIS
Člen | 33
+
0
-

Ahoj,

šálí mě jen zrak nebo Nette nepřekreslí snippet, pokud mu pošlu stejná data jako ta, která v něm již jsou?

Příklad: chci zavolat nějaký JS až po překreslení snippetu

<a class="ajax" n:href="edit!">Show dialog</a>

{snippet snip}
	{if isset($showAlert)}
		<script>
			alert('show');
		</script>
	{/if}
{/snippet}
class HomepagePresenter extends BasePresenter
{
	public function handleEdit()
	{
		$this->template->showAlert = true;

		$this->redrawControl('snip');
	}
}

Po prvním kliknutí se dialog zobrazí, ale při dalších už ne.

Pokud dám do snippetu třeba náhodou hodnotu, tak to šlape jak má:

{var $rand = uniqid()}

Dedukuji z toho tedy, že je někde v procesu překreslení kontrola totožnosti obsahu, ale zatím se mi ji nepodařilo najít.

Neví někdo kde a proč? :) (Ale třeba se jen fakt blbě pletu :))

Nette 2.3.4

Editoval ODIS (15. 6. 2016 20:38)

David Matějka
Moderator | 6445
+
+2
-

muze za to nette.ajax.js, konkretne tenhle commit: https://github.com/…9508dae30570

ODIS
Člen | 33
+
0
-

Mockrát díky za super-přesnou navigaci! :))

kleinpetr
Člen | 480
+
0
-

Je to tak, dřív jsem to řešil skrytým timestampem ve snippetu :D (hrůza) takže díky za objasnění :)