この振る舞いは、panelActionbar コンポーネントの 実装以外の、一般的な使用を意図していません。 フィールドの非表示/表示を 設定するには、JSFBehaviorGeneric の hide、show、inverthide の 各アクションを使用します。
hx:panelActionbar で 「ノード」(サブパネル) の非表示/表示を設定します。 ノードが表示/非表示になるときに、 その中の下位ノードを「閉じる」 (非表示に する) ことができます。 また、オプションで非表示に する (「自動縮小」させる) こともできます。
ノードの状態 (表示/非表示) は、 ページ上にある、 サーバーに送り戻すことができる 隠しフィールド内で維持されます。 これによって、ページが再表示されたときに、 開いている/閉じているノードの「状態」を 維持することが可能になります。
<hx:panelActionbar>
なし。 これは、<hx:panelActionbar> の実装環境専用です。
hX_5.addBehavior("id", "onclick", new hX_5.JSFBehaviorHS(attributes)); 各部の意味は次のとおりです。
id |
コンポーネントが付加される HTML タグの ID。 |
属性 |
コンマで区切られた属性のリスト。 各属性は、属性名と値から成る引用符付きストリングになっており、 コロンで区切られています (例: "label:MyLabel")。 |
イベント |
説明 |
---|---|
onclick |
これは、<hx:panelActionbar> の実装環境専用です。 |
属性名 |
説明 |
---|---|
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 呼び出し |
説明 |
---|---|
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"));