Как отключить перетаскивание в FullCalendar, но сохранить возможность щелкнуть по временному интервалу, чтобы встреча-заполнитель по-прежнему отображалась

Как отключить функцию перетаскивания в приведенном ниже примере FullCalendar? Хотя мне не нужна «перетаскиваемая» функциональность, я все же хочу иметь возможность щелкнуть по временному интервалу, чтобы встреча-заполнитель по-прежнему отображалась как обычно.

http://arshaw.com/js/fullcalendar/demos/selectable.html


person say    schedule 04.02.2011    source источник


Ответы (6)


$('#example').fullCalendar({
    disableDragging: true
});

благодаря https://stackoverflow.com/a/7907576/216084

person Community    schedule 06.11.2012

в настоящее время невозможно ограничить выбор одним слотом, но вот проблема: http://code.google.com/p/fullcalendar/issues/detail?id=786

person arshaw    schedule 14.02.2011
comment
Спасибо за ответ, arshaw. Я получаю желаемое поведение с помощью взлома. Я назначаю высоту для встречи-заполнителя и отображаю только время начала в заголовке встречи. Технически, если вы щелкнете и перетащите, он выделит больше, но вы не увидите его из-за ограниченной высоты. В любом случае меня волнует только время начала в бэкэнде. Отличный плагин, кстати. - person say; 15.02.2011
comment
@arshaw делается так, чтобы при выборе дней месяца выбирался только один, а не много перетаскиванием? В настоящее время API не предлагает такой настройки. Ссылка, которую вы предоставляете, просто описывает проблему. - person Dimitris Papageorgiou; 24.09.2014

Отредактируйте fullcalendar.js и измените строку 3547 с

var d2 = cellDate(cell);

to

var d2 = cellDate(origcell);
person anonymous    schedule 26.05.2011

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

selectAllow: function (e) {
    if (e.end.diff(e.start, 'minutes') > 15) {
        return false;
    }
}

Это на {slotDuration: 15} (минуты в моем случае), подходит для плагина планировщика v.3

person Newman    schedule 31.10.2018

Беглый взгляд на документацию выглядит так, как будто это просто опция конструктора:

http://arshaw.com/fullcalendar/docs/event_ui/disableDragging/

person lsuarez    schedule 05.02.2011
comment
Этот параметр отключает перетаскивание уже отрендеренного события. Я хочу отключить перетаскивание при создании нового события в календаре. - person say; 06.02.2011
comment
@sevens: Нет, это часть объекта конфигурации конструктора, называемого редактируемым, который позволяет вам определить, каким образом можно манипулировать календарем. Определите editable следующим образом: editable: {disableDragging: true}. Посмотрите эту скрипту в качестве примера. - person lsuarez; 06.02.2011
comment
спасибо, что нашли время ответить и создать пример jsfiddle. К сожалению, это все еще не то, что я ищу. В примере со скрипкой я все еще могу щелкнуть и перетащить, чтобы создать (fullcal рисует заполнитель для события) новое событие. Я хочу отключить эту функцию - я хочу, чтобы пользователь мог щелкнуть время (а не перетаскивать). Другими словами, пользователь должен иметь возможность выбирать только время начала события, а не всю его продолжительность. - person say; 06.02.2011
comment
@sevens Ах, неправильно понял исходный пост, в котором вы сказали, что назначение заполнителя по-прежнему отображается как обычно. - person lsuarez; 06.02.2011
comment
не беспокойтесь, я, вероятно, мог бы сформулировать это по-другому. Что я имел в виду под этим статусом, так это то, что я все еще хочу, чтобы FullCal отображал событие-заполнитель, когда пользователь нажимает на временной блок. Я просто не хочу, чтобы он расширялся, если пользователь перетаскивает. Еще раз спасибо, что нашли время ответить. - person say; 06.02.2011
comment
@sevens, вы нашли решение своей проблемы ... У меня похожая проблема - person Dimitris Papageorgiou; 24.09.2014

Чтобы убрать возможность выбора нескольких дней, я изменил файл fullcalendar.js (v1.5.3) в строке 5019:

Замените это:

trigger('select', null, startDate, endDate, allDay, ev);

Этим :

trigger('select', null, startDate, startDate, allDay, ev);

Хорошо работает для меня.

person Thymotep    schedule 14.06.2012