]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5130 Improve UI
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 12 May 2014 10:29:40 +0000 (12:29 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 12 May 2014 10:30:20 +0000 (12:30 +0200)
plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb
sonar-core/src/main/resources/org/sonar/l10n/core.properties
sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb

index f30117a5bde43c8d97d86855f393ae811d923e7b..fe972d726efa56e1b72a1a7708ebdad04a96aa99 100644 (file)
@@ -1,7 +1,10 @@
 <%
   lines=measure('lines')
   ncloc=measure('ncloc')
-  ncloc_language_distribution=measure('ncloc_language_distribution')
+  ncloc_language_distribution = measure('ncloc_language_distribution')
+  ncloc_language_dist_hash = Hash[*(ncloc_language_distribution.data.split(';').map { |elt| elt.split('=') }.flatten)] if ncloc && ncloc_language_distribution
+  generated_ncloc=measure('generated_ncloc')
+  generated_lines=measure('generated_lines')
   classes=measure('classes')
   files=measure('files')
   functions=measure('functions')
   <tr>
     <td valign="top" width="48%" nowrap>
       <div class="dashbox">
-
         <% if ncloc %>
-          <%
-             ncloc_language_dist_hash = Hash[*(ncloc_language_distribution.data.split(';').map { |elt| elt.split('=') }.flatten)] if ncloc_language_distribution
-             if ncloc_language_dist_hash && ncloc_language_dist_hash.size == 1
-               language_key = ncloc_language_dist_hash.first()[0].to_s
-               language = languages.find { |l| l.getKey()==language_key }
-          %>
-            <h3><%= message('widget.size.lines_of_code_with_language', :params => (language ? language.getName() : language_key)) -%></h3>
-          <% else %>
-            <h3><%= message('widget.size.lines_of_code') -%></h3>
-          <% end %>
+          <h3><%= message('widget.size.lines_of_code') -%></h3>
           <p>
             <span class="big"><%= format_measure(ncloc, :suffix => '', :url => url_for_drilldown(ncloc)) -%></span>
             <%= dashboard_configuration.selected_period? ? format_variation(ncloc) : trend_icon(ncloc) -%>
           </p>
-          <%
-            generated_ncloc=measure('generated_ncloc')
-            if generated_ncloc && generated_ncloc.value>0
-          %>
-            <p>+<%= format_measure(generated_ncloc, :suffix => message('widget.size.generated.suffix'), :url => url_for_drilldown(generated_ncloc)) -%> <%= dashboard_configuration.selected_period? ? format_variation(generated_ncloc) : trend_icon(generated_ncloc) -%></p>
+          <% if ncloc_language_dist_hash %>
+            <table class="clear width100">
+              <%
+                 max = ncloc_language_dist_hash.max_by{|_k,v| v.to_i}[1].to_i
+                 # Sort lines language distribution by reverse number of lines
+                 ncloc_language_dist_hash.sort {|v1,v2| v2[1].to_i <=> v1[1].to_i }.each do |language_key, language_ncloc|
+              %>
+              <tr>
+                <td>
+                  <% language = languages.find { |l| l.getKey()==language_key.to_s } -%>
+                  <%= language ? language.getName() : language_key -%>
+                </td>
+                <td style="padding: 0 5px;" align="right">
+                  <%= ncloc.format_numeric_value(language_ncloc) %>
+                </td>
+                <td>&nbsp;</td>
+                <td align="left" style="padding-bottom:2px; padding-top:2px;">
+                  <%= barchart(:width => 70, :percent => (100 * language_ncloc.to_i / max).to_i)%>
+                </td>
+              </tr>
+              <% end %>
+            </table>
           <% end %>
-            <p><%= format_measure(lines, :suffix => message('widget.size.lines.suffix'), :url => url_for_drilldown(lines)) -%> <%= dashboard_configuration.selected_period? ? format_variation(lines) : trend_icon(lines) -%></p>
-        <% else%>
-            <h3><%= message('widget.size.lines') -%></h3>
-            <p><span class="big"><%= format_measure(lines, :suffix => '', :url => url_for_drilldown(lines)) -%> <%= trend_icon(lines) -%></span></p>
-        <% end %>
-        <%
-          generated_lines=measure('generated_lines')
-          if generated_lines && generated_lines.value>0
-        %>
-          <p>incl. <%= format_measure(generated_lines, :suffix => message('widget.size.generated.suffix'), :url => url_for_drilldown(generated_lines)) -%> <%= dashboard_configuration.selected_period? ? format_variation(generated_lines) : trend_icon(generated_lines) -%></p>
-        <% end %>
-        <% if statements %>
-          <p>
-          <%= format_measure(statements, :suffix => message('widget.size.statements.suffix'), :url => url_for_drilldown(statements)) -%> <%= dashboard_configuration.selected_period? ? format_variation(statements) : trend_icon(statements) -%>
-          </p>
-        <% end %>
-        <% if projects %>
-          <p><%= format_measure(projects, :suffix => message('widget.size.projects.suffix')) -%> <%= dashboard_configuration.selected_period? ? format_variation(projects) : trend_icon(projects) -%></p>
-        <% end %>
 
-        <% if ncloc_language_dist_hash && ncloc_language_dist_hash.size > 1 %>
-          <table class="clear width100">
-            <%
-               max = ncloc_language_dist_hash.max_by{|_k,v| v.to_i}[1].to_i
-               # Sort lines language distribution by reverse number of lines
-               ncloc_language_dist_hash.sort {|v1,v2| v2[1].to_i <=> v1[1].to_i }.each do |language_key, language_ncloc|
-                tooltip = ncloc.format_numeric_value(language_ncloc) + message('widget.size.lines_of_code.suffix')
-            %>
-            <tr>
-              <td>
-                <% language = languages.find { |l| l.getKey()==language_key.to_s } -%>
-                <%= language ? language.getName() : language_key -%>
-              </td>
-              <td>&nbsp;</td>
-              <td align="left" style="padding-bottom:2px; padding-top:2px;">
-                <%= barchart(:width => 70, :percent => (100 * language_ncloc.to_i / max).to_i, :tooltip => tooltip)%>
-              </td>
-            </tr>
-            <% end %>
-          </table>
+        <% else %>
+          <h3><%= message('widget.size.lines') -%></h3>
+          <p><span class="big"><%= format_measure(lines, :suffix => '', :url => url_for_drilldown(lines)) -%> <%= trend_icon(lines) -%></span></p>
         <% end %>
       </div>
     </td>
           <%= dashboard_configuration.selected_period? ? format_variation(files) : trend_icon(files) -%>
         </p>
         <p><%= format_measure('directories', :suffix => message('widget.size.directories.suffix'), :url => url_for_drilldown('directories')) -%> <%= dashboard_configuration.selected_period? ? format_variation('directories') : trend_icon('directories') -%></p>
+        <% if ncloc && generated_ncloc && generated_ncloc.value>0 %>
+          <p>+<%= format_measure(generated_ncloc, :suffix => message('widget.size.generated.suffix'), :url => url_for_drilldown(generated_ncloc)) -%> <%= dashboard_configuration.selected_period? ? format_variation(generated_ncloc) : trend_icon(generated_ncloc) -%></p>
+        <% end %>
+        <p><%= format_measure(lines, :suffix => message('widget.size.lines.suffix'), :url => url_for_drilldown(lines)) -%> <%= dashboard_configuration.selected_period? ? format_variation(lines) : trend_icon(lines) -%></p>
         <% if classes %>
         <p><%= format_measure(classes, :url => url_for_drilldown(classes), :suffix => message('widget.size.classes.suffix')) -%></span> <%= dashboard_configuration.selected_period? ? format_variation(classes) : trend_icon(classes) -%></p>
         <% end %>
         <p><%= format_measure(functions, :suffix => message('widget.size.methods.suffix'), :url => url_for_drilldown(functions)) -%> <%= dashboard_configuration.selected_period? ? format_variation(functions) : trend_icon(functions) -%></p>
-        <%
-          if measure('accessors')
-        %>
+        <% if measure('accessors') %>
           <p><%= format_measure('accessors', :suffix => message('widget.size.accessors.suffix'), :url => url_for_drilldown('accessors')) -%> <%= dashboard_configuration.selected_period? ? format_variation('accessors') : trend_icon('accessors') -%></p>
         <% end %>
+        <%  if generated_lines && generated_lines.value>0 %>
+          <p>incl. <%= format_measure(generated_lines, :suffix => message('widget.size.generated.suffix'), :url => url_for_drilldown(generated_lines)) -%> <%= dashboard_configuration.selected_period? ? format_variation(generated_lines) : trend_icon(generated_lines) -%></p>
+        <% end %>
+        <% if statements %>
+          <p> <%= format_measure(statements, :suffix => message('widget.size.statements.suffix'), :url => url_for_drilldown(statements)) -%> <%= dashboard_configuration.selected_period? ? format_variation(statements) : trend_icon(statements) -%></p>
+        <% end %>
+        <% if projects %>
+          <p><%= format_measure(projects, :suffix => message('widget.size.projects.suffix')) -%> <%= dashboard_configuration.selected_period? ? format_variation(projects) : trend_icon(projects) -%></p>
+        <% end %>
       </div>
     </td>
   </tr>
index 155dc476775e5a97e62d96349ccf07ad0bd50dc9..7d80779d7d5eee9966e02891129920b0d9585983 100644 (file)
@@ -1075,8 +1075,6 @@ widget.rules.removed=Removed:
 widget.size.name=Size Metrics
 widget.size.description=Reports general metrics on the size of the project.
 widget.size.lines_of_code=Lines of code
-widget.size.lines_of_code_with_language=Lines of code ({0})
-widget.size.lines_of_code.suffix=\ lines of code
 widget.size.lines=Lines
 widget.size.generated.suffix=\ generated
 widget.size.lines.suffix=\ lines
index 4b1a24aa00da4dbd2f7d0cc1e9b51e0f25370f40..401ea7f193da4fac233a782715afc1b736a585e8 100644 (file)
@@ -378,6 +378,7 @@ module ApplicationHelper
   # * width: container width in pixels. Default is 150.
   # * percent: integer between -100 and 100. Size of the bar inside the container. Default is 100. Bar is aligned to right if the value is negative.
   # * color: the bar HTML color. Default value is '#777'
+  # * tooltip: tooltip to display on the bar
   #
   def barchart(options)
     percent = (options[:percent] || 100).to_i