From 1530b1e6b9362fe99410d6bbc3fae280f9918251 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Thu, 3 Aug 2017 19:52:18 +0100 Subject: [PATCH] Add plain property to active file if not set already --- app/assets/javascripts/repo/components/repo_editor.vue | 2 +- app/assets/javascripts/repo/helpers/repo_helper.js | 4 ++++ app/assets/javascripts/repo/stores/repo_store.js | 9 ++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/repo/components/repo_editor.vue b/app/assets/javascripts/repo/components/repo_editor.vue index e765868ebcd..1551d139bae 100644 --- a/app/assets/javascripts/repo/components/repo_editor.vue +++ b/app/assets/javascripts/repo/components/repo_editor.vue @@ -11,7 +11,7 @@ const RepoEditor = { Service.getRaw(this.activeFile.raw_path) .then((rawResponse) => { Store.blobRaw = rawResponse.data; - this.openedFiles[0].plain = rawResponse.data; + Helper.findOpenedFileFromActive().plain = rawResponse.data; const monacoInstance = this.monaco.editor.create(this.$el, { model: null, diff --git a/app/assets/javascripts/repo/helpers/repo_helper.js b/app/assets/javascripts/repo/helpers/repo_helper.js index 839167b09bc..04461c987e3 100644 --- a/app/assets/javascripts/repo/helpers/repo_helper.js +++ b/app/assets/javascripts/repo/helpers/repo_helper.js @@ -289,6 +289,10 @@ const RepoHelper = { } }, + findOpenedFileFromActive() { + return Store.openedFiles.find(openedFile => Store.activeFile.url === openedFile.url); + }, + loadingError() { Flash('Unable to load the file at this time.'); }, diff --git a/app/assets/javascripts/repo/stores/repo_store.js b/app/assets/javascripts/repo/stores/repo_store.js index 512bda4adb1..6e02d5cfa01 100644 --- a/app/assets/javascripts/repo/stores/repo_store.js +++ b/app/assets/javascripts/repo/stores/repo_store.js @@ -1,5 +1,6 @@ /* global Flash */ import RepoHelper from '../helpers/repo_helper'; +import RepoService from '../services/repo_service'; const RepoStore = { ideEl: {}, @@ -95,8 +96,14 @@ const RepoStore = { if (file.binary) { RepoStore.blobRaw = file.base64; RepoStore.binaryMimeType = file.mime_type; - } else { + } else if (file.newContent || file.plain) { RepoStore.blobRaw = file.newContent || file.plain; + } else { + RepoService.getRaw(file.raw_path) + .then((rawResponse) => { + RepoStore.blobRaw = rawResponse.data; + RepoHelper.findOpenedFileFromActive().plain = rawResponse.data; + }).catch(RepoHelper.loadingError); } if (!file.loading) RepoHelper.toURL(file.url, file.name);