diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-13 11:55:30 +0200 |
---|---|---|
committer | Tim Zallmann <tzallmann@gitlab.com> | 2018-09-07 12:25:50 +0200 |
commit | 6f46b274e66908860833521a7b1e440e9acc4aaa (patch) | |
tree | bac2fac8f6804818ab01d404f93994c093be2bb6 | |
parent | 95c8e747db56d527d94301fbbd2ebe98d180f696 (diff) | |
download | gitlab-ce-6f46b274e66908860833521a7b1e440e9acc4aaa.tar.gz |
Updated discussion loading to be deferred and in the state
-rw-r--r-- | app/assets/javascripts/diffs/components/app.vue | 8 | ||||
-rw-r--r-- | app/assets/javascripts/diffs/store/mutations.js | 16 |
2 files changed, 15 insertions, 9 deletions
diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index b801dd56392..da7125c604b 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -112,7 +112,6 @@ export default { }, created() { this.adjustView(); - eventHub.$once('renderedFiles', this.assignDiscussionsToDiff); }, methods: { ...mapActions('diffs', [ @@ -130,7 +129,12 @@ export default { this.startRenderDiffsQueue() .then(() => { console.log('Done rendering Que'); - this.assignDiscussionsToDiff(this.discussionsStructuredByLineCode); + requestIdleCallback( + () => { + this.assignDiscussionsToDiff(this.discussionsStructuredByLineCode); + }, + { timeout: 1000 }, + ); }) .catch(() => { createFlash(__('Something went wrong on our end. Please try again!')); diff --git a/app/assets/javascripts/diffs/store/mutations.js b/app/assets/javascripts/diffs/store/mutations.js index 283b5c1a0d6..f8f856d603b 100644 --- a/app/assets/javascripts/diffs/store/mutations.js +++ b/app/assets/javascripts/diffs/store/mutations.js @@ -24,13 +24,18 @@ export default { let i; for (i = 0; i < filesLength; i += 1) { const file = diffData.diffFiles[i]; + if (file.parallelDiffLines) { const linesLength = file.parallelDiffLines.length; let u = 0; for (u = 0; u < linesLength; u += 1) { const line = file.parallelDiffLines[u]; - if (line.left) delete line.left.text; - if (line.right) delete line.right.text; + if (line.left) { + line.left = trimFirstCharOfLineContent(line.left); + } + if (line.right) { + line.right = trimFirstCharOfLineContent(line.right); + } } } @@ -38,14 +43,11 @@ export default { const linesLength = file.highlightedDiffLines.length; let u; for (u = 0; u < linesLength; u += 1) { - const line = file.highlightedDiffLines[u]; - delete line.text; + trimFirstCharOfLineContent(file.highlightedDiffLines[u]); } - } - - if (file.highlightedDiffLines) { showingLines += file.parallelDiffLines.length; } + Object.assign(file, { renderIt: showingLines < LINES_TO_BE_RENDERED_DIRECTLY, collapsed: file.text && showingLines > MAX_LINES_TO_BE_RENDERED, |