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.
45 lines
2.4 KiB
45 lines
2.4 KiB
<% align = field.dig('preferences', 'align') %>
|
|
<field-value dir="auto" class="flex absolute text-[1.5vw] lg:text-base <%= align == 'right' ? 'justify-end' : (align == 'center' ? 'justify-center' : '') %>" style="width: <%= area['w'] * 100 %>%; height: <%= area['h'] * 100 %>%; left: <%= area['x'] * 100 %>%; top: <%= area['y'] * 100 %>%">
|
|
<% if field['type'].in?(['signature', 'image', 'initials', 'stamp']) %>
|
|
<img class="object-contain mx-auto" src="<%= attachments_index[value].url %>" loading="lazy">
|
|
<% elsif field['type'].in?(['file', 'payment']) %>
|
|
<autosize-field></autosize-field>
|
|
<div class="px-0.5 flex flex-col justify-center">
|
|
<% Array.wrap(value).each do |val| %>
|
|
<a target="_blank" href="<%= attachments_index[val].url %>">
|
|
<%= svg_icon('paperclip', class: 'inline w-[1.5vw] h-[1.5vw] lg:w-4 lg:h-4') %>
|
|
<%= attachments_index[val].filename %>
|
|
</a>
|
|
<% end %>
|
|
</div>
|
|
<% elsif field['type'] == 'checkbox' %>
|
|
<div class="w-full flex items-center justify-center">
|
|
<%= svg_icon('check', class: "aspect-square #{area['w'] > area['h'] ? '!w-auto !h-full' : '!w-full !h-auto'}") %>
|
|
</div>
|
|
<% elsif field['type'].in?(%w[multiple radio]) && area['option_uuid'] %>
|
|
<% option = field['options']&.find { |o| o['uuid'] == area['option_uuid'] } %>
|
|
<% if option && Array.wrap(value).include?(option['value']) %>
|
|
<div class="w-full flex items-center justify-center">
|
|
<%= svg_icon('check', class: "aspect-square #{area['w'] > area['h'] ? '!w-auto !h-full' : '!w-full !h-auto'}") %>
|
|
</div>
|
|
<% end %>
|
|
<% elsif field['type'] == 'cells' && area['cell_w'] %>
|
|
<% cell_width = area['cell_w'] / area['w'] * 100 %>
|
|
<div class="w-full flex items-center">
|
|
<% (0..(area['w'] / area['cell_w']).ceil).each do |index| %>
|
|
<% if value[index] %>
|
|
<div class="text-center flex-none" style="width: <%= cell_width %>%;"><%= value[index] %></div>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
<% elsif field['type'] == 'date' && value != '{{date}}' %>
|
|
<autosize-field></autosize-field>
|
|
<div class="flex items-center px-0.5">
|
|
<%= TimeUtils.format_date_string(value, field.dig('preferences', 'format'), local_assigns[:locale]) %>
|
|
</div>
|
|
<% else %>
|
|
<autosize-field></autosize-field>
|
|
<div class="flex items-center px-0.5 whitespace-pre-wrap"><%= Array.wrap(value).join(', ') %></div>
|
|
<% end %>
|
|
</field-value>
|