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 :

rich:modalPanel lors d'un dropListener


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut rich:modalPanel lors d'un dropListener
    Bonjours,

    Comment faire apparaitre un modal panel lors d'un drag and drop?

    j'ai réussi à faire apparaître le modalPanel en cliquant sur un lien mais pas en le mettant sur l'action dropListener.

    Et je voudrais que en fonction des item que l'on drop le panel n'affiche pas les même info voir ne s'affiche pas du tout.

    Comment je pourrais effectuer cette manip?

  2. #2
    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
    Par défaut
    tu peux lancer la pop up dans le oncomplete.

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    Merci pour ta réponse très rapide.
    J'ai essayé quelque truc mais sans succès voila ca que j'ai:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
         <ui:composition>
          <h:form>
            <rich:tree id="tree" switchType="client" style="position:absolute; width:300px; border:solid black 1px;" value="#{SimpleTreeDndBean.dataC}"  var="item"
                       dragIndicator="indicator2" treeNodeVar="treeNode" nodeFace="#{item.type!=0 ? 'item' : 'node'}">
              <rich:treeNode type="item" dragType="item" dragValue="#{item}">
                   <h:outputText value="#{item.nom}" />
                   <rich:dndParam name="label" type="drag" value="item #{item.nom}">#{item.nom}</rich:dndParam>
              </rich:treeNode>
        </rich:tree>
     
    <a4j:outputPanel layout="block">
      <rich:dropSupport acceptedTypes="item" dropListener="#{SimpleTreeDndBean.dropListener}" oncomplete="if(item.type!=1){Richfaces.showModalPanel('pnlParamRex');}" reRender="treeC" />
      <rich:tree id="treeC" switchType="client" style="position:absolute; width:300px; height:300px; left:500px; border:solid black 1px;" value="#{SimpleTreeDndBean.treeC}"  var="item" dragIndicator=":treeCDragIndicator" dropListener="#{SimpleTreeDndBean.dropListener}" nodeFace="item">
      <rich:treeNode type="item"  acceptedTypes="item"  dragType="item" dragValue="#{item}">
                   <h:outputText value="#{item.nom} (#{item.comptage})" />
                  <rich:dndParam name="label" type="drag" value="item #{item.nom}">#{item.nom}</rich:dndParam>
               </rich:treeNode>
     
        </rich:tree>
     
      </a4j:outputPanel>
              <a style="position:absolute; left:900px;" onclick="Richfaces.showModalPanel('pnlParamRex');" href="#">Show ModalPanel</a>
     
    <a4j:form>
     
        <rich:modalPanel id="pnlParamRex">
     
            <f:facet name="header">
     
                <h:outputText value="This is a panel header" />
     
            </f:facet>
     
            <p>The &lt;rich:modalPanel&gt; accepts different types of information:
     
            from simple text to iterative components such as &lt;rich:dataTable&gt;, etc.
     
            </p>
     
            <a onclick="Richfaces.hideModalPanel('pnlParamRex');" href="#">Hide</a>
     
        </rich:modalPanel>
     
    </a4j:form>
     
     
            </h:form>
     
     
    </ui:composition>
    Donc dans la balise <rich:dropSupport> j'ai ajouter un oncomplete. Si je met pas la condition if le modalpanel s affiche bien pour tous les items.
    Le souci je voudrai qu'il s'affiche pour tous les items qui ont un type différent de 1.

  4. #4
    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
    Par défaut
    le problème vient du test if.

    la modalPanel dispose d'un attribut showWhenRendered qui permet de lancer ou pas la popup si tu as accès au bean sélectionné tu peux donner la valeur vrai ou faux à un booléen suivant le type du item sélectionné.

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    Merci j'ai réussi en créant un boolean dans le bean. Que je modifie dans la fonction dropListener.
    Ensuite j'ai ajouter la méthode showWhenRendered="#SimpleTreeDndBean.showModalPanel}"


    Et comment doit-je faire pour afficher différent type d'information dans le panel en fonction du type d'item?

  6. #6
    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
    Par défaut
    il suffit de mettre les infos dans un bean avec getter et setter et c'est bon.

  7. #7
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    Le souci c'est que je voudrais intégrer des rich input. permettant à l'utilisateur d'effectuer des saisies.

  8. #8
    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
    Par défaut
    Rien ne t'empêche de le faire.. quel est le problème?

  9. #9
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    je le savais pas ^^'.
    la fonction du bean doit me retourner un String ou apparait les balise (un peut comme en php)?

    edit: à priori non

    Je vois pas trop ce que doit renvoyer ma fonction. peut tu me mettre un petit exemple?

  10. #10
    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
    Par défaut
    pas besoin de fonction; tout fonctionne avec le binding,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:inputText value="#{beanName.attribute}" />

  11. #11
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    je suis un peu perdu là

    par exmple si le type de mon item est de 2 je doit affiché un inputText avec un ratio de 4choix. Si le type est 5 je doit faire un table...

    Si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:inputText value="#{beanName.attribute}" />
    il y aura un inputText quelque soit le type de mon item

  12. #12
    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
    Par défaut
    ok tu peux faire une table avec une liste; je ne sais pas exactement à quoi ça correspond, mais tu peux le faire de façon dynamique.
    à toi de voir la meilleur façon; dynamiquement en java suivant le type, une dataTable, une itération...

  13. #13
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    Désolé je suis un débutant en JSF je vois pas trop comment créé des balise dynamiquement en Java.

    Mais sinon je pourrais le faire avec des balises <c:if> ?

  14. #14
    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
    Par défaut
    Citation Envoyé par totofe Voir le message
    Désolé je suis un débutant en JSF je vois pas trop comment créé des balise dynamiquement en Java.

    Mais sinon je pourrais le faire avec des balises <c:if> ?

    ça dépend de la complexité de ce que tu veux faire, tu peux utiliser l'attribut rendered, tu peux aussi générer le contenu de la page en java ...Il y'a plusieurs solutions,si tu nous explique plus en détail ce que tu veux faire, on pourrait te donner une réponse plus appropriée.

  15. #15
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    Ma fonction est un drag and drop d'un treeNode vers un autre treeNode losrque je drag un item d'un treeNode vers le 2ème treeNode. Je voudrai qu'une fenetre modal s'affiche. Et en fonction du type d'item les informations de la fenêtre modal change. Une fenêtre qui ressemble à celles-ci:



    si le type d'item est 2 ou 4 la fenêtre doit ressembler à celle situé en haut à gauche. 3 celle en haut à droite et 5 ou 6 celle en bas.

    quelle solution est la plus appropriée?

  16. #16
    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
    Par défaut
    vu que les deux premières se ressemble, tu peux utiliser la même popup et mettre les libellés et le champs date qui est diffèrent avec un rendered le booleén du rendered.
    et une autre popup pour le dernier cas 5-6.

    ou une seule popup, et utiliser le rendered avec deux panelGroup par exemple que tu affiche ou pas suivant le cas 1-2-3-4 ou 5-6.
    je peux que ce n'est pas compliquer d'utiliser seulement les rendered ici.

  17. #17
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    Ok je vais essayer
    Merci pour tes info
    Si je bloque je te tiens au courant

  18. #18
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 411
    Par défaut
    J'ai un petit souci pour le 3ème modalPanel, car je dois faire une table alors que je ne connais pas le nombre de colonne qui la compose. Je pense que pour faire ça je doit réalisé une datatable depuis java. Mais je ne sais pas comment faire ceci.
    Peut-tu me montrer un exemple?
    Ou si tu connais une autre façon de procéder pourrais-tu me le dire?

    Merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/07/2009, 13h25
  2. Réponses: 4
    Dernier message: 25/05/2009, 10h28
  3. Réponses: 8
    Dernier message: 27/02/2009, 17h03
  4. rich:modalPanel erreur dans la page
    Par JAMINF dans le forum JSF
    Réponses: 2
    Dernier message: 21/10/2008, 14h23
  5. lenteur de rich:modalPanel
    Par ng.phung dans le forum JSF
    Réponses: 2
    Dernier message: 11/08/2008, 13h20

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