Могу ли я предотвратить перетаскивание событий за пределы начала и конца? - PullRequest
1 голос
/ 12 февраля 2011

Когда события можно перетаскивать в полном календаре, я могу перетаскивать их вверх после часа начала и вниз после часа окончания. Это происходит с настроенными minTime и maxTime и когда они не настроены (то есть с полуночи до полуночи). Мне нужно, чтобы события нельзя было перетаскивать за пределы часов дня или заданного временного диапазона.

Я не вижу в документации ничего о том, как остановить это поведение. Кто-нибудь сталкивался с этой проблемой и придумал решение, или у кого-нибудь есть решение, чтобы решить эту проблему?

Ответы [ 3 ]

1 голос
/ 14 февраля 2011

После некоторых исследований и экспериментов я обнаружил, что решение этой проблемы заключается в использовании опции containment в подключаемом плагине jQuery UI .

Чтобы остановить поведение, описанное в вопросе, выполните следующие действия:

  1. Поиск функции с именем draggableSlotEvent.
  2. Под ним найдите eventElement.draggable({.
  3. Поместите следующую строку в качестве другого параметра: containment: ".fc-agenda-body table",

Теперь вы не сможете перетаскивать события за пределы часов.

1 голос
/ 23 октября 2014

Решение, предлагаемое Michael Irigoyen, в моем случае не работает с FullCalendar v2.0.0 при просмотре повестки дня на неделю.

Я внес следующие изменения, чтобы заставить его работать:

1. Для перетаскивания временного интервала: селектор .fc-agenda-body не существует в просмотре недели повестки дня.В функции draggableSlotEvent вкл. eventElement.draggable Я установил containment в .fc-agenda table:

function draggableSlotEvent(event, eventElement, timeElement) {

    // code

    eventElement.draggable({
        containment: '.fc-agenda table',
        // code
    });
}

2. Для изменения размера интервала времени: В функции resizableSlotEvent вкл.eventElement.resizable Я установил containment на table.fc-agenda-slots:

function resizableSlotEvent(event, eventElement, timeElement) {

    // code

    eventElement.resizable({
        containment: 'table.fc-agenda-slots',
        // code
    });
}

3. Все таблицы в календаре НЕ ДОЛЖНЫ иметь нижнее поле, иначе все вышедшее из строя завершится ошибкой.Итак, я изменил в полном календаре css:

.fc-view-agendaWeek table {
    margin-bottom: 0px !important;
}

Все вышеперечисленные изменения прекрасно ограничивают временные интервалы между полуночью или minTime / maxTime.

0 голосов
/ 14 февраля 2011

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

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