]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3529 Improve property sets
authorDavid Gageot <david@gageot.net>
Thu, 4 Oct 2012 10:18:55 +0000 (12:18 +0200)
committerDavid Gageot <david@gageot.net>
Thu, 4 Oct 2012 10:18:55 +0000 (12:18 +0200)
sonar-server/src/main/webapp/WEB-INF/app/views/settings/_properties.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/settings/_set_instance.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/settings/_type_PROPERTY_SET_DEFINITION.html.erb
sonar-server/src/main/webapp/stylesheets/style.css

index 20da1396a43fe88c87278ebe8e13386a25408c49..b7713ed97fb1c139e2ebbacf77b3cb7befa197e2 100644 (file)
@@ -15,7 +15,7 @@
       </thead>
       <tbody>
       <% @definitions.each do |property| -%>
-        <tr class="<%= cycle('even', 'odd', :name => 'properties') -%>">
+        <tr class="property <%= cycle('even', 'odd', :name => 'properties') -%>">
           <td style="padding: 10px" id="block_<%= property.key -%>">
             <h3>
               <div><%= property_name(property) -%></div>
@@ -74,8 +74,9 @@
   $j('.add_value').live('click', function () {
     $j('.delete').show();
 
-    var template = $j(this).siblings('.template');
-    template.before(template.html());
+    var template = $j(this).parents('.property').find('.template').last();
+    template.clone().insertBefore(template).show();
+
     return false;
   });
 </script>
index bc3ad9282a8716232cfbcb7fd5be631552f4f34d..7a2fb8c8afa63c10a6e51af61e07fe9926dfb331 100644 (file)
@@ -1,25 +1,12 @@
-<div class="multi_value">
-  <div class="field">
-    <label><%= message('key') %>:</label>
-    <%= text_field_tag "property_sets[#{property.key}][]", set_key, :size => 50 -%>
-    <a href="#" class="delete link-action"><%= message('delete') -%></a>
-  </div>
+<tr class="multi_value <%= 'template' unless set_key -%>" style="<%= 'display:none' unless set_key -%>">
+  <td><%= text_field_tag "property_sets[#{property.key}][]", set_key, :size => 50 -%></td>
 
   <% property.fields.each do |field| -%>
     <% key = "#{property.key}.#{set_key}.#{field.key}" if set_key -%>
     <% value = Property.value(key, resource_id) if set_key -%>
 
-    <div class="field">
-      <label><%= field_name(property, field) -%>: </label>
-      <%= render "settings/type_#{field.type}", :property => field, :field => field, :value => value, :name => "#{property.key}[#{field.key}][]", :id => "input_#{h field.key}" -%>
-
-      <% desc=field_description(property, field) -%>
-      <% unless desc.blank? %>
-        <p class="note"><%= desc -%></p>
-      <% end -%>
-
-      <%= render "settings/error", :key => key -%>
-    </div>
+    <td><%= render "settings/type_#{field.type}", :property => field, :field => field, :value => value, :name => "#{property.key}[#{field.key}][]", :id => "input_#{h field.key}" -%></td>
   <% end -%>
-  <br/>
-</div>
+
+  <td><a href="#" class="delete link-action"><%= message('delete') -%></a></td>
+</tr>
index d51e73fc37771df93dea03fc3a4b5b3f1ce41b7e..2e642af64aeb413db1114580513d17162d26dbba 100644 (file)
@@ -1,11 +1,29 @@
 <% resource_id = @resource.id if @resource -%>
 
-<% Property.values(property.key, resource_id).reject(&:blank?).each do |set_key| -%>
-  <%= render 'settings/set_instance', :property => property, :set_key => set_key, :resource_id => resource_id %>
-<% end -%>
+<table class="data">
+  <thead>
+  <tr>
+    <th><%= message('key') -%></th>
+    <% property.fields.each do |field| -%>
+      <th><%= field_name(property, field) -%></th>
+    <% end -%>
+    <th></th>
+  </tr>
+  </thead>
 
-<div class="template" style="display:none;">
+  <tbody>
+  <% Property.values(property.key, resource_id).reject(&:blank?).each do |set_key| -%>
+    <%= render 'settings/set_instance', :property => property, :set_key => set_key, :resource_id => resource_id %>
+  <% end -%>
   <%= render 'settings/set_instance', :property => property, :set_key => nil, :resource_id => resource_id %>
-</div>
 
-<button class="add_value"><%= message('settings.add') -%></button>
+  </tbody>
+
+  <tfoot>
+  <tr>
+    <td>
+      <button class="add_value"><%= message('settings.add') -%></button>
+    </td>
+  </tr>
+  </tfoot>
+</table>
index 72499036b58a713a06bce41fdf9fa81a513219bf..819ddc41a8d774fb66d87cd0e9c4d07193463dd7 100644 (file)
@@ -1091,13 +1091,20 @@ div.progress div.note {
 }
 
 div.autocomplete {
+  position: absolute;
+  width: 600px;
+  right: 10px;
+  top: 10px;
   background-color: #fff;
   border: 1px solid #ccc;
   margin: 0;
   padding: 0;
   color: #111;
   line-height: 18px;
-  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
+  -moz-box-shadow: 0 0 10px 5px #EFEFEF;
+  -webkit-box-shadow: 0 0 10px 5px #EFEFEF;
+  -o-box-shadow: 0 0 10px 5px #EFEFEF;
+  box-shadow: 0 0 10px 5px #EFEFEF;
   z-index: 999999;
 }
 
@@ -2417,27 +2424,6 @@ textarea.width100 {
   box-sizing: border-box; /* Opera/IE 8+ */
 }
 
-.field {
-  margin-bottom: 5px;
-}
-
-.field label {
-  text-align: right;
-  width: 80px;
-  display: block;
-  float: left;
-  line-height: 1;
-  word-wrap: break-word;
-  position: relative;
-  padding-top: 5px;
-  padding-right: 5px;
-}
-
-.field .note, .field .error  {
-  margin-top: 3px;
-  margin-left: 88px;
-}
-
 .coverage tr {
   line-height: 1.8em;
 }