diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-07 17:26:15 +0200 |
---|---|---|
committer | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-08 10:46:17 +0200 |
commit | 64d0f1e20e9a8f673d30d706fec5c03c9723a3fe (patch) | |
tree | a3988c60792e7f817521a9d468e87f320086b86b /app | |
parent | de636f165130eb68d9c8e9810ba6489ae9b86a4b (diff) | |
download | gitlab-ce-64d0f1e20e9a8f673d30d706fec5c03c9723a3fe.tar.gz |
Fixed text removal memory saving + Fixed collapsed non text files
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/diffs/components/diff_file.vue | 9 | ||||
-rw-r--r-- | app/assets/javascripts/diffs/store/actions.js | 4 | ||||
-rw-r--r-- | app/assets/javascripts/diffs/store/mutations.js | 16 |
3 files changed, 19 insertions, 10 deletions
diff --git a/app/assets/javascripts/diffs/components/diff_file.vue b/app/assets/javascripts/diffs/components/diff_file.vue index eca9fc70490..e887a71c551 100644 --- a/app/assets/javascripts/diffs/components/diff_file.vue +++ b/app/assets/javascripts/diffs/components/diff_file.vue @@ -52,10 +52,16 @@ export default { handleToggle() { const { collapsed, highlightedDiffLines, parallelDiffLines } = this.file; - if (collapsed && !highlightedDiffLines && !parallelDiffLines.length) { + if ( + collapsed && + !highlightedDiffLines && + parallelDiffLines !== undefined && + !parallelDiffLines.length + ) { this.handleLoadCollapsedDiff(); } else { this.file.collapsed = !this.file.collapsed; + this.file.renderIt = true; } }, handleLoadCollapsedDiff() { @@ -65,6 +71,7 @@ export default { .then(() => { this.isLoadingCollapsedDiff = false; this.file.collapsed = false; + this.file.renderIt = true; }) .catch(() => { this.isLoadingCollapsedDiff = false; diff --git a/app/assets/javascripts/diffs/store/actions.js b/app/assets/javascripts/diffs/store/actions.js index cf42166e243..4ab6ceb249a 100644 --- a/app/assets/javascripts/diffs/store/actions.js +++ b/app/assets/javascripts/diffs/store/actions.js @@ -31,7 +31,9 @@ export const fetchDiffFiles = ({ state, commit }) => { export const startRenderDiffsQueue = ({ state, commit }) => { const checkItem = () => { - const nextFile = state.diffFiles.find(file => !file.renderIt && !file.collapsed); + const nextFile = state.diffFiles.find( + file => !file.renderIt && (!file.collapsed || !file.text), + ); if (nextFile) { requestAnimationFrame(() => { commit(types.RENDER_FILE, nextFile); diff --git a/app/assets/javascripts/diffs/store/mutations.js b/app/assets/javascripts/diffs/store/mutations.js index d8e32a09b16..e5c143696e8 100644 --- a/app/assets/javascripts/diffs/store/mutations.js +++ b/app/assets/javascripts/diffs/store/mutations.js @@ -21,26 +21,26 @@ export default { if (file.parallelDiffLines) { file.parallelDiffLines.forEach(line => { // eslint-disable-next-line no-param-reassign - delete line.text; + if (line.left) delete line.left.text; + // eslint-disable-next-line no-param-reassign + if (line.right) delete line.right.text; }); } if (file.highlightedDiffLines) { file.highlightedDiffLines.forEach(line => { // eslint-disable-next-line no-param-reassign - if (line.left) delete line.left.text; - // eslint-disable-next-line no-param-reassign - if (line.right) delete line.right.text; + delete line.text; }); } if (file.highlightedDiffLines) { showingLines += file.parallelDiffLines.length; - Object.assign(file, { - renderIt: showingLines < 200, - collapsed: showingLines > 2000, - }); } + Object.assign(file, { + renderIt: showingLines < 200, + collapsed: file.text && showingLines > 2000, + }); }); Object.assign(state, { |