2013-09-26 1 views
2

30 분 간격으로 설정된 30 분 간격으로 그리드와 함께 fullcalendar를 사용하고 있습니다 (30 분으로 설정된 slotMinutes). 기본 클릭 선택을 최소 1 시간 이벤트로하고 싶지만 시작 시간을 30 분 단위로 늘려야합니다. 즉, 사용자가 한 시간 미만의 시간대를 강조 표시하지 못하도록하고 싶지만 시간 또는 30 분에 시작하는 1 시간 슬롯을 강조 표시 할 수 있어야합니다 (예 : : 1:30 - 2:30).FullCalendar 문제에서 기본 클릭 선택 강조 표시 설정

snapMinutes를 60으로 설정하면 첫 번째 부분이 1 시간 미만을 강조 표시하지 않도록 해결합니다. 그러나 사용자가 정확히 1 시간 내에 있지 않은 1 시간 슬롯을 선택할 수는 없습니다 (예 : 1 : 00-2 : 00은 선택할 수 있지만 1 : 30-2 : 30은 선택할 수 없음). 내가 이것을 성취 할 수있는 방법이 있습니까? http://jsfiddle.net/lcrees/9f82c/

내 질문의 두 번째 부분은 내가 설정할 수 있도록하려는 것입니다 : 여기

내가 사용하고 달력 (커피 스크립트)

다음
options = { 
    defaultView: 'agendaWeek' 
    defaultEventMinutes: 60 
    selectable: true 
    selectHelper: true 
    eventTextColor: 'black' 
    allDayDefault: false 
    header: { 
     left: 'prev,next today' 
     center: '' 
     right: 'title' 
    } 
    titleFormat: { 
     month: 'MMMM yyyy' 
     week: "MMM d[, yyyy]{ '—'[ MMM] d, yyyy}" 
     day: 'dddd, MMM d, yyyy' 
    } 
    ignoreTimezone: true 
    slotMinutes: 30 
    snapMinutes: 60 
} 
elm.fullCalendar(options) 

이에 대한 JSFiddle입니다 위의 기본 최소 클릭 선택 항목. 이 문제에서 캘린더를 파괴하고 다시 생성하지 않고 snapMinutes 옵션을 동적으로 업데이트 할 수없는 것 같습니다.
https://code.google.com/p/fullcalendar/issues/detail?id=293

다른 제안 사항이 있습니까?
로렐

+0

보통 첫 번째 시도가 필요합니다. 이 코드를 아직 코딩하지 않으셨습니까? 그렇다면 관련 코드를 게시하십시오. 그렇지 않으면이 질문은 너무 광범위합니다. –

+1

안녕하세요 Teeg, 캘린더에 사용할 코드를 추가했습니다. – lcrees

+0

고맙습니다. user2821493 (실제 이름 인 경우 ...). 이 라이브러리를 사용한 적이 없으므로 직접 대답 할 수는 없지만 문서를보고 있으면 스냅인에 대해 제대로 된 것 같지만 원하는 부분을 직접 수행 할 수있는 옵션은 없다고 생각합니다. 난 당신이 아마도'eventDrop' 또는'eventDragStop' 또는 뭔가 같은 콜백 중 하나를 사용해야 할 수도 있습니다 생각; 기본적으로 어떤 콜백이라도 이벤트 끌기에 대한 사용자 정의 컨트롤을 제공합니다. –

답변

0

내가 올바르게 문제를 이해 한 경우 dayClick 메서드를 덮어 쓰거나 (docs 참조) 내부에서 fullcalendar select 메서드를 사용하여 선택한 항목을 다시 만들 수 있습니다 (문서 다시 참조). U는 dayday의 'date'인수를 선택을위한 통계 시간으로 사용할 수 있으며 1 시간을 추가하여 종료 시간을 얻을 수 있습니다. 위의 효과는 지정된 날짜를 클릭하면 1 시간 길이의 클릭 된 셀에서 선택을 얻습니다. 희망이 있으면 좀 더 구체적인 조언이 필요하면 알려주세요. (최근 풀 카운트에서 그런 종류의 문제로 고생하고 있습니다.)

+0

안녕하세요 4rlekin, 나는 이것이 작동한다고 생각하지 않습니다. dayClick 콜백은 마우스를 놓을 때만 발동되며, 선택이 이루어지지 않은 경우에만 발동됩니다 (즉, 한 슬롯 내에서 클릭 및 놓은 경우 발동되지만 클릭하고 드래그하여 선택 및 다른 슬롯에서 마우스를 놓으면 dayClick이 실행되지 않습니다). 위의 내 피들에서 이것을 시도하고 이것을 확인했습니다. – lcrees