1
0

Move quantity header generation to helper

This commit is contained in:
cryptogopher
2021-05-08 15:29:24 +02:00
parent 7b2b855d56
commit 847975b36d
3 changed files with 49 additions and 63 deletions

View File

@@ -9,23 +9,9 @@
<%= error_messages_for *formulas %>
<table id="readouts" class="list odd-even">
<thead>
<tr>
<% total_width = 3 + @quantities.length %>
<th style="width:<%= 2 * 100/total_width%>%"><%= l(:field_taken_at_date) %></th>
<% @quantities.each do |q| %>
<th style="width:<%= 100/total_width %>%" class="closable ellipsible">
<div style="float:right;position:relative;">
<%= link_to '',
measurement_routine_toggle_exposure_path(@routine, quantity_id: q.id),
{class: "icon icon-close", method: :post, remote: true} %>
</div>
<%= q.name %>
</th>
<% end %>
<th style="width:<%= 100/total_width %>%"><%= l(:field_action) %></th>
</tr>
</thead>
<%= quantities_table_header @quantities, :field_taken_at_date do |quantity_id|
measurement_routine_toggle_exposure_path(@routine, quantity_id: quantity_id)
end %>
<tbody>
<% extra_quantities = @measurements.values.first.keys - @quantities %>

View File

@@ -5,50 +5,9 @@
<%= error_messages_for *formulas %>
<table id="targets" class="list odd-even">
<thead>
<% total_width = 2 + @quantities.length %>
<% header = quantities_table_header(@quantities) %>
<% header.each_with_index do |row, i| %>
<tr class="header">
<% if i == 0 %>
<th rowspan="<%= header.length %>" style="width:<%= 100/total_width %>%">
<%= l(:field_effective_from) %>
</th>
<% end %>
<% row.each do |q, span| %>
<% row_classes = [] %>
<% row_classes << 'interim' if (i < header.length-1) && (span >= 0) %>
<% row_classes << (span == 0 ? 'empty' : 'closable ellipsible') %>
<th <%= raw "class=\"#{row_classes.join(' ')}\"" unless row_classes.empty? %>
<%= "colspan=#{span}" if span > 0 %>
<%= "rowspan=#{-span}" if span < 0 %>
style="width: <%= [span, 1].max * 100/total_width %>%;"
title="<%= q.description %>">
<% unless span == 0 %>
<div style="float:right;position:relative;">
<% button_classes = 'icon' %>
<% if (i == header.length-1) || header[i+1].has_key?(q) || (span < -1) %>
<% button_classes += ' icon-close' %>
<% else %>
<% button_classes += ' icon-bullet-closed' %>
<% end %>
<%= link_to '', goal_toggle_exposure_path(@goal, quantity_id: q.id),
{class: button_classes, method: :post, remote: true} %>
</div>
<%= q.name %>
<% end %>
</th>
<% end %>
<% if i == 0 %>
<th rowspan="<%= header.length %>" style="width:<%= 100/total_width %>%;">
<%= l(:field_action) %>
</th>
<% end %>
</tr>
<% end %>
</thead>
<%= quantities_table_header @quantities, :field_effective_from do |quantity_id|
goal_toggle_exposure_path(@goal, quantity_id: quantity_id)
end %>
<tbody>
<% @targets_by_date.each do |date, targets| %>