From 82bb685848a7d649ebae1d45948fb8123453de02 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 14 Nov 2020 17:12:09 +0100 Subject: [PATCH] Add destroy method to StorageManager --- src/editor/model/Editor.js | 4 +++- src/storage_manager/index.js | 11 ++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 79a8f0fe2..d8c5b2671 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -767,7 +767,8 @@ export default Backbone.Model.extend({ I18n, Modal, Parser, - SelectorManager + SelectorManager, + StorageManager } = this.attributes; this.stopDefault(); DomComponents.destroy(); @@ -787,6 +788,7 @@ export default Backbone.Model.extend({ Modal.destroy(); Parser.destroy(); SelectorManager.destroy(); + StorageManager.destroy(); this.view.remove(); this.stopListening(); this.clear({ silent: true }); diff --git a/src/storage_manager/index.js b/src/storage_manager/index.js index 43b7a8e18..30cacb79d 100644 --- a/src/storage_manager/index.js +++ b/src/storage_manager/index.js @@ -36,14 +36,15 @@ import defaults from './config/config'; import LocalStorage from './model/LocalStorage'; import RemoteStorage from './model/RemoteStorage'; +const eventStart = 'storage:start'; +const eventEnd = 'storage:end'; +const eventError = 'storage:error'; + export default () => { var c = {}; let em; var storages = {}; var defaultStorages = {}; - const eventStart = 'storage:start'; - const eventEnd = 'storage:end'; - const eventError = 'storage:error'; return { /** @@ -331,6 +332,10 @@ export default () => { canAutoload() { const storage = this.getCurrentStorage(); return storage && this.getConfig().autoload; + }, + + destroy() { + [c, em, storages, defaultStorages].forEach(i => (i = {})); } }; };