如何使用 EXTJS 库在屏幕上加载进度条并监控 NetSuite 中已保存搜索的执行时间?
How can I use an EXTJS library to load a progress bar on screen and monitor the execution time of a saved search in NetSuite?
我正在尝试在客户端脚本上为 NetSuite 中的日志记录类型设置进度条(在消息框中)。单击 ACCOUNT ITEM(日志记录上的列字段)时,应该会触发此进度条。单击时,假设保存的搜索 运行,搜索完成后,隐藏进度条并将结果放在页面的另一个列字段中。
我已经尝试过使用EXT JS框架加载进度条。单击帐户项时我成功了,但在搜索完成后无法隐藏该栏。
我首先声明我保存的搜索,它实际上调用了进度条:
var saved_search = showProgressBarWithFn(search);
函数"showProgressBarWithFn(search)":
showProgressDialogWithFn: function(search)
{
try
{
Ext.MessageBox.show({
title: 'Please wait',
msg: 'Loading items...',
width:300,
wait:true,
waitConfig:{
interval: 200,
scope : Ext.bind(search, this),
fn : function(){
Ext.MessageBox.hide();
}
}
});
}
catch(e)
{
console.log("An unexpected error occurred" + e.message);
}
}
以上,我试图在搜索中将范围强制为 运行,因此调用了 "ext.bind"。 (请告知我是否错误地使用了此功能)。我在 API 文档中读到 "scope" 会触发回调。
我希望屏幕上显示一个进度条,然后在保存的搜索返回结果后立即消失。
任何完成此任务的指导将不胜感激!
我已经用另一种方式解决了这个问题,我想我会分享我的答案。
我首先创建了一个没有回调的函数,如下所示。
showProgressDialog: function(Title, message)
{
try
{
Ext.MessageBox.show({
title: Title,
msg: message,
width:300,
wait:true,
waitConfig:{
interval:200,
}
});
}
然后我在我的脚本的主要功能中调用它,然后是保存的搜索,然后使用 "Ext.MessageBox.Hide()" 关闭对话框并调用 setTimeOut 允许进度条显示的短暂延迟屏幕.
showProgressDialog('Running vendor/customer search', 'Please wait...');
var results = executeSavedSearch('customer', filters, fields);
setTimeout (function() {Ext.MessageBox.hide();},1000);
setTimeOut() 的原因是保存的搜索完成得太快,无法显示进度条并再次隐藏。如果其他人有类似的问题,很高兴对此进行扩展。
我正在尝试在客户端脚本上为 NetSuite 中的日志记录类型设置进度条(在消息框中)。单击 ACCOUNT ITEM(日志记录上的列字段)时,应该会触发此进度条。单击时,假设保存的搜索 运行,搜索完成后,隐藏进度条并将结果放在页面的另一个列字段中。
我已经尝试过使用EXT JS框架加载进度条。单击帐户项时我成功了,但在搜索完成后无法隐藏该栏。
我首先声明我保存的搜索,它实际上调用了进度条:
var saved_search = showProgressBarWithFn(search);
函数"showProgressBarWithFn(search)":
showProgressDialogWithFn: function(search)
{
try
{
Ext.MessageBox.show({
title: 'Please wait',
msg: 'Loading items...',
width:300,
wait:true,
waitConfig:{
interval: 200,
scope : Ext.bind(search, this),
fn : function(){
Ext.MessageBox.hide();
}
}
});
}
catch(e)
{
console.log("An unexpected error occurred" + e.message);
}
}
以上,我试图在搜索中将范围强制为 运行,因此调用了 "ext.bind"。 (请告知我是否错误地使用了此功能)。我在 API 文档中读到 "scope" 会触发回调。
我希望屏幕上显示一个进度条,然后在保存的搜索返回结果后立即消失。
任何完成此任务的指导将不胜感激!
我已经用另一种方式解决了这个问题,我想我会分享我的答案。 我首先创建了一个没有回调的函数,如下所示。
showProgressDialog: function(Title, message)
{
try
{
Ext.MessageBox.show({
title: Title,
msg: message,
width:300,
wait:true,
waitConfig:{
interval:200,
}
});
}
然后我在我的脚本的主要功能中调用它,然后是保存的搜索,然后使用 "Ext.MessageBox.Hide()" 关闭对话框并调用 setTimeOut 允许进度条显示的短暂延迟屏幕.
showProgressDialog('Running vendor/customer search', 'Please wait...');
var results = executeSavedSearch('customer', filters, fields);
setTimeout (function() {Ext.MessageBox.hide();},1000);
setTimeOut() 的原因是保存的搜索完成得太快,无法显示进度条并再次隐藏。如果其他人有类似的问题,很高兴对此进行扩展。