diff options
author | Eric Eastwood <contact@ericeastwood.com> | 2017-08-10 14:01:32 -0500 |
---|---|---|
committer | Eric Eastwood <contact@ericeastwood.com> | 2017-08-14 11:09:20 -0500 |
commit | ecb7c534f60f89a57468148f543a6895692b6081 (patch) | |
tree | e689314aaff87892d982e62b043b842a4a499af9 | |
parent | f1e1113bf4d107c0ecf3f989f6110b00a83cef2d (diff) | |
download | gitlab-ce-ecb7c534f60f89a57468148f543a6895692b6081.tar.gz |
Use promise syntax with Helper.getContent
Fix
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12198#note_37143217
-rw-r--r-- | app/assets/javascripts/repo/components/repo_sidebar.vue | 17 | ||||
-rw-r--r-- | app/assets/javascripts/repo/helpers/repo_helper.js | 3 | ||||
-rw-r--r-- | spec/javascripts/repo/components/repo_sidebar_spec.js | 5 |
3 files changed, 13 insertions, 12 deletions
diff --git a/app/assets/javascripts/repo/components/repo_sidebar.vue b/app/assets/javascripts/repo/components/repo_sidebar.vue index ccc84c4ed7c..0d4f8c6635e 100644 --- a/app/assets/javascripts/repo/components/repo_sidebar.vue +++ b/app/assets/javascripts/repo/components/repo_sidebar.vue @@ -42,19 +42,20 @@ const RepoSidebar = { file.loading = false; } else { Service.url = file.url; - // I need to refactor this to do the `then` here. - // Not a callback. For now this is good enough. - // it works. - Helper.getContent(file, () => { - file.loading = false; - Helper.scrollTabsRight(); - }); + Helper.getContent(file) + .then(() => { + file.loading = false; + Helper.scrollTabsRight(); + }) + .catch(Helper.loadingError); } }, goToPreviousDirectoryClicked(prevURL) { Service.url = prevURL; - Helper.getContent(null, () => Helper.scrollTabsRight()); + Helper.getContent(null) + .then(() => 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 b12ea92c17a..308ede5fba0 100644 --- a/app/assets/javascripts/repo/helpers/repo_helper.js +++ b/app/assets/javascripts/repo/helpers/repo_helper.js @@ -135,14 +135,13 @@ const RepoHelper = { return isRoot; }, - getContent(treeOrFile, cb) { + getContent(treeOrFile) { let file = treeOrFile; // const loadingData = RepoHelper.setLoading(true); return Service.getContent() .then((response) => { const data = response.data; // RepoHelper.setLoading(false, loadingData); - if (cb) cb(); Store.isTree = RepoHelper.isTree(data); if (!Store.isTree) { if (!file) file = data; diff --git a/spec/javascripts/repo/components/repo_sidebar_spec.js b/spec/javascripts/repo/components/repo_sidebar_spec.js index e8bc8a62240..edd27d3afb8 100644 --- a/spec/javascripts/repo/components/repo_sidebar_spec.js +++ b/spec/javascripts/repo/components/repo_sidebar_spec.js @@ -64,9 +64,10 @@ describe('RepoSidebar', () => { describe('methods', () => { describe('fileClicked', () => { it('should fetch data for new file', () => { - spyOn(Helper, 'getContent'); + spyOn(Helper, 'getContent').and.callThrough(); const file1 = { id: 0, + url: '', }; RepoStore.files = [file1]; RepoStore.isRoot = true; @@ -74,7 +75,7 @@ describe('RepoSidebar', () => { vm.fileClicked(file1); - expect(Helper.getContent).toHaveBeenCalledWith(file1, jasmine.any(Function)); + expect(Helper.getContent).toHaveBeenCalledWith(file1); }); it('should hide files in directory if already open', () => { |