summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Eastwood <contact@ericeastwood.com>2017-08-10 14:01:32 -0500
committerEric Eastwood <contact@ericeastwood.com>2017-08-14 11:09:20 -0500
commitecb7c534f60f89a57468148f543a6895692b6081 (patch)
treee689314aaff87892d982e62b043b842a4a499af9
parentf1e1113bf4d107c0ecf3f989f6110b00a83cef2d (diff)
downloadgitlab-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.vue17
-rw-r--r--app/assets/javascripts/repo/helpers/repo_helper.js3
-rw-r--r--spec/javascripts/repo/components/repo_sidebar_spec.js5
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', () => {