diff --git a/IPython/html/static/notebook/js/kernelselector.js b/IPython/html/static/notebook/js/kernelselector.js index 1d5e9fa..d82200e 100644 --- a/IPython/html/static/notebook/js/kernelselector.js +++ b/IPython/html/static/notebook/js/kernelselector.js @@ -9,6 +9,7 @@ define([ "use strict"; var KernelSelector = function(selector, notebook) { + var that = this; this.selector = selector; this.notebook = notebook; this.notebook.set_kernelselector(this); @@ -22,6 +23,11 @@ define([ this.bind_events(); // Make the object globally available for user convenience & inspection IPython.kernelselector = this; + this._finish_load = null; + this.loaded = new Promise(function(resolve, reject) { + that._finish_load = resolve; + }); + Object.seal(this); }; @@ -47,26 +53,29 @@ define([ return -1; } }); - + + var i, ks, ks_submenu_entry; // Create the Kernel > Change kernel submenu - for (var i = 0; i < keys.length; i++) { - var ks = this.kernelspecs[keys[i]]; - var ks_submenu_entry = $("