2014-01-30 5 views
0

data-shareable = 'true'인 경우에만 FullCalendar로 떨어 뜨려야하는 몇 가지 외부 이벤트가 있습니다. data-shareable = 'false'이면 다른 놓은 이벤트와 겹치지 않는 한 이벤트를 삭제할 수 있습니다.이벤트를 FullCalendar로 드래그 할 때 중첩되지 않음

if (this.getAttribute('data-shareable') == 'true') { 
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true); 
}else{ 
alert('this is not a shareable resource'); 
} 

이 예제는 jsfiddle입니다.

참고 : '이벤트 2'는 data-shareable = 'false'인 유일한 이벤트이므로 삭제 된 다른 이벤트와 겹치면 삭제해서는 안됩니다.

답변

0

http://jsfiddle.net/9hMgJ/11/

라이트의 13 행 - 14 개체를 확장하고, 데이터 ID 및 공유 데이터에 대한 정보를 보유한다.

  var eventObject = { 
      title: $.trim($(this).text()), // use the element's text as the event title 
      shareable: $(this).data('shareable'), 
      id: $(this).data('id') 
     }; 

이제 결정 논리를 변경해야합니다. 대상 및 드래그 된 이벤트가 모두 공유 가능한지, 그리고 이벤트의 시작 또는 끝이 다른 이벤트와 반대 이벤트 범위 사이인지 확인해야합니다.

공유 가능할 경우 더 이상 할 일이 없지만 수행하지 않을 경우 날짜를 확인하십시오.

날짜가 겹치지 않으면 계속하십시오! 그렇지 않으면 사용자를 닫고 메모하십시오.

관련 문제