扩展部分时如何在 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)
});
我没有测试它,但我希望它能帮助你走得更远。
在我的 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)
});
我没有测试它,但我希望它能帮助你走得更远。