1. Calendar
MDCモジュールにおけるカレンダー画面の設定です。
単一または複数のエンティティデータを予定としてカレンダー形式で表示することができます。カレンダー上から予定を表すエンティティデータの参照、新規作成、編集、削除が可能です。
2. 操作説明
2.1. 画面構成
カレンダーは、大きく2つの領域に分かれています。
上部の 表示条件設定
と 下部の 予定表示
です。
2.2. 表示条件設定
表示条件設定
では、表示する予定(エンティティデータ)に関する条件を設定します。
今日
ボタンを押下することでカレンダーの表示範囲を現在日時が含まれるように設定します。
<
を押下することで前月(前日、前週)の予定を、>
を押下することで翌月(翌日、翌週)の予定を表示します。
カレンダーの表示範囲および表示対象のエンティティを設定します。
表示タイプは以下の4種類が選択可能です。
- 日
-
日単位のカレンダーを表示します。
- 週
-
週単位のカレンダーを表示します。
- 月
-
月単位のカレンダーを表示します。
- スケジュール
-
予定の一覧を表示します。
2.3. 予定表示
予定表示
では、表示条件設定を元にカレンダー上に予定を表示します。
予定をクリックすることで当該エンティティデータの詳細ダイアログが表示されます。
日付枠や時間枠をクリック、もしくはドラッグ操作で複数枠を選択することでエンティティデータの登録画面が表示されます。
表示するエンティティが複数存在する場合には、どのエンティティのデータを新規作成するかを選択するダイアログが表示されます。
日単位のカレンダー
1日単位のカレンダーを表示します。
週単位のカレンダー
1週間単位のカレンダーを表示します。
月単位のカレンダー
1ヶ月単位のカレンダーを表示します。
スケジュール表示
範囲内の予定を一覧表示します。
3. Calendarの管理
3.1. Calendarの作成
Calendarアイコンを右クリックし、 Calendarを作成する
を選択します。
3.2. 設定
Calendarの編集画面は3つの領域に分かれます。
Calendarでの設定項目です。
項目 | 内容 |
---|---|
Show Week Number |
週番号を表示するかを設定します。 |
Show Weekend |
週末を表示するかを設定します。 |
Height |
カレンダーの高さ(px)を設定します。 |
Start Of Week |
週の開始曜日を設定します。 設定できる曜日は以下になります。
|
Initial View Mode |
カレンダーの初期表示タイプを設定します。 設定できる表示タイプは以下になります。
|
カレンダーアイテムが階層表示されます。
Target Items
領域へドラッグ&ドロップすることでカレンダーでの表示が可能になります。
Calendar Items
からドラッグ&ドロップすることで、カレンダー上に表示するエンティティを設定します。
表示対象エンティティ設定領域内の各エンティティの編集ボタンをクリックすることで、エンティティアイテムの詳細設定が可能です。
項目 | 内容 |
---|---|
Entity Name |
カレンダーに表示するエンティティです。変更不可。 |
Entity View |
詳細表示、新規作成時に使用するDetailViewのView名を設定します。 |
Entity Color |
カレンダーに表示する予定の色を設定します。カラーコード、カラー名、テーマカラー名のいずれかを指定します。 |
Entity Color Script |
GroovyScriptで処理を記述し、カレンダーに表示する予定の色の動的条件を設定可能です。 詳細はEntity Color Scriptを参照してください。 |
Matching Type |
カレンダーの予定の検索方法を設定します。 指定できる検索方法は以下になります。
|
Target Property(for Date) |
Matching Typeが |
From Property(for Period) |
Matching Typeが |
To Property(for Period) |
Matching Typeが |
Filter Condition |
予定を検索する際の共通フィルタ条件を設定します。 |
Limit |
一度に検索する上限を設定します。 |
allow new record registration |
レコードの新規登録を許可するかを設定します。 |
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
)を利用して、カレンダーを単一の画面として表示できます。
アクション名以降のサブパスをカレンダー定義名として指定します。
TopView定義にCalendarパーツを配置することでTop画面にカレンダーを表示できます。 詳細はCalendarを参照してください。