2011-02-11 2 views
1

이벤트가 fullcalendar에서 드래그 할 수있는 경우 시작 시간이 지나면 끝까지 드래그 할 수 있습니다. 이는 minTime 및 maxTime이 구성된 경우와 구성되지 않은 경우 (자정에서 자정까지) 발생합니다. 오늘의 시간 경계 또는 구성된 시간 범위를지나도록 드래그 할 수없는 이벤트가 필요합니다.시작과 끝 경계를 지나서 이벤트가 끌리지 않도록 할 수 있습니까?

설명서에이 동작을 중지하는 데 아무 것도 표시되지 않습니다. 누구나이 문제에 부딪쳐 해결책을 생각해 내거나이 문제를 해결할 해결책을 가진 사람이 있습니까?

답변

1

및 실험, 나는이 문제에 대한 해결책은 jQuery UI draggable 플러그인에서 containment 옵션을 사용하는 것입니다 발견했다.

는 질문에 설명 된 동작을 중지하려면 다음 단계를 수행 함수에 대한

  1. 검색 draggableSlotEvent을했다.
  2. 아래에서 eventElement.draggable({을 찾으십시오.
  3. 장소 또 다른 옵션으로 다음 줄은 : containment: ".fc-agenda-body table",

이제 시간 경계 과거의 사건을 드래그 할 수 없습니다.

+0

시각적으로 작동하지만 이벤트 시간은 위치가 변경된 것처럼 변경됩니다. 우수한 해결! –

1

Michael Irigoyen가 제공하는 솔루션은 나의 경우에는 FullCalendar v2.0.0의 주 일정보기에서 작동하지 않습니다.

나는 그것을 작동하게하기 위해 변경 사항은 다음과 같습니다 시간 동안

1 간격 드래그 다음 .fc-agenda-body 선택은 의제 주보기에 존재하지 않습니다. eventElement.draggable에 기능 draggableSlotEvent에서 내가 설정 한 containment.fc-agenda table에 : 기능 resizableSlotEvent에서 eventElement.resizable에 나는 containmenttable.fc-agenda-slots에 설정 한 :

function resizableSlotEvent(event, eventElement, timeElement) { 

    // code 

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

시간 간격 크기 조정에 대한

function draggableSlotEvent(event, eventElement, timeElement) { 

    // code 

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

23. 캘린더의 모든 테이블에 여백 하단이 없어야합니다. 그렇지 않으면 위의 모든 항목이 실패합니다. 그래서, 나는 fullcalendar의 CSS를 변경 :

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

모든 변화는 위의 완벽 midnights 또는 minTime/maxTime 사이의 시간 간격을 제한합니다.

관련 문제