From aa5a8ced9136c42d9cf818ab3345eba84ed025ff 2014-11-17 22:17:17
From: Jonathan Frederic <jdfreder@calpoly.edu>
Date: 2014-11-17 22:17:17
Subject: [PATCH] Address @takluyver 's review comments

---

diff --git a/IPython/html/static/base/js/utils.js b/IPython/html/static/base/js/utils.js
index a0d9c3c..fba5baa 100644
--- a/IPython/html/static/base/js/utils.js
+++ b/IPython/html/static/base/js/utils.js
@@ -661,7 +661,7 @@ define([
         });
     };
 
-    var resolve_dict = function(d) {
+    var resolve_promises_dict = function(d) {
         // Resolve a promiseful dictionary.
         // Returns a single Promise.
         var keys = Object.keys(d);
@@ -749,7 +749,7 @@ define([
         promising_ajax : promising_ajax,
         WrappedError: WrappedError,
         load_class: load_class,
-        resolve_dict: resolve_dict,
+        resolve_promises_dict: resolve_promises_dict,
         reject: reject,
     };
 
diff --git a/IPython/html/static/widgets/js/manager.js b/IPython/html/static/widgets/js/manager.js
index b4d9d84..1507e5f 100644
--- a/IPython/html/static/widgets/js/manager.js
+++ b/IPython/html/static/widgets/js/manager.js
@@ -54,18 +54,12 @@ define([
             if (cell === null) {
                 reject(new Error("Could not determine where the display" + 
                     " message was from.  Widget will not be displayed"));
-            } else {
-                var dummy = null;
-                if (cell.widget_subarea) {
-                    dummy = $('<div />');
-                    cell.widget_subarea.append(dummy);
-                }
-
+            } else if (cell.widget_subarea) {
+                var dummy = $('<div />');
+                cell.widget_subarea.append(dummy);
                 that.create_view(model, {cell: cell}).then(function(view) {
                     that._handle_display_view(view);
-                    if (dummy) {
-                        dummy.replaceWith(view.$el);
-                    }
+                    dummy.replaceWith(view.$el);
                     view.trigger('displayed');
                     resolve(view);
                 }, function(error) { 
@@ -178,6 +172,7 @@ define([
     };
 
     WidgetManager.prototype.get_model = function (model_id) {
+        // Get a promise for a model by model id.
         return this._models[model_id];
     };
 
diff --git a/IPython/html/static/widgets/js/widget.js b/IPython/html/static/widgets/js/widget.js
index b7730fe..00a4ca7 100644
--- a/IPython/html/static/widgets/js/widget.js
+++ b/IPython/html/static/widgets/js/widget.js
@@ -80,7 +80,7 @@ define(["widgets/js/manager",
                     this.trigger('msg:custom', msg.content.data.content);
                     break;
                 case 'display':
-                    this.widget_manager.display_view(msg, that);
+                    this.widget_manager.display_view(msg, this);
                     break;
             }
         },
@@ -262,7 +262,7 @@ define(["widgets/js/manager",
                 _.each(value, function(sub_value, key) {
                     unpacked[key] = that._unpack_models(sub_value);
                 });
-                return utils.resolve_dict(unpacked);
+                return utils.resolve_promises_dict(unpacked);
             } else if (typeof value === 'string' && value.slice(0,10) === "IPY_MODEL_") {
                 // get_model returns a promise already
                 return this.widget_manager.get_model(value.slice(10, value.length));