From 5effb6cd2e644377478d5f3415196227c53c9e9d Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Wed, 11 Nov 2020 14:14:13 +0100 Subject: [PATCH] Add destroy method to AssetManager --- src/asset_manager/index.js | 9 +++++++++ src/editor/model/Editor.js | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/asset_manager/index.js b/src/asset_manager/index.js index 2ba2e8e46..5fbc1d005 100644 --- a/src/asset_manager/index.js +++ b/src/asset_manager/index.js @@ -347,6 +347,15 @@ export default () => { */ onDblClick(func) { c.onDblClick = func; + }, + + destroy() { + assets.reset(); + fu.collection.reset(); + fu.remove(); + am.remove(); + [assets, am, fu].forEach(i => (i = null)); + c = {}; } }; }; diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index f49a642bd..3a1785d09 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -758,7 +758,8 @@ export default Backbone.Model.extend({ Canvas, Keymaps, RichTextEditor, - LayerManager + LayerManager, + AssetManager } = this.attributes; this.stopDefault(); DomComponents.clear(); @@ -769,6 +770,7 @@ export default Backbone.Model.extend({ Keymaps.removeAll(); RichTextEditor.destroy(); LayerManager.destroy(); + AssetManager.destroy(); this.view.remove(); this.stopListening(); this.clear({ silent: true });