diff --git a/IPython/html/static/notebook/js/cell.js b/IPython/html/static/notebook/js/cell.js index 3a25a51fb..6ba15e42c 100644 --- a/IPython/html/static/notebook/js/cell.js +++ b/IPython/html/static/notebook/js/cell.js @@ -392,6 +392,16 @@ define([ */ Cell.prototype.set_text = function (text) { }; + + /** + * Set the metadata of the cell and triggers the celltoolbars to update. + * @method set_metadata + * @param {dictionary} metadata + */ + Cell.prototype.set_metadata = function (metadata) { + this.metadata = metadata; + this.celltoolbar.rebuild(); + }; /** * should be overritten by subclass @@ -406,14 +416,13 @@ define([ return data; }; - /** * should be overritten by subclass * @method fromJSON **/ Cell.prototype.fromJSON = function (data) { if (data.metadata !== undefined) { - this.metadata = data.metadata; + this.set_metadata(data.metadata); } this.celltoolbar.rebuild(); }; diff --git a/IPython/html/static/notebook/js/notebook.js b/IPython/html/static/notebook/js/notebook.js index 9312a44fd..2cef98b72 100644 --- a/IPython/html/static/notebook/js/notebook.js +++ b/IPython/html/static/notebook/js/notebook.js @@ -995,7 +995,7 @@ define([ text = ''; } //metadata - target_cell.metadata = source_cell.metadata; + target_cell.set_metadata(source_cell.metadata); target_cell.set_text(text); // make this value the starting point, so that we can only undo @@ -1029,7 +1029,7 @@ define([ text = ''; } // metadata - target_cell.metadata = source_cell.metadata + target_cell.set_metadata(source_cell.metadata); // We must show the editor before setting its contents target_cell.unrender(); target_cell.set_text(text); @@ -1067,7 +1067,7 @@ define([ text = ''; } //metadata - target_cell.metadata = source_cell.metadata; + target_cell.set_metadata(source_cell.metadata); // We must show the editor before setting its contents target_cell.unrender(); target_cell.set_text(text);