mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
2.2 KiB
40 lines
2.2 KiB
<% fields_index = Templates.build_field_areas_index(@submitter.submission.template_fields || @submitter.submission.template.fields) %>
|
|
<% values = @submitter.submission.submitters.where.not(id: @submitter.id).reduce({}) { |acc, sub| acc.merge(sub.values) } %>
|
|
<% attachments_index = ActiveStorage::Attachment.where(record: @submitter.submission.submitters, name: :attachments).preload(:blob).index_by(&:uuid) %>
|
|
<div style="max-height: -webkit-fill-available;">
|
|
<div id="scrollbox">
|
|
<div class="mx-auto block pb-72" style="max-width: 1000px">
|
|
<div class="mt-4 flex">
|
|
<%= render 'banner' %>
|
|
</div>
|
|
<% (@submitter.submission.template_schema || @submitter.submission.template.schema).each do |item| %>
|
|
<% document = @submitter.submission.template_schema_documents.find { |a| a.uuid == item['attachment_uuid'] } %>
|
|
<% document_annots_index = document.metadata.dig('pdf', 'annotations')&.group_by { |e| e['page'] } || {} %>
|
|
<% document.preview_images.sort_by { |a| a.filename.base.to_i }.each_with_index do |page, index| %>
|
|
<div class="relative my-4 shadow-md">
|
|
<img src="<%= page.url %>" width="<%= page.metadata['width'] %>" height="<%= page.metadata['height'] %>" loading="lazy">
|
|
<div id="page-<%= [document.uuid, index].join('-') %>" class="top-0 bottom-0 left-0 right-0 absolute">
|
|
<% document_annots_index[index]&.each do |annot| %>
|
|
<%= render 'submissions/annotation', annot: %>
|
|
<% end %>
|
|
<% fields_index.dig(document.uuid, index)&.each do |(area, field)| %>
|
|
<% value = values[field['uuid']] %>
|
|
<% next if value.blank? %>
|
|
<%= render 'submissions/value', area:, field:, attachments_index:, value:, locale: @submitter.submission.template.account.locale %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|
|
<%= render 'shared/attribution' %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="fixed bottom-0 w-full h-0 z-20">
|
|
<div class="mx-auto" style="max-width: 1000px">
|
|
<div class="relative md:mx-32">
|
|
<%= render 'submission_form', attachments_index:, submitter: @submitter %>
|
|
</div>
|
|
</div>
|
|
</div>
|