From 1bafad515f4f9d63a7ff152b0f17979375d37a9c Mon Sep 17 00:00:00 2001 From: Paul Slaughter Date: Tue, 4 Jun 2019 17:31:22 -0500 Subject: IDE trigger files change event - On CMD+S when editor is focused - On editor blur - When file is created in tree - When file is removed in tree - When file is renamed in tree --- app/assets/javascripts/ide/components/repo_editor.vue | 2 ++ app/assets/javascripts/ide/lib/keymap.json | 8 ++++++++ app/assets/javascripts/ide/stores/actions.js | 5 +++++ app/assets/javascripts/ide/stores/actions/file.js | 5 +++++ 4 files changed, 20 insertions(+) (limited to 'app/assets') diff --git a/app/assets/javascripts/ide/components/repo_editor.vue b/app/assets/javascripts/ide/components/repo_editor.vue index e15b2a6f76b..b0c4969c5e4 100644 --- a/app/assets/javascripts/ide/components/repo_editor.vue +++ b/app/assets/javascripts/ide/components/repo_editor.vue @@ -125,6 +125,7 @@ export default { 'setFileEOL', 'updateViewer', 'removePendingTab', + 'triggerFilesChange', ]), initEditor() { if (this.shouldHideEditor) return; @@ -256,6 +257,7 @@ export default { 'is-added': file.tempFile, }" class="multi-file-editor-holder" + @focusout="triggerFilesChange" > { if (entry.parentPath && state.entries[entry.parentPath].tree.length === 0) { dispatch('deleteEntry', entry.parentPath); } + + dispatch('triggerFilesChange'); }; export const resetOpenFiles = ({ commit }) => commit(types.RESET_OPEN_FILES); @@ -240,6 +243,8 @@ export const renameEntry = ( if (!entryPath && !entry.tempFile) { dispatch('deleteEntry', path); } + + dispatch('triggerFilesChange'); }; export const getBranchData = ({ commit, state }, { projectId, branchId, force = false } = {}) => diff --git a/app/assets/javascripts/ide/stores/actions/file.js b/app/assets/javascripts/ide/stores/actions/file.js index e7e8ac6d80b..dc40a1fa6a2 100644 --- a/app/assets/javascripts/ide/stores/actions/file.js +++ b/app/assets/javascripts/ide/stores/actions/file.js @@ -265,3 +265,8 @@ export const removePendingTab = ({ commit }, file) => { eventHub.$emit(`editor.update.model.dispose.${file.key}`); }; + +export const triggerFilesChange = () => { + // Used in EE for file mirroring + eventHub.$emit('ide.files.change'); +}; -- cgit v1.2.1