4.0
Material Design Components (Calendar)

1. Calendar

MDCモジュールにおけるカレンダー画面の設定です。
単一または複数のエンティティデータを予定としてカレンダー形式で表示することができます。カレンダー上から予定を表すエンティティデータの参照、新規作成、編集、削除が可能です。

2. 操作説明

2.1. 画面構成

カレンダーは、大きく2つの領域に分かれています。 上部の 表示条件設定 と 下部の 予定表示 です。

calendar structure

2.2. 表示条件設定

表示条件設定 では、表示する予定(エンティティデータ)に関する条件を設定します。

calendar display condition settings area

A.表示期間の設定

今日 ボタンを押下することでカレンダーの表示範囲を現在日時が含まれるように設定します。

< を押下することで前月(前日、前週)の予定を、> を押下することで翌月(翌日、翌週)の予定を表示します。

B.表示タイプの設定

カレンダーの表示範囲および表示対象のエンティティを設定します。

表示タイプは以下の4種類が選択可能です。

日単位のカレンダーを表示します。

週単位のカレンダーを表示します。

月単位のカレンダーを表示します。

スケジュール

予定の一覧を表示します。

2.3. 予定表示

予定表示 では、表示条件設定を元にカレンダー上に予定を表示します。

calendar event area

A.予定の詳細表示

予定をクリックすることで当該エンティティデータの詳細ダイアログが表示されます。

B.予定の新規登録

日付枠や時間枠をクリック、もしくはドラッグ操作で複数枠を選択することでエンティティデータの登録画面が表示されます。
表示するエンティティが複数存在する場合には、どのエンティティのデータを新規作成するかを選択するダイアログが表示されます。

日単位のカレンダー

1日単位のカレンダーを表示します。

calendar day

週単位のカレンダー

1週間単位のカレンダーを表示します。

calendar week

月単位のカレンダー

1ヶ月単位のカレンダーを表示します。

calendar month

スケジュール表示

範囲内の予定を一覧表示します。

calendar schedule

3. Calendarの管理

3.1. Calendarの作成

Calendarアイコンを右クリックし、 Calendarを作成する を選択します。

3.2. 設定

Calendarの編集画面は3つの領域に分かれます。

calendar edit calendar
A.カレンダー設定

Calendarでの設定項目です。

項目 内容

Show Week Number

週番号を表示するかを設定します。

Show Weekend

週末を表示するかを設定します。

Height

カレンダーの高さ(px)を設定します。

Start Of Week

週の開始曜日を設定します。 設定できる曜日は以下になります。

Saturday

土曜日

Sunday

日曜日

Monday

月曜日

Initial View Mode

カレンダーの初期表示タイプを設定します。 設定できる表示タイプは以下になります。

Day

日表示

Week

週表示

Month

月表示

B.Calendar Items

カレンダーアイテムが階層表示されます。 Target Items 領域へドラッグ&ドロップすることでカレンダーでの表示が可能になります。

C.Target Items

Calendar Items からドラッグ&ドロップすることで、カレンダー上に表示するエンティティを設定します。

エンティティアイテムの設定

表示対象エンティティ設定領域内の各エンティティの編集ボタンをクリックすることで、エンティティアイテムの詳細設定が可能です。

項目 内容

Entity Name

カレンダーに表示するエンティティです。変更不可。

Entity View

詳細表示、新規作成時に使用するDetailViewのView名を設定します。

Entity Color

カレンダーに表示する予定の色を設定します。カラーコード、カラー名、テーマカラー名のいずれかを指定します。

Entity Color Script

GroovyScriptで処理を記述し、カレンダーに表示する予定の色の動的条件を設定可能です。 詳細はEntity Color Scriptを参照してください。

Matching Type

カレンダーの予定の検索方法を設定します。 指定できる検索方法は以下になります。

Date

日付指定

Period

期間指定

Target Property(for Date)

Matching Typeが Date の場合に、検索対象となるプロパティを設定します。

From Property(for Period)

Matching Typeが Period の場合に、開始日時となるプロパティを設定します。

To Property(for Period)

Matching Typeが Period の場合に、終了日時となるプロパティを設定します。

Filter Condition

予定を検索する際の共通フィルタ条件を設定します。

Limit

一度に検索する上限を設定します。

allow new record registration

レコードの新規登録を許可するかを設定します。

Entity Color Script

GroovyScriptで処理を記述し、カレンダーに表示する予定の色の動的条件を設定可能です。EntityColorよりも本設定が優先されます。

下記項目をバインドしています。

変数名 バインドされている値

request

リクエスト

session

セッション

user

ユーザー

today

現在時刻

targetPropertyName

検索対象となるプロパティ名(for Date)

fromPropertyName

開始日時となるプロパティ名(for Period)

toPropertyName

終了日時となるプロパティ名(for Period)

entity

対象のEntityデータ(各予定を表すデータ)

例えば下記のようなスクリプトを記述することで、期限を過ぎたデータは赤、過ぎていないデータは緑として表示できます。

def diff = today - entity.getValue(toPropertyName);
if (diff >= 1) {
    return "red";
} else {
    return "green"
}

3.3. 表示方法

メニューへの登録

iPLAssで標準提供している「カレンダー画面表示」アクション( mdc/calendar/index )を利用して、カレンダーを単一の画面として表示できます。
アクション名以降のサブパスをカレンダー定義名として指定します。

Top画面での表示

TopView定義にCalendarパーツを配置することでTop画面にカレンダーを表示できます。 詳細はCalendarを参照してください。