Reinstate changes from MR 23234
This reinstates the changes added in MR https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23234. I was testing a script that was supposed to operate on a fork of CE (yorickpeterse/gitlab-ce), but it was operating on gitlab-org/gitlab-ce by accident.
This commit is contained in:
parent
d5a24021a4
commit
43240b9d5c
4 changed files with 40 additions and 6 deletions
|
@ -56,7 +56,10 @@ export const setFileActive = ({ commit, state, getters, dispatch }, path) => {
|
|||
dispatch('scrollToTab');
|
||||
};
|
||||
|
||||
export const getFileData = ({ state, commit, dispatch }, { path, makeFileActive = true }) => {
|
||||
export const getFileData = (
|
||||
{ state, commit, dispatch },
|
||||
{ path, makeFileActive = true, openFile = makeFileActive },
|
||||
) => {
|
||||
const file = state.entries[path];
|
||||
|
||||
if (file.raw || (file.tempFile && !file.prevPath)) return Promise.resolve();
|
||||
|
@ -71,8 +74,8 @@ export const getFileData = ({ state, commit, dispatch }, { path, makeFileActive
|
|||
const normalizedHeaders = normalizeHeaders(headers);
|
||||
setPageTitle(decodeURI(normalizedHeaders['PAGE-TITLE']));
|
||||
|
||||
commit(types.SET_FILE_DATA, { data, file });
|
||||
if (makeFileActive) commit(types.TOGGLE_FILE_OPEN, path);
|
||||
if (data) commit(types.SET_FILE_DATA, { data, file });
|
||||
if (openFile) commit(types.TOGGLE_FILE_OPEN, path);
|
||||
if (makeFileActive) dispatch('setFileActive', path);
|
||||
commit(types.TOGGLE_LOADING, { entry: file });
|
||||
})
|
||||
|
|
|
@ -161,6 +161,7 @@ export const openMergeRequest = (
|
|||
dispatch('getFileData', {
|
||||
path: change.new_path,
|
||||
makeFileActive: ind === 0,
|
||||
openFile: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
5
changelogs/unreleased/ide-open-all-mr-files.yml
Normal file
5
changelogs/unreleased/ide-open-all-mr-files.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Open first 10 merge request files in IDE
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -262,16 +262,28 @@ describe('IDE store merge request actions', () => {
|
|||
bar: {},
|
||||
};
|
||||
|
||||
spyOn(store, 'dispatch').and.callFake(type => {
|
||||
const originalDispatch = store.dispatch;
|
||||
|
||||
spyOn(store, 'dispatch').and.callFake((type, payload) => {
|
||||
switch (type) {
|
||||
case 'getMergeRequestData':
|
||||
return Promise.resolve(testMergeRequest);
|
||||
case 'getMergeRequestChanges':
|
||||
return Promise.resolve(testMergeRequestChanges);
|
||||
default:
|
||||
case 'getFiles':
|
||||
case 'getMergeRequestVersions':
|
||||
case 'getBranchData':
|
||||
case 'setFileMrChange':
|
||||
return Promise.resolve();
|
||||
default:
|
||||
return originalDispatch(type, payload);
|
||||
}
|
||||
});
|
||||
spyOn(service, 'getFileData').and.callFake(() =>
|
||||
Promise.resolve({
|
||||
headers: {},
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it('dispatch actions for merge request data', done => {
|
||||
|
@ -303,7 +315,17 @@ describe('IDE store merge request actions', () => {
|
|||
});
|
||||
|
||||
it('updates activity bar view and gets file data, if changes are found', done => {
|
||||
testMergeRequestChanges.changes = [{ new_path: 'foo' }, { new_path: 'bar' }];
|
||||
store.state.entries.foo = {
|
||||
url: 'test',
|
||||
};
|
||||
store.state.entries.bar = {
|
||||
url: 'test',
|
||||
};
|
||||
|
||||
testMergeRequestChanges.changes = [
|
||||
{ new_path: 'foo', path: 'foo' },
|
||||
{ new_path: 'bar', path: 'bar' },
|
||||
];
|
||||
|
||||
openMergeRequest(store, mr)
|
||||
.then(() => {
|
||||
|
@ -321,8 +343,11 @@ describe('IDE store merge request actions', () => {
|
|||
expect(store.dispatch).toHaveBeenCalledWith('getFileData', {
|
||||
path: change.new_path,
|
||||
makeFileActive: i === 0,
|
||||
openFile: true,
|
||||
});
|
||||
});
|
||||
|
||||
expect(store.state.openFiles.length).toBe(testMergeRequestChanges.changes.length);
|
||||
})
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
|
|
Loading…
Reference in a new issue