Как заблокировать пользователю выбирать прошедшие даты в FullCalendar по методу select: - PullRequest
1 голос
/ 07 ноября 2019

Гм, используя библиотеку JavaScript fullcalendar.io для рендеринга Календаря в моем приложении.

Я использую функцию обратного вызова для создания событий в моем календаре. Мой код выглядит так:

calendar.fullCalendar({
  header: {
    left: "prev",
    center: "title",
    right: "next"
  },
 select: function(start, end) {
    var now = new Date();
    if(start > now){
  }

Проблема здесь: Событие отображается в календаре. Он не добавляется к событиям, но показывает выбор на экране. Он исчезает, когда я вызываю другой выбор (потому что, конечно, его нет в списке событий)

Но я не хочу, чтобы он отображался. Я попытался переопределить функцию eventRender:, но она все еще визуализировалась (вероятно, потому что сама библиотека вызывает рендер).

Итак, как я могу запретить пользователю выбирать прошлые даты в библиотеке fullcalendar.io js?

1 Ответ

1 голос
/ 07 ноября 2019

Вы сказали

«Событие отображается в календаре. Оно не добавляется в события, а показывает выбор на экране».

Iдумаю, вы не поняли, что происходит. То, что вы видите, - это не событие , это просто некоторая графика, показывающая выбор, сделанный пользователем. Он остается на экране, пока пользователь не выберет что-то еще, или вы, пока вы не удалите его самостоятельно. Это подробно описано в документации здесь . Вы можете удалить его самостоятельно, вызвав метод unselect .

calendar.fullCalendar("unselect");

Вы можете поместить это в ваш обратный вызов «select», когда вы решили, что событие не может быть добавлено в календарь.

eventRender не имеет никакого эффекта, потому что это не событие.

...