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 */ /* global monaco */
import Disposable from './disposable'; import Disposable from './disposable';
import eventHub from '../../eventhub';
export default class Model { export default class Model {
constructor(monaco, file) { constructor(monaco, file) {
...@@ -22,6 +23,9 @@ export default class Model { ...@@ -22,6 +23,9 @@ export default class Model {
); );
this.events = new Map(); this.events = new Map();
this.updateContent = this.updateContent.bind(this);
eventHub.$on(`editor.update.model.content.${this.file.path}`, this.updateContent);
} }
get url() { get url() {
...@@ -61,8 +65,15 @@ export default class Model { ...@@ -61,8 +65,15 @@ export default class Model {
); );
} }
updateContent(content) {
this.getModel().setValue(content);
this.getOriginalModel().setValue(content);
}
dispose() { dispose() {
this.disposable.dispose(); this.disposable.dispose();
this.events.clear(); this.events.clear();
eventHub.$off(`editor.update.model.content.${this.file.path}`, this.updateContent);
} }
} }
...@@ -6,7 +6,7 @@ import router from '../../../ide_router'; ...@@ -6,7 +6,7 @@ import router from '../../../ide_router';
import service from '../../../services'; import service from '../../../services';
import flash from '../../../../flash'; import flash from '../../../../flash';
import { stripHtml } from '../../../../lib/utils/text_utility'; import { stripHtml } from '../../../../lib/utils/text_utility';
import editor from '../../../lib/editor'; import eventHub from '../../../eventhub';
export const updateCommitMessage = ({ commit }, message) => { export const updateCommitMessage = ({ commit }, message) => {
commit(types.UPDATE_COMMIT_MESSAGE, message); commit(types.UPDATE_COMMIT_MESSAGE, message);
...@@ -71,11 +71,7 @@ export const updateFilesAfterCommit = ( ...@@ -71,11 +71,7 @@ export const updateFilesAfterCommit = (
reference: data.id, reference: data.id,
}, { root: true }); }, { root: true });
const cachedEditorModels = editor.editorInstance.modelManager.models;
rootState.changedFiles.forEach((entry) => { rootState.changedFiles.forEach((entry) => {
const editorModel = cachedEditorModels.get(entry.path);
commit(rootTypes.SET_LAST_COMMIT_DATA, { commit(rootTypes.SET_LAST_COMMIT_DATA, {
entry, entry,
lastCommit, lastCommit,
...@@ -86,8 +82,7 @@ export const updateFilesAfterCommit = ( ...@@ -86,8 +82,7 @@ export const updateFilesAfterCommit = (
raw: entry.content, raw: entry.content,
}, { root: true }); }, { root: true });
editorModel.originalModel.setValue(entry.raw); eventHub.$emit(`editor.update.model.content.${entry.path}`, entry.raw);
editorModel.model.setValue(entry.raw);
}); });
commit(rootTypes.REMOVE_ALL_CHANGES_FILES, null, { root: true }); 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