diff --git a/IPython/html/static/notebook/js/codecell.js b/IPython/html/static/notebook/js/codecell.js index 520b98d..7490671 100644 --- a/IPython/html/static/notebook/js/codecell.js +++ b/IPython/html/static/notebook/js/codecell.js @@ -86,6 +86,17 @@ define([ // deactivated, it's popped from the stack. When the stack is empty, // the cell's output area is used. this.active_output_areas = []; + var that = this; + Object.defineProperty(this, 'active_output_area', { + get: function() { + if (that.active_output_areas && that.active_output_areas.length > 0) { + return that.active_output_areas[that.active_output_areas.length-1]; + } else { + return that.output_area; + } + }, + }); + this.last_msg_id = null; this.completer = null; @@ -98,8 +109,6 @@ define([ // Attributes we want to override in this subclass. this.cell_type = "code"; - - var that = this; this.element.focusout( function() { that.auto_highlight(); } ); @@ -125,17 +134,6 @@ define([ CodeCell.prototype = Object.create(Cell.prototype); /** - * @method get_output_area - */ - CodeCell.prototype.get_output_area = function () { - if (this.active_output_areas && this.active_output_areas.length > 0) { - return this.active_output_areas[this.active_output_areas.length-1]; - } else { - return this.output_area; - } - }; - - /** * @method push_output_area */ CodeCell.prototype.push_output_area = function (output_area) { @@ -318,7 +316,7 @@ define([ return; } - this.get_output_area().clear_output(); + this.active_output_area.clear_output(); // Clear widget area this.widget_subarea.html(''); @@ -358,12 +356,10 @@ define([ }, iopub : { output : function() { - var output_area = that.get_output_area(); - output_area.handle_output.apply(output_area, arguments); + that.active_output_area.handle_output.apply(output_area, arguments); }, clear_output : function() { - var output_area = that.get_output_area(); - output_area.handle_clear_output.apply(output_area, arguments); + that.active_output_area.handle_clear_output.apply(output_area, arguments); }, }, input : $.proxy(this._handle_input_request, this) @@ -398,7 +394,7 @@ define([ * @private */ CodeCell.prototype._handle_input_request = function (msg) { - this.get_output_area().append_raw_input(msg); + this.active_output_area.append_raw_input(msg); }; @@ -501,7 +497,7 @@ define([ CodeCell.prototype.clear_output = function (wait) { - this.get_output_area().clear_output(wait); + this.active_output_area.clear_output(wait); this.set_input_prompt(); }; diff --git a/IPython/html/static/widgets/js/widget_output.js b/IPython/html/static/widgets/js/widget_output.js index 15a158a..a9f26f6 100644 --- a/IPython/html/static/widgets/js/widget_output.js +++ b/IPython/html/static/widgets/js/widget_output.js @@ -5,7 +5,8 @@ define([ "widgets/js/widget", "jquery", 'notebook/js/outputarea', -], function(widget, $, outputarea){ +], function(widget, $, outputarea) { + 'use strict'; var OutputView = widget.DOMWidgetView.extend({ initialize: function (parameters) {