3

AgendaWeek ビューでフル カレンダー JS を使用しており、表示時間をデフォルトで表示される 1 日 12 時間ではなく、午前 8 時から午後 5 時までに制限しています。目に見える時間、それは次の日にラップしません。代わりに、ラップする前に真夜中になるまで続行します。

これを防ぐ簡単な方法はありますか?基本的には、平日の午前 8 時から午後 5 時までのイベントのみを表示したいと考えています。

これが私のコードです:

$('#calendar').fullCalendar({
  defaultView: 'agendaWeek',
  allDaySlot: false,
  minTime: '8:00am',
  maxTime: '6:00pm',
  weekends: false,
  header: {
    left: 'prev,next',
    center: 'title',
    right: ''
  },
  editable: true,
  droppable: true, // this allows things to be dropped onto the calendar !!!
  events: "{{URL::to('schedule/fetch')}}"
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.js"></script>

私のイベントは、UTC 形式の開始時間と期間のみでデータベースに保存されます。終了時刻を取得するには、AJAX 経由で返す前に、開始時刻と継続時刻を追加するだけです。フルカレンダーが次の日にオーバーフローした場合は、単に期間に追加する必要があると思いますが、これを達成する方法がわかりません.

4

1 に答える 1

1

完全なカレンダーの選択内で次のソリューションで解決しました:

select: function(start, end) {

     if(start.format() > minTime && start.format() <  maxTime){

       eventId++;               
       var event = {
          id : eventId,
          start:  moment(start.format()),
          end:   moment(end.format())
       };
       $('#calendar').fullCalendar('renderEvent', event, true); 
    }

}
于 2016-10-06T09:33:18.383 に答える