summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2019-07-29 17:18:53 +0000
committerGitLab Release Tools Bot <delivery-team+release-tools@gitlab.com>2019-07-30 15:26:18 +0000
commit2c49010bebc6acad1db2496e5b7f0d39764f8d62 (patch)
tree41d0aa3acbb7956d931809c580f20358f5cba706
parentf541f5396630187c5ffee96eab6500832e0ebf33 (diff)
downloadgitlab-ce-12-1-stable-patch-3.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.vue16
-rw-r--r--app/assets/javascripts/pdf/page/index.vue4
-rw-r--r--changelogs/unreleased/sh-fix-pdfjs-page-ordering.yml5
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