mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-10 16:00:33 -07:00
Refactor construct_graph_row_presenter to return negative values for x-offset and extract percentage method
This commit is contained in:
parent
1782ef3482
commit
810a702333
3 changed files with 25 additions and 18 deletions
|
|
@ -25,19 +25,7 @@ class ConstructGraphRowPresenter
|
|||
end
|
||||
|
||||
def bar_width
|
||||
percentage = (@score - zone.low_benchmark) / (zone.high_benchmark - zone.low_benchmark)
|
||||
case zone.type
|
||||
when :ideal
|
||||
(percentage * ideal_zone_params.width + approval_zone_params.width).round
|
||||
when :approval
|
||||
(percentage * approval_zone_params.width).round
|
||||
when :growth
|
||||
(percentage * growth_zone_params.width).round
|
||||
when :watch
|
||||
(percentage * watch_zone_params.width + growth_zone_params.width).round
|
||||
else
|
||||
(percentage * warning_zone_params.width + watch_zone_params.width + growth_zone_params.width).round
|
||||
end
|
||||
unrounded_bar_width.round
|
||||
end
|
||||
|
||||
def x_offset
|
||||
|
|
@ -45,12 +33,31 @@ class ConstructGraphRowPresenter
|
|||
when :ideal, :approval
|
||||
0
|
||||
else
|
||||
bar_width
|
||||
-1 * bar_width
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def unrounded_bar_width
|
||||
case zone.type
|
||||
when :ideal
|
||||
percentage * ideal_zone_params.width + approval_zone_params.width
|
||||
when :approval
|
||||
percentage * approval_zone_params.width
|
||||
when :growth
|
||||
percentage * growth_zone_params.width
|
||||
when :watch
|
||||
percentage * watch_zone_params.width + growth_zone_params.width
|
||||
else
|
||||
percentage * warning_zone_params.width + watch_zone_params.width + growth_zone_params.width
|
||||
end
|
||||
end
|
||||
|
||||
def percentage
|
||||
(@score - zone.low_benchmark) / (zone.high_benchmark - zone.low_benchmark)
|
||||
end
|
||||
|
||||
def zone
|
||||
@construct.zone_for_score(@score)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
<svg id="construct-row-bars" x="25%" y=<%= heading_gutter %>>
|
||||
<%= @construct_graph_row_presenters.each_with_index do |presenter, index| %>
|
||||
<rect class="construct-row-bar" x=<%= graph_center - presenter.x_offset %> y=<%= index * construct_row_height + (construct_row_height - construct_row_bar_height) / 2 %> width="<%= presenter.bar_width %>" height=<%= construct_row_bar_height %> fill=<%= presenter.bar_color %> />
|
||||
<rect class="construct-row-bar" x=<%= graph_center + presenter.x_offset %> y=<%= index * construct_row_height + (construct_row_height - construct_row_bar_height) / 2 %> width="<%= presenter.bar_width %>" height=<%= construct_row_bar_height %> fill=<%= presenter.bar_color %> />
|
||||
<% end %>
|
||||
</svg>
|
||||
</g>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue