2016-11-15 1 views
0

Dans mon application XPages, j'utilise le contrôle xe: dynamicViewPanel et j'aimerais ajouter une boîte de dialogue/attente/une fenêtre de veille lorsqu'une section est développée par l'utilisateur (cliquez sur sur l'expand-icon pour ouvrir la section). Parfois, l'index de vue n'est pas à jour et l'ouverture d'une catégorie contenant beaucoup de documents durera un certain temps, en attendant je veux afficher un "dialogue de chargement" (que j'ai déjà, donc, pas besoin d'expliquer comment faire cela). Mon problème est, que je ne peux pas trouver un événement ou un point d'entrée par où commencer.Comment afficher la boîte de dialogue de veille dans la vue XPages lors de l'expansion d'une section

Merci à tous! Alex

Répondre

1

Vous pouvez essayer le code de ce lien: https://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-dialog-custom-control

Si vous voulez montrer dialogue stanby sur la section en cours, remplacer la ligne 79

var forms=dojo.body() 

avec un autre récipient. Par exemple, un élément de rafraîchissement partiel

var forms = dojo.byId(refreshId) 

Dans ce cas, vous devez remplacer les lignes 75 et 140 pour passer le paramètre id

function StandbyDialog_Started(refreshId) { 
    try{ 
     if(StandbyDialog_Do==true){ 
      if(this.StandbyDialog_Obj==null) {   
       var forms= (refreshId)?dojo.byId(refreshId):dojo.body();   
        this.StandbyDialog_Obj = new dojox.widget.Standby({ 
          target: forms, 
          zIndex: 10000 
        }); 
       document.body.appendChild(this.StandbyDialog_Obj.domNode); 
       this.StandbyDialog_Obj.startup(); 
      } 
      StandbyDialog_StoreField() 
      setTimeout("if(StandbyDialog_Do==true){StandbyDialog_StoreField()}",50); 
      setTimeout("if(StandbyDialog_Do==true){this.StandbyDialog_Obj.show()}",200); 
     } 
    }catch(e){ 
     console.log("StandbyDialog_Started:"+e.toString()) 
    } 
} 

et

dojo.subscribe('partialrefresh-start', null, function(method, form, refreshId){ 
    StandbyDialog_Do=true 
    StandbyDialog_Started(refreshId) 
}); 

Je n'ai pas testé mais j'espère que cela pourra vous aider à aller plus loin.

+0

Bonjour Evgeniy, merci pour vos idées ... J'ai essayé le contrôle en attente par Fredrik Norling, il fait l'affaire pour tous les rafraîchissements partiels. C'est ok pour moi et satisfait tous nos besoins! –