diff --git a/app/helpers/variance_helper.rb b/app/helpers/variance_helper.rb new file mode 100644 index 00000000..7620f99a --- /dev/null +++ b/app/helpers/variance_helper.rb @@ -0,0 +1,45 @@ +module VarianceHelper + def heading_gutter + 30 + end + + def footer_gutter + 50 + end + + def measure_row_height + 40 + end + + def graph_height(number_of_rows) + number_of_rows * measure_row_height + heading_gutter + footer_gutter + end + + def graph_background_height(number_of_rows:) + graph_height(number_of_rows) - footer_gutter + end + + def measure_row_bar_height + 20 + end + + def label_padding_right + 24 + end + + def label_width_percentage + 25 + end + + def graph_width_percentage + 100 - label_width_percentage + end + + def zones + %w(warning watch growth approval ideal) + end + + def zone_width_percentage + 100.0/zones.size + end +end diff --git a/app/views/dashboard/_measure_bar_graph.erb b/app/views/dashboard/_measure_bar_graph.erb deleted file mode 100644 index 4a32e367..00000000 --- a/app/views/dashboard/_measure_bar_graph.erb +++ /dev/null @@ -1,72 +0,0 @@ -
- - <% heading_gutter = 30 %> - <% footer_gutter = 50 %> - <% measure_row_height = 40 %> - <% graph_height = measure_graph_row_presenters.length * measure_row_height + heading_gutter + footer_gutter %> - <% graph_background_height = graph_height - footer_gutter %> - <% measure_row_bar_height = 20 %> - <% label_padding_right = 24 %> - - xmlns="http://www.w3.org/2000/svg"> - - - - - - - - - - - - - - - - - > - - text-anchor="middle" dominant-baseline="middle">Warning - text-anchor="middle" dominant-baseline="middle">Watch - text-anchor="middle" dominant-baseline="middle">Growth - text-anchor="middle" dominant-baseline="middle">Approval - text-anchor="middle" dominant-baseline="middle">Ideal - - - - - - - - - - - - - > - <%= measure_graph_row_presenters.each_with_index do |presenter, index| %> - y=<%= index * measure_row_height + measure_row_height / 2 %> text-anchor="end" dominant-baseline="middle"><%= presenter.measure_name %> - <% end %> - - - width="75%"> - <%= measure_graph_row_presenters.each_with_index do |presenter, index| %> - data-for-measure-id="<%= presenter.measure_id %>" /> - <% end %> - - - - - - - - - - - - Benchmark - - - -
diff --git a/app/views/dashboard/_variance_graph.erb b/app/views/dashboard/_variance_graph.erb new file mode 100644 index 00000000..a4a137b0 --- /dev/null +++ b/app/views/dashboard/_variance_graph.erb @@ -0,0 +1,128 @@ +
+ + xmlns="http://www.w3.org/2000/svg"> + + + + + + + + + + + + + + + + + + > + + <%= zones.each_with_index do |zone, index| %> + + <%= zone.capitalize %> + + <% end %> + + + + <%= zones.each_with_index do |zone, index| %> + + <% end %> + + + + + > + <%= presenters.each_with_index do |presenter, index| %> + + <%= presenter.measure_name %> + + <% end %> + + + + <%= presenters.each_with_index do |presenter, index| %> + data-for-measure-id="<%= presenter.measure_id %>" + stroke="none" + /> + <% end %> + + + + + + + + + + + + Benchmark + + + +
diff --git a/app/views/dashboard/index.html.erb b/app/views/dashboard/index.html.erb index 271ac55a..a739e0ea 100644 --- a/app/views/dashboard/index.html.erb +++ b/app/views/dashboard/index.html.erb @@ -30,6 +30,6 @@

This graph shows how much a score is above or below the benchmark of any given scale.

- <%= render partial: "measure_bar_graph", locals: { measure_graph_row_presenters: @measure_graph_row_presenters } %> + <%= render partial: "variance_graph", locals: { presenters: @measure_graph_row_presenters } %>