非表示/表示振る舞い

hx:panelActionbar コンポーネントが使用する、 特殊な非表示/表示タグをサポートします。

この振る舞いは、panelActionbar コンポーネントの 実装以外の、一般的な使用を意図していません。 フィールドの非表示/表示を 設定するには、JSFBehaviorGeneric の hide、show、inverthide の 各アクションを使用します。

hx:panelActionbar で 「ノード」(サブパネル) の非表示/表示を設定します。 ノードが表示/非表示になるときに、 その中の下位ノードを「閉じる」 (非表示に する) ことができます。 また、オプションで非表示に する (「自動縮小」させる) こともできます。

ノードの状態 (表示/非表示) は、 ページ上にある、 サーバーに送り戻すことができる 隠しフィールド内で維持されます。 これによって、ページが再表示されたときに、 開いている/閉じているノードの「状態」を 維持することが可能になります。

コンポーネントを発行する JSF タグ

<hx:panelActionbar>

基本 HTML

なし。 これは、<hx:panelActionbar> の実装環境専用です。

JavaScript™ コンストラクター

hX_5.addBehavior("id", "onclick", new hX_5.JSFBehaviorHS(attributes)); 各部の意味は次のとおりです。

id

コンポーネントが付加される HTML タグの ID。

属性

コンマで区切られた属性のリスト。 各属性は、属性名と値から成る引用符付きストリングになっており、 コロンで区切られています (例: "label:MyLabel")。

サポートされるイベント

イベント

説明

onclick

これは、<hx:panelActionbar> の実装環境専用です。

属性

表 1. 非表示/表示振る舞い属性

属性名

説明

hide-object

ここで指定するタグを非表示/表示にします。

hide-tree

hide-object が存在する場合は、同じ機能を持ちます。 hide-object 内の表である子が、すべて縮小表示されます。

hide-field

hide-object の 現在の状態が保守されているページ上にある、隠しフィールドの ID。 送信は、サーバーに戻ってから実行されます。 戻される値は、「none」または「display」のいずれかです。

hide-field-value

hide-field の初期値。 hide-object の非表示/表示の初期設定は、この値に基づいて決定されます。 この値によって、Hide-field の値も初期化されます。

順序付け

イベント用に指定された他のハンドラーのあとに、実行されます。

続行中/バブル中のイベントを停止しません。

API 呼び出し

表 2. 非表示/表示振る舞い API 呼び出し

API 呼び出し

説明

object = setAttribute(attribute)

属性を設定します。 属性がすでに設定されたものである場合は、 その値を変更します。

string = getAttribute(attribute-name)

属性の現行値を取得します。

制限

JWL 2.1 より前のバージョンでは、 ツリー内のノードに JSF コンポーネントが含まれていた場合、 ノードが表示されたときに、 コンポーネントが正しく描かれない場合がありました。 現在では、修正されています。

サンプル・コード

3 つのサブパネルを持つ hx:panelActionbar において、 クリックされたときに非表示/表示を切り替えるよう、 それぞれのサブパネルをセットアップします。

hX.addBehavior("actionbar2_link", "onclick",new hX.JSFBehaviorHS ("hide-object:actionbar2_table", 
                 "hide-tree:actionbar2_table","hide-field:actionbar2_display", "hide-field-value:display"));
hX.addBehavior("actionbar5_link", "onclick",new hX.JSFBehaviorHS ("hide-object:actionbar5_table", 
                 "hide-tree:actionbar5_table","hide-field:actionbar5_display", "hide-field-value:none"));
hX.addBehavior("actionbar3_link", "onclick",new hX.JSFBehaviorHS ("hide-object:actionbar3_table", 
                 "hide-tree:actionbar3_table","hide-field:actionbar3_display", "hide-field-value:none"));

フィードバック