2023年4月14日金曜日

カレンダを月曜日から始める

標準のカレンダを月曜日から始める方法を紹介します。Oracle APEXのギャラリに含まれているサンプル・カレンダを使って確認します。

デフォルトではカレンダは日曜日から始まります。

ページ・デザイナを開いて、カレンダ・リージョン属性を確認します。一般にリージョン固有の設定(この場合はカレンダ)は、プロパティ・エディタ属性に含まれます。

開始する曜日の指定は、設定には含まれていません。また、詳細初期化JavaScriptファンクションヘルプにも、そのような指定は含まれていません。

Oracle APEXのカレンダ・リージョンは、実際はFullCalendarです。そのため、FullCalendarに機能として含まれていれば、Oracle APEXから(設定やヘルプに含まれていなくても)利用することができます。

コンポーネントのバージョンに注意が必要です。Oracle APEXにバンドルされているJavaScriptコンポーネントは、必ずしも最新ではありません。バージョンはリリース・ノートに記載されています。FullCalendarは5.11.2がバンドルされています。FullCalendar自体の最新バージョンは6.1.5(2023年4月14日現在)です。

FullCalendarのドキュメントを確認すると、firstDayというプロパティが見つかりました。

https://fullcalendar.io/docs/v5/firstDay


fistDayを1とするとカレンダが月曜日から開始されます。(デフォルトは0 - 日曜日)

以下のコードを詳細初期化JavaScriptファンクションに記述します。
function (p) {
    p.firstDay = 1;
}

ページを実行すると、カレンダが月曜日から始まっていることが確認できます。


カレンダ以外でも、3rdパーティのJavaScriptコンポーネントを使って実装されているリージョンやページ・アイテムがあります。チャートであればOracle JET、リッチ・テキスト・エディタであればCKEditor5、マップ・リージョンであればMapLibreのドキュメントを参照することにより、それらのコンポーネントに実装されている機能をさらに活用することができます。

以上です。

Oracle APEXのアプリケーション作成の参考になれば幸いです。