diff options
author | Jacob Schatz <jschatz@gitlab.com> | 2017-09-28 19:52:36 +0000 |
---|---|---|
committer | Jacob Schatz <jschatz@gitlab.com> | 2017-09-28 19:52:36 +0000 |
commit | 3d899a7d2ecc6a815a4c6d0885ff3d24dba74f3c (patch) | |
tree | 5ad5af4c05f62face914ea6b1b8d34af9e61cc74 /app/assets/javascripts/repo | |
parent | 313fbd5f74c202c3a6f003a39f5ffcf583045d07 (diff) | |
parent | c25e83b536a268455599252bf20c34d8564b0419 (diff) | |
download | gitlab-ce-3d899a7d2ecc6a815a4c6d0885ff3d24dba74f3c.tar.gz |
Merge branch 'acet-repo-editor-prevent-extra-request' into 'master'
RepoEditor: Prevent extra network call for already opened files.
Closes #38256
See merge request gitlab-org/gitlab-ce!14489
Diffstat (limited to 'app/assets/javascripts/repo')
-rw-r--r-- | app/assets/javascripts/repo/components/repo_sidebar.vue | 21 | ||||
-rw-r--r-- | app/assets/javascripts/repo/helpers/repo_helper.js | 4 |
2 files changed, 18 insertions, 7 deletions
diff --git a/app/assets/javascripts/repo/components/repo_sidebar.vue b/app/assets/javascripts/repo/components/repo_sidebar.vue index 3414128526d..dc1bda95a01 100644 --- a/app/assets/javascripts/repo/components/repo_sidebar.vue +++ b/app/assets/javascripts/repo/components/repo_sidebar.vue @@ -37,17 +37,24 @@ export default { let file = clickedFile; if (file.loading) return; file.loading = true; + if (file.type === 'tree' && file.opened) { file = Store.removeChildFilesOfTree(file); file.loading = false; } else { - Service.url = file.url; - Helper.getContent(file) - .then(() => { - file.loading = false; - Helper.scrollTabsRight(); - }) - .catch(Helper.loadingError); + const openFile = Helper.getFileFromPath(file.url); + if (openFile) { + file.loading = false; + Store.setActiveFiles(openFile); + } else { + Service.url = file.url; + Helper.getContent(file) + .then(() => { + file.loading = false; + Helper.scrollTabsRight(); + }) + .catch(Helper.loadingError); + } } }, diff --git a/app/assets/javascripts/repo/helpers/repo_helper.js b/app/assets/javascripts/repo/helpers/repo_helper.js index 655e4e7605b..2c960a147c2 100644 --- a/app/assets/javascripts/repo/helpers/repo_helper.js +++ b/app/assets/javascripts/repo/helpers/repo_helper.js @@ -263,6 +263,10 @@ const RepoHelper = { return Store.openedFiles.find(openedFile => Store.activeFile.url === openedFile.url); }, + getFileFromPath(path) { + return Store.openedFiles.find(file => file.url === path); + }, + loadingError() { Flash('Unable to load this content at this time.'); }, |