loadMask не срабатывает при загрузке магазина
Я попробовал это
var myMask = new Ext.LoadMask({msg:"GOINGGGGGG",target:Ext.getBody(),store:Ext.getStore('Bla.core.ext.store.Client')});
myMask.bindStore(Ext.getStore('Bla.core.ext.store.Client'));
и добавление магазина в конфиге, и создание магазина привязки.
Конечная цель - сделать так, чтобы несколько магазинов сообщали о 1 маске, но я не могу даже заставить 1 работать?
1 ответ
LoadMask должен использоваться только для компонентов, а не для элементов - Ext.getBody() возвращает элемент. Для маскировки элементов вы должны использовать Ext.dom.Element.mask
Другой вариант - создать область просмотра, которая занимает все пространство браузера, и использовать для этого LoadMask. Однако, если вы хотите, чтобы несколько магазинов использовали одну и ту же маску, вам нужно привязать свой магазин самостоятельно, потому что bindStore сначала отменяет привязку старого хранилища, а затем связывает новое.
Кстати, привязка - это простая вещь: установите прослушиватель в хранилище, которое показывает маску перед загрузкой хранилища и скрывает ее после загрузки данных или неудачного запроса.