数日だけを表示するように fullcalendar を設定する方法。利用可能な数日間だけ、ユーザーが独自のイベントを作成できるようにしたいからです。
1 に答える
質問を完全に理解しているかどうかわかりません。特定の曜日を非表示にしますか? または、ユーザーが月の特定の日付のみにイベントを作成するように制限しますか?
特定の曜日を非表示にする場合は、ここで説明されているように「hiddenDays」プロパティを使用して簡単に行うことができます: http://arshaw.com/fullcalendar/docs/display/hiddenDays/
月の特定の日付を非表示にしたい場合は、そうする規定はないと思います。ただし、代わりに「dayClick」機能を使用して、クリックされた日付がユーザーにイベントを作成してもらいたい日付であるかどうかを確認し、そうであればそこから先に進みます。さもなければ、その特定の日付にイベントを作成できないことをユーザーに知らせます。 . dayClick のドキュメントは、http://arshaw.com/fullcalendar/docs/mouse/dayClick/ にあります。
また、「dayRender」を使用して、日がレンダリングされたときにコールバックを取得し (日付ごとに「td」タグを含むテーブル セルとしてレンダリングされます)、CSS クラスを追加できます (イベントの作成は許可されていません) は、特定の日付にイベントを作成できるかどうかをユーザーに知らせるために、日付を確認した後にカレンダーの特定のセルに移動します。これに関するドキュメントはこちらにあります: http://arshaw.com/fullcalendar/docs/display/dayRender/
EDIT--(OPコメントの後に編集...)
あなたのコメントから、状況はかなりトリッキーだと思います。あなたが正しく述べたように、アジェンダウィークには「dayRender」コールバックがありません。私が考えることができる唯一のオプションは、かなり汚いハックをまとめることです. 私が見つけたものから、アジェンダウィークの構造 (最新のフルカレンダー バージョンの場合) は以下のようなものです:
<table class="fc-agenda-days fc-border-separate">
<thead>
<tr class="fc-first fc-last">
<th class="fc-agenda-axis fc-widget-header fc-first"> </th>
<th class="fc-sun fc-col0 fc-widget-header">Sun 8/11</th>
<th class="fc-mon fc-col1 fc-widget-header">Mon 8/12</th>
<th class="fc-mon fc-col2 fc-widget-header">Tue 8/13</th>
...
</tr>
</thead>
<tbody>
<tr class="fc-first fc-last">
<th class="fc-agenda-axis fc-widget-header fc-first"> </th>
<td class="fc-col0 fc-sun fc-widget-content fc-past">...</td>
<td class="fc-col1 fc-mon fc-widget-content fc-past">...</td>
<td class="fc-col2 fc-tue fc-widget-content fc-past">...</td>
....
</tr>
</tbody>
</table>
どうにかして $("table.fc-agenda-days th.fc-col*") の日付を解析でき、無効にしたい日付については、CSS クラスを $("table.fc-agenda-days td .fc-col*") を使用して新しい背景を設定すると、準備完了です。もちろん、これは「dayClick」コールバックの処理に加えて行われます。
これは、「viewRender」コールバックで行うことができます (ビュー タイプがアジェンダウィークかどうかを確認した後)。これがあなたを正しい方向に押し上げることを願っています...どこかで行き詰まったら教えてください...