Commit 4049cf75 authored by Phil Hughes's avatar Phil Hughes

emit event instead of directly importing editor instance

parent 20dfb127
import Vue from 'vue';
export default new Vue();
/* global monaco */
import Disposable from './disposable';
import eventHub from '../../eventhub';
export default class Model {
constructor(monaco, file) {
......@@ -22,6 +23,9 @@ export default class Model {
);
this.events = new Map();
this.updateContent = this.updateContent.bind(this);
eventHub.$on(`editor.update.model.content.${this.file.path}`, this.updateContent);
}
get url() {
......@@ -61,8 +65,15 @@ export default class Model {
);
}
updateContent(content) {
this.getModel().setValue(content);
this.getOriginalModel().setValue(content);
}
dispose() {
this.disposable.dispose();
this.events.clear();
eventHub.$off(`editor.update.model.content.${this.file.path}`, this.updateContent);
}
}
......@@ -6,7 +6,7 @@ import router from '../../../ide_router';
import service from '../../../services';
import flash from '../../../../flash';
import { stripHtml } from '../../../../lib/utils/text_utility';
import editor from '../../../lib/editor';
import eventHub from '../../../eventhub';
export const updateCommitMessage = ({ commit }, message) => {
commit(types.UPDATE_COMMIT_MESSAGE, message);
......@@ -71,11 +71,7 @@ export const updateFilesAfterCommit = (
reference: data.id,
}, { root: true });
const cachedEditorModels = editor.editorInstance.modelManager.models;
rootState.changedFiles.forEach((entry) => {
const editorModel = cachedEditorModels.get(entry.path);
commit(rootTypes.SET_LAST_COMMIT_DATA, {
entry,
lastCommit,
......@@ -86,8 +82,7 @@ export const updateFilesAfterCommit = (
raw: entry.content,
}, { root: true });
editorModel.originalModel.setValue(entry.raw);
editorModel.model.setValue(entry.raw);
eventHub.$emit(`editor.update.model.content.${entry.path}`, entry.raw);
});
commit(rootTypes.REMOVE_ALL_CHANGES_FILES, null, { root: true });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment