Ext.MessageBox, к сожалению, не поддерживает управление поведением закрытия на основе возвращаемого значения обработчика входа в систему (по крайней мере в Ext 4.0.2a возвращаемое значение вообще не оценивается).
КакВременное решение: вы можете просто снова открыть другой MessageBox в вашем обработчике обратного вызова с той же (или обновленной) конфигурацией.
Ext.Msg.prompt('Name', 'Please enter your name:', function(btn, text, cfg) {
if(btn == 'ok' && Ext.isEmpty(text)) {
var newMsg = '<span style="color:red">Please enter your name:</span>';
Ext.Msg.show(Ext.apply({}, { msg: newMsg }, cfg));
}
});
В некоторых случаях пользователь может испытывать легкое мерцание.В моих тестах, однако, это было совсем не заметно.Если пользователь перетащил MessageBox в другую позицию, он снова будет повторен.