Ajaxフレームワーク UI部品リファレンス
目次 索引 前ページ次ページ

第2章 画面部品> 2.4 カレンダ部品

2.4.1 Calendar

Calendarは、カレンを表示する部品です。表示されたカレンダから日付を指定することもできます。

示例

述形式

<div rcf:type="Calendar" ... ></div>


子要素は指定できません。


本部品は、前後に改行コードが挿入されて表示されます。

ロパティ

表の項目の意味は、“表の項目の意味”を参照してください。

名前

データ型

説明

省略

省略値

属性指定

更新

部分更新

year

Number

カレンダ表示年を指定します。(1以上)

システム時計の今年

不可

month

Number

カレンダ表示月(0-11)を指定します。

システム時計の今月

不可

firstDayOfWeek

Number

カレンダ左端カラムの曜日を指定します。値は、日曜日始まりの0から6です。

0(日曜日)

不可

不可

selectedDates

Date型のArray

選択日付の配列を指定します。
Dateオブジェクトの配列です。

選択日付なし
(長さ0の配列)

バインド

daysOfWeek

Stringの配列

曜日として表示する文字列の配列を指定します。日曜日始まりで、7つの曜日文字列を指定します。
要素数が7以外の場合は、エラーとなります。
タグ内に記述する場合は、半角セミコロンで区切って指定します。
例:"S;M;T;W;T;F;S"

["日", "月", "火", "水", "木","金","土"]

不可

不可

holidays

Object型のArray

祭日の情報を指定します。

祭日なし(長さ0の配列)

バインド

specialDates

Object型のArray

背景色やフォント色など、ユーザが自由に定義できる特別な日付を指定します。

特別な日なし(長さ0の配列)

バインド

dateToolTips

Object型のArray

個々の日付のツールチップ文字列を指定します。

ツールチップなし(長さ0の配列)

バインド

naviType

String

ナビゲータ表示を指定します。

  • ALL: 前月ボタン、次月ボタン、タイトルを表示
  • TITLE: タイトルだけ表示
  • NONE:ナビゲータ非表示

ALL

不可

不可

naviButtonRenderer

render関数を持つオブジェクト

前月/次月ボタンをカスタマイズします。

null

不可

不可

naviTitleLabelProvider

getLabel関数を持つオブジェクト

タイトル文字列をカスタマイズするオブジェクトを指定します。

null

不可

不可

dayOfWeekCellRenderer

render関数を持つオブジェクト

曜日セルをカスタマイズします。

null

不可

不可

dateCellRenderer

render関数を持つオブジェクト

日付セルをカスタマイズします。

null

不可

不可

tabIndex

Number

Tabキーで移動するフォーカスの順番を指定します。
HTMLのtabindex属性と同様の指定ができます。1以上の整数を指定した場合、数字の小さい順にフォーカスが移動します。
FocusManagerによるフォーカス移動には関係しません。

0

不可

selectable

Boolean

日付の選択可否を指定します。

  • true:選択可能
  • false:選択不可

true

不可

selectMode

String

単一選択/複数選択モードを指定します。

  • SINGLE:単一選択
  • MULTI:複数選択

SINGLE

不可

不可

utc

Boolean

日付をUTCとして扱うかどうかを指定します。

  • true:世界標準時間(UTC)
  • false:ローカル時間

false

不可

不可

部品共通のプロパティも指定できます。詳細は、“画面部品共通プロパティ”を参照してください。

holidaysプロパティ
オブジェクトのプロパティについて以下に示します。

プロパティ名

データ型

説明

省略

省略値

date

Date

対象となる日付のDateオブジェクトを指定します。

不可

-

type

String

日付の指定方法を指定します。

  • normal : 指定した年月日だけ
  • everyYear : 毎年(dateの年は無視される)

normal

message

String

指定した場合は、ツールチップが表示されます。

-

holidaysの値を更新しても、画面は即時には更新されません。次にカレンダーの表示年月を更新する際に、画面表示に反映されます。

初期値は、モデルとのバインディングにより指定してください。
RCF.addInitializedListenerにより設定した場合は、表示月を変更したタイミングで画面表示に反映されます。初期画面には反映されません。

日付が固定でない場合の設定
第n月曜や毎月末に日付を設定したい場合、または不定期の場合、月日の値が固定でないため、typeに“everyYear”を指定して holidays、specialDates、dateToolTipsの日付を設定することができません。この場合、以下の2つの対応方法があります。

specialDatesプロパティ
オブジェクトのプロパティについて以下に示します。

プロパティ名

データ型

説明

省略

省略値

date

Date

対象となる日付のDateオブジェクトを指定します。

不可

-

type

String

日付の指定方法を指定します。

  • normal : 指定した年月日だけ
  • everyYear : 毎年(dateの年は無視される)

normal

styleNumber

Number

0〜9の数値を指定します。
日付セルにrcf-Calendar-special#(# は 0〜9)のクラスが設定され、それに従ったスタイルで表示されます。

0

message

String

指定した場合は、ツールチップが表示されます。

-

specialDatesの値を更新しても、画面は即時には更新されません。次にカレンダーの表示年月を更新する際に、画面表示に反映されます。
初期値は、モデルとのバインディングにより指定してください。
RCF.addInitializedListener により設定した場合は、表示月を変更したタイミングで画面表示に反映されます。初期画面には反映されません。

日付が固定でない場合の設定については、“holidays”の記事を参照してください。

dateToolTipsプロパティ
オブジェクトのプロパティについて以下に示します。

プロパティ名

データ型

説明

省略

省略値

date

Date

対象となる日付のDateオブジェクトを指定します。

不可

-

type

String

日付の指定方法を指定します。

  • normal : 指定した年月日だけ
  • everyYear : 毎年(dateの年は無視される)

normal

message

String

ツールチップの文字列を指定します。同一日にツールチップが複数指定された場合、つなげて表示されます。

不可

-

dateToolTipsの値を更新しても、画面は即時には更新されません。次にカレンダーの表示年月を更新する際に、画面表示に反映されます。
初期値は、モデルとのバインディングにより指定してください。
RCF.addInitializedListener により設定した場合は、表示月を変更したタイミングで画面表示に反映されます。初期画面には反映されません。

日付が固定でない場合の設定については、“holidays”の記事を参照してください。

naviButtonRendererプロパティ
render関数を持つオブジェクトを指定します。render関数は、レンダリング対象のTD DOMノードをパラメタとして渡されます。render関数内のユーザロジックでナビゲータの前月/次月のボタンに表示する文字をカスタマイズしたり、画像を貼り付けたりできます。カレンダ初期化時、および表示月を変更したときに呼び出されます。

render関数内でセルのスタイルを直接変更した場合、そのあとで前月・次月を表示すると、以前の設定が残ることがあります。render関数内で必要に応じて再設定してください。

render関数のパラメタを順番に示します。

パラメタ名:型

説明

1

node: Node

レンダリング対象のTD DOMノードを指定します。曜日に応じてクラス設定され、子要素として“<”または“>”のテキスト要素を持つTDノードが渡されます。

2

buttonType: String

ナビゲータボタンの種類を表す文字列を指定します。
"next" : 次月, "previous" : 前月


naviTitleLabelProviderプロパティ
naviTitleLabelProviderには、getLabel関数を持つオブジェクトを指定します。

getLabel関数には、タイトルに表示する年および月がパラメタとして渡されます。getLabel関数は文字列を返却し、その値がタイトルとして表示されます。getLabel関数内のユーザロジックにより、ナビゲーションタイトルに表示する文字列を制御できます。カレンダ初期化時、および表示月切替えのタイミングで呼び出されます。

getLabel関数のパラメタは、以下のとおりです。

パラメタ名:型

説明

1

year: Number

カレンダに表示する年を指定します。

2

month: Number

カレンダに表示する月-1を指定します。
(0...11)


dayOfWeekCellRendererプロパティ
dayOfWeekCellRendererプロパティには、render関数を持つオブジェクトを指定します。render関数は、レンダリング対象の曜日セルに対応するTD DOMノードと、そのほかの補足情報がパラメタとして渡されます。render関数内のユーザロジックでDOMノードを操作することにより、曜日セル内部の表示を制御できます。カレンダ初期化時と、表示月の切替えのタイミングで呼び出されます。

render関数内でセルのスタイルを直接変更した場合、そのあとで前月・次月を表示すると、以前の設定が残ることがあります。render関数内で必要に応じて再設定してください。

render関数のパラメタを順番に示します。

パラメタ名:型

説明

1

node: Node

レンダリング対象のTD DOMノードを指定します。
曜日に応じてクラス設定され、子要素として日付のテキスト要素を持ったTDノードが渡されます。

2

day: Number

曜日を指定します。
(日曜:0, ... 土曜:6)

3

x: Number

カレンダ内の横座標(0-6)を指定します。(左端が0)


dateCellRendererプロパティ
dateCellRendererプロパティには、render関数を持つオブジェクトを指定します。render関数は、レンダリング対象のTD DOMノードと、そのほかの補足情報がパラメタとして渡されます。render関数内のユーザロジックでDOMノードを操作することにより、日付セル内部の表示を制御できます。カレンダ初期化時と、表示月の切替えのタイミングで呼び出されます。

render関数内でセルのスタイルを直接変更した場合、そのあとで前月・次月を表示すると、以前の設定が残ることがあります。render関数内で必要に応じて再設定してください。

render関数のパラメタを順番に示します。

パラメタ名:型

説明

1

node: Node

レンダリング対象のTD DOMノードを指定します。
曜日や祭日などに応じてクラスが設定され、子要素として日付のテキスト要素を持ったTDノードが渡されます。

2

date: Date

レンダリング対象の日付を指定します。

3

day: Number

曜日を指定します。
(日曜:0, ... 土曜:6)

4

x: Number

カレンダ内の横座標(0-6)を指定します。(左端が0)

5

y: Number

カレンダ内の縦座標(0-6)を指定します。(ナビゲータ・曜日行を除いて、日付部分の上から順に 0,1,2...)

マウス操作

操作

処理

ナビゲータの前月ボタンをクリック

前の月を表示します。

ナビゲータの次月ボタンをクリック

次の月を表示します。

日付のセルをクリック

クリックした日付の選択状態を切り替えます。

日付のセルをダブルクリック

クリックした日付を選択された状態にします。

日付のセル上にマウスを移動

マウスの位置するセルの日付をフォーカス日付にします。

キー操作

操作

処理

スペース

フォーカス日付の選択状態を切り替えます。

 

フォーカス日付を前日に移動します。(表示されている範囲内での移動)

+ SHIFT

前の月を表示します。

 

フォーカス日付を翌日に移動します。(表示されている範囲内での移動)

+ SHIFT

次の月を表示します。

フォーカス日付を上(前の週)に移動します。(表示されている範囲内での移動)

フォーカス日付を下(次の週)に移動します。(表示されている範囲内での移動)

Home

フォーカス日付を表示月の1日に移動します。

End

フォーカス日付を表示月の最終日に移動します。

PageUp

前の月を表示します。

PageDown

次の月を表示します。

タイルプロパティ

本部品全体のスタイルプロパティを以下に示します。

パーツ名

プレフィックス

クラス名

指定可能なスタイル

全体(外枠)

なし

rcf-Calendar

  • サイズ
  • ボーダー

セル(全体共通)

cell

rcf-Calendar-cell

  • サイズ
  • カラー
  • フォント
  • ボーダー
  • セル

ナビゲーションタイトル

naviTitle

rcf-Calendar-naviTitle

  • サイズ(widthを除く)
  • カラー
  • フォント
  • ボーダー
  • セル

ナビゲーションボタン

naviButton

rcf-Calendar-naviButton

  • サイズ(widthを除く)
  • カラー
  • フォント
  • ボーダー
  • セル

曜日ヘッダ(共通)

dayOfWeek

rcf-Calendar-dayOfWeek

  • サイズ(widthを除く)
  • カラー
  • フォント
  • ボーダー
  • セル

曜日ヘッダ(個別)

dayOfWeek0

dayOfWeek6

rcf-Calendar-dayOfWeek0

rcf-Calendar-dayOfWeek6

  • カラー
  • フォント
  • ボーダー
  • セル

日付(共通・当月)

date

rcf-Calendar-date

  • カラー
  • フォント
  • ボーダー
  • セル

日付(曜日ごと・当月)

date0

date6

rcf-Calendar-date0

rcf-Calendar-date6

  • カラー
  • フォント
  • ボーダー
  • セル

日付(共通・他の月)

otherMonth

rcf-Calendar-otherMonth

  • カラー
  • フォント
  • ボーダー
  • セル

日付(曜日ごと・他の月)

otherMonth0

otherMonth6

rcf-Calendar-otherMonth0

rcf-Calendar-otherMonth6

  • カラー
  • フォント
  • ボーダー
  • セル

フォーカス日付

focus

rcf-Calendar-focus

  • カラー
  • フォント
  • ボーダー
  • セル

選択日付

selected

rcf-Calendar-selected

  • カラー
  • フォント
  • ボーダー
  • セル

休日

holiday

rcf-Calendar-holiday

  • カラー
  • フォント
  • ボーダー
  • セル

特別日

special0

special9

rcf-Calendar-special0

rcf-Calendar-special9

  • カラー
  • フォント
  • ボーダー
  • セル

詳細は、“スタイルプロパティ”を参照してください。


ベントリスナ

名前

説明

イベントオブジェクト

onDisplayMonthChanged

表示月が変更されたときに呼ばれます。

DisplayMonthChangeEvent

onBeforeDisplayMonthChanged

表示月が変更されたとき、カレンダ再表示の前に呼ばれます。

onDateSelected

日付が選択されたときに呼ばれます。

CalendarSelectionChangeEvent

onDateDeselected

日付が選択状態でなくなったときに呼ばれます。

onDateDblClicked

日付をダブルクリックしたときに呼ばれます。

onDateFocused

フォーカス日付が変更されたときに呼ばれます。

イベントリスナ内では、表示年月の更新をしないでください。
APIで表示月を設定した場合、設定した値が現在表示中の年月と同一だった場合、displaymonthchangedイベントおよびbeforedisplaymonthchangedイベントは発生せず、画面も更新されません。

部品共通のイベントリスナもあります。詳細は、“画面部品共通イベントリスナ”を参照してください。

JavaScript API

■selectメソッ

メソッド

select()

引数

date
[Date]

選択する日を表すDateオブジェクト

戻り値

なし

例外

なし

説明

selectModeがSINGLEの場合、selectedDatesプロパティに選択日付を設定し、既存の選択日は非選択となります。
selectModeがMULTIの場合、selectedDatesプロパティに選択日付を追加します。
指定日がすでに選択されている場合は、何もしません。
指定した日付がカレンダ上で表示されている場合は、当該セルの選択状態を変更します。また、selectModeがSINGLEの場合は、以前に選択されていた日付がカレンダ上で表示されている場合も、当該セルの選択状態を変更します。

■deselectメソッ

メソッド

deselect()

引数

date
[Date]

非選択にする日を表すDateオブジェクト

戻り値

なし

例外

なし

説明

指定日がselectedDatesプロパティに含まれる場合は削除します。
選択されていない日付の場合は何もしません。
指定した日付が、カレンダ上で表示されている場合は、当該セルを非選択状態に変更します。

■setNextMonthメソッ

メソッド

setNextMonth

引数

なし

戻り値

なし

例外

なし

説明

カレンダ表示年月変更(現表示月を基準に、次月)

■setPreviousMonthメソッ

メソッド

setPreviousMonth

引数

なし

戻り値

なし

例外

なし

説明

カレンダ表示年月変更(現表示月を基準に、前月)

■setThisMonthメソッ

メソッド

setThisMonth

引数

なし

戻り値

なし

例外

なし

説明

カレンダ表示年月変更(システム時間の月)

■setDisplayMonthメソッ

メソッド

setDisplayMonth(Number,Number)

引数

Number
[Number]

year: 表示する年

Number
[Number]

month: 表示する月(0-11)

戻り値

なし

例外

なし

説明

カレンダ表示年月を変更します。(指定年月)
year/monthの両者を変更する場合などに使用します。(setPropertyを使うと2回再表示されるため)

部品共通のJavaScript APIもあります。部品共通のJavaScript APIは、“画面部品共通JavaScript API”を参照してください。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED