我想用meteorjs调整fullcalendar中的事件大小.我想恢复输入中的日期以设置大小.我尝试了很多东西,比如下一个代码,但它失败了.
我想在"dd-mm-yy"中格式化日期.
还请解释如何在我的js文件中使用alaning角色来防止用户发生click事件.
谢谢你的帮助.
我的文件.html:
{{#if isInRole 'view-projects,prof,admin'}}
{{>dialog}}
{{/if}}
我的文件client.js:
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();
}
})
}
我的文件server.js:
if (Meteor.isServer) {
Meteor.startup(function ()
{
Meteor.methods({
'saveCalEvent':function(ce)
{
CalEvent.insert(ce);
},
'updateTitle':function(id,title){
return CalEvent.update({_id:id},{$set:{title:title}});
},
'removeCalEvent':function(id,tittle){
return CalEvent.remove({_id:id});
},
'updateStart':function(id,start){
return CalEvent.update({_id:id},{$set:{start:start}});
},
'updateEnd':function(id,end){
return CalEvent.update({_id:id},{$set:{end:end}});
},
'moveEvent':function(reqEvent){
return CalEvent.update({_id:reqEvent._id},{
$set:{
start:reqEvent.start,
end:reqEvent.end
}
})
}
})
});
}
再次感谢你的帮助