diff options
author | Fabrice Bellingard <bellingard@gmail.com> | 2011-08-26 18:06:54 +0200 |
---|---|---|
committer | Fabrice Bellingard <bellingard@gmail.com> | 2011-08-26 18:06:54 +0200 |
commit | d163695d58b77e1fca590725520dfb57862548ca (patch) | |
tree | da37475cad25a0952983fb885e460a69c626fcc4 /plugins | |
parent | 1a60b0efffc6f369fdb1796cf6abc5035c558b18 (diff) | |
download | sonarqube-d163695d58b77e1fca590725520dfb57862548ca.tar.gz sonarqube-d163695d58b77e1fca590725520dfb57862548ca.zip |
SONAR-2074 Improve timeline widget
- Default height set to 80 pixels
- Events are displayed by default
- Space added between measures in the footer
- Adapt left margin to be able to display the max number on the Y axis
- Chart displayed even if no values for a selected metric
Diffstat (limited to 'plugins')
2 files changed, 26 insertions, 24 deletions
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/TimelineWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/TimelineWidget.java index 7483f0018cc..bceb37b2a0c 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/TimelineWidget.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/TimelineWidget.java @@ -31,7 +31,7 @@ import org.sonar.api.web.WidgetPropertyType; @WidgetProperty(key = "metric1", type = WidgetPropertyType.METRIC, defaultValue = "ncloc"), @WidgetProperty(key = "metric2", type = WidgetPropertyType.METRIC), @WidgetProperty(key = "metric3", type = WidgetPropertyType.METRIC), - @WidgetProperty(key = "displayEvents", type = WidgetPropertyType.BOOLEAN), + @WidgetProperty(key = "hideEvents", type = WidgetPropertyType.BOOLEAN), @WidgetProperty(key = "chartHeight", type = WidgetPropertyType.INTEGER) } ) diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/timeline.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/timeline.html.erb index 806d77f7a7c..88c1d07cdb5 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/timeline.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/timeline.html.erb @@ -33,37 +33,39 @@ js_snapshots = "[" js_metrics = "[" metric_data_map.keys.each_with_index() do |metric_id, index| - js_metrics += "\"" + metric_name_map[metric_id] + "\"," - js_data += "[" - metric_data_map[metric_id].each() do |metric_data| - m_date = Time.parse(metric_data[:date]) - js_data += "{\"x\":d(" - js_data += m_date.year.to_s - js_data += "," - # Need to decrease by 1 the month as the JS Date object start months at 0 (= January) - js_data += (m_date.month - 1).to_s - js_data += "," - js_data += m_date.day.to_s - js_data += "),\"y\":" - js_data += sprintf( "%0.02f", metric_data[:value]) - js_data += "}," - if index == 0 - # we fill the js_snapshots array (no need to do this more than once) - js_snapshots += "{\"sid\":" - js_snapshots += metric_data[:sid] - js_snapshots += ",\"d\":\"" - js_snapshots += human_short_date(m_date) - js_snapshots += "\"}," + unless metric_data_map[metric_id].empty? + js_metrics += "\"" + metric_name_map[metric_id] + "\"," + js_data += "[" + metric_data_map[metric_id].each() do |metric_data| + m_date = Time.parse(metric_data[:date]) + js_data += "{\"x\":d(" + js_data += m_date.year.to_s + js_data += "," + # Need to decrease by 1 the month as the JS Date object start months at 0 (= January) + js_data += (m_date.month - 1).to_s + js_data += "," + js_data += m_date.day.to_s + js_data += "),\"y\":" + js_data += sprintf( "%0.02f", metric_data[:value]) + js_data += "}," + if index == 0 + # we fill the js_snapshots array (no need to do this more than once) + js_snapshots += "{\"sid\":" + js_snapshots += metric_data[:sid] + js_snapshots += ",\"d\":\"" + js_snapshots += human_short_date(m_date) + js_snapshots += "\"}," + end end + js_data += "]," end - js_data += "]," end js_data += "]" js_snapshots += "]" js_metrics += "]" # Prepare also event structure if required - if widget_properties["displayEvents"] + unless widget_properties["hideEvents"] events = {} Event.find(:all, :conditions => {:resource_id => @resource.id}, :order => 'event_date').each() do |event| if events[event.event_date] |