本記事では、FullCalendarの利用方法を解説しています。
JavaScriptとPHPのシンプルなサンプルで、色々なカスタマイズを記載していますので、
ぜひ、参考にしてみてください。
インストール
下記の公式サイトから、バージョンを指定して、ライブラリをダウンロードします。
FullCalendar - JavaScript Event Calendar
※v5系は、イベント関係の処理が大きく変わっています。
※v4系の方が、イベントまわりについては、過去のサンプルを流用しやすいです。
手動の場合には、ダウンロードしたファイルを、js、cssファイルに置きます。
npmを利用できる場合には、下記のコマンドを実行してインストールします。
1 |
npm install fullcalendar |
イベントの設定
最初に、カレンダーに表示するイベントの設定を行います。
イメージとしては、下記のカレンダーのイベント設定になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
<!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <link href='../lib/main.css' rel='stylesheet' /> <script src='../lib/main.js'></script> <script> document.addEventListener('DOMContentLoaded', function() { var calendarEl = document.getElementById('calendar'); var calendar = new FullCalendar.Calendar(calendarEl, { locale: 'ja', headerToolbar: { left: 'prev,next today', center: 'title', right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth' }, buttonText: { today: '今月', month: '月', week: '週', day: '日' }, initialDate: '2021-02-06', navLinks: true, // can click day/week names to navigate views businessHours: true, // display business hours editable: true, selectable: true, events: [ { title: '打ち合わせ', start: '2021-02-02', allDay : true, constraint: '予定1', color: '#257e4a', }, { title: '打ち合わせ', start: '2021-02-04', allDay : true, constraint: '予定1', color: '#257e4a', }, { title: '研修', start: '2021-02-08', end: '2021-02-10', color: 'orange' }, { title: '打ち合わせ', start: '2021-02-12T10:00:00', end: '2021-02-12T12:00:00', color: '#257e4a' }, { title: '重要', start: '2021-02-16', color: 'yellow', display: 'background' }, { title: '訪問', start: '2021-02-24', allDay : true, color: 'red', }, ], }); calendar.render(); }); </script> </style> </head> <body> <div id='calendar'></div> </body> </html> |
イベントの同期設定
イベントを動的に取得する場合には、eventsに取得先のURLを設定します。
start、endは、リクエストパラメータが付与されてきます。
1 |
events: '/cm/schedules/getEventData' |
ロケール設定
ロケールを設定する場合には、下記の設定を追加します。
1 |
locale: 'ja' |
スクロールの非表示
カレンダーに表示されるスクロールを非表示にする場合には、スタイルシートで対応する方法が一番簡単です。
スタイルシートには、下記の設定を追加します。
1 2 3 |
.fc-scroller { overflow-y: hidden !important; } |
公式サイト
FullCalendar - JavaScript Event Calendar