diff --git a/app/controllers/templates_detect_fields_controller.rb b/app/controllers/templates_detect_fields_controller.rb index 8355dcb2..337e8008 100644 --- a/app/controllers/templates_detect_fields_controller.rb +++ b/app/controllers/templates_detect_fields_controller.rb @@ -11,11 +11,14 @@ class TemplatesDetectFieldsController < ApplicationController sse = SSE.new(response.stream) documents = @template.schema_documents.preload(:blob) + documents = documents.where(uuid: params[:attachment_uuid]) if params[:attachment_uuid].present? + + page_number = params[:page].present? ? params[:page].to_i : nil documents.each do |document| io = StringIO.new(document.download) - Templates::DetectFields.call(io, attachment: document) do |(attachment_uuid, page, fields)| + Templates::DetectFields.call(io, attachment: document, page_number:) do |(attachment_uuid, page, fields)| sse.write({ attachment_uuid:, page:, fields: }) end end diff --git a/app/javascript/template_builder/builder.vue b/app/javascript/template_builder/builder.vue index 34340fda..bb43cdfb 100644 --- a/app/javascript/template_builder/builder.vue +++ b/app/javascript/template_builder/builder.vue @@ -373,6 +373,7 @@ :draw-field-type="drawFieldType" :editable="editable" :base-url="baseUrl" + :with-fields-detection="withFieldsDetection" @draw="[onDraw($event), withSelectedFieldType ? '' : drawFieldType = '', showDrawField = false]" @drop-field="onDropfield" @remove-area="removeArea" @@ -381,6 +382,7 @@ @copy-selected-areas="copySelectedAreas" @delete-selected-areas="deleteSelectedAreas" @align-selected-areas="alignSelectedAreas" + @autodetect-fields="detectFieldsForPage" /> + +
+ +
+