グラフ・コンポーネントおよびゲージ・コンポーネントのサブコンポーネントの相互作用プロパティを指定します。この関数は、特定のサブコンポーネントとHTML属性またはjavascriptイベント間の接続を提供します。一般的な例の1つとして、ユーザーはグラフの棒またはゲージのインジケータを使用して、ハイパーリンク・アクションをトリガーできます。各図形属性タグが機能するには、各図形属性タグにサブコンポーネントおよび少なくとも1つの属性が含まれている必要があります。例: dvt:shapeAttributes component="component_A" onClick="#{backing_bean_B}"
通常、動作属性と共通属性の2種類の属性があります。すべての動作属性はJavascriptハンドラで構成され、すべて名前にonの接頭辞が付いています。それ以外のすべての属性は共通属性と呼ばれます。
動作属性: onClick、onMouseMove、onKeyDownなどの動作属性は、値としてjavascriptコードを含む文字列またはjavascriptコードを返すバッキングBeanメソッドへの参照を取ります。ブラウザでは、特定のアクションが発生した場合、javascriptコードがその属性に基づいて実行されます。値がバッキングBeanメソッドの場合、メソッドは入力パラメータとしてサブコンポーネント・ハンドルを取ります。次のコード例を参照してください。
共通属性: 一部の共通属性alt、herf、noherf、target、titleおよびtabindexは、値として文字列または文字列を返すバッキングBeanメソッドを取ります。例:
その他の共通属性は、相互作用の基本設定を制御します。図形属性のサブコンポーネントをコンポーネント属性によって、サブコンポーネントの識別子をID属性によって、クリック・イベントの制御をクリック可能なclickAction属性およびclickListener属性によって指定できます。
shapeAttributesタグはshapeAttributesSetタグの子です。
shapeAttributesタグには子タグがありません。
次の例は、ゲージ・インジケータおよびゲージ・メトリック・ラベルに関連付けられたshapeAttributesタグを含むXMLを示しています。
<dvt:gauge > <dvt:shapeAttributesSet> <dvt:shapeAttributes component="GAUGE_INDICATOR" alt="#{sampleGauge.alt}" onClick="#{sampleGauge.onClick}"/> <dvt:shapeAttributes component="GAUGE_METRICLABEL" alt="#{sampleGauge.alt}" onMouseMove="#{sampleGauge.onMouseMove}"/> </dvt:shapeAttributesSet> </dvt:gauge>
バッキングBeanでは、次のようになります(sampleGauge)。
public String alt(oracle.dss.dataView.ComponentHandle handle)
{
return handle.getName();
}
public String onClick(oracle.dss.dataView.ComponentHandle handle)
{
return ("document.title=\"onClick\";");
}
public String onMouseMove(oracle.dss.dataView.ComponentHandle handle)
{
return ("document.title=\"onMouseMove\";");
}
または、(バッキングBeanメソッドを使用せずに)文字列を属性の値として使用することもできます。
<dvt:gauge > <dvt:shapeAttributesSet> <dvt:shapeAttributes component="GAUGE_INDICATOR" alt="Indicator" onClick="document.title="onClick";"/> <dvt:shapeAttributes component="GAUGE_METRICLABEL" alt="MetricLabel" onMouseMove="document.title="onMouseMove ";"/> </dvt:shapeAttributesSet> </dvt:gauge>
次の例は、clickListenerの使用方法を示しています。JSPXページのサンプル・コードは次のようになります。
<dvt:areaGraph > <dvt:shapeAttributesSet> <dvt:shapeAttributes component="GRAPH_AREAMARKER" clickable="true" clickListener="#{sampleGraph.clickListener}"/> </dvt:shapeAttributesSet> </dvt:gauge>
バッキングBeanのサンプル・コードは次のようになります(sampleGraph)。
public void clickListener(ClickEvent ce)
{
System.out.println(ce.getComponentHandle().getComponentInfo().toString());
}
面マーカーがクリックされると、デバッグ・ウィンドウにコンポーネント情報series = XXXが表示されます。
clickListenerのもう1つの例を示します。ClickEventにはデータ・ポイントに関する情報が含まれています。サンプル・コードは次のようになります。
public void processClick(ClickEvent event)
{
ComponentHandle handle = event.getComponentHandle();
if(handle instanceof DataComponentHandle)
{
DataComponentHandle dhandle = (DataComponentHandle)handle;
System.out.println("value " + dhandle.getValue(DataComponentHandle.UNFORMATTED_VALUE));
System.out.println("row key " + dhandle.getValue(DataComponentHandle.ROW_KEY));
System.out.println("key path " + dhandle.getValue(DataComponentHandle.KEY_PATH));
Attributes [] seriesInfo = dhandle.getSeriesAttributes();
if(seriesInfo != null)
{
for(Attributes attrs: seriesInfo)
{
System.out.println("Series attribute value " + attrs.getValue(Attributes.LABEL_VALUE));
System.out.println("Series attribute name " + attrs.getValue(Attributes.LABEL_ATTRIBUTE));
System.out.println("Series attribute value id " + attrs.getValue(Attributes.ID_VALUE));
System.out.println("Series attribute name id " + attrs.getValue(Attributes.ID_ATTRIBUTE));
}
}
Attributes [] groupInfo = dhandle.getGroupAttributes();
if(groupInfo != null)
{
for(Attributes attrs: groupInfo)
{
System.out.println("Group attribute value " + attrs.getValue(Attributes.LABEL_VALUE));
System.out.println("Group attribute name " + attrs.getValue(Attributes.LABEL_ATTRIBUTE));
}
}
}
//handle could be an instance of ScatterDataComponentHandle for scatter graphs,
//BubbleDataComponentHandle for bubble graphs and StockDataComponentHandle
//for stock graphs to fetch additional information
//handle could be an index of GroupComponentHandle if clicked on
//group component such as o1TickLabel
//handle could be an index of SeriesComponentHandle if clicked on
//series component such as legendText, legendTitle
}
名前 | 型 | ELのサポート | 説明 |
---|---|---|---|
id | java.lang.String | なし | コンポーネントの識別子を指定します |
component | java.lang.String | なし | 相互作用対応であると指定できるADFコンポーネントのサブコンポーネント。グラフの有効値は次のとおりです。
ゲージの有効値は次のとおりです。
|
clickListener | java.lang.String | なし | 引数としてClickEventを取るバッキングBeanメソッドを参照します。サブコンポーネントがクリックされると、メソッドが処理されます。FLASHイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
clickAction | java.lang.String | なし | サブコンポーネントのクリック時に呼び出されるバッキングBeanアクション・メソッド、またはそのアクションの静的な結果への参照。FLASHイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
clickable | java.lang.String | なし | oracle.dss.dataView.ComponentHandleを取り、このサブコンポーネントのクリック時にClickEventを発行するかどうかを示すブール値を返すバッキングBeanメソッドへの参照。静的な値(trueまたはfalse)を指定することもできます。FLASHイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
formatType | java.lang.String | なし | テキスト・コンポーネントをハイパーリンクとして表示するか、標準として表示するかを指定します。有効な値は次のとおりです。
|
alt | java.lang.String | なし |
共通属性次のセクションで、(alt、href、tabindex、nohref、target、titleを含む)各属性は、値またはoracle.dss.dataView.ComponentHandleを取り値を返すバッキングBeanメソッドへの参照を取ります。値は属性に応じて文字列またはブール値を指定できます。次の属性には次に示す値の使用方法があります。 oracle.dss.dataView.ComponentHandleを取り、文字列を返すバッキングBeanメソッドへの参照。この文字列は、コンポーネントのaltテキストとして設定され、ユーザーがコンポーネントにポインタを置くと、ツールチップとして表示されます。 |
href | java.lang.String | なし | oracle.dss.dataView.ComponentHandleを取り、HREF HTML属性の値を返すバッキングBeanメソッドへの参照。これにより、href値へのリンクがコンポーネントに作成されます。 |
tabindex | java.lang.String | なし | 値はtabindex値の文字列です。この値は、キーボードを使用してタブ移動するときコンポーネントにフォーカスする順序を表します。 |
nohref | java.lang.String | なし | 値はこのコンポーネントに対してNOHREFをレンダリングする必要があるかどうかを示すブール値です。このコンポーネントにNOHREFをtrueで割り当てた場合、HREFは無効になります。それ以外の場合、HREFは有効になります。 |
target | java.lang.String | なし | 値はTARGET HTML属性を表す文字列です。ターゲット属性は、Webブラウザがハイパーリンクを開く場所を指定します。4つの事前定義済のターゲットは、_blank、_self、_parentおよび_topです。アンダースコア付きの説明的な名前を指定することもできます。 |
title | java.lang.String | なし | 値はTITLE HTML属性を表す文字列です。タイトル属性の値は、コンポーネントに注釈を付けます。 |
onClick | java.lang.String | なし |
動作属性次のセクションで、すべての属性は動作属性です。各属性は、文字列または入力引数としてoracle.dss.dataView.ComponentHandleを取り文字列を返すバッキングBeanメソッドへの参照を取ります。どちらの場合も、返される文字列は、属性がトリガーされるときに実行されるjavascriptコードの一部です。次の属性には次に示すトリガー状態があります。 サブコンポーネントがクリックされたとき。 |
onDblClick | java.lang.String | なし | サブコンポーネントがダブルクリックされたとき。 |
onFocus | java.lang.String | なし | サブコンポーネントがフォーカスを取得するとき。PNGイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
onBlur | java.lang.String | なし | サブコンポーネントがフォーカスを失うとき。PNGイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
onKeyPress | java.lang.String | なし | サブコンポーネントにフォーカスが存在し、キーボード・キーが押されて放されたとき。PNGイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
onKeyDown | java.lang.String | なし | サブコンポーネントにフォーカスが存在し、キーボード・キーが押されたとき。PNGイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
onKeyUp | java.lang.String | なし | サブコンポーネントにフォーカスが存在し、キーボード・キーが放されたとき。PNGイメージがフォーマット設定されたグラフまたはゲージでのみ動作します。 |
onMouseMove | java.lang.String | なし | マウス・ポインタがサブコンポーネントに重なったとき。 |
onMouseOver | java.lang.String | なし | マウス・ポインタがサブコンポーネントから離れたとき。 |
onMouseOut | java.lang.String | なし | マウス・ポインタがサブコンポーネント内に移動したとき。 |
onMouseDown | java.lang.String | なし | サブコンポーネント内でマウス・ボタンが押されたとき。 |
onMouseUp | java.lang.String | なし | サブコンポーネント内でマウス・ボタンが放されたとき。 |