3 votes

Chargement de Richfaces modalPanel avec Ajax

J'utilise des richfaces dans mon projet et notamment le tag rich:modalPanel qui permet d'afficher des popups dans les pages.

Pour ce faire, j'inclus mon popup comme ceci :

<ui:include src="popup.xhtml" />

Ce popup contient ce code :

<rich:modalPanel id="sra" width="400" autosized="true" left="100" >
...
</rich:modalPanel>

Enfin, pour afficher la popup, je fais ceci dans la page principale :

<a4j:commandLink id="linkSRA" value="#{msg['SRA']}" action="#{controller.checkSRA}" oncomplete="#{rich:component('sra')}.show()" />

Tout fonctionne bien mais mon problème est le suivant :

Dans une page, j'ai plusieurs popups et chaque popup est incluse dans la page principale. Le poids de celle-ci est très important pour rien. Alors, comment puis-je faire pour charger le contenu de la popup en ajax lorsque je veux charger une popup ?

Gracias

2voto

Max Katz Points 1377

Rendre à nouveau le contenu du panneau via une action quelconque, puis ouvrir la modale dans oncomplete="..".

0voto

Nicolas Labrot Points 151

J'ai écrit un petit article : "How to create a stateful Richfaces popup" où je montre comment créer un contrôleur de popup. Ce contrôleur de popup permet de remplacer toutes les balises de la modale par quelques lignes :

<a4j:outputPanel binding="#{popupController.popupContainer}" id="popupContainer">
<c:forEach items="#{popupController.popups}" var="popup">
<f:subview id="popupView#{popup.id}">
<ui:include src="#{popup.uri}">
<ui:param name="popupBean" value="#{popup.popupBean}"/>
</ui:include>
</f:subview>
</c:forEach>
</a4j:outputPanel> 

L'article est disponible aquí . Désolé, il est trop long pour être collé directement ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X