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>
 |