Redraw snippetu po odeslání Json

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

Dobrý den,
snažím se překreslit snippet, ale po odeslání Json (chyby) se již nic neredrawuje (ani předtím pokud ho použiju). Cílem je informovat nette.ext (js) o chybě při zpracování (o vyhození exceptiony).

public function ...FormSucceded(Nette\Application\UI\Form $form, $values) {
    try {
      ...
    } catch (\unitNumberException $exception) {
      $this->redrawControl('unitManager'); // nestane se
      $this->presenter->sendJson([
            "error" => $exception->getMessage(),
            "code" => $exception->getCode()
       ]);
    }

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

Cílem je informovat o chybě i v jQuery:

 $.nette.ext('unit-form', {
       start: function () {
          // magie
       },
       success: function () {
          // pokud Exceptiona delej neco
          // pokud OK delej neco jineho
       },
       error: function () {
          // odchytí pouze ajax chyby - což Exceptiona není
       }
   }, {
});
David Matějka
Moderator | 6445
+
+2
-

sendJson ukonci beh presenteru a nedojde k vykresleni sablony. muzes pouzit jen

$this->presenter->payload->error = ...;

a nechat bezet zivotni cyklus dal.

JaxP
Člen | 62
+
0
-

Paráda funguje, díky)