Fix command mode & popup view bug

Added elements property to PopupView
This commit is contained in:
Jonathan Frederic 2014-02-03 16:47:06 -08:00
parent 0ec7cf1b30
commit ef2c71c34d
2 changed files with 16 additions and 2 deletions

View File

@ -93,8 +93,14 @@
WidgetManager.prototype._handle_display_view = function (view) {
// Have the IPython keyboard manager disable its event
// handling so the widget can capture keyboard input.
// Note, this is only done on the outer most widget.
IPython.keyboard_manager.register_events(view.$el);
// Note, this is only done on the outer most widgets.
if (view.elements) {
for (var i = 0; i < view.elements.length; i++) {
IPython.keyboard_manager.register_events(view.elements[i]);
}
} else {
IPython.keyboard_manager.register_events(view.$el);
}
};
WidgetManager.prototype.create_view = function(model, options, view) {

View File

@ -75,6 +75,14 @@ define(["notebook/js/widgets/widget"], function(WidgetManager) {
.mousedown(function(){
that.bring_to_front();
});
// Set the elements array since the this.$window element is not child
// of this.$el and the parent widget manager or other widgets may
// need to know about all of the top-level widgets. The IPython
// widget manager uses this to register the elements with the
// keyboard manager.
this.elements = [this.$el, this.$window]
this.$title_bar = $('<div />')
.addClass('popover-title')
.appendTo(this.$window)