Merge branch 'fix-diffs-not-rendering' into 'master'
Fix diff files not rendering See merge request gitlab-org/gitlab-ce!25358
This commit is contained in:
commit
fe10964a68
4 changed files with 15 additions and 8 deletions
|
@ -35,7 +35,6 @@ export default {
|
||||||
isLoadingCollapsedDiff: false,
|
isLoadingCollapsedDiff: false,
|
||||||
forkMessageVisible: false,
|
forkMessageVisible: false,
|
||||||
isCollapsed: this.file.viewer.collapsed || false,
|
isCollapsed: this.file.viewer.collapsed || false,
|
||||||
renderIt: this.file.renderIt,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -53,7 +52,7 @@ export default {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
showLoadingIcon() {
|
showLoadingIcon() {
|
||||||
return this.isLoadingCollapsedDiff || (!this.renderIt && !this.isCollapsed);
|
return this.isLoadingCollapsedDiff || (!this.file.renderIt && !this.isCollapsed);
|
||||||
},
|
},
|
||||||
hasDiffLines() {
|
hasDiffLines() {
|
||||||
return (
|
return (
|
||||||
|
@ -80,13 +79,13 @@ export default {
|
||||||
eventHub.$on(`loadCollapsedDiff/${this.file.file_hash}`, this.handleLoadCollapsedDiff);
|
eventHub.$on(`loadCollapsedDiff/${this.file.file_hash}`, this.handleLoadCollapsedDiff);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions('diffs', ['loadCollapsedDiff', 'assignDiscussionsToDiff']),
|
...mapActions('diffs', ['loadCollapsedDiff', 'assignDiscussionsToDiff', 'setRenderIt']),
|
||||||
handleToggle() {
|
handleToggle() {
|
||||||
if (!this.hasDiffLines) {
|
if (!this.hasDiffLines) {
|
||||||
this.handleLoadCollapsedDiff();
|
this.handleLoadCollapsedDiff();
|
||||||
} else {
|
} else {
|
||||||
this.isCollapsed = !this.isCollapsed;
|
this.isCollapsed = !this.isCollapsed;
|
||||||
this.renderIt = true;
|
this.setRenderIt(this.file);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleLoadCollapsedDiff() {
|
handleLoadCollapsedDiff() {
|
||||||
|
@ -96,7 +95,7 @@ export default {
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.isLoadingCollapsedDiff = false;
|
this.isLoadingCollapsedDiff = false;
|
||||||
this.isCollapsed = false;
|
this.isCollapsed = false;
|
||||||
this.renderIt = true;
|
this.setRenderIt(this.file);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
requestIdleCallback(
|
requestIdleCallback(
|
||||||
|
|
|
@ -131,6 +131,8 @@ export const startRenderDiffsQueue = ({ state, commit }) => {
|
||||||
return checkItem();
|
return checkItem();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const setRenderIt = ({ commit }, file) => commit(types.RENDER_FILE, file);
|
||||||
|
|
||||||
export const setInlineDiffViewType = ({ commit }) => {
|
export const setInlineDiffViewType = ({ commit }) => {
|
||||||
commit(types.SET_DIFF_VIEW_TYPE, INLINE_DIFF_VIEW_TYPE);
|
commit(types.SET_DIFF_VIEW_TYPE, INLINE_DIFF_VIEW_TYPE);
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,7 @@ describe('DiffFile', () => {
|
||||||
expect(el.querySelector('.file-title-name').innerText.indexOf(file_path)).toBeGreaterThan(-1);
|
expect(el.querySelector('.file-title-name').innerText.indexOf(file_path)).toBeGreaterThan(-1);
|
||||||
expect(el.querySelector('.js-syntax-highlight')).toBeDefined();
|
expect(el.querySelector('.js-syntax-highlight')).toBeDefined();
|
||||||
|
|
||||||
expect(vm.renderIt).toEqual(false);
|
vm.file.renderIt = true;
|
||||||
vm.renderIt = true;
|
|
||||||
|
|
||||||
vm.$nextTick(() => {
|
vm.$nextTick(() => {
|
||||||
expect(el.querySelectorAll('.line_content').length).toBeGreaterThan(5);
|
expect(el.querySelectorAll('.line_content').length).toBeGreaterThan(5);
|
||||||
|
@ -41,7 +40,7 @@ describe('DiffFile', () => {
|
||||||
expect(vm.$el.querySelectorAll('.diff-content').length).toEqual(1);
|
expect(vm.$el.querySelectorAll('.diff-content').length).toEqual(1);
|
||||||
expect(vm.isCollapsed).toEqual(false);
|
expect(vm.isCollapsed).toEqual(false);
|
||||||
vm.isCollapsed = true;
|
vm.isCollapsed = true;
|
||||||
vm.renderIt = true;
|
vm.file.renderIt = true;
|
||||||
|
|
||||||
vm.$nextTick(() => {
|
vm.$nextTick(() => {
|
||||||
expect(vm.$el.querySelectorAll('.diff-content').length).toEqual(0);
|
expect(vm.$el.querySelectorAll('.diff-content').length).toEqual(0);
|
||||||
|
|
|
@ -29,6 +29,7 @@ import actions, {
|
||||||
renderFileForDiscussionId,
|
renderFileForDiscussionId,
|
||||||
setRenderTreeList,
|
setRenderTreeList,
|
||||||
setShowWhitespace,
|
setShowWhitespace,
|
||||||
|
setRenderIt,
|
||||||
} from '~/diffs/store/actions';
|
} from '~/diffs/store/actions';
|
||||||
import eventHub from '~/notes/event_hub';
|
import eventHub from '~/notes/event_hub';
|
||||||
import * as types from '~/diffs/store/mutation_types';
|
import * as types from '~/diffs/store/mutation_types';
|
||||||
|
@ -855,4 +856,10 @@ describe('DiffsStoreActions', () => {
|
||||||
expect(window.history.pushState).toHaveBeenCalled();
|
expect(window.history.pushState).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('setRenderIt', () => {
|
||||||
|
it('commits RENDER_FILE', done => {
|
||||||
|
testAction(setRenderIt, 'file', {}, [{ type: types.RENDER_FILE, payload: 'file' }], [], done);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue