From 07e66a6e533408d72a2aebef03b5d2ef0a64045b Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sat, 11 Nov 2023 21:16:29 +0200 Subject: [PATCH] adjust images preview loading in builder --- .../preview_document_page_controller.rb | 2 +- app/javascript/template_builder/builder.vue | 1 + app/javascript/template_builder/document.vue | 14 +++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/controllers/preview_document_page_controller.rb b/app/controllers/preview_document_page_controller.rb index 8c51507e..79258a5f 100644 --- a/app/controllers/preview_document_page_controller.rb +++ b/app/controllers/preview_document_page_controller.rb @@ -23,7 +23,7 @@ class PreviewDocumentPageController < ActionController::API io = Templates::ProcessDocument.generate_pdf_preview_from_file(attachment, file_path, params[:id].to_i) - render plain: io.tap(&:rewind).read + render plain: io.tap(&:rewind).read, content_type: 'image/jpeg' end def find_or_create_document_tempfile_path(attachment) diff --git a/app/javascript/template_builder/builder.vue b/app/javascript/template_builder/builder.vue index dc3b6553..98e321bf 100644 --- a/app/javascript/template_builder/builder.vue +++ b/app/javascript/template_builder/builder.vue @@ -126,6 +126,7 @@ :is-drag="!!dragFieldType" :draw-field="drawField" :editable="editable" + :base-url="baseUrl" @draw="onDraw" @drop-field="onDropfield" @remove-area="removeArea" diff --git a/app/javascript/template_builder/document.vue b/app/javascript/template_builder/document.vue index 74b784ab..a13d75d8 100644 --- a/app/javascript/template_builder/document.vue +++ b/app/javascript/template_builder/document.vue @@ -49,6 +49,11 @@ export default { required: false, default: null }, + baseUrl: { + type: String, + required: false, + default: '' + }, isDrag: { type: Boolean, required: false, @@ -62,6 +67,13 @@ export default { } }, computed: { + basePreviewUrl () { + if (this.baseUrl) { + return new URL(this.baseUrl).origin + } else { + return '' + } + }, numberOfPages () { return this.document.metadata?.pdf?.number_of_pages || this.document.preview_images.length }, @@ -72,7 +84,7 @@ export default { return this.previewImagesIndex[i] || { metadata: lazyloadMetadata, id: Math.random().toString(), - url: `/preview/${this.document.uuid}/${i}.jpg` + url: this.basePreviewUrl + `/preview/${this.document.uuid}/${i}.jpg` } }) },