From 5171dd9837279ad218eedee298cc26cadd0bbd4d Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 14 Nov 2020 17:06:51 +0100 Subject: [PATCH] Add destroy method to SelectorManager module --- src/editor/model/Editor.js | 4 +++- src/selector_manager/index.js | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 3385b0e17..79a8f0fe2 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -766,7 +766,8 @@ export default Backbone.Model.extend({ DeviceManager, I18n, Modal, - Parser + Parser, + SelectorManager } = this.attributes; this.stopDefault(); DomComponents.destroy(); @@ -785,6 +786,7 @@ export default Backbone.Model.extend({ I18n.destroy(); Modal.destroy(); Parser.destroy(); + SelectorManager.destroy(); this.view.remove(); this.stopListening(); this.clear({ silent: true }); diff --git a/src/selector_manager/index.js b/src/selector_manager/index.js index d01aa858f..e25b524eb 100644 --- a/src/selector_manager/index.js +++ b/src/selector_manager/index.js @@ -312,6 +312,15 @@ export default config => { }); return this.selectorTags.render().el; } else return this.selectorTags.render().el; + }, + + destroy() { + selectors.reset(); + selectors.stopListening(); + this.selectorTags.remove(); + [c, selectors].forEach(i => (i = {})); + this.em = {}; + this.selectorTags = {}; } }; };