Ограничить создание событий в полном календаре

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

Можно ли использовать «выбираемое: true» (чтобы иметь возможность создавать события, щелкая через какое-то время и перетаскивая их в конец, как Календарь Google), но ограничивать некоторые временные промежутки?


person FlamingMoe    schedule 09.09.2019    source источник
comment
fullcalendar.io/docs/date-clicking-selecting — у вас есть selectAllow, selectOverlap, selectConstraint, которые могут способствовать ограничению места размещения событий. И/или если вы определяете рабочее время (fullcalendar.io/docs/business-hours), то выбор можно сделать только в указанные часы. Вы потратили много времени на изучение какой-либо из этих документов?   -  person ADyson    schedule 09.09.2019
comment
так что нет возможности присоединиться к рабочим часам и выбрать «Разрешить», верно? нужно ли мне кодировать пользовательскую функцию в selectAllow для репликации функции рабочих часов? :-( И нет... это неправда... рабочие часы еще ПОЗВОЛЯЮТ создавать события вне их   -  person FlamingMoe    schedule 09.09.2019
comment
Да я много читал... а ты?? документ businesshours: выделяет определенные временные интервалы ... он не говорит о блокировании определенных временных интервалов ... я проверял, и рабочие часы ПРОСТО помещают серый фон, больше ничего   -  person FlamingMoe    schedule 09.09.2019
comment
Извините за ошибку с рабочими часами, вы правы, но если вы установите selectConstraint: "businessHours", выбор будет ограничен, чтобы отразить уже определенные рабочие часы. Извините, я всегда использую их вместе, поэтому забыл, что это была дополнительная строка кода. P.S. "there's no chance to join "busineshours" and "selectAllow" ...Что именно вы подразумеваете под присоединением?   -  person ADyson    schedule 09.09.2019
comment
это именно то, что я имел в виду ... присоединиться к рабочему времени и выбрать разрешить (или ограничить) ... выбрать Ограничение: рабочее время РАБОТАЕТ, спасибо   -  person FlamingMoe    schedule 09.09.2019


Ответы (1)


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

businessHours: {
  // days of week. an array of zero-based day of week integers (0=Sunday)
  daysOfWeek: [1, 2, 3, 4], // Monday - Thursday
  startTime: '10:00', // a start time (10am in this example)
  endTime: '18:00', // an end time (6pm in this example)
},
selectConstraint: "businessHours"

В приведенном выше примере «рабочие часы» затеняют все области календаря за пределами определенного времени (в данном случае с понедельника по четверг с 10:00 до 18:00 каждый день). Установка «selectConstraint» в «businessHours» означает, что пользователи не могут создавать новые события, выходящие за пределы того же временного диапазона.

Демонстрация: https://codepen.io/ADyson82/pen/aboqPoo

person ADyson    schedule 09.09.2019