Fullcalendar s nette a ajaxem

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

Zdravím, mám problém s invalidováním fullcalenar.

Nette v0.9.6 prefixed
PHP v5.3.13
Apatche v2.2.22

Fullcalendar v1.6.4
jQuery v1.9.1

Jen k obraně projektu. Jeho vývoj začal už před několika lety a k upgradu na novější verzi jsme se ještě neodhodlali, protože to je obrovský.

V php mám kód, který funguje, přijdou správná data po ajaxovém požadavku (ověřeno pomocí Firebugu), ale nedaří se mi je dostat do kalendáře, resp. stále zůstávají ty staré.

{snippet test}
	<script>
                $(document).ready(function() {
                        $.nette.updateSnippet = function(){
                            var source = {$events};
                            $('#calendar').fullCalendar( 'removeEvents' );
                            $('#calendar').fullCalendar( 'addEventSource', source );
                            $('#calendar').fullCalendar( 'refetchEvents' );
                            $('#calendar').fullCalendar( 'rerenderEvents' );
                        };



                        $('#calendar').fullCalendar({
                                header: {
                                        left: 'prev,next today',
                                        center: 'title',
                                        right: 'month,agendaWeek,agendaDay'
                                },
                                editable: false,
                                allDaySlot:false,
                                events: {$events}


        </script>
       <div id='calendar'></div>
{/snippet}

CHYBA: zde je chyba v tom, že se proměnná $events natáhne původní, když se tvoří dokument

Napadlo mě ještě několik řešení a vyzkoušel jsem toho hodně, ale nic nefunguje. Čili co potřebuji. Buď řešení, jak dynamicky přenačítat proměnou events s následně měnit nebo nějaké jiné, které jsem přehlédl.

Jen pro upřesnění. Data odesílám ajaxem jiným kódem a v handlu mám toto:

<?php
	public function handleMoveCalendar($data)
	{
		...
		$this->template->events = $this->modifyEventsForCalendar($events);
		if($this->isAjax())
		{
			$this->invalidateControl();
		}
	}
?>

Předem díky