Angular JavaScript

【Angular】fullcalendarでGoogleカレンダーライクな画面を実装する

この記事は約7分で読めます。

 

Angularでgoogleカレンダーを実装する

 

Angularで無料でGoogleカレンダーライクな画面を実装するライブラリはざっとググった結果有名なのは以下の2つかなと思います

 

  • Fullcalendar
  • Angular-calendar

 

スケジューラーが無料で使えるAngular-calendar、スケジューラーが有料であるものの利用者が多く困った時に情報の多いfullcalendarと一長一短ではありますが、今回はとりあえず有名なfullcalendarの方で実装していきたいと思います。

 

 

作業環境

  • OS:Windows10
  • Angular:8.23

 

 

fullcalendarのインストール

 

まずはNodejsのnpmコマンドでfullcalendarをインストールします。

 

# fullcalendarのインストール
$ npm install --save @fullcalendar/angular @fullcalendar/core @fullcalendar/daygrid @fullcalendar/interaction

# サンプル用のコンポーネントを追加
$ ng generate component fullcalendar-sample

 

 

ライブラリをインストールしたら次はモジュール設定を行います。

 

 

<app.module.ts>

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
~~~~
~~~~
import { FullCalendarModule } from '@fullcalendar/angular'; // これを追加!
import { FullcalendarSampleComponent } from './fullcalendar-sample/fullcalendar-sample.component';// これを追加!
@NgModule({
  declarations: [
    AppComponent,
    ~~~~
    ~~~~
    FullcalendarSampleComponent //これを追加
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    ~~~~
    ~~~~
    FullCalendarModule // これを追加!
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

 

 

モジュール設定ができたら、一応サンプル用のpathも追加しておきます

 

<app-routing.module.ts>

import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
~~~~
~~~~
import { FullcalendarSampleComponent } from "./fullcalendar-sample/fullcalendar-sample.component"; // これを追加!

const routes: Routes = [
  ~~~~
  { path: "fullcalendar-sample", component: FullcalendarSampleComponent },//これを追加!
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
})
export class AppRoutingModule {}

 

 

ルート設定ができたらコンポーネントに中身を記述していきます。

 

 

<calendar.component.ts>

import { Component, OnInit } from "@angular/core";
import dayGridPlugin from "@fullcalendar/daygrid";

@Component({
  selector: "app-fullcalendar-sample",
  templateUrl: "./fullcalendar-sample.component.html",
  styleUrls: ["./fullcalendar-sample.component.css"],
})
export class FullcalendarSampleComponent implements OnInit {
  
  calendarPlugins = [dayGridPlugin]; //これを追加!

  constructor() {}

  ngOnInit() {}
}

 

 

<calendar.component.html>

<full-calendar defaultView="dayGridMonth" [plugins]="calendarPlugins"></full-calendar>

 

 

<style.scss>

~~~~
~~~~
@import '~@fullcalendar/core/main.css';
@import '~@fullcalendar/daygrid/main.css';

 

 

これは.scssでしか有効にならないので、プロジェクト作成時にstyle設定をcssにしてしまった人は、プロジェクト直下にあるstyles.cssをstyles.scssに変更して、同じく直下にあるangular.jsonのstylesのところをstyles.cssからstyles.scssに書き換えれば大丈夫です。

 

 

これで「http://localhost:4200/fullcalendar-sample」にアクセスすると以下のような画面が表示されます。

 

 

 

 

これがAngular用のfullcalendarドキュメントに書いてあるチュートリアルですが、ぶっちゃけこれだけだと予定の参照とか登録がとかこのライブラリにたどり着いたであろう人がやりたいことができないので、ここから設定を追加していく必要があります。そのあたりについては次の記事から解説したいと思います。では~

 

 

次の記事→【Angular】fullcalendarのカレンダー表示を日本語化してみる

 

 

 

参照:https://fullcalendar.io/docs/angular

 

 

 

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました