fix recursion en cursos, comision de género y asamblea con event source as function
This commit is contained in:
parent
210d25f3e6
commit
7e617171f3
@ -21,119 +21,125 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
}
|
}
|
||||||
var calendarEl = document.getElementById("calendar");
|
var calendarEl = document.getElementById("calendar");
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||||
schedulerLicenseKey: "CC-Attribution-NonCommercial-NoDerivatives",
|
schedulerLicenseKey: "CC-Attribution-NonCommercial-NoDerivatives",
|
||||||
|
|
||||||
eventDidMount: function (info) {
|
eventDidMount: function (info) {
|
||||||
var tooltip = tippy(info.el, {
|
var tooltip = tippy(info.el, {
|
||||||
content: `<strong>${info.event.title}</strong><br/><strong>${info.event.extendedProps.speaker.nombre}</strong><br/>${info.event.extendedProps.description}`,
|
content: `<strong>${info.event.title}</strong><br/><strong>${info.event.extendedProps.speaker.nombre}</strong><br/>${info.event.extendedProps.description}`,
|
||||||
allowHTML: true,
|
allowHTML: true,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
eventSources: [
|
eventSources: [
|
||||||
{
|
{
|
||||||
url: "/api/eventos/cursos",
|
url: "/api/eventos/cursos",
|
||||||
color: "#755baf",
|
color: "#755baf",
|
||||||
/*NO ESTÁ FUNCANDO EL RECUR
|
/*NO ESTÁ FUNCANDO EL RECUR
|
||||||
startTime:"13:00",
|
startTime:"13:00",
|
||||||
endTime:"14:00",
|
endTime:"14:00",
|
||||||
startRecur:"2021-09-14",
|
startRecur:"2021-09-14",
|
||||||
endRecur:"2021-09-16",*/
|
endRecur:"2021-09-16",*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
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",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
events: function(info,success,fail){
|
||||||
|
let comisiones = [];
|
||||||
|
for(let i=0;i<3;i++){
|
||||||
|
comisiones.push({
|
||||||
|
title: "Comisión de Género",
|
||||||
|
start: `2021-09-${14 + i}T18:30-0300`,
|
||||||
|
end: `2021-09-${14 + i}T19:30-0300`,
|
||||||
|
speaker: { nombre: "organizadores" },
|
||||||
|
description: "Reuniones de Comisión de Género de UMALCA",
|
||||||
|
color: "#812c64",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
success(comisiones);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
events: function(info,success,fail){
|
||||||
|
let asamblea = {
|
||||||
|
title: "Asamblea UMALCA",
|
||||||
|
start: "2021-09-13T19:00-0300",
|
||||||
|
end: "2019-09-13T20:00-0300",
|
||||||
|
speaker: { nombre: "organizadores" },
|
||||||
|
color: "black",
|
||||||
|
}
|
||||||
|
success([asamblea])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
headerToolbar: {
|
||||||
|
center: "timeGridAll,timeGridThree,timeGridOne",
|
||||||
},
|
},
|
||||||
{
|
eventTimeFormat: {
|
||||||
url: "/api/eventos/plenarias",
|
hour: "numeric",
|
||||||
color: "#578e44",
|
minute: "2-digit",
|
||||||
|
meridiem: false,
|
||||||
},
|
},
|
||||||
{
|
timeZone: "America/Montevideo",
|
||||||
url: "/api/eventos/semiplenarias",
|
locale: "es",
|
||||||
color: "#3383cb",
|
initialView: "timeGridAll",
|
||||||
|
initialDate: "2021-09-13",
|
||||||
|
validRange: {
|
||||||
|
start: "2021-09-13",
|
||||||
|
end: "2021-09-18",
|
||||||
},
|
},
|
||||||
{
|
nowIndicator: true,
|
||||||
url: "/api/eventos/publicas",
|
now: "2021-09-12",
|
||||||
color: "#a57b00",
|
slotMinTime: "11:00:00",
|
||||||
|
slotMaxTime: "21:00:00",
|
||||||
|
//slotMinTime:"11:00:00",
|
||||||
|
//slotMaxTime:"21:00:00",
|
||||||
|
slotDuration: "00:15",
|
||||||
|
allDaySlot: false,
|
||||||
|
slotLabelFormat: {
|
||||||
|
hour: "numeric",
|
||||||
|
minute: "2-digit",
|
||||||
|
omitZeroMinute: false,
|
||||||
|
meridiem: "short",
|
||||||
},
|
},
|
||||||
{
|
eventDisplay: "block",
|
||||||
url: "/api/eventos/premiados",
|
views: {
|
||||||
color: "darkred",
|
timeGridAll: {
|
||||||
},
|
type: "timeGrid",
|
||||||
],
|
duration: { days: 5 },
|
||||||
events: [
|
buttonText: "Todos los dias",
|
||||||
{
|
},
|
||||||
title: "Sesiones",
|
timeGridThree: {
|
||||||
startTime: "15:00-0300",
|
type: "timeGrid",
|
||||||
endTime: "18:15-0300",
|
duration: { days: 2 },
|
||||||
startRecur: "2021-09-13",
|
buttonText: "2 dias",
|
||||||
endRecur: "2021-09-18",
|
},
|
||||||
speaker: { nombre: "organizadores" },
|
timeGridOne: {
|
||||||
color: "gray",
|
type: "timeGrid",
|
||||||
//duration:{days:5}
|
duration: { days: 1 },
|
||||||
},
|
buttonText: "1 dia",
|
||||||
{
|
},
|
||||||
title: "Comisión de Género",
|
|
||||||
startTime: "18:30-0300",
|
|
||||||
endTime: "19:30-0300",
|
|
||||||
startRecur: "2021-09-14",
|
|
||||||
endRecur: "2021-09-17",
|
|
||||||
speaker: { nombre: "organizadores" },
|
|
||||||
color: "#812c64",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Asamblea UMALCA",
|
|
||||||
start: "2021-09-13T19:00-0300",
|
|
||||||
end: "2019-09-13T20:00-0300",
|
|
||||||
speaker: { nombre: "organizadores" },
|
|
||||||
color: "black",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
headerToolbar: {
|
|
||||||
center: "timeGridAll,timeGridThree,timeGridOne",
|
|
||||||
},
|
|
||||||
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-19",
|
|
||||||
},
|
|
||||||
nowIndicator: true,
|
|
||||||
now: "2021-09-12",
|
|
||||||
slotMinTime: "11:00:00",
|
|
||||||
slotMaxTime: "21:00:00",
|
|
||||||
//slotMinTime:"11:00:00",
|
|
||||||
//slotMaxTime:"21:00:00",
|
|
||||||
slotDuration: "00:15",
|
|
||||||
allDaySlot: false,
|
|
||||||
slotLabelFormat: {
|
|
||||||
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 },
|
duration: { days: 1 },
|
||||||
buttonText: "1 dia",
|
|
||||||
},
|
},
|
||||||
duration: { days: 1 },
|
});
|
||||||
},
|
|
||||||
});
|
|
||||||
calendar.render();
|
calendar.render();
|
||||||
timeZoneSelectorEl.addEventListener("change", function () {
|
timeZoneSelectorEl.addEventListener("change", function () {
|
||||||
calendar.setOption("timeZone", this.value);
|
calendar.setOption("timeZone", this.value);
|
||||||
|
@ -253,15 +253,58 @@ $mw = function ($request, $response, $next) {
|
|||||||
// API ROUTES
|
// API ROUTES
|
||||||
$app->group('/api', function($app){
|
$app->group('/api', function($app){
|
||||||
$app->get("/eventos/{tipo:cursos|plenarias|semiplenarias|publicas|premiados}",function(Request $request, Response $response, array $args) {
|
$app->get("/eventos/{tipo:cursos|plenarias|semiplenarias|publicas|premiados}",function(Request $request, Response $response, array $args) {
|
||||||
$tipo=$args['tipo']=="publicas"?"Públicas":ucfirst($args['tipo']);
|
$tipo=$args['tipo']=="publicas"?"Públicas":ucfirst($args['tipo']);
|
||||||
$newres = $response->withJson(getEventos($tipo));
|
if($tipo==="Cursos"){
|
||||||
|
$cursos = [];
|
||||||
|
foreach(getEventos($tipo) as $event){
|
||||||
|
for($i=0;$i<3;$i++){
|
||||||
|
$eventStart = new DateTime($event['start']);
|
||||||
|
$eventEnd = new DateTime($event['end']);
|
||||||
|
$eventStart->add(new DateInterval("P{$i}D"));
|
||||||
|
$eventEnd->add(new DateInterval("P{$i}D"));
|
||||||
|
$cursos[] = array(
|
||||||
|
'title'=>$event['title'],
|
||||||
|
'start'=>$eventStart->format("c"),
|
||||||
|
'end'=>$eventEnd->format("c"),
|
||||||
|
'description'=>$event['description'],
|
||||||
|
'speaker'=>$event['speaker'],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$newres = $response->withJson($cursos);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$newres = $response->withJson(getEventos($tipo));
|
||||||
return $newres;
|
return $newres;
|
||||||
});
|
});
|
||||||
$app->get("/eventos/sesiones[/{sesionId}]",function(Request $request, Response $response, array $args) {
|
$app->group("/eventos/sesiones/", function($app){
|
||||||
|
$app->get("",function(Request $request, Response $response, array $args){
|
||||||
|
$sesiones = getSesiones();
|
||||||
|
$sesionesEventos = [];
|
||||||
|
for($i=0;$i<5;$i++){
|
||||||
|
$dia=13+$i;
|
||||||
|
$evento = array(
|
||||||
|
'title'=>"Sesiones",
|
||||||
|
'start'=>'2021-09-'.$dia.'T15:00-0300',
|
||||||
|
'end'=>'2021-09-'.$dia.'T18:15-0300',
|
||||||
|
'description'=>"",
|
||||||
|
'speaker'=>"",
|
||||||
|
);
|
||||||
|
$sesionesEventos[]=$evento;
|
||||||
|
}
|
||||||
|
foreach ($sesiones as $ses){
|
||||||
|
|
||||||
|
}
|
||||||
|
return $response->withJson($sesionesEventos);
|
||||||
|
});
|
||||||
|
$app->get("/{sesionId}",function(Request $request, Response $response, array $args) {
|
||||||
|
|
||||||
$newres = $response->withJson(getSesiones($args['sesionId']));
|
$newres = $response->withJson(getSesiones($args['sesionId']));
|
||||||
return $newres;
|
return $newres;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
$app->get("/test", function(Request $request, Response $response, array $args) {
|
$app->get("/test", function(Request $request, Response $response, array $args) {
|
||||||
$this->logger->info("GDDWorkshop '/api/test' route");
|
$this->logger->info("GDDWorkshop '/api/test' route");
|
||||||
return var_dump($request);
|
return var_dump($request);
|
||||||
|
Loading…
Reference in New Issue
Block a user