diff options
Diffstat (limited to 'app/assets/javascripts/ide/lib/common/model_manager.js')
-rw-r--r-- | app/assets/javascripts/ide/lib/common/model_manager.js | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/app/assets/javascripts/ide/lib/common/model_manager.js b/app/assets/javascripts/ide/lib/common/model_manager.js index 57d5e59a88b..bd9b8fc3fcc 100644 --- a/app/assets/javascripts/ide/lib/common/model_manager.js +++ b/app/assets/javascripts/ide/lib/common/model_manager.js @@ -3,31 +3,30 @@ import Disposable from './disposable'; import Model from './model'; export default class ModelManager { - constructor(monaco) { - this.monaco = monaco; + constructor() { this.disposable = new Disposable(); this.models = new Map(); } - hasCachedModel(path) { - return this.models.has(path); + hasCachedModel(key) { + return this.models.has(key); } - getModel(path) { - return this.models.get(path); + getModel(key) { + return this.models.get(key); } - addModel(file) { - if (this.hasCachedModel(file.path)) { - return this.getModel(file.path); + addModel(file, head = null) { + if (this.hasCachedModel(file.key)) { + return this.getModel(file.key); } - const model = new Model(this.monaco, file); + const model = new Model(file, head); this.models.set(model.path, model); this.disposable.add(model); eventHub.$on( - `editor.update.model.dispose.${file.path}`, + `editor.update.model.dispose.${file.key}`, this.removeCachedModel.bind(this, file), ); @@ -35,12 +34,9 @@ export default class ModelManager { } removeCachedModel(file) { - this.models.delete(file.path); + this.models.delete(file.key); - eventHub.$off( - `editor.update.model.dispose.${file.path}`, - this.removeCachedModel, - ); + eventHub.$off(`editor.update.model.dispose.${file.key}`, this.removeCachedModel); } dispose() { |