私はJSFでRichFacesを使用して単純なアプリを開発しています。このアプリの 1 つのページには、いくつかの collapsiblePanel 要素が含まれています。collapsiblePanel 要素の一部はネストされていますが、2 層以上になることはありません。
ページ上のすべての collapsiblePanel 要素を展開および折りたたむためのリンクまたはボタンをページに提供したいと思います。どうやってやるの?
要素は現在、switchType="client"
属性を使用して、クライアントが展開と折りたたみを処理できるようにします。代わりにのタイプを使用するとajax
役立つ可能性があると思いますが、それをどのように利用するかはわかりません。
更新:私がやろうとしていることの例を含めると、私の質問が理解しやすくなるかもしれません:
<h:form>
<a4j:commandButton actionListener="#{bean.setDefaultExpanded(true)}"
render="reportPanel" value="Expand all" />
<a4j:commandButton actionListener="#{bean.setDefaultExpanded(false)}"
render="reportPanel" value="Collapse all" />
<h:panelGrid id="reportPanel">
<ui:repeat var="account" value="#{bean.results.entrySet().toArray()}">
<rich:collapsiblePanel expanded="#{bean.defaultExpanded}">
<ui:repeat var="chargeGroup" value="#{account.value.entrySet().toArray()}">
<rich:collapsiblePanel expanded="#{bean.defaultExpanded}">
<h:outputText value="content: #{chargeGroup.value}" />
</rich:collapsiblePanel>
</ui:repeat>
</rich:collapsiblePanel>
</ui:repeat>
</h:panelGrid>
</h:form>