Каждый компонент имеет свое собственное свойство loadMask
.Вы можете использовать его, позвонив по номеру YourComponent.setLoading
.Вот скрипка , чтобы проиллюстрировать то, о чем я говорю.
Другой способ - использовать new Ext.LoadMask(YourComponent.el, {msg:"Please wait..."});
.Вы можете посмотреть на использование в моей скрипке .
ОБНОВЛЕНИЕ
Вот пример кода, который показывает, как применить ExtJS4 loadMask и MessageBox к указанному виджету
Ext.create('Ext.panel.Panel', {
width: 600,
height: 400,
title: 'Border Layout',
layout: 'border',
items: [{
title: 'West Region is collapsible',
region:'west',
xtype: 'panel',
width: 400,
id: 'west-region-container',
layout: 'fit'
},{
title: 'Center Region',
region: 'center',
xtype: 'panel',
layout: 'fit',
}],
renderTo: Ext.getBody()
});
var myMask = new Ext.LoadMask(Ext.getCmp('west-region-container').el, {useMsg: false});
myMask.show();
var msg = Ext.Msg.show({
title:'Save Changes?',
msg: 'Bla-Bla',
buttons: Ext.Msg.OK,
modal: false
});
msg.alignTo(Ext.getCmp('west-region-container').el, 'c-c');
А вот пример "попробуй сам" .