Browser versions and OS(and desktop environment, if applicable)
IE 9 Windows 7
The ConfirmMessageBox (and probably other related dialogs) doesn't work properly:
1. setOnEsc(true) doesn't hide the dialog after pressing escape
2. focusing one of the buttons doesn't work (or maybe I am missing something?). I'm used to see a dialog with a predefined focused button, so I only type return to execute it.
2. setModal(true) doesn't make the dialog really modal. see my example below (with the commented out setFocusWidget line). click on the button, the dialog opens. now type return. since the button is still selected in the background, the dialog opens one more time (you have to close it twice or as many times as you pressed return). you can click somewhere on the rootpanel and the button selection disappears. you can also use the setfocuswidget line. it solves that problem (as a workaround ofc), but still doesn't focus a dialog button (problem #2)
public void onModuleLoad()
TextButton button = new TextButton("open dialog!");
public void onSelect(SelectEvent event)
ConfirmMessageBox box = new ConfirmMessageBox("title", "y u no blur?");
The primary bug was that buttons were not focusable programmatically. This bug has been fixed. You can see the updated code here http://staging.sencha.com:8080/examp...lePlace:dialog. You will also notice the escape key will dismiss the window. This works now as the window, or a child widget, has focus.
The modal issue is now resolved as focus moves from the button opening the window to the window. I tested with the code you provided and it works fine.
One note is that box.setOnEsc(true); only works when the window is closable which is not the case by default message boxes. This makes sense as the user must select one of the buttons to dismiss the window. You can setClosable to true to change this behavior.