Template.dialog.events({ "click .closeDialog": function(event, template){ Session.set('editing_event', null); }, "click .updateTitle":function(evt, tmpl){ var title = tmpl.find('#title').value; Meteor.call('updateTitle', Session.get('editing_event'),title); Session.set('editing_event', null); $('#EditEventModal').modal("hide"); }, "click .remove":function(evt, tmpl){ Meteor.call('removeCalEvent', Session.get('editing_event')); Session.set('editing_event', null); $('#EditEventModal').modal("hide"); }, "click .updateStart":function(evt, tmpl){ var start = tmpl.find('#start').value; Meteor.call('updateStart', Session.get('editing_event'),start); Session.set('editing_event',null); }, "click .updateEnd":function(evt, tmpl){ var end = tmpl.find('#end').value; Meteor.call('updateEnd', Session.get('editing_event'),end); Session.set('editing_event',null); } }); Template.planning.helpers({ editing_event:function() { return Session.get('editing_event'); } }); Template.dialog.helpers({ title:function(){ var ce = CalEvent.findOne({_id:Session.get('editing_event')}); return ce.title; }, start:function(){ var ce = CalEvent.findOne({_id:Session.get('editing_event')}); return ce.end; }, end:function(){ var cend = CalEvent.findOne({_id:Session.get('editing_event')}); return cend.end; } }); Template.dialog.rendered = function() { if(Session.get('editDialog')) { var calevent = CalEvent.findOne({_id:Session.get('editDialog')}); if(calevent) { $('#title').val(calevent.title); $('#start').val(calevent).start; $('#end').val(calevent).end; } } $('#end').datepicker(); $('#dateStart').datepicker(); } Template.planning.rendered = function() { var calendar = $('#calendar').fullCalendar({ dayClick:function(date, allDay, jsEvent, view){ var calendarEvent = {}; calendarEvent.start = date; calendarEvent.end = date; calendarEvent.title = 'Nouveau Projet'; calendarEvent.owner = Meteor.userId(); Meteor.call('saveCalEvent', calendarEvent); }, eventClick:function(calEvent, jsEvent, view){ Session.set('editing_event',calEvent._id); $('title').val(calEvent.title); $('#EditEventModal').modal("show"); }, eventDrop:function(reqEvent){ Meteor.call('moveEvent', reqEvent); }, events:function(start, end, callback){ var calEvents = CalEvent.find({}, {reactive:false}).fetch(); callback(calEvents); }, editable:true, selectable: true formatDate: }).data().fullCalendar; Deps.autorun(function(){ CalEvent.find().fetch(); if(calendar){ calendar.refetchEvents(); } }) }