From d8453396bd40f88cfa83a457f6ce7f22aef7fc3c Mon Sep 17 00:00:00 2001 From: "hyukmin0530.kwon" Date: Fri, 24 Jul 2015 18:27:41 +0900 Subject: [PATCH] [TASK] #162 Editor resizing related refactoring - (bug fix) [DESC.] No resizing bug for closing split editors is fixed. --- .../CodeEditorViewer.js | 6 +++++- .../TextEditorViewer.js | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/apps/ide/src/plugins/webida.editor.code-editor/CodeEditorViewer.js b/apps/ide/src/plugins/webida.editor.code-editor/CodeEditorViewer.js index 7f1ec78f..cd51b79f 100644 --- a/apps/ide/src/plugins/webida.editor.code-editor/CodeEditorViewer.js +++ b/apps/ide/src/plugins/webida.editor.code-editor/CodeEditorViewer.js @@ -954,9 +954,13 @@ define([ delete this.deferredActions; } - topic.subscribe('editor-panel-resize-finished', function () { + this.resizeTopicHandler = topic.subscribe('editor-panel-resize-finished', function () { self.__checkSizeChange(); }); + + this.closeTopicHandler = topic.subscribe('editors.closed', function (path) { + self.refresh(); + }); this.editor.on('mousedown', function (cm, e) { if (settings.gotoLinkEnabled) { diff --git a/apps/ide/src/plugins/webida.editor.text-editor/TextEditorViewer.js b/apps/ide/src/plugins/webida.editor.text-editor/TextEditorViewer.js index 768382a9..353b08ad 100644 --- a/apps/ide/src/plugins/webida.editor.text-editor/TextEditorViewer.js +++ b/apps/ide/src/plugins/webida.editor.text-editor/TextEditorViewer.js @@ -302,9 +302,13 @@ define([ delete this.deferredActions; } - topic.subscribe('editor-panel-resize-finished', function () { + this.resizeTopicHandler = topic.subscribe('editor-panel-resize-finished', function () { self.__checkSizeChange(); }); + + this.closeTopicHandler = topic.subscribe('editors.closed', function (path) { + self.refresh(); + }); // conditionally indent on paste self.editor.on('change', function(cm, e) { @@ -338,7 +342,15 @@ define([ }, destroy: function() { - $(this.elem).html(''); + //unsubscribing topics + + this.resizeTopicHandler.remove(); + this.resizeTopicHandler = null; + + this.closeTopicHandler.remove(); + this.closeTopicHandler = null; + + $(this.elem).html(''); }, addChangeListener: function(listener) {