グリッドを 1/2 時間間隔に設定して fullcalendar を使用しています (slotMinutes を 30 分に設定)。デフォルトのクリック選択を最低 1 時間のイベントに設定したいのですが、開始時間は 30 分刻みにしたいと考えています。言い換えれば、ユーザーが 1 時間未満のタイム スロットを強調表示できないようにしたいのですが、1 時間または 30 分 (つまり、 : 1:30 - 2:30)。
snapMinutes を 60 に設定すると、最初の部分が 1 時間未満のものを強調表示しないことで解決されます。ただし、正確に偶数時間に収まらない 1 時間枠をユーザーが選択することはできません (つまり、1:00-2:00 は選択できますが、1:30-2:30 は選択できません)。これを達成する方法はありますか?
これが私が使用しているカレンダーです(CoffeeScript)
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です: http://jsfiddle.net/lcrees/9f82c/
私の質問の2番目の部分は、上記のデフォルトの最小クリック選択を動的に設定できるようにしたいということです。この問題から、カレンダーを破棄して再作成しないと、snapMinutes オプションを動的に更新できないようです:
https://code.google.com/p/fullcalendar/issues/detail?id=293
他に提案はありますか?
ロリル