summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorTim Zallmann <tzallmann@gitlab.com>2018-08-07 17:26:15 +0200
committerTim Zallmann <tzallmann@gitlab.com>2018-08-08 10:46:17 +0200
commit64d0f1e20e9a8f673d30d706fec5c03c9723a3fe (patch)
treea3988c60792e7f817521a9d468e87f320086b86b /app
parentde636f165130eb68d9c8e9810ba6489ae9b86a4b (diff)
downloadgitlab-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.vue9
-rw-r--r--app/assets/javascripts/diffs/store/actions.js4
-rw-r--r--app/assets/javascripts/diffs/store/mutations.js16
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, {