Как определить, активен ли компонент LoadMask или нет?

У меня есть окно и форма, внутри которой помещается LoadMask для отправки. Во время отправки процесса я ловлю нажатие клавиши ESC на окно, чтобы пользователь не мог закрыть его во время отправки формы.

Как определить, активна форма LoadMask или нет?

Может быть, что-то вроде хранит метод isLoading()?


person s.webbandit    schedule 17.09.2012    source источник


Ответы (1)


Если маскировать Element (например grid.getEl().mask()) то есть такой метод: grid.getEl().isMasked(). Если вы используете LoadMask, попробуйте следующее:

var myMask = new Ext.LoadMask(grid, {msg:"Please wait..."});
myMask.show();

Ext.ComponentMgr.each(function(i, value){
    if ((value instanceof Ext.LoadMask) && value.isVisible() && 
        (value.ownerCt === panel || value.floatParent == panel))
    {
        alert('masked');
        return false;
    }
});

Рабочий образец: http://jsfiddle.net/Hsy5c/8/

person Krzysztof    schedule 17.09.2012
comment
Именно то, что я искал. Спасибо! - person s.webbandit; 17.09.2012