Debug bar data při Ajaxu

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

Ahoj,
nevím jestli už se totu neřešilo, ale nikde jsem nenašel.
Docela by se mi někdy hodily data debug baru i při ajaxu (dump, dibi prof. …). Trošku jsem o tom přemýšlel a možná by to šlo udělat takhle:
Celý debug bar obalit snippetem a upravit v třídě presenteru metodu invalidate control, že by při volání automaticky invalidovala i debug bar snippet. Tím by se zajistilo, že pokud se bude posílat nějaký snippet, pošle se i bar.
šlo by to tam nějak?

// edit
omlouvám se za ty tečky v nadpisu, ale chce to 25 znaků a nenapadlo mě jak předělat nadpis do požadované délky :)

Editoval Rampa (21. 7. 2010 9:19)

Foowie
Člen | 269
+
0
-

Určitě pro, na tohle si taky v duchu občas postěžuju :)
Jinak radši než „změnit metodu invalidace presenteru“ bych dal do metody beforeRender v presenteru, něco jako

if ($this->isAjax())
	$this->invalidateControl("nette_debug_bar");

(Osobně tak invaliduju automaticky pokaždé flash messages pokud nejsou prázdné)

Rampa
Člen | 65
+
0
-

plus by tam samozřejmě muselo být něco jako:

<?php
 if ($this->isAjax()&&!Debug::$productionMode){
 	$this->invalidateControl("nette_debug_bar");
 }
?>

Editoval Rampa (21. 7. 2010 11:13)

redhead
Člen | 1313
+
0
-

Problém je, že Debug Bar není žádná komponenta (control), kterou obsahuje presenter (!). Takže se nemá co invalidovat. Ale možná by šlo najít kód který se stará o vykreslení baru, a „okopírovat“ ho někam do beforeRender nebo podobně a vkládat výsledek do payloadu. Ale to je jen taková má myšlenka, možná to nepůjde, tak snadno.

na1k
Člen | 288
+
0
-

Je to jen o pohodlnosti anebo by to umělo něco navíc oproti Firebugu nebo Chrome Developer Tools?

Rampa
Člen | 65
+
0
-

No já nevím co dělám špatně, ale mě se ve Firebugu z Nette vůbec nic nezobrazuje.
Mám FB 1.6X. Když napíšu debug::firelog(‚pokus‘), tak FB zobrazí jen snippety a musím se přepnout do hlavičky požadavku a tam pracně najít ten řádek, který vypadá takto: X-Wf-nette-1-1-n1 |[{"Type":"LOG","Label":null},"pokus"]|… O dibi profileru tam samozřejmě není nic…
Takže používám jen v opravdové nouzi… :(

Editoval Rampa (22. 7. 2010 12:36)

iguana007
Člen | 970
+
0
-

Mě taky občas FB nefungoval … pak jsem přišel na to, že musím mít povolené všechny panely Firebugu, ne jenom třeba Konzoli, jinak to neběhá jak má. Imho si to tahá ještě data z panelu Síť nebo něco. Bůhví jak to je.