読み取り専用モード
カレンダーを簡単に読み取り専用にして、ユーザーによる変更を防ぐことができます。これは、公開カレンダーや表示専用のダッシュボードに役立ちます。
読み取り専用モードは DayFlow 組み込みの変更 UI だけを無効にします。calendar.addEvent()、calendar.updateEvent()、calendar.deleteEvent()、calendar.applyEventsChanges() のようなプログラムからの API は引き続き利用できます。
基本的な使い方
読み取り専用モードを有効にするには、カレンダーの設定に readOnly: true を渡します。
const calendar = useCalendarApp({
views: [createMonthView()],
readOnly: true, // 組み込みの変更 UI(ドラッグ、作成、編集)を無効にします
});きめ細かな制御
ReadOnlyConfig オブジェクトを提供して、特定の機能を個別に無効にすることもできます:
const calendar = useCalendarApp({
views: [createMonthView()],
readOnly: {
draggable: false, // ドラッグ&ドロップを無効にする
viewable: true, // クリックしてイベント詳細を表示することを許可する(読み取り専用モード)
},
});設定オプション
| オプション | 型 | 説明 |
|---|---|---|
draggable | boolean | ドラッグ&ドロップでイベントを移動またはリサイズできるかどうか。 |
viewable | boolean | イベント詳細を表示できるかどうか(詳細パネル/ダイアログを開く)。 |
readOnly が有効な場合、カレンダーは「作成」ボタンや、通常変更をトリガーするその他の UI 要素も非表示にします。
カスタム UI
独自のボタン、メニュー、ダイアログを描画する場合は、calendar.canMutateFromUI() を使って変更系 UI を表示してよいか判定してください。
const calendar = useCalendarApp({
views: [createMonthView()],
readOnly: true,
});
const canEdit = calendar.canMutateFromUI();true: 独自 UI で作成、編集、削除の操作を表示できます。false: 独自 UI では変更系の操作を隠すか無効化してください。