jquery fullcalendar send custom parameter and refresh calendar with JSON-open source projects arshaw/fullcalendar
I have a problem of duplication events. When I create an event always the last event is duplicate. I am required to use location.reload() to avoid that.Someone can help me find a solution. This is my code :
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
/* initialize the calendar
-----------------------------------------------------------------*/
var calendar = $('#calendar').fullCalendar({
allDayDefault: false,
minTime: 7,
maxTime: 20,
editable: true,
ignoreTimezone: false,
header: {
left: 'prev,next today',
center: 'title'
//right: 'resourceDay,month,agendaWeek',
//right: 'resourceDay'
},
titleFormat: 'ddd, MMM dd, yyyy',
defaultView: 'resourceDay',
resources: [
{
name: 'David Boudreau',
id: '71'
},
{
name: 'Frédéric Cyr',
id: '50'
},
{
name: 'Guillaume R.',
id: '12'
}
,
{
name: 'Jonathan Morin',
id: '58'
}
,
],
events: "/events.php",
// affiche img done pour chaque event
eventRender: function(event, element) {
if(event.done == 1)
{
$('#fc-event-done_'+event.id).show();
}
},
/*add event*/
selectable: true,
selectHelper: true,
select: function(start, end, allDay, event, resourceId) {
start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
$("#name_title").html('
Nouvelle Tâche
'); $('#duree').hide(); $('#del').hide(); $('#myModal').modal('show'); $('#title_tache').focus(); var data = ''; $("#submit").click(function(){ var title = $('#title_tache').val(); var color = $('input[name=lst_type]:checked').val(); var datefin = $('#datepicker').val(); $.ajax({ url: 'add_events.php', data: 'title='+ title+'&start='+ start +'&end='+ end +'&color='+ color +'&datefin='+ datefin +'&resourceId=' + resourceId, type: "POST", success: function(data) { $("#tacheform").trigger('reset'); //jquery $('#myModal').modal('hide'); $("#calendar").fullCalendar('refetchEvents'); $("#calendar").fullCalendar('unselect'); //location.reload(); } }); }); //$("#tacheform").trigger('reset'); //jquery $("#calendar").fullCalendar('unselect'); }, /*edit info event*/ eventClick: function(calEvent, jsEvent, view) { //console.log('dentro eventClick'); $("#name_title").html('
Mise à jour
'); $('#myModal').modal('show'); $('#title_tache').val(calEvent.title); $('#datepicker').val(calEvent.datefin); //console.log(calEvent.done); if(calEvent.done == 1){ $('#done').prop('checked', true);} else{$('#done').prop('checked', false);} start1 = $.fullCalendar.formatDate(calEvent.start, "yyyy-MM-dd HH:mm:ss"); end1 = $.fullCalendar.formatDate(calEvent.end, "yyyy-MM-dd HH:mm:ss"); Id = calEvent.id; resource = calEvent.resourceId; bdcolor = calEvent.backgroundColor; /*select color from database*/ if(bdcolor != ''){ if(bdcolor == '#f39c11'){$("#lst_type1").prop("checked", true); }else{$("#lst_type1").prop("checked", false);} if(bdcolor == '#2ecd71'){$("#lst_type2").prop("checked", true); }else{$("#lst_type2").prop("checked", false);} if(bdcolor == '#5cade2'){$("#lst_type3").prop("checked", true); }else{$("#lst_type3").prop("checked", false);} } /*calcul hours for event*/ duration = timediff(calEvent.start,calEvent.end); $('#duration').val(duration); //update event $("#submit").click(function(){ var title1 = $('#title_tache').val(); var color = $('input[name=lst_type]:checked').val(); var datefin = $('#datepicker').val(); var done = 0; if( $('#done').is(':checked') ){ done = $('#done').val(); } //calEvent.title =title; $.ajax({ type: "POST", url: "update_events.php", data: 'title='+ title1+'&start='+ start1 +'&end='+ end1 +'&resourceId='+ resource +'&color='+ color +'&datefin='+ datefin +'&done='+ done + '&id=' + Id, success: function(data){ //$("#thanks").html(msg) $("#tacheform").trigger('reset'); //jquery $('#myModal').modal('hide'); $("#calendar").fullCalendar('refetchEvents'); calendar.fullCalendar('unselect'); location.reload(); }, error: function(){alert("Erreur lors de l'update");}}); }); //delete event $("#del").click(function(){ $.ajax({ type: "POST", url: "delete_event.php", data: 'id=' + Id, success: function(data){ //$("#thanks").html(msg) //$("#tacheform").trigger('reset'); //jquery $("#myModal").modal('hide'); $("#calendar").fullCalendar('refetchEvents'); calendar.fullCalendar( 'unselect'); }, error: function(){alert("Erreur lors delete");}}); }); calendar.fullCalendar( 'unselect'); }, /*update event*/ editable: true, eventDrop: function(event, delta) { start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss"); end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss"); datefin = event.datefin; done = event.done; resource = event.resourceId; $.ajax({ url: 'update_events.php', data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&resourceId='+ resource +'&color='+ event.backgroundColor+'&datefin='+datefin+'&done='+done+'&id='+ event.id , type: "POST", success: function(json) { //alert("OK"); //console.log('update drop'); $.pnotify({ title: 'Mise à jour réussi', type: 'success' }); } }); }, eventResize: function(event) { start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss"); end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss"); datefin = event.datefin; done = event.done; resource = event.resourceId; $.ajax({ url: 'update_events.php', data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&resourceId='+ resource +'&color='+ event.backgroundColor+'&datefin='+datefin+'&done='+done+'&id='+ event.id , type: "POST", success: function(json) { console.log('update rezise'); $.pnotify({ title: 'Mise à jour réussi', type: 'success' }); } }); }, });