TransWikia.com

Fullcalendar problema con actualizar eventos

Stack Overflow en español Asked by Matiri90 on December 30, 2020

Tengo un problema.. No lo puedo resolver de la forma normal. Que seria utilizando las funciones que brinda fullCalendar."refetchEvents"

Me muestra el error:

TypeError: $(…).fullCalendar is not a function

Dejo el código y un link:

Fullcalendar ayuda con slotDuration (con esto me ayudaron a que se cargaran correctamente los eventos)

Función en .js que agrega un evento a la base de datos, lo hace correctamente:

        $('#btnReservarTurno').click(function(e) {
        e.preventDefault();
        var title = $('#horaInicio').html();
        var fechaTurno = $('#reservaDate').val();
        var expDataInici = moment(fechaTurno, "DD/MM/YYYY");
        var start = $('#horaInicio option:selected').val();  
        var end = $('#horaFin option:selected').val();  
        var action = "reservarTurno";
        $.ajax({
            url : 'guardarTurno.php',
            type : 'POST',
            async : true,
            data: {action : action, title : title, descripcionTurno : descripcionTurno, start : start, end : end, textColor : textColor, backgroundColor : backgroundColor, idPaciente : idPaciente, idProf : idProf, idServicio : idServicio, idEstado : idEstado, idSesion : idSesion, idPagoServicio : idPagoServicio, idHC : idHC,fechaTurno:fechaTurno},

            success : function(r){
                 if(r != 'error'){
                    alertify.success("Excelente!. Venta realizada con exito!.");
                    $("#modalMenuReserva").modal("hide");           
                 }else{
                    alertify.error("Ups!. Hubo un problema..");
                 }
            },
            error : function(error) {
            }
        })
    });

  document.addEventListener('DOMContentLoaded', function() {
buscarAgenda();
});


    function buscarAgenda(){
    var action = 'buscarAgenda';
    $.ajax({
        url : 'selectAgendaProf.php',
        type : 'POST',
        async : true,
        data : {action : action},
        success: function(r){
            if(r != 'error'){
                var info = JSON.parse(r);
                var slotDuration = info.duracionAProf;
                $('#slotDuracion').val(slotDuration);
                var minTime = info.horaInic1;
                if(info.horaFinal2 != ""){
                    var maxTime = info.horaFinal2;          
                }else{
                    var maxTime = info.horaFinal1;          
                }
                var minTimeBuss = minTime.substring(0,5);
                var maxTimeBuss = maxTime.substring(0,5);
                $('#minTime').val(minTimeBuss);
                $('#maxTime').val(maxTimeBuss);
                var calendarEl = document.getElementById('calendar');
                var calendar = new FullCalendar.Calendar(calendarEl, {
                    plugins: [ 'dayGrid','timeGrid', 'interaction', 'list' ],
                    defaultView:'timeGridWeek',
                    header:{
                        left: 'prev,next today miBoton',
                        center: 'title',
                        right:'dayGridMonth,timeGridWeek,timeGridDay'
                    },
                    slotDuration: slotDuration,
                    minTime: minTime,
                    maxTime: maxTime,
                    allDaySlot: false,
                    slotLabelInterval : slotDuration,
                    slotLabelFormat: function (date){
                        return date.date.hour.toString().padStart(2, '0') +':'+ date.date.minute.toString().padStart(2,'0');
                    },
                    dateClick:function(info){
                        $("#fecha").val(info.dateStr);
                        dateStr = info.dateStr;
                        dateObj = new Date(dateStr); /* Or empty, for today */
                        dateIntNTZ = dateObj.getTime() - dateObj.getTimezoneOffset() * 60 * 1000;
                        dateObjNTZ = new Date(dateIntNTZ);
                        dateObjNTZ.toISOString().slice(0, 10);
                        $("#modalMenuReserva").modal();
                        cargarProf();
                        selectPaciente();
                        selectPrestador();
                        selectTratamiento();
                        cargarHoras1(dateObjNTZ.toISOString().slice(0, 10)); 
                        fechaNueva = dateObjNTZ.toISOString().slice(0, 10);
                        arrayFecha = fechaNueva.split('-');
                        fechaFinal = arrayFecha[2] + '-' + arrayFecha[1] + '-' + arrayFecha[0];
                        $("#reservaDate").val(fechaFinal);
                    },            
                    events:'http://localhost:81/hardturn/vista/listarTurnos.php'
                });
                calendar.setOption('locale','Es');
                calendar.render();
            }
        }
    }); 
}

Todas las funciones están dentro de la función "buscarAgenda".

Lo único raro es que, al ir para adelante y para atrás en la agenda, se actualizan los eventos.

Espero se entienda la pregunta y el error. Gracias!

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP