2011-07-21 25 views
12

Tüm tarayıcı genişliğini değil, sadece tek bir öğeye loadMask nasıl uygulanır? ... loadMask() öğesini extjs içinde tek bir öğeye mi uygulamak istiyorsunuz?


herhangi
enter image description here



varsayılan
enter image description here

burada



, tek bir öğe maskeli ve bir MessageBox bu eleman değil, tüm ekran içinde merkezindedir fikir?

DÜZENLEME: Teşekkürler ama veri bazı kaynağından yüklerken bu, neye ihtiyacım

@Molecule olduğunu

:

{ 
    xtype:"button", 
    text:"Alert", 
    handler: function(){ 

     Ext.Msg.show({ 
     title:'Save Changes?', 
     msg: 'You are closing ?', 
     buttons: Ext.Msg.YES, 
     setLoading: // here somehow only mask parent element, and position alertBox... 
    } 

} 
+0

Öğeleri hakkında konuşuyorsunuz ancak bunlar bileşenlerdir. –

+0

@Chris, evet bunlar [Bileşenler] (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.Component) :-) –

cevap

29

Her bileşen kendi loadMask mülkü vardır. YourComponent.setLoading numaralı telefonu arayarak kullanabilirsiniz. İşte ben neden bahsettiğimi göstermek için fiddle. Bir başka yol new Ext.LoadMask(YourComponent.el, {msg:"Please wait..."}); kullanıyor. Kullanımınıza fiddle numaralı telefondan bakabilirsiniz.

GÜNCELLEME

İşte Widget belirtilen

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'); 

kod ExtJS4 loadMask nasıl uygulanacağını gösteren bir örnek ve MessageBox Ve burada try-it-yourself example olduğunu.

+5

Ve ExtJS'deki tüm bileşenler en az Aslında bir "el" özelliği olan bir "Ext.Element" olan kaydırma div işaret ediyor. Bu "el" öğesine erişebildiğiniz sürece, bu eldeki ".mask()" veya ".unmask()" veya "Ext.Element" de tanımlanan herhangi bir yöntemi her zaman arayabilirsiniz. –

+0

, basit bir Ext.Msg.show ve loadNask örneği sağlayabilir. Lütfen –

+0

@ Ingol, elbette. Bu [fiddle] (http://jsfiddle.net/molecule/pKq8X/2/) –