Изменить вид полного календаря не держать событие - PullRequest
0 голосов
/ 18 октября 2018

Я использую v3 из fullcalendar .Когда я инициализирую календарь, я вижу представление повестки дня, но когда я запускаю некоторые события и изменяю представление, событий там нет.

Это просто происходит при первом взаимодействии, после этого события отображаютсяпросто отлично.

Я вижу свойство lazyFetching на документах, но не решаю мою проблему.

Это моя пользовательская конфигурация календаря:

$(document).ready(function () {

    var containerEl = $('#calendar');

    containerEl.fullCalendar({
        defaultView: 'agendaWeek',
        hiddenDays: [0],
        locale: 'pt-br',
        slotLabelFormat: 'HH:mm',
        views: {
            week: { columnHeaderFormat: 'ddd D/M' }
        },
        editable: true,
        allDaySlot: false,
        slotDuration: '00:15:00',
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        buttonText: {
            month: 'Mês',
            agendaDay: 'Dia',
            agendaWeek: 'Semana',
            today: 'Hoje'
        },
        // Dates outside of the valid range will be grayed-out. The user
        // will not be able to drag or resize events into these areas.
        validRange: {
            start: moment('2018-10-22'),
            end: moment('2018-05-29')
        },
        minTime: "07:00:00",
        maxTime: "23:30:00",
        // Slot do evento de tamanho fixo a horaAula da escola
        eventDurationEditable: false,
        eventStartEditable: true,
        defaultTimedEventDuration: '00:45:00',
        selectable: true,
        // Eventos
        select: function (start, end, jsEvent, view) {
            addEvent(containerEl, start, end, jsEvent, view);
        },
        eventClick: function (event, jsEvent, view) {
           removeEvent(containerEl, event, jsEvent, view);
        },
        dayClick: function(date, allDay, jsEvent, view) {
            // Se a view for de mês mudamos para o dia quando clicável
            if (jsEvent.name === 'month') {
                containerEl.fullCalendar('changeView', 'agendaDay', date);
            }
        }file:///home/italo/Downloads/bug.gif

    });
});

Код проекта

1 Ответ

0 голосов
/ 18 октября 2018

renderEvent имеет необязательный аргумент, stick .Установите для него значение true, и событие должно оставаться между изменениями вида.

Обновите свой модуль addEvent , указав значение true в качестве третьего параметра.

function addEvent(containerEl, start, end, jsEvent, view) {
    //var allDay = !start.hasTime && !end.hasTime;
    if (view.name !== 'month') {
        var newEvent = new Object();
        newEvent.title = 'Colocar o nome da disciplina aqui';
        newEvent.start = moment(start).format();
        newEvent.allDay = false;
        containerEl.fullCalendar('renderEvent', newEvent, true /* stick */);
    }
}

Примечание: это изменение несохранить ваше событие на ресурс, как база данных.Это потребует дополнительного кода.

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