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 Shedule slotMinute


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut Primefaces Shedule slotMinute
    Bonjour à tous,

    J'utilise le framework Primesfaces et j'ai un souci pour l'utilisation du shedule.

    J'ai besoin de modifier dynamiquement le slotMinutes.

    la solution que j'aimerai utiliser c'est avec un contextMenu

    Voici le code :

    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
     <p:panel style="width: 1228px;height: 645px">
                    <p:schedule value="#{calendrierSessionBeanOld.eventModel}" 
                                widgetVar="myschedule" 
                                allDaySlot="true"
                                showWeekends="false"
                                draggable="true" 
                                resizable="true"              
                                id="planning"
                                timeFormat="HH:mm"
                                aspectRatio="2"
                                style="width: 1200px;" 
                                locale="fr"
                                axisFormat="HH:mm"
                                slotMinutes="#{calendrierSessionBeanOld.slot}"
                                minTime="8:00"
                                maxTime="18:00"
     
                                >
     
                        <p:ajax event="eventSelect" listener="#  {calendrierSessionBeanOld.onEventSelect}" update="detail" oncomplete="detailModal.show()" />  
                    </p:schedule>
                </p:panel>
     
                <p:contextMenu for="planning">	
                    <p:menuitem value="15" actionListener="#{calendrierSessionBeanOld.setSlot(6)}" update="planning"/>
                    <p:menuitem value="30" actionListener="#{calendrierSessionBeanOld.setSlot(30)}" update="planning"/>
                </p:contextMenu>
    Cela fonctionne mais à chaque fois le calendrier retourne en affichage mensuel et ne reste pas sur la semaine ou la journée (ceci est du je pense à l'update)

    Comment résoudre ce problème ?

    D'avance merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Par défaut
    Bonjour luperrot,

    Ton problème est du à une mauvaise utilisation du composant Primefaces.
    En effet le composant schedule est un composant particulier qui nécessite d'être rafrachit d'une manière exceptionnellement différente des autres composants.

    Voici un lien vers la documentation Primefaces expliquant ce cas.

    Ceci est expliqué dans la partie Schedule.
    Schedule has a quite complex UI which is generated on-the-fly by the client side
    PrimeFaces.widget.Schedule widget to save bandwidth and increase page load performance. As a
    result when you try to update schedule like with a regular PrimeFacess PPR, you may notice a UI
    lag as the DOM will be regenerated and replaced. Instead, Schedule provides a simple client side
    api and the update method. Whenever you call update, schedule will query it’s server side
    ScheduleModel instance to check for updates, transport method used to load events dynamically is
    JSON, as a result this approach is much more effective then updating with regular PPR. An example
    of this is demonstrated at editable schedule example, save button is calling myschedule.update() at
    oncomplete event handler
    En traduit, cela nous donne en gros, que le composant schedule est un composant complexe, généré à la volée, et qui nécessite une méthode rafraichissement particulière, car la méthode update traditionnelle reconstruit le composant.

    Au lieu d'appeler une méthode update contenant notre composant ou l'un de ses parents (car il risque de rafraichir notre composant schedule en cascade) il faut à la place effectuer un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myshedule.update();
    Où myschedule est défini par l'attribut widgetvar du composant schedule.

    Je ne sais pas si ceci résoudras tous tes problèmes, et notamment celui que tu présentes, mais ce que je sais, c'est que sans ceci, ton composant ne marchera pas

  3. #3
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    Bonjour Narco,

    Tout d'abord merci pour ta réponse.

    J'avais tenté le .update sur oncomplete ou onclick mais la rien ne se passe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <p:contextMenu for="planning">	
                    <p:menuitem value="6" actionListener="#{calendrierSessionBeanOld.slot(6)}" onclick="myshedule.update()"/>
    Voila la solution que j' ai trouvée

    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
     
     <p:schedule value="#{calendrierSessionBeanOld.eventModel}" 
                                widgetVar="myschedule" 
                                allDaySlot="false"
                                showWeekends="false"
                                draggable="true" 
                                resizable="true"              
                                id="planning"
                                timeFormat="HH:mm"
                                aspectRatio="2"
                                style="width: 1200px;" 
                                locale="fr"
                                axisFormat="HH:mm"
                                slotMinutes="#{calendrierSessionBeanOld.slot}"
                                minTime="8:00"
                                maxTime="18:00"
                                view="#{calendrierSessionBeanOld.view}"
                                initialDate="#{calendrierSessionBeanOld.date}"
     
                                >
     
     <p:contextMenu for="planning">	
                    <p:menuitem value="6" actionListener="#{calendrierSessionBeanOld.test(calendrierSessionBeanOld.event, 6)}" update="planning"/>
                    <p:menuitem value="30" actionListener="#{calendrierSessionBeanOld.test(calendrierSessionBeanOld.event,30)}" update="planning"/>
                </p:contextMenu> 
    //Controleur
    public void test(ScheduleEvent event,int pas){
     
            view = "agendaDay";
            slot = pas;
                    }
    D'autre idée ?

  4. #4
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    Bon je progresse mais c'est pas encore ça :-)

    y a t-il une solution lorsqu'on clique sur les boutons month week et day de récupérer les nouvelles valeurs de view ?

  5. #5
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    Bon en fait ça ne marche pas puisque lorsque l'on va sur une journée avec les bouton de navigation je suis incapable de récupérer la journée qu'il affiche.... Il revient toujours à la date du jour.

    Personne pour m'aider ?

  6. #6
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    je cloture car j'ai trouvée la solution exposé dans mon autre topic

    http://www.developpez.net/forums/d12...date-afficher/

    merci pour vôtre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PrimeFaces Shedule add/resize/move
    Par luperrot dans le forum JSF
    Réponses: 14
    Dernier message: 26/04/2012, 09h56
  2. debuter avec primefaces
    Par riadhhwajdii dans le forum JSF
    Réponses: 0
    Dernier message: 17/08/2009, 10h35
  3. integrer primefaces avec richfaces
    Par riadhhwajdii dans le forum JSF
    Réponses: 2
    Dernier message: 13/08/2009, 17h34
  4. PrimeFaces linechart erreur
    Par rajensias dans le forum JSF
    Réponses: 2
    Dernier message: 16/04/2009, 10h30
  5. Processeur, Mémoire et Sheduling
    Par ShAdoS dans le forum Composants
    Réponses: 7
    Dernier message: 15/11/2006, 16h57

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