Redraw control nepřekreslí snippet

mobcz
Člen | 9
+
0
-

Zdravím,

V presenteru mám handler, do kterého vstupuje signál ze šablony default.latte, která je skrz {block content} klasicky součástí @layout.latte. V @layout.latte je pak také @header.latte a @navigation.latte. A právě v těchto dvou šablonách se snažím překreslit snippety. Jenže se nepřekreslí, ani v odpovědi serveru nechodí. Ale například snippet v layoutu se v pořádku překreslí.
Netušíte prosím někdo, čím by to mohlo být? Kód přikládám:

Presenter:

	public function handleDeleteMessage($id, $set, $view, $page)
	{
		if ($set == 'to') {
			$delete = $this->database->table('messages')->where('related', $id)->update([
				'deletedTo' => 1
			]);
		} else if ($set == 'from') {
			$delete = $this->database->table('messages')->where('related', $id)->update([
				'deletedFrom' => 1
			]);
		}

		$this->presenter->redrawControl('unreadNav'); // ma prekreslovat snippet v @navigation.latte
		$this->presenter->redrawControl('unreadHeader'); // ma prekreslovat snippet v @header.latte
		$this->redrawControl('alertBox'); // uspesne prekresli snippet v @layout.latte
		$this->redrawControl('messagesTable'); // uspesne prekresli snippet v default.latte

	}

@header.latte

<li class="dropdown list-notifications__item" n:snippet="unreadHeader">
    <a  md-ink-ripple="#8C8C8C" href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
        <md-icon class="color-primary" md-svg-src="/dist/img/icons/ic_mail_24px.svg"></md-icon>
        {var $countUnread = $presenter->getCountUnread()}
        {if $countUnread > 0}<span class="alert-badge"></span>{/if}
        <md-tooltip>
            Zprávy
        </md-tooltip>
    </a>

    <div class="dropdown-menu pull-left with-arrow panel panel-default">
        <ul class="list-group" style="max-height: 400px; overflow-y: auto;">
            {if $countUnread > 0}
                {foreach $presenter->getUnreadMessages() as $key => $message}
                    {var $sender = $presenter->getUserInfo($message['from'])}
                    <li class="list-group-item">
                        <a n:href="Messages:detail id => $message['id']" class="media">
                            <span class="pull-left media-icon">
                                <img ng-src="/images/profiles/{$sender['photo']}" alt="{$sender['email']}" style="width: 40px; border-radius: 30px" class="face">
                            </span>

                            <div class="media-body">
                                <span class="block">{$sender['firstname']} {$sender['lastname']} Vám odeslal(a) zprávu</span>
                                <span class="block"><strong>{$message['subject']}</strong></span>
                                <span class="text-muted">{$presenter->getTimeDifference($message['system_created'])}</span>
                            </div>
                        </a>
                    </li>
                {/foreach}
            {/if}

        </ul>
    </div>
</li>

@navigation.latte

<li class="nav-task" n:snippet="unreadNav">
    <a md-ink-ripple="#bbb" n:href="Messages:default">
        <md-icon md-svg-src="/dist/img/icons/message-text.svg"></md-icon>
        <span>Zprávy</span>
        {var $countUnread = $presenter->getCountUnread()}
        {if $countUnread > 0}<span class="badge badge-danger main-badge">{$countUnread}</span>{/if}
    </a>
</li>
David Matějka
Moderator | 6445
+
+1
-

to inkludovani @navigation apod je nutne obalit snippetArea makrem o tom, jak detailne funguji snippety, se muzes dozvedet v jedne me prednasce

mobcz
Člen | 9
+
0
-

@DavidMatějka Diky moc! pomohlo, prednasku projdu :)

Felix
Nette Core | 1189
+
0
-

@mobcz Jeste tady hodim odkaz na repo s Webpack 4, treba se bude hodit, i jako inspirace.

contributte/webpack-skeleton