]> source.dussan.org Git - sonarqube.git/commitdiff
Fix Global Dashboard editing
authorDavid Gageot <david@gageot.net>
Mon, 21 May 2012 12:44:02 +0000 (14:44 +0200)
committerDavid Gageot <david@gageot.net>
Mon, 21 May 2012 12:44:02 +0000 (14:44 +0200)
sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_configure_widget.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_title.html.erb
sonar-server/src/main/webapp/javascripts/dashboard.js

index eafc561b5fcf5f3dd2c6f08147c579501223a715..43ec6325e3f9380d6282f839e6ea8b1634fbb53f 100644 (file)
@@ -1,12 +1,16 @@
-<% switch_to_widget_resource(widget) %>
-<%
-   begin
-     widget_body=render :inline => widget.java_definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard_configuration => @dashboard_configuration}
-   rescue => error
-     logger.error(message('dashboard.cannot_render_widget_x', :params => [widget.java_definition.getId(), error]))
-     logger.error(error.backtrace.join("\n"))
-     widget_body=""
-   end
+<%=
+    widget_body=""
+
+    if widget.configured
+      switch_to_widget_resource(widget)
+      begin
+        widget_body=render :inline => widget.java_definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard_configuration => @dashboard_configuration}
+      rescue => error
+        logger.error(message('dashboard.cannot_render_widget_x', :params => [widget.java_definition.getId(), error]))
+        logger.error(error.backtrace.join('\n'))
+      end
+      restore_global_resource
+    end
 %>
 
 <div class="widget-header">
@@ -52,7 +56,3 @@
   <% end %>
   <div style="clear: both;"></div>
 </div>
-
-<% restore_global_resource %>
-
-
index ac6d02b78119f031d71807eb1a6a2c79c876001b..3f2f3a7945390fc98e229b24dc357586cbfdde28 100644 (file)
@@ -1,23 +1,27 @@
-<% switch_to_widget_resource(widget) %>
+<%=
+    widget_body=""
+
+    if widget.configured
+      switch_to_widget_resource(widget)
+      begin
+        widget_body=render :inline => widget.java_definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard_configuration => @dashboard_configuration}
+      rescue => error
+        logger.error(message('dashboard.cannot_render_widget_x', :params => [widget.key, error]))
+        logger.error(error.backtrace.join('\n'))
+      end
+      restore_global_resource
+    end
+%>
 
 <%= render :partial => 'widget_title', :locals => {:widget => widget} -%>
 
 <div class="<%= h widget.key -%>" style="height:100%;">
-  <% if widget.configured
-       begin
-         widget_body=render :inline => widget.java_definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard_configuration => @dashboard_configuration}
-       rescue => error
-         logger.error(message('dashboard.cannot_render_widget_x', :params => [widget.key, error]))
-         logger.error(error.backtrace.join("\n"))
-         widget_body=""
-       end
-
-       if widget_body.include?('<')
+  <% if widget.configured %>
+    <% if widget_body.include?('<')
          default_layout=(widget.java_definition.getWidgetLayout().name()=='DEFAULT')
-         if default_layout
-      %>
+         if default_layout %>
         <div class="widget">
-    <% end %>
+      <% end %>
       <%= widget_body -%>
       <% if default_layout %>
         <div class="clear"></div>
@@ -34,4 +38,3 @@
   <div style="clear: both;"></div>
 </div>
 
-<% restore_global_resource %>
index ea305bf421f171cc9e88e99611f363e15ef23645..e4c262908e12cd8d2cdc0cbd553356d668830e04 100644 (file)
@@ -2,7 +2,7 @@
 
   <% if widget.properties_as_hash['filter'] %>
     <% filter = ::Filter.find_by_id(widget.properties_as_hash['filter']) %>
-    <div class="widget-title">
+    <div class="widget-title" id="widget_title_<%= widget.id -%>">
       <% if filter %>
         <%= filter.name -%>
         <% if filter.period_index %>
index 95947bef54a8ec60782c955cf4ce25e2777db1d9..022e6a6c2410d580b282ff65f922f643af720a86 100644 (file)
@@ -98,10 +98,12 @@ Portal.prototype = {
     },
 
     editWidget: function(id) {
+      $('widget_title_' + id).hide();
       $('widget_' + id).hide();
       $('widget_props_' + id).show();
     },
     cancelEditWidget: function(id) {
+      $('widget_title_' + id).show();
       $('widget_' + id).show();
       $('widget_props_' + id).hide();
     },