UIComponent クラス: oracle.adf.view.rich.component.rich.data.RichCalendar
コンポーネント・タイプ: oracle.adf.RichCalendar
ネーミング・コンテナ: 該当。このコンポーネントの子(partialTriggers、findComponent()
など)を参照するときは、その子のIDに接頭辞としてこのコンポーネントのIDおよびコロン(:)を設定する必要があります。サポートされていないエージェント: pda
カレンダ・コンポーネントでは、ユーザーのアクティビティを日、週、月またはリスト別に表示する機能が提供されます。ビュー属性によって、日、週、月またはリストのどれが表示されるのかが制御されます。
activeDay属性によって、示される表示範囲が制御されます。たとえば、「月」のビューに2008年6月の月を表示するには、activeDayは2008年6月内の日である必要があります。また、activeDayは、「日」のビューに表示される特定の日付でもあります。
カレンダ・コンポーネントのvalue属性は、oracle.adf.view.rich.model.CalendarActivityモデル・オブジェクトが含まれているoracle.adf.view.rich.model.CalendarModelにバインドされ、カレンダではcalendarActivityをレンダリングする方法が認識されています。利便性を目的として、パブリックな静的メソッドであるCalendarModel.isActivityInRangeが提供されます。(たとえば、CalendarModelのメソッドgetTimeActivitiesの実装から)CalendarActivityが特定のデータ範囲内なのかどうかを判断することが必要な場合には、これを使用する必要があります。
カレンダではアクティビティの作成、編集または削除の方法は制御されませんが、作成、編集および削除のアクティビティを関連付けることを可能にするイベントが起動されます。利便性を目的として、カレンダでは複数のファセットがサポートされ、これらすべてにはポップアップが含まれる必要があります。ファセットに関する詳細なドキュメントは、サポートされるファセットの項にあります。
<section name="Activity_Style_Customization">
アクティビティ・インスタンスの外観をカスタマイズするには、activityStyles属性を使用できます。activityStyles属性の型はMap<Set<String>, InstanceStyles>です。マップ内のInstanceStylesオブジェクトは、アクティビティ・スタイル別に返すことが可能です。これらのクラスの詳細は、InstanceStylesおよびCalendarActivityRampに関するjavadocを参照してください。
特定のアクティビティに対して適切なInstanceStylesオブジェクトが返されるためには、どのようにactivityStyles属性を設定するのでしょうか。"Me"、"Larry"および"Ted"の3つのプロバイダが用意されていると仮定して、これらのアクティビティをそれぞれ赤、オレンジ、青で表示するとします。次のキー/値のペアを使用してマップを作成し、それをactivityStyles属性にバインドしてみます。
キー(文字列セット) | 値(InstanceStylesオブジェクト) |
---|---|
{"Me"} | CalendarActivityRamp.getActivityRamp(CalendarActivityRamp.RampKey.RED) |
{"Larry"} | CalendarActivityRamp.getActivityRamp(CalendarActivityRamp.RampKey.ORANGE) |
{"Ted"} | CalendarActivityRamp.getActivityRamp(CalendarActivityRamp.RampKey.BLUE) |
さらに、getTagsメソッドから返された文字列セットがactivityStylesマップ内の文字列セット・キーに一致するようにアクティビティを設定してみます。次に例を示します。
各アクティビティに対するカレンダのレンダリングの間、文字列セットを取得するために、レンダラによってCalendarActivity.getTagsが呼び出されます。次に、文字列セットはactivityStylesマップに渡され、InstanceStylesオブジェクトが返されます(CalendarActivityRampはInstanceStylesのサブクラスであることに注意してください)。ここでの例では、次のようになります。
</section> <section name="Drag_and_Drop">
カレンダでは2種類のドラッグがサポートされます。
</section> <section name="Geometry_Management">
</section> <section name="Low_Level_Events">
カレンダでは高レベルのイベントは起動されません(たとえば、編集、削除、作成、ポップアップ・メニューなどに対して、特定のイベントは起動されません)。かわりに、カレンダによって低レベルのCalendarイベントおよびCalendarActivityイベントが起動されます。
calendarActivityを取り上げてみましょう。calendarActivityEventは、ユーザーがcalendarActivityで次のいずれかを実行する場合にキューに入ります。
calendarActivityEventがこれらすべてに対してキューに入ったとしても、キーボード、マウスおよびtriggerType情報もイベント内で入手可能であるため、これらを区別できます。
独自のUIレスポンス(たとえば、ポップアップの表示など)をイベントに関連付けることは自由に実行できますが、利便性を目的として、コンポーネントには一般的なUIジェスチャを表示するために関連付けられた複数のファセットが用意されています。詳細は、サポートされるファセットの項を参照してください。
</section>
型 | フェーズ | 説明 |
---|---|---|
oracle.adf.view.rich.event.CalendarActivityEvent | アプリケーションの起動 | たとえば、アクティビティをクリックするなど、ユーザーがカレンダ・アクティビティに対して操作を行うと、calendarActivityイベントが配信されます。
PPR動作: 一般的に、このイベントが処理されると、カレンダでは表示される要素が変更されるかどうかが認識されません。たとえば、開始時間が変更される場合はカレンダがppr処理される必要がありますが、説明が変更される場合はppr処理は必要ありません。したがって、通常、カレンダではカレンダ自体がpprターゲットとして追加されないため、必要に応じてアプリケーション開発者がカレンダをPPR処理する必要があります。 カレンダによってカレンダ自体がpprターゲットとして追加される唯一の例外は、モデル内でCalendarActivityが検出できない場合です。たとえば、2人のユーザーが同じデータを表示しているとします。ユーザーAがアクティビティ1を削除し、次にユーザーBがアクティビティ1をクリックしても、アクティビティは削除されているのでCalendarModel.getActivityによってNULLが返されます。この場合は、使用可能ではなくなったアクティビティに対してエンド・ユーザーが対話しようとしているため、カレンダによってカレンダ自体がpprターゲットとして追加されます。 |
oracle.adf.view.rich.event.CalendarDisplayChangeEvent | アプリケーションの起動 | カレンダ・コンポーネントによってカレンダ上の属性の値が変更されると、calendarDisplayChangeイベントが配信されます。たとえば、ユーザーがツールバーの「日」ボタンを押すと、ビュー属性が月から日に変更されることがあります。もう1つの例は、ツールバーの「次へ」ボタンが押された場合ですが、これはカレンダによるactiveDayの更新の原因となります。
これらの属性がカレンダによって設定される場合、これらはコンポーネント上でローカルに設定されるだけであり、コンポーネントではEL式から値が取得されなくなることに注意してください。たとえば、showDetailで+または-をクリックすると、フレームワークによってdisclosedがコンポーネント上でローカルにtrueまたはfalseに設定されるなど、これは一般的な動作です。これらのローカルの値を保存するには、変更管理フレームワークを使用する必要があります。 PPR動作: 一般的に、calendarDisplayChangeイベントが起動されると、カレンダによってカレンダ自体がpprターゲットとして追加されます。カレンダによってactiveDateまたはviewの値が変更されると、再レンダリングが必ず必要になることがこの理由です。 |
oracle.adf.view.rich.event.CalendarEvent | アプリケーションの起動 | ユーザーが非アクティビティやカレンダ内の非ツールバー領域で動作を行うと、Calendarイベントが発生します。
PPR動作: このイベントがトリガーされても、カレンダではこのイベントの処理時に表示可能な要素が変更されるかどうかが認識されないため、カレンダは自動的にPPR処理されません。新しいアクティビティが作成された場合など、表示可能な変更を示すためにカレンダが再レンダリングが必要な場合は、イベント・リスナーでカレンダをPPR処理する必要があります。 |
oracle.adf.view.rich.event.CalendarActivityDurationChangeEvent | アプリケーションの起動 | サイズ変更によってユーザーがカレンダ・アクティビティの継続期間を変更すると、calendarActivityDurationChangeイベントが配信されます。 |
org.apache.myfaces.trinidad.event.AttributeChangeEvent | アプリケーションの起動、 リクエスト値の適用 |
属性変更を記述するために配信されるイベント。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。 |
名前 | 説明 |
---|---|
activityContextMenu | アクティビティ上で右クリックすると、activityContextMenuファセットが開きます。
このファセットにはポップアップが含まれる必要があり、ポップアップの子はメニューである必要があります。メニューのコンテンツが部分的にアクティビティに依存する場合、キャッシュされた値が表示されないように、ポップアップではcontentDelivery属性をlazyUncachedに設定する必要があります。 このファセットが指定されている場合、右クリックによってcalendarActivityEventがサーバーに送信されます。このファセットが指定されていない場合、右クリックによってどのイベントもサーバーに送信されません。 組込みのポップアップ・メニューは用意されていないため、すべてのメニュー項目を開発者が追加する必要があります。 |
activityDelete | アクティビティがフォーカスを得て[Del]が押されると、activityDeleteファセットが開きます。
このファセットにはポップアップが含まれる必要があり、ポップアップの子はダイアログである必要があります。ポップアップのコンテンツが部分的にアクティビティに依存する場合、キャッシュされた値が表示されないように、ポップアップではcontentDelivery属性をlazyUncachedに設定する必要があります。ユーザーが[Del]を押す際にポップアップが起動しないようにする場合は、このファセットを使用しないでください。ファセットが存在しない場合は、calendarActivityEventがサーバーに引き続き送信されるため、ユーザーはこれをリスニングし、適切に応答できます。 |
activityDetail | アクティビティをクリックするかダブルクリックすると、activityDetailファセットが開きます。アクティビティがフォーカスを得て[Enter]が押された場合でも、これが開きます。
このファセットにはポップアップが含まれる必要があり、ポップアップの子はダイアログである必要があります。キャッシュされた値が表示されないように、ポップアップではcontentDelivery属性をlazyUncachedに設定する必要があります。クリック、ダブルクリックまたは[Enter]によってポップアップが起動しないようにする場合は、このファセットを使用しないでください。ファセットが存在しない場合は、calendarActivityEventがサーバーに引き続き送信されるため、ユーザーはこれをリスニングし、適切に応答できます。 |
activityHover | activityHoverファセットは、アクティビティ上でホバーすると開きます。このファセットにはポップアップが含まれる必要があり、ポップアップの子はnoteWindowである必要があります。キャッシュされた値が表示されないようにするには、ポップアップでcontentDelivery属性をlazyUncachedに設定する必要があります。
このファセットが存在しない場合、ユーザーがアクティビティ上でホバーしても、calendarActivityEventは送信されません。 このポップアップが開くまでに遅れが生じるため、ユーザーがアクティビティにすばやくカーソルをあててから離すと、これは表示されません。 |
contextMenu | contextMenuファセットは、ユーザーがツールバーまたはアクティビティ上でないかぎり、カレンダ上で右クリックすると開きます。
このファセットにはポップアップが含まれる必要があり、ポップアップの子はメニューである必要があります。このファセットが指定されている場合、右クリックによってcalendarEventがサーバーに送信されます。このファセットが指定されていない場合、右クリックによってどのイベントもサーバーに送信されません。 組込みのポップアップ・メニューは用意されていないため、すべてのメニュー項目を開発者が追加する必要があります。 このファセットをトリガーできるのはマウスのクリックのみのため、キーボードからカレンダへのアクセスを可能にする場合は、同じ機能をトリガーするカスタム・ツールバー・ボタンを追加する必要があります。 このファセットが存在しない場合、空き領域エリアで右クリックしても、calendarEventは送信されません。 |
create | カレンダの空き領域(アクティビティ以外)をクリックまたはダブルクリックすると、createファセットが表示されます。
このファセットにはポップアップが含まれる必要があり、ポップアップの子はダイアログである必要があります。キャッシュされた値が表示されないようにするには、ポップアップでcontentDelivery属性がlazyUncachedに設定されている必要があります。空き領域でのクリックまたはダブルクリックによってポップアップが起動しないようにする場合は、このファセットを使用しないでください。ファセットが存在しない場合は、calendarEventがサーバーに引き続き送信されるため、ユーザーはこれをリスニングし、適切に応答できます。 このファセットをトリガーできるのはマウスのクリックのみのため、キーボードからカレンダへのアクセスを可能にする場合は、同じ機能をトリガーするカスタム・ツールバー・ボタンを追加する必要があります。 |
名前 | 型 | ELのサポート | 説明 |
---|---|---|---|
activeDay | java.util.Date | あり | activeDayによって、示される表示範囲が制御されるため、新しい表示を示すにはこれが変更される必要があります。たとえば、「月」のビューに2008年6月の月を表示するには、activeDayは2008年6月内の日である必要があります。また、activeDayは、「日」のビューに表示される特定の日付でもあります。
ツールバー内の矢印を使用すると、activeDayが変更されます。たとえば、activeDayが2009年6月8日でビューが「月」の場合に矢印を押すと、activeDayは2009年7月8日に変更されます。 |
activityStyles | java.util.Map | あり | アクティビティ・インスタンス別のスタイル・カスタマイズが可能になります。タイプはMap<Set<String>, InstanceStyles>です。マップ・キーに使用されているSet<String>は、CalendarActivityのgetTags()から送信されます。値はinstanceStylesオブジェクトです。カレンダのスキニング・キーはinstanceStyleオブジェクトに渡され、アクティビティ別のスタイルが返されます。
組込みのカラー・ランプの詳細は、InstanceStylesのサブクラスであるCalendarActivityRampオブジェクトが返される、CalendarActivityRamp.getActivityRampを参照してください。 |
attributeChangeListener | javax.el.MethodExpression | ELのみ | 属性変更リスナーへのメソッド・リファレンス。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。 |
binding | oracle.adf.view.rich.component.<wbr/>rich.data.RichCalendar | ELのみ | コンポーネント・インスタンスをBean上に格納するELリファレンス。これは、バッキングBeanからコンポーネントへのプログラム的なアクセスを提供するため、またはコンポーネントの作成をバッキングBeanに移動するために使用できます。 |
calendarActivityDurationChangeListener | javax.el.MethodExpression | ELのみ | calendarActivityDurationChangeリスナーへのメソッド・リファレンス。 |
calendarActivityListener | javax.el.MethodExpression | ELのみ | calendarActivityリスナーへのメソッド・リファレンス。 |
calendarDisplayChangeListener | javax.el.MethodExpression | ELのみ | calendarDisplayChangeリスナーへのメソッド・リファレンス。 |
calendarListener | javax.el.MethodExpression | ELのみ | calendar eventリスナーへのメソッド・リファレンス。 |
clientComponent | boolean | あり | クライアント側のコンポーネントが生成されるかどうか。このフラグを設定してもしなくてもコンポーネントは生成されますが、クライアントJavascriptがコンポーネント・オブジェクトを必要とする場合、コンポーネントの存在を保証するにはtrueに設定する必要があります。現在デフォルトで生成されるクライアント・コンポーネント・オブジェクトは、将来は存在しない可能性があります。このフラグを設定することがコンポーネントの存在を保証する唯一の方法であり、クライアントは暗黙的な動作に依存できません。ただし、このフラグの設定にはパフォーマンス・コストが伴うため、絶対に必要でないかぎり、クライアントではクライアント・コンポーネントを有効にすることを避ける必要があります。 |
customizationId | String | あり | この属性は推奨されていません。永続的なカスタマイズを適用するには、id属性を使用する必要があります。この属性は、次のリリースでは削除されます。 |
dateCustomizer | oracle.adf.view.rich.util.DateCustomizer | あり | DateCustomizerによって、文字列の書式化など、日付別のカスタマイズが可能になります。
DateCustomizer.formatメソッドに渡されるキーは、次のとおりです。
|
dontPersist | String[] | あり | adf-config.xmlに登録済のPersistent Change Managerを介してFilteredPersistenceChangeManagerにより変更が持続されない属性のリスト。このリストにある自動コンポーネント・パーソナライズはセッション・ストアに対しては依然として持続します。 |
id | String | なし | コンポーネントの識別子。識別子は、HTMLで許可される構文のサブセットに準拠している必要があります。
|
inlineStyle | String | あり | このコンポーネントに対して使用するCSSスタイル。これは、基本スタイルの変更用です。inlineStyleは、コンポーネントのルートDOM要素に適用されるCSSスタイルのセットです。inlineStyleのCSSプロパティが対象となるDOM要素に影響を与えない場合は、スキンを作成し、特定のDOM要素をターゲットにしたスキニング・キーを使用する必要があります(::label、::icon-styleなど)。 |
listCount | int | あり | これは、listTypeがdayCountの場合にリスト・ビューに表示される日数です。デフォルトは14です。 |
listType | String | あり | 有効な値: day、week、month、dayCount リスト・ビューにどのアクティビティが表示されるのかが制御されます。
|
partialTriggers | String[] | あり | 部分更新をトリガーするコンポーネントのID。このコンポーネントは、トリガー・コンポーネント上でリスニングします。トリガー・コンポーネントの1つがなんらかの更新を発生させるイベントを受信した場合、このコンポーネントも更新されることをリクエストします。識別子はソース・コンポーネント(このコンポーネント)に対して相対的であり、NamingContainerで構成されている必要があります。コンポーネントがすでにネーミング・コンテナ内にある場合、単一のコロンを使用するとページのルートから検索を開始でき、複数のコロンを使用するとNamingContainerを上方向に移動できます。たとえば、::を前に置くと、コンポーネントのネーミング・コンテナ(または、コンポーネントがネーミング・コンテナである場合にはそのコンポーネント自体)から出てそこから検索を開始します。:::を前に置くと、2つのネーミング・コンテナ(コンポーネントがネーミング・コンテナである場合にはそのコンポーネント自体も含まれます)から出てそこから検索を開始します。 |
persist | String[] | あり | adf-config.xmlに登録済のPersistent Change Managerを介してFilteredPersistenceChangeManagerにより変更が持続される属性のリスト。このリストにない自動コンポーネント・パーソナライズはセッション・ストアに対しては依然として持続します。 |
rendered | boolean | あり | コンポーネントがレンダリングされるかどうか。falseに設定した場合、このコンポーネントについて出力は配信されません(コンポーネントはどのような方法でもレンダリングされず、クライアントで表示できません)。 |
shortDesc | String | あり | コンポーネントの短い説明。このテキストは、通常、ツールチップ・ヘルプ・テキストを表示するためにユーザー・エージェントによって使用されます。この場合、ツールチップの動作はユーザー・エージェントによって制御されます。たとえば、Firefox 2では長いツールチップは切り捨てられます。フォーム・コンポーネントの場合、shortDescはノート・ウィンドウに表示されます。 |
startDayOfWeek | String | あり | 有効な値: sun、mon、tue、wed、thu、fri、sat 「週」または「月」のビューで、週の開始曜日が返されます。設定しない場合は、たとえば、米国では日曜日であってもフランスでは月曜日であるように、ロケールに基づいたデフォルトの設定になります。 |
startHour | int | あり | ビューにスクロールされる開始時間です。有効な値は0から23です。デフォルトのstartHourは8です。 |
styleClass | String | あり | このコンポーネントに対して使用するCSSスタイル・クラス。スタイル・クラスは、jspxページまたはスキニングCSSファイルなどで定義できます。または、AFInstructionTextのようなパブリック・スタイル・クラスの1つを使用できます。 |
timeZone | java.util.TimeZone | あり | このインスタンスに使用するタイムゾーンです。設定しない場合、タイムゾーンはAdfFacesContextから取得されます。 |
toolboxLayout | String[] | あり | ツールバーのレイアウトに対する制御が可能になります。
コンポーネントで認識される組込みの文字列は、次のとおりです。
カスタムのツールボックスのコンテンツ: customToolbarXyzのように、カレンダによって認識されないtoolboxLayoutで文字列が検出されると、その名前のファセットが検索され、見つかった場合にはコンテンツがレンダリングされます。将来的には新しいファセットがカレンダに追加される可能性があります。将来的な名前のクラッシュを回避するには、単語customで開始される文字列をカスタム・ファセットに使用する必要があります。他の名前については保証しません。 toolboxLayout属性を使用すると、ユーザーは次を実行できます。
|
value | oracle.adf.view.rich.model.CalendarModel | あり | アクティビティ・データを提供するモデル。型は、oracle.adf.view.rich.model.CalendarModelである必要があります。 |
view | String | あり | 有効な値: day、week、month、list カレンダのビュー: 「日」、「週」、「月」または「リスト」。デフォルトはmonthです。 |
visible | boolean | あり | コンポーネントの可視性。falseの場合、コンポーネントはクライアント上で非表示となります。renderedとは異なり、これはサーバーでのライフサイクルには影響を与えません(コンポーネントに実行済バインディングがある、など)。コンポーネントの可視性は、クライアント上で切り替えるか、PPRを使用して切り替えることができます。renderedがfalseの場合、コンポーネントはどのような方法でもレンダリングされず、クライアントで表示できません。ほとんどの場合、visibleプロパティのかわりにrenderedプロパティを使用します。 次のレンダーキットではサポートされていません。 org.apache.myfaces.trinidad.core |