Я пытаюсь настроить индикатор выполнения (в окне сообщения) на стороне клиента для типа записи журнала в NetSuite. Предполагается, что этот индикатор выполнения срабатывает при щелчке по ПУНКТУ СЧЕТА (поле столбца в записи журнала). При щелчке предполагается, что сохраненный поиск будет запущен, а когда поиск будет завершен, скройте индикатор выполнения и поместите результаты в другое поле столбца на странице.
Я уже пытался использовать инфраструктуру 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 я прочитал, что «видимость» вызывает обратный вызов.
Я ожидаю, что индикатор выполнения отобразится на экране, а затем исчезнет сразу после того, как сохраненный поиск вернул результат.
Будем весьма благодарны за любые указания по выполнению этой задачи!