<% fields_index = Flows.build_field_areas_index(@submission.flow) %> <% attachment_field_uuids = @submission.flow.fields.select { |f| f['type'].in?(%w[image signature attachment]) }.pluck('uuid') %> <% attachments = ActiveStorage::Attachment.where(uuid: @submission.values.values_at(*attachment_field_uuids).flatten).preload(:blob) %> <% @submission.flow.schema.each do |item| %> <% document = @submission.flow.documents.find { |a| a.uuid == item['attachment_uuid'] } %> <% document.preview_images.sort_by { |a| a.filename.base.to_i }.each_with_index do |page, index| %>
<% fields_index.dig(document.uuid, index)&.each do |values| %> <%= render 'area', submission: @submission, attachments:, page:, **values %> <% end %>
<% end %> <% end %>
<% visible_step_index = nil %> <% @submission.flow.fields.each_with_index do |field, index| %> <% visible_step_index ||= index if @submission.values[field['uuid']].blank? %> <% if index != 0 %> <% end %>
<% if index == @submission.flow.fields.size - 1 %>
<% end %> <% if field['type'].in?(['text', 'date']) %> id="<%= field['uuid'] %>" data-targets="flow-view.fields" data-action="input:flow-view#passValueToArea focus:flow-view#focusArea" value="<%= @submission.values[field['uuid']] %>" type="<%= field['type'] %>" name="values[<%= field['uuid'] %>]">
<% elsif field['type'] == 'select' %>
<% elsif field['type'] == 'image' || field['type'] == 'attachment' %>
<% uuid = SecureRandom.uuid %>
<% elsif field['type'] == 'signature' %> <% attachment = attachments.find { |a| a.uuid == @submission.values[field['uuid']] } %> <% if attachment %> <% end %>
<% elsif field['type'] == 'radio' %> <% field['options'].each do |option| %>
id="<%= field['uuid'] + option %>" type="radio" name="values[<%= field['uuid'] %>]" value="<%= option %>">
<% end %>
<% elsif field['type'] == 'checkbox' %> <% field['options'].each do |option| %>
id="<%= field['uuid'] + option %>" type="checkbox" name="values[<%= field['uuid'] %>]" value="<%= option %>">
<% end %>
<% end %>
<% end %>