IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

[RichFaces]rich:tree/contextmenu et rafraichissement de page


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut [RichFaces]rich:tree/contextmenu et rafraichissement de page
    J'ai un composant rich:tree dans lequel j'attache un menu contextuel sur un des noeuds.

    Le click sur le menu contextuel doit m'afficher une fenêtre modale.
    Le code ci-dessous fonctionne sauf que la page est rafraichie et donc la fenêtre modale apparait puis disparait.

    Si quelqu'un a une idée, je suis preneur.

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <rich:simpleTogglePanel switchType="ajax" styleClass="tree">
    			<h:form>
    				<rich:tree switchType="ajax" id="structureDossier-tree-indemnisation"
    					adviseNodeOpened="#{structureDossierIndemnisation.isNodeExpandedByDefault}" toggleOnClick="true">
    					<rich:recursiveTreeNodesAdaptor roots="#{structureDossierIndemnisation.sourceRoots}" var="node"
    						nodes="#{node.children}">
    						<rich:treeNode icon="#{node.icon}" iconLeaf="#{node.icon}">
    							<h:outputText value="#{node.label}" id="nodeLabel" />
    							<span><h:outputText value="#{node.childCount}" rendered="#{node.displayChildCount}" /></span>
    							<span><h:outputText value="[#{node.status}]" rendered="#{node.status !='' and node.status !=null}" /></span>
    							<rich:contextMenu id="structureDossier-tree-indemnisation-contextMenu" event="oncontextmenu" attachTo="nodeLabel">
    								<rich:menuItem id="creerIndemnisationLink" value="#{resourceBundle['contextMenu.creerIndemnisation']}"
    									rendered="#{node.identifiant eq 'indemnisationsTreeNode'}" >
    									<rich:componentControl for="addIndemnisationPanel" attachTo="creerIndemnisationLink" operation="show"
    										event="onclick" />
    								</rich:menuItem>
    							</rich:contextMenu>
    						</rich:treeNode>
    					</rich:recursiveTreeNodesAdaptor>
    				</rich:tree>
    			</h:form>
    		</rich:simpleTogglePanel>

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Je n'ai pas précisé, mais bien entendu je cherche à ce que la page ne soit pas rafraîchie afin que la fenêtre modale reste en place...

    Si vous avez des idées...

    Merci !

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    comment la page est rafraichie?

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Mystère...

    Je fais click droit sur le noeud, mon menu contextuel s'affiche, puis je clique sur l'item du menu, le panneau modal s'affiche et pendant ce temps là, je vois la barre de progression de la page parent qui avance, et hop rafraichissement donc la fenêtre modale disparait...

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut onclick et non onlick
    le contextMenu doit être en dehors de la tree, l'attribut for prend la valeur de l'id du menu.et l'attribut event prend l'évènement onclick.

    et tu peux ouvrir la modalPanel dans le oncomplete du menu.

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Ok merci pour ton aide active sur le sujet !

    Je dois tester ça et je mettrai le post à jour avec le code qui fonctionne, ça pourra servir à d'autres car ergonomiquement parlant (un arbre sur lequel on peut faire des actions contextuelles/ajouter des noeuds...) c'est assez intéressant !

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Avec le code ci-dessus, je constate que le noeuds de l'arbre ne se replient pas lorsque je clique sur la petite flèche si je suis en switchType="ajax".

    Si je mets en switchType="client", ça fonctionne.

    Des idées ?

    Merci !

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Sniper37 Voir le message
    le contextMenu doit être en dehors de la tree, l'attribut for prend la valeur de l'id du menu.et l'attribut event prend l'évènement onclick.

    et tu peux ouvrir la modalPanel dans le oncomplete du menu.
    Désolé mais je ne suis pas trop ton explication. Tu parle de l'attribut for et event de quel composant ?

    Si je veux associer un menu contextuel à un noeud précis de mon arbo, je suis obligé de connaitre l'id du noeud et donc je ne peux pas le faire en dehors de l'itération, donc je ne vois pas bien comment je peux mettre le contextMenu en dehors du tree.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/05/2012, 12h02
  2. [RichFaces+jsf+ajax] Navigation Tree avec rich:tree
    Par BigMac.com dans le forum JSF
    Réponses: 0
    Dernier message: 08/02/2011, 14h57
  3. Réponses: 0
    Dernier message: 20/04/2010, 19h25
  4. [richFaces] datatable dans rich:tree
    Par Malone dans le forum JSF
    Réponses: 0
    Dernier message: 30/09/2009, 14h11
  5. Réponses: 1
    Dernier message: 29/04/2009, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo