Как загрузить данные из выходного JSON в события fullCalendar - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужно отобразить расписание занятий, когда я нажимаю кнопки любого класса в объекте fullCalendar.

Я уже сделал это, чтобы получить расписание, когда я выбираю классную комнату, выполняющую вызов ajax.

Эта функция срабатывает, когда я нажимаю любую из кнопок в классе.

function passVal(id) {
    var calendarioFiltro; //Prepare variable to retrieve DB data

    @foreach($salones as $key => $salon)//This foreach fills a small table of a classroom info
      if(id == '{{$salon->id}}'){
        $('#tb_id').val('{{$salon->id}}');
        $('#tb_nombre').val('{{$salon->nombre}}');
        $('#tb_dimensiones').val('{{$salon->dimensiones}}');
        $('#tb_capacidad').val('{{$salon->capacidad}}');
        $('#tb_costobase').val('{{$salon->costobase}}');
        $('#tb_costomobiliario').val('{{$salon->costo_mobiliario}}');
        $('#tb_descripcion').val('{{$salon->descripcion}}');
      }
    @endforeach

    let url = "salones/seleccionar";//Prepare variables to make an ajax call to my controller and load DB data
    let tb_id = document.getElementById('tb_id').value;//From the small table I have a hidden field to send it to the ajax call for my query
    let parametros;
    let longitud;
    var getEvent = [];

    parametros = {
      "tb_id" : tb_id,//This is the parameter to send
    };

    $.ajax({
            url: url,
            data: parametros,
            success: function (data){//Now the data from the query will end up to an array
              calendarioFiltro = data;
              longitud = calendarioFiltro.length;

              var insertEvents = {};
              for(var i = 0;i <= longitud -1;i++)
                {
                  var titulo = calendarioFiltro[i].nombre;
                  var color = calendarioFiltro[i].color;
                  var hora_inicio = calendarioFiltro[i].hora_inicio;
                  var fecha_inicio = calendarioFiltro[i].fecha_inicio;
                  var hora_fin = calendarioFiltro[i].hora_fin;
                  var fecha_fin = calendarioFiltro[i].fecha_fin;

                    insertEvents =//Prepare a JSON format so I can put it into the Events property of my FullCalendar
                    {
                      title : titulo,
                      backgroundColor: color,
                      borderColor: color,
                      startTime: hora_inicio,
                      startRecur : fecha_inicio,
                      endRecur: fecha_fin,
                      endTime: hora_fin,
                    };
                    getEvent.push(insertEvents);//Store all the events in a array format

                };

            }
      });

}

Далее приведено определение свойств календаря. Я перепробовал много функций, но не добился успеха, это немного расстраивает.

    document.addEventListener('DOMContentLoaded', function() {
    var calendarEl = document.getElementById('calendar');
    var calendar = new FullCalendar.Calendar(calendarEl, {
    plugins: [ 'dayGrid', 'timeGrid','list'],
    header: {
      left: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek',
      center: 'title',
      right: 'prev,next'
    },
    locale: 'es',
    allDay: false,
  })
  calendar.render();
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...