Nefunkční ajax v komponentě
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Hauron
 - Člen | 26
 
Zdravím. Snažím se už docela dlouho přijít na to kde mám chybu v následujícím :
Snažím se napsat komponentu, která se bude AJAXově překreslovat. Při zpracování požadavku je mi ovšem vrácena celá stránka. Ajax jsem zatím testoval v podobném rozsahu přímo v aplikaci a tam vše fungovalo, po přesunutí do komponenty je někde něco špatně.
Používám PHP 5.3.3 a Nette 2.0beta
komponenta :
class SrvDirList extends NControl
{
    private $currentpath = false;
    public function __construct($path = false)
    {
        $this->currentpath = $path;
        parent::__construct();
    }
    public function handleChangeDir($cesta)
    {
        $this->currentpath = $cesta;
    }
    public function render()
    {
        $this->template->setFile(dirname(__FILE__) . '/SrvDirList-default.latte');
        $this->template->path = $this->currentpath;
        $this->template->path1 = 'Cesta1';
        $this->template->path2 = 'Cesta2';
        $this->template->render();
    }
Šablona :
{snippet}
<div class="SDL_FullIcon" name="{link changedir $path1}">
Cesta1
</div>
<div class="SDL_FullIcon" name="{link changedir $path2}">
Cesta2
</div>
{$path}
<script>
$('.SDL_FullIcon').dblclick(function(){
    $.get($(this).attr('name'));
});
</script>
{/snippet}
V presenteru je vyvoláváno standardně pomocí {control dirList}.

- Hauron
 - Člen | 26
 
https://doc.nette.org/…ication/ajax
„Komponenta, která přijímá signál, je automaticky označena za invalidní.“

- 22
 - Člen | 1478
 
podle toho to tak vypadá, ale několik poznámek:
- míchat české a anglické názvy proměnných je ble
 - pomlčka v názvu šablony by zasloužila vyměnit za podtržítko
 - zapni si laděnku a vypni zachytavání vyjímek
 - pro debugovaní ajaxu je nejlepší Fireloger v kombinaci Debugger::firelog()
 - zjisti si, jestli je snippet po requestu opravdu invalidní