diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-13 11:55:30 +0200 |
---|---|---|
committer | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-21 18:04:10 +0200 |
commit | 2421558fec378de6c8864004430e1578fcc7279f (patch) | |
tree | a0fcc702ab54f5438b950dce93405182264fd9d1 | |
parent | ebdd8b363cc70021a2eb6779afd94d7e387920a9 (diff) | |
download | gitlab-ce-tz-mr-new-datastructure.tar.gz |
Updated discussion loading to be deferred and in the statetz-mr-new-datastructure
-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 e35fa74a6be..14557b4e0f9 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, |