Должен ли Fullcalendar вызывать dateClick И выбирать события одним кликом? - PullRequest
0 голосов
/ 15 января 2020

Я использую следующие библиотеки Fullcalendar:

"@fullcalendar/bootstrap": "^4.1.0",
"@fullcalendar/core": "^4.1.0",
"@fullcalendar/daygrid": "^4.1.0",
"@fullcalendar/interaction": "^4.1.0",
"@fullcalendar/list": "^4.1.0",
"@fullcalendar/moment": "^4.1.0",
"@fullcalendar/moment-timezone": "^4.1.0",
"@fullcalendar/timegrid": "^4.1.0",

Когда я первоначально определяю календарь, я устанавливаю опции dateClick и select, чтобы указывать на функцию - ту же функцию. а-ля:

calendar = new FullCalendar.Calendar(
    document.getElementById("calendar"), {
        'plugins': [
            "interaction",
            "dayGrid",
            "timeGrid",
            "bootstrap",
            "list",
            "moment",
            "momentTimezone"
        ],
        ...
        'dateClick': DateClick_and_Selection,
        'select': DateClick_and_Selection,
        ...

Это "работает". Мой вопрос касается событий, которые запускают эти два действия.

Если я смотрю на timeGridDay представление и нажимаю и перетаскиваю, чтобы выбрать диапазон времени, то вызывается ТОЛЬКО функция select - это то, что Я ожидал.

Если я просто нажму один временной интервал в сетке, то будут вызваны ОБА dateClick и select функции - не то, что я ожидал.

Честно говоря, я не могу вспомнить если это происходило все время, или если я только заметил это.

Это новое поведение?

Это нормально?

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

Я что-то не так делаю? Есть ли лучший способ справиться с этим?

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

Идеи?

1 Ответ

0 голосов
/ 16 января 2020

«Решение», по крайней мере в моем случае, состоит в том, чтобы не реализовывать ОБА dateClick и select хуки. Если оба реализованы, то оба запускают события щелчка (по крайней мере, в представлении месяца). Так как оба запускаются, то в основном происходит гонка, чтобы увидеть, какой из них финиширует последним, диапазоны дат, связанные с последним событием, перезаписывают первое, опять же в моем случае. Ваши варианты использования могут отличаться. Спасибо ADyson за помощь в прояснении этого вопроса.

...