Cleaned up nutrients index table
This commit is contained in:
parent
ba634eb516
commit
356e264c51
@ -216,5 +216,15 @@ class FoodsController < ApplicationController
|
||||
def prepare_nutrients
|
||||
@quantities = @project.nutrient_quantities.includes(:formula)
|
||||
@foods, @filter_q = @project.foods.filter(session[:f_filters], @quantities)
|
||||
|
||||
@food_summary = Hash.new { |h,k| h[k] = Hash.new(BigDecimal(0)) }
|
||||
@quantities.each do |q|
|
||||
@food_summary[:mfu_unit][q] = @foods
|
||||
.each_with_object(Hash.new(0)) { |(i, qv), h| h[qv[q].last] += 1 if qv[q] }
|
||||
.max_by(&:last).try(&:first)
|
||||
|
||||
max_value = @foods.map { |i, qv| qv[q].try(&:first) || BigDecimal(0) }.max
|
||||
@food_summary[:precision][q] = [4 - max_value.exponent, 0].max
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -9,12 +9,13 @@
|
||||
<%= error_messages_for *formulas %>
|
||||
|
||||
<table class="nutrients list odd-even">
|
||||
<% total_width = 4 + @quantities.length %>
|
||||
<thead>
|
||||
<tr>
|
||||
<% total_width = 4 + @quantities.length %>
|
||||
<th style="width:<%= 3 * 100/total_width %>%"><%= l(:field_name) %></th>
|
||||
<th rowspan="2" style="width:<%= 3 * 100/total_width %>%"><%= l(:field_name) %></th>
|
||||
<% @quantities.each do |q| %>
|
||||
<th style="width:<%= 100/total_width %>%" class="closable ellipsible">
|
||||
<th class="closable ellipsible"
|
||||
style="width:<%= 100/total_width %>%; border-bottom:none;">
|
||||
<div style="float:right;position:relative;">
|
||||
<%= link_to '',
|
||||
toggle_exposure_project_foods_path(@project, quantity_id: q.id),
|
||||
@ -23,8 +24,11 @@
|
||||
<%= q.name %>
|
||||
</th>
|
||||
<% end %>
|
||||
<th style="width:<%= 100/total_width %>%"><%= l(:field_action) %></th>
|
||||
<th rowspan="2" style="width:<%= 100/total_width %>%"><%= l(:field_action) %></th>
|
||||
</tr>
|
||||
<% @quantities.each do |q| %>
|
||||
<th><%= "[#{@food_summary[:mfu_unit][q].try(&:shortname) || '-'}]" %></th>
|
||||
<% end %>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@ -37,7 +41,10 @@
|
||||
<span class="icon icon-bullet-closed"><%= food.name %></span>
|
||||
</td>
|
||||
<% @quantities.each do |q| %>
|
||||
<td class="primary value ellipsible"><%= format_value(nutrients[q]) %></td>
|
||||
<td class="primary value ellipsible">
|
||||
<%= format_value(nutrients[q], @food_summary[:precision][q],
|
||||
@food_summary[:mfu_unit][q]) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<td class="action unwrappable"><%= action_links(food, :nutrients) %></td>
|
||||
</tr>
|
||||
|
@ -39,8 +39,9 @@
|
||||
<tr class="header">
|
||||
<td class="quantityhead"><%= "[#{@amount_mfu_unit.shortname}]" %></td>
|
||||
<% @quantities.each do |q| %>
|
||||
<% mfu_unit = @ingredient_summary[:mfu_unit][q] %>
|
||||
<td class="quantityhead"><%= "[#{mfu_unit ? mfu_unit.shortname : '-'}]" %></td>
|
||||
<td class="quantityhead">
|
||||
<%= "[#{@ingredient_summary[:mfu_unit][q].try(&:shortname) || '-'}]" %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
|
||||
|
Reference in New Issue
Block a user