扩展部分时如何在 XPages 视图中显示备用对话框

How to display standby dialog in XPages view when expanding a section

在我的 XPages 应用程序中,我使用 xe:dynamicViewPanel 控件,并希望在用户展开某个部分时添加 standby/wait dialog/popup(单击展开-图标打开该部分)。 有时视图索引不是最新的,打开一个包含大量文档的类别会持续一段时间,同时我想显示一些"loading dialog"(我已经有了,所以,不需要解释这个怎么做)。 我的问题是,我找不到从哪里开始的任何事件或入口点。

谢谢大家! 亚历克斯

您可以尝试使用此 link 中的代码: https://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-dialog-custom-control

如果要在当前部分显示备用对话框,请替换 79 行

var forms=dojo.body() 

与其他一些容器。例如,部分刷新元素

var forms = dojo.byId(refreshId)

在这种情况下,您需要替换第 75 和 140 行以传递 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())
    }
}

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

我没有测试它,但我希望它能帮助你走得更远。