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 :

Primefaces : Problème de menu contextuel


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 408
    Par défaut Primefaces : Problème de menu contextuel
    Bonjour,
    Dans une appli web java, j'utilise JSF et le framework Primefaces.
    J'ai défini un menu contextuel dans chaque page du projet.
    Mon problème est que le menu contextuel appelle une méthode, mais plusieurs fois.
    Par exemple, si j'ouvre et ferme 5 pages, la méthode au prochain menu contextuel sera exécutée 5 fois !
    Tous les bean utilisés sont en scope view.
    Merci pour votre aide.

    Mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <p:contextMenu for="idPage" beforeShow="noteMenuContextuelPosition()">   <-- au clic droit, appel du JS noteMenuContextuelPosition
    ...
    ...
    </p:contextMenu>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            <script type="text/javascript">
     
                function noteMenuContextuelPosition()
                {
                 ... 
                 ...               
                    rcNoteMenuContextuelPosition();   <--- appel de la méthode du bean via remoteCommand
                }
            </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:remoteCommand name="rcNoteMenuContextuelPosition" actionListener="#{noteManagerBean.menuContextuelPosition()}"/>   <--- méthode appelée x fois !

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Pas sûr d'avoir compris ton problème mais de ce que je vois, il me semble que ton problème est lié à l'appel systématique de ta "remoteCommand" sur un click-droit.
    Que ce soit fait une fois par page me parait normal donc si tu as 5 pages, il faudrait bien l'appeler 5 fois...
    Comme tu passes déjà par une fonction javascript pour appeler la remoteCommand, il suffit de passer par une variable "window" pour savoir si tu as déjà fait le boulot ou non, un truc comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script>
    var processed = false;
     
    function noteMenuContextuelPosition()
    {
       if (processed) return;
       processed = true;
       ...
    }
    </script>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 408
    Par défaut
    Je me suis très mal expliqué.

    1 - J'ouvre et ferme une même page 5 fois

    2 - J'ouvre la même page une 6ème fois

    3 - Clic droit pour déclencher le menu contextuel : --> contextMenu est déclenché 6 fois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <p:contextMenu for="idPage" beforeShow="noteMenuContextuelPosition()"> 
    ...
    ...
    </p:contextMenu>

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    A quoi fait référence "idPage" (en terme de composant) ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 408
    Par défaut
    IdPage est un p:outputPanel qui me permet de délimiter la zone utile au menu contextuel.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    On est d'accord que tu n'as qu'un seul composant avec comme id "idPage" dans ta page ?
    Tu pourrais montrer tout le code de la page parce que là, c'est difficile de voir
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. PrimeFaces : Datatable et menu contextuel
    Par denisduval75 dans le forum JSF
    Réponses: 0
    Dernier message: 20/12/2018, 10h19
  2. Primefaces : tableau et menu contextuel
    Par denisduval75 dans le forum JSF
    Réponses: 2
    Dernier message: 02/11/2018, 10h12
  3. Primefaces : désactiver le menu contextuel
    Par denisduval75 dans le forum JSF
    Réponses: 0
    Dernier message: 26/10/2018, 10h17
  4. [Débutant] Problème ouverture menu contextuel via un bouton
    Par Lookoum dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 27/11/2013, 16h21

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