diff options
author | Mike Greiling <mike@pixelcog.com> | 2019-07-29 17:18:53 +0000 |
---|---|---|
committer | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2019-07-30 15:26:18 +0000 |
commit | 2c49010bebc6acad1db2496e5b7f0d39764f8d62 (patch) | |
tree | 41d0aa3acbb7956d931809c580f20358f5cba706 | |
parent | f541f5396630187c5ffee96eab6500832e0ebf33 (diff) | |
download | gitlab-ce-2c49010bebc6acad1db2496e5b7f0d39764f8d62.tar.gz |
Merge branch 'sh-fix-pdfjs-page-ordering' into 'master'12-1-stable-patch-3
Fix pdf.js rendering pages in the wrong order
Closes #64467
See merge request gitlab-org/gitlab-ce!31222
(cherry picked from commit f039d592aa6203502be487801777167e433ad9d2)
6d3b203d Fix pdf.js rendering pages in the wrong order
5246626d Simplify pdf.js logic
-rw-r--r-- | app/assets/javascripts/pdf/index.vue | 16 | ||||
-rw-r--r-- | app/assets/javascripts/pdf/page/index.vue | 4 | ||||
-rw-r--r-- | changelogs/unreleased/sh-fix-pdfjs-page-ordering.yml | 5 |
3 files changed, 16 insertions, 9 deletions
diff --git a/app/assets/javascripts/pdf/index.vue b/app/assets/javascripts/pdf/index.vue index 6d39abd4a1f..2b468aa5744 100644 --- a/app/assets/javascripts/pdf/index.vue +++ b/app/assets/javascripts/pdf/index.vue @@ -14,7 +14,6 @@ export default { }, data() { return { - loading: false, pages: [], }; }, @@ -37,17 +36,18 @@ export default { return pdfjsLib .getDocument(this.document) .then(this.renderPages) - .then(() => this.$emit('pdflabload')) - .catch(error => this.$emit('pdflaberror', error)) - .then(() => { - this.loading = false; + .then(pages => { + this.pages = pages; + this.$emit('pdflabload'); + }) + .catch(error => { + this.$emit('pdflaberror', error); }); }, renderPages(pdf) { const pagePromises = []; - this.loading = true; for (let num = 1; num <= pdf.numPages; num += 1) { - pagePromises.push(pdf.getPage(num).then(p => this.pages.push(p))); + pagePromises.push(pdf.getPage(num)); } return Promise.all(pagePromises); }, @@ -59,8 +59,8 @@ export default { <div v-if="hasPDF" class="pdf-viewer"> <page v-for="(page, index) in pages" + v-if="page" :key="index" - :v-if="!loading" :page="page" :number="index + 1" /> diff --git a/app/assets/javascripts/pdf/page/index.vue b/app/assets/javascripts/pdf/page/index.vue index f16aaca6cd7..d933fdf220a 100644 --- a/app/assets/javascripts/pdf/page/index.vue +++ b/app/assets/javascripts/pdf/page/index.vue @@ -39,7 +39,9 @@ export default { .then(() => { this.rendering = false; }) - .catch(error => this.$emit('pdflaberror', error)); + .catch(error => { + this.$emit('pdflaberror', error); + }); }, }; </script> diff --git a/changelogs/unreleased/sh-fix-pdfjs-page-ordering.yml b/changelogs/unreleased/sh-fix-pdfjs-page-ordering.yml new file mode 100644 index 00000000000..84161c51905 --- /dev/null +++ b/changelogs/unreleased/sh-fix-pdfjs-page-ordering.yml @@ -0,0 +1,5 @@ +--- +title: Fix pdf.js rendering pages in the wrong order +merge_request: 31222 +author: +type: fixed |