Gracias por este ejemplo :)
yo no era capaz de hacer esto (en el código de la matriz eventos) funciona para mí, pero yo encontrar otra manera de añadir fuentes de eventos utilizando una parte del código que previsto.
Esta es mi lógica:
Mi fuente primaria de eventos es la siguiente (esta es la fuente de los acontecimientos de los ejemplos por defecto de Fullcalendar):
events: function(start, end, callback) {
$.ajax({
type: 'POST',
url: 'myurl',
dataType:'xml',
crossDomain: true,
data: {
// our hypothetical feed requires UNIX timestamps
start: Math.round(start.getTime()/1000),
end: Math.round(end.getTime()/1000),
'acc':'2',
},
success: function(doc) {
var events = [];
var allday = null; //Workaround
var Editable = null; //Workaround
$(doc).find('event').each(function()
{
if($(this).attr('allDay') == "false") //Workaround
allday = false; //Workaround
if($(this).attr('allDay') == "true") //Workaround
allday = true; //Workaround
if($(this).attr('editable') == "false") //Workaround
Editable = false; //Workaround
if($(this).attr('editable') == "true") //Workaround
Editable = true; //Workaround
events.push({
id: $(this).attr('id'),
title: $(this).attr('title'),
start: $(this).attr('start'),
end: $(this).attr('end'),
allDay: allday,
editable: Editable
});
});
//calendar.fullCalendar('addEventSource', othersources.folgas);
//calendar.fullCalendar('addEventSource', othersources.ferias);
//calendar.fullCalendar('refetchEvents');
callback(events);
}
});
}
Ahora lo necesitaba añadir más fuentes y para hacer esto ouside del calendario (al lado de las variables de fecha de ejemplos fullcalendar) hice una variable como el código anterior, pero con llamadas Ajax similar a mi primaria:)
var othersources = {
anothersource: {
events: function(start, end, callback) {
$.ajax({
type: 'POST',
url: 'myurl',
data: {
// our hypothetical feed requires UNIX timestamps
start: Math.round(start.getTime()/1000),
end: Math.round(end.getTime()/1000),
'acc':'7',
},
success: function(doc) {
var events = [];
var allday = null; //Workaround
var Editable = null; //Workaround
$(doc).find('event').each(function()
{
if($(this).attr('allDay') == "false") //Workaround
allday = false; //Workaround
if($(this).attr('allDay') == "true") //Workaround
allday = true; //Workaround
if($(this).attr('editable') == "false") //Workaround
Editable = false; //Workaround
if($(this).attr('editable') == "true") //Workaround
Editable = true; //Workaround
events.push({
id: $(this).attr('id'),
title: $(this).attr('title'),
start: $(this).attr('start'),
end: $(this).attr('end'),
allDay: allday,
editable: Editable
});
});
callback(events); //notice this
}
});
},
cache: true,
//error: function() { alert('something broke with courses...'); },
color: 'green', //events color and stuff
textColor: 'white',
//className: 'course'
}
}
El siguiente código es similar a la anterior y es parte de los proprietys calendario (en el interior variable de calendario):
eventSources: [ othersources.anothersource ],
viewDisplay: function(view) {
if (view.name == 'month'){
// alert(view.name);
//calendar.fullCalendar('addEventSource', othersources.folgas);
calendar.fullCalendar('addEventSource', othersources.anothersource);
//calendar.fullCalendar('refetchEvents'); //Notice i'm not doing the refetch events. And its working for me. but i'm calling thi elsewhere, every time i make an action. So you must figure it out ;)
}
gracias por la respuesta. Con su código pude encontrar lo siguiente: $ ("# TaskSelector"). Change (onSelectChange); \t función onSelectChange() { \t \t $ ('# calendar'). FullCalendar ('removeEventSource', root + '/ events /' + defaultFeed) .fullCalendar ('refetchEvents'); \t \t defaultFeed = $ ('# TaskSelector'). Val(); \t \t $ ('# calendar'). FullCalendar ('addEventSource', root + '/ events /' + defaultFeed) .fullCalendar ('refetchEvents'); \t} }); Funciona bien, pero ¿podría ver algún problema con él? Configuré defaultFeed en la parte superior del código, y hasta ahora todo va bien. ¡Gracias por su respuesta! – Kingsley
@RET http://stackoverflow.com/questions/37204410/how-to-show-event-details-on-click-of-day-in-full-calendar ¿puede por favor marcar esta pregunta? –