komponenta, signály, ajax a flashmessage

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

nette 0.9.2 php 5.2.11

Už nějak vůbec nevím, kde je chyba :-/ Nedokáži rozchodit signály z kompnenty a vypisování flashmessage ..

presenter:

<?php
class Admin_WebPresenter extends Admin_BasePresenter
{

    public function createComponentWebStructure($name) {
        $menu = new WebStructure($this, $name);
        $menu->fill(NULL,$menu);

        return $menu;
    }

}
?>

komponenta:

<?php
...
public function handleMove($node,$refNode,$type) {
...
	$this->getPresenter()->flashMessage('Úspěšně přesunuto.', 'success');

	$this->getPresenter()->invalidateControl('flashMesage');
}
?>

@layout:

<?php
	{snippet flashMessage}
	<div id="flashes">
		{foreach $flashes as $flash}
		<div class="flash {$flash->type}">{$flash->message}</div>
		{/foreach}
	</div>
	{/snippet}

	{include #content}
?>

default.phtml:

<?php
{control webStructure}

jquery:

onmove : function (NODE,REF_NODE,TYPE,TREE_OBJ,RB) {
                $.get({link move! }, {'webStructure-node': NODE.id, 'webStructure-refNode' : REF_NODE.id, 'webStructure-type' : TYPE } );
            }
?>

handleMove se provede.. ale ve firebugu při náhledu do odezvy vrací celý kód html stránky..
a flashmessages také ne..

Oggy
Člen | 306
+
0
-

nemá někdo prosím alespoň tušení kde může být problém? .. v handleMove šahám do db atd..to proběhne.. ale potom to překreslení flashmessage nejede..

pokud volám signál presenteru a předám novou flashmessage tak invalidace funguje (díky zavináči před extends ..viz https://forum.nette.org/…i-ajax-linku ..nebo spíše https://forum.nette.org/…plate-file-1) ..ale pokud to volám z komponenty nic..

díky

Oggy
Člen | 306
+
0
-

tak malý posun.. je potřeba refreshnout v jquery snippety:

<script>
$.get({link move!}, {'webStructure-node': NODE.id, 'webStructure-refNode' : REF_NODE.id, 'webStructure-type' : TYPE}, function(payload) {
			// refresh all snippets
			for(var id in payload.snippets) {
				$('#' + id).html(payload.snippets[id]);
			}
		});
</script>

Nyní už je odezva pouze state[] .. takže teď otázka zní proč.. v odezvě chybí obsah snippetu flashmessage?

Oggy
Člen | 306
+
0
-

Oggy napsal(a):

tak malý posun.. je potřeba refreshnout v jquery snippety:

<script>
$.get({link move!}, {'webStructure-node': NODE.id, 'webStructure-refNode' : REF_NODE.id, 'webStructure-type' : TYPE}, function(payload) {
			// refresh all snippets
			for(var id in payload.snippets) {
				$('#' + id).html(payload.snippets[id]);
			}
		});
</script>

Nyní už je odezva pouze state[] .. takže teď otázka zní proč.. v odezvě chybí obsah snippetu flashmessage?

a odpověď zní :-) měl jsem ve flashmessage jen jedno s … uff.. tohle je pak chyba, které alespoň u mě nelze skoro odhalit ..

despiq
Člen | 320
+
0
-

takova OneManShow :)

Oggy
Člen | 306
+
0
-

despiq napsal(a):

takova OneManShow :)

no jo.. asi špatně položená otázka..a možná na špatné téma:-) .. ale třeba to někomu pomůže.