From 00aef830ba0dc71d3ca8ef7f01b362fd1e6ab113 Mon Sep 17 00:00:00 2001 From: Daniel Miranda Date: Fri, 12 Jun 2015 13:40:14 -0300 Subject: [PATCH] Fixed graphic for Metric Results not displaying correctly --- app/assets/javascripts/module/graphic.js.coffee | 22 ++++++++++++++++++---- app/assets/stylesheets/boilerplate/graphic.css | 3 --- app/assets/stylesheets/module_results.css | 13 +++++++++++++ app/views/modules/_metric_result.html.erb | 1 - app/views/modules/_metric_results.html.erb | 2 +- app/views/modules/metric_history.js.erb | 9 ++------- 6 files changed, 34 insertions(+), 16 deletions(-) delete mode 100644 app/assets/stylesheets/boilerplate/graphic.css create mode 100644 app/assets/stylesheets/module_results.css diff --git a/app/assets/javascripts/module/graphic.js.coffee b/app/assets/javascripts/module/graphic.js.coffee index e96d1a9..ab2604e 100644 --- a/app/assets/javascripts/module/graphic.js.coffee +++ b/app/assets/javascripts/module/graphic.js.coffee @@ -1,7 +1,11 @@ class Module.Graphic constructor: (@container, @metric_name, @module_id) -> - $('tr#'+@container).slideToggle('slow') - this.load() + drawer = $('tr#'+@container) + if drawer.is(":hidden") + drawer.slideDown('slow') + this.load() + else + drawer.slideUp('slow') load: -> $.post '/modules/' + @module_id + '/metric_history', @@ -11,7 +15,13 @@ class Module.Graphic } @display: (dates, values, container) -> - opts = {bezierCurve: false} + canvas = $('canvas#'+container).get(0) + + opts = { + bezierCurve: false, + responsive: true, + maintainAspectRatio: false + } data = { labels : dates, @@ -26,4 +36,8 @@ class Module.Graphic ] } - graphic = new Chart($('canvas#'+container).get(0).getContext("2d")).Line(data, opts) + if canvas.hasOwnProperty("chart") && canvas.chart != null + canvas.chart.destroy() + canvas.chart = null + + canvas.chart = new Chart(canvas.getContext("2d")).Line(data, opts) diff --git a/app/assets/stylesheets/boilerplate/graphic.css b/app/assets/stylesheets/boilerplate/graphic.css deleted file mode 100644 index b6750bf..0000000 --- a/app/assets/stylesheets/boilerplate/graphic.css +++ /dev/null @@ -1,3 +0,0 @@ -div.graphic_container { - text-align: center; -} \ No newline at end of file diff --git a/app/assets/stylesheets/module_results.css b/app/assets/stylesheets/module_results.css new file mode 100644 index 0000000..15e3e8d --- /dev/null +++ b/app/assets/stylesheets/module_results.css @@ -0,0 +1,13 @@ +table.metric_results { + table-layout: fixed; +} + +.metric_results div.graphic_container { + width: 100%; + max-height: 20em; +} + +.metric_results div.graphic_container > canvas { + width: 100%; + height: 100%; +} \ No newline at end of file diff --git a/app/views/modules/_metric_result.html.erb b/app/views/modules/_metric_result.html.erb index e928a17..28c163a 100644 --- a/app/views/modules/_metric_result.html.erb +++ b/app/views/modules/_metric_result.html.erb @@ -17,7 +17,6 @@ <%= image_tag 'loader.gif' %> <%= t('loading_data') %> - <% end %> diff --git a/app/views/modules/_metric_results.html.erb b/app/views/modules/_metric_results.html.erb index c6d4bdb..6939a3e 100644 --- a/app/views/modules/_metric_results.html.erb +++ b/app/views/modules/_metric_results.html.erb @@ -1,4 +1,4 @@ - +
diff --git a/app/views/modules/metric_history.js.erb b/app/views/modules/metric_history.js.erb index deaba54..7582130 100644 --- a/app/views/modules/metric_history.js.erb +++ b/app/views/modules/metric_history.js.erb @@ -10,11 +10,6 @@ <% end %> $("#loader_<%= @container %>").hide(); - if (dates.length > 1) { - $("canvas#<%= @container %>").show(); - Module.Graphic.display(dates, values, '<%= @container %>'); - } - else { - $('span#<%= @container %>').show(); - } + $("canvas#<%= @container %>").show(); + Module.Graphic.display(dates, values, '<%= @container %>'); <% end %> \ No newline at end of file -- libgit2 0.21.2
<%= t('activemodel.attributes.metric_result.metric') %> <%= t('activemodel.attributes.metric_result.value') %>