document.addEventListener("DOMContentLoaded", function () {
var timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
/*var slotMin = new Date("2021-09-13:14:00Z")
var slotMax = new Date("2021-09-13:23:30Z")
if(slotMax.getHours()')}`,
// content: `${info.event.title}
${info.event.extendedProps.description.split('|').map(ses=>`- ${ses}
`)}
`,
allowHTML: true,
});
}
else{
var tooltip = tippy(info.el, {
content: `${info.event.title}
${info.event.extendedProps.speaker.nombre}
${info.event.extendedProps.description}`,
allowHTML: true,
});
}
},
eventSources: [
{url: "/api/eventos/cursos", color: "#755baf"},
{url: "/api/eventos/plenarias", color: "#578e44"},
{url: "/api/eventos/semiplenarias", color: "#3383cb"},
{url: "/api/eventos/publicas", color: "#a57b00"},
{url: "/api/eventos/premiados", color: "darkred"},
{ url: "/api/eventos/sesiones/", color: "gray", display:'list-item', eventDidMount:function(info){
console.log(info)
}},
{url: "/api/eventos/genero", color: "#812c64"},
{
events: function (info, success, fail) {
let asamblea = {
title: "Asamblea UMALCA",
start: "2021-09-13T19:00-0300",
end: "2019-09-13T20:00-0300",
url: 'https://us02web.zoom.us/j/88195214460',
speaker: {
nombre:
"Representantes de cada una de las sociedades que integran UMALCA",
},
description:
"Estatutariamente, la asamblea reúne a los representantes de cada una de las sociedades que integran UMALCA. Las autoridades de los distintos comités (ejecutivo, científico, etc) están presentes para dar cuentas de lo actuado. No está abierta al público en general.",
color: "black",
};
success([asamblea]);
},
},
],
headerToolbar: {
center: "timeGridAll,timeGridThree,timeGridOne,listView",
},
eventTimeFormat: {
hour: "numeric",
minute: "2-digit",
meridiem: false,
},
timeZone: "America/Montevideo",
locale: "es",
initialView: "timeGridAll",
initialDate: "2021-09-13",
validRange: {
start: "2021-09-13",
end: "2021-09-18",
},
nowIndicator: true,
now: "2021-09-12",
slotMinTime: "11:00:00",
slotMaxTime: "21:00:00",
slotDuration: "00:15",
allDaySlot: false,
slotLabelFormat: {
hour: "numeric",
minute: "2-digit",
omitZeroMinute: false,
meridiem: "short",
},
eventTimeFormat: {
hour: "numeric",
minute: "2-digit",
omitZeroMinute: false,
meridiem: "short",
},
eventDisplay: "block",
views: {
timeGridAll: {
type: "timeGrid",
duration: { days: 5 },
buttonText: "Todos los dias",
},
timeGridThree: {
type: "timeGrid",
duration: { days: 2 },
buttonText: "2 dias",
},
timeGridOne: {
type: "timeGrid",
duration: { days: 1 },
buttonText: "1 dia",
},
dayGridD: {
type: "dayGridDay",
},
dayGridW: {
type: "dayGridWeek",
duration: { days: 2 },
},
listView: {
type: "listWeek",
buttonText: "Lista",
duration: { days: 2 },
},
},
});
calendar.render();
timeZoneSelectorEl.addEventListener("change", function () {
console.log(calendar.getOption('slotMinTime'))
calendar.setOption("timeZone", this.value);
switch (this.value) {
case "America/Montevideo":
calendar.setOption("locale", "es");
calendar.setOption("slotMinTime", "11:00:00");
calendar.setOption("slotMaxTime", "21:00:00");
calendar.setOption("initialDate", "2021-09-13");
calendar.setOption("validRange", {
start: "2021-09-13",
end: "2021-09-18",
});
calendar.changeView("timeGridAll");
break;
case "UTC":
calendar.setOption("locale", "en");
calendar.setOption("slotMinTime", "14:00:00");
calendar.setOption("slotMaxTime", "23:59:00");
calendar.setOption("initialDate", "2021-09-13");
calendar.setOption("validRange", {
start: "2021-09-13",
end: "2021-09-18",
});
calendar.changeView("timeGridAll");
break;
default:
calendar.setOption("locale",'en')
let initial = moment("2021-09-13T14:00Z");
let final = moment("2021-09-17T23:30Z");
let offset = initial.utcOffset();
calendar.setOption("initialDate", initial.format("Y-MM-DD"));
if(offset>0 && offset < 600){
//calendar.setOption("slotMinTime", "initial.format("H:mm")");
calendar.setOption("slotMinTime", "00:00");
//calendar.setOption("slotMaxTime", {days:1,hours:offset/60});
calendar.setOption("slotMaxTime", "24:00");
calendar.changeView("listView");
}
//let currentOffset = moment().utcOffset();
//initial.add(currentOffset, "minutes");
//calendar.setOption('slotMinTime', initial.utc().format('H:mm'))
//calendar.setOption("slotMaxTime", {days:1,hours:currentOffset/60});
else{
calendar.setOption("slotMaxTime",final.format("H:mm"));
calendar.setOption("slotMinTime", initial.format("H:mm"));
}
calendar.setOption("validRange", {
start: initial.format("Y-MM-DD"),
end:final.add(1,'d').format("Y-MM-DD")
});
}
});
});