From 61afdb74321795b4c812823a5a6d1c46c8441353 Mon Sep 17 00:00:00 2001 From: Min RK Date: Tue, 1 Nov 2016 22:34:01 +0100 Subject: [PATCH 1/2] don't set default editable/deletable metadata it fills notebooks with redundant flags these should only be set if defined and not-default --- notebook/static/notebook/js/cell.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/notebook/static/notebook/js/cell.js b/notebook/static/notebook/js/cell.js index 308641086b..2b8ab238d2 100644 --- a/notebook/static/notebook/js/cell.js +++ b/notebook/static/notebook/js/cell.js @@ -501,14 +501,6 @@ define([ if (data.metadata !== undefined) { this.metadata = data.metadata; } - // upgrade cell's editable metadata if not defined - if (this.metadata.editable === undefined) { - this.metadata.editable = this.is_editable(); - } - // upgrade cell's deletable metadata if not defined - if (this.metadata.deletable === undefined) { - this.metadata.deletable = this.is_deletable(); - } }; From b0582099843f35688082637dfcee79713fdecbf5 Mon Sep 17 00:00:00 2001 From: Min RK Date: Tue, 1 Nov 2016 22:39:10 +0100 Subject: [PATCH 2/2] strip default metadata in Cell.toJSON avoids saving redundant default info in files --- notebook/static/notebook/js/cell.js | 9 +++++++++ notebook/static/notebook/js/codecell.js | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/notebook/static/notebook/js/cell.js b/notebook/static/notebook/js/cell.js index 2b8ab238d2..46810b4886 100644 --- a/notebook/static/notebook/js/cell.js +++ b/notebook/static/notebook/js/cell.js @@ -489,6 +489,15 @@ define([ var data = {}; // deepcopy the metadata so copied cells don't share the same object data.metadata = JSON.parse(JSON.stringify(this.metadata)); + if (data.metadata.deletable) { + delete data.metadata.deletable; + } + if (data.metadata.editable) { + delete data.metadata.editable; + } + if (data.metadata.collapsed === false) { + delete data.metadata.collapsed; + } data.cell_type = this.cell_type; return data; }; diff --git a/notebook/static/notebook/js/codecell.js b/notebook/static/notebook/js/codecell.js index 435caa4717..1cb10b85c7 100644 --- a/notebook/static/notebook/js/codecell.js +++ b/notebook/static/notebook/js/codecell.js @@ -535,7 +535,11 @@ define([ var outputs = this.output_area.toJSON(); data.outputs = outputs; data.metadata.trusted = this.output_area.trusted; - data.metadata.collapsed = this.output_area.collapsed; + if (this.output_area.collapsed) { + data.metadata.collapsed = this.output_area.collapsed; + } else { + delete data.metadata.collapsed; + } if (this.output_area.scroll_state === 'auto') { delete data.metadata.scrolled; } else {