You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ja...@apache.org on 2010/05/28 12:55:10 UTC

svn commit: r949150 - /couchdb/branches/0.11.x/share/www/config.html

Author: jan
Date: Fri May 28 10:55:09 2010
New Revision: 949150

URL: http://svn.apache.org/viewvc?rev=949150&view=rev
Log:
Allow creation and deletin of config entries. Patch by Mikeal Rogers. Closes COUCHDB-777.

Modified:
    couchdb/branches/0.11.x/share/www/config.html

Modified: couchdb/branches/0.11.x/share/www/config.html
URL: http://svn.apache.org/viewvc/couchdb/branches/0.11.x/share/www/config.html?rev=949150&r1=949149&r2=949150&view=diff
==============================================================================
--- couchdb/branches/0.11.x/share/www/config.html (original)
+++ couchdb/branches/0.11.x/share/www/config.html Fri May 28 10:55:09 2010
@@ -47,7 +47,7 @@ specific language governing permissions 
               var prev = null;
               $.each(options, function(idx, optionName) {
                 var cur = idx == 0 ? row : $("<tr></tr>");
-                $("<td class='name'><b></b></td>")
+                $("<td class='name' section="+sectionName+"><b></b></td>")
                   .find("b").text(optionName).end().appendTo(cur);
                 $("<td class='value'><code></code></td>")
                   .find("code").text(section[optionName]).end().appendTo(cur);
@@ -58,7 +58,6 @@ specific language governing permissions 
               row.find("th").attr("rowspan", options.length);
             });
             $("#config tbody tr").removeClass("odd").filter(":odd").addClass("odd");
-
             $("#config tbody td.value code").makeEditable({
               accept: function(newValue) {
                 var row = $(this).parents("tr").eq(0);
@@ -67,7 +66,40 @@ specific language governing permissions 
                     row.find("td.value code").text(newValue);
                 }}, row.data("section"), row.data("option"), newValue);
               }
-            });
+            }).parent().parent()
+              .append($('<td><div style="text-align:center;""><a class="remove" href="#remove">x</a></div></td>'))
+              .click(function (ev) {
+                // There is a listener that stops all events below this element which is
+                // why the remove link listener has to be here
+                var n = $(ev.target).parent().parent().parent();
+                if ($(ev.target).attr('href') === "#remove" ) {
+                  $.couch.config({ success: function () {location = location.href.split('#')[0];} }
+                                 , n.find('td.name').attr("section"), n.find('td.name').text(), null);
+                }
+            })
+            var add = $('<a href="#add">Add a new section</a>').click(function () {
+              $.showDialog("dialog/_create_config.html", {
+                submit: function(data, callback) {
+                  var fail = false;
+                  if (!data.section || data.section.length == 0) {
+                    callback({section: "Please enter a section."});
+                    fail = true;
+                  }
+                  if (!data.option || data.option.length == 0) {
+                    callback({option: "Please enter a option."});
+                    fail = true;
+                  }
+                  if (!data.val || data.val.length == 0) {
+                    callback({val: "Please enter a value."});
+                    fail = true;
+                  }
+                  if (fail) {return}
+                  $.couch.config({ success: function () {callback();location = location.href.split('#')[0]} }
+                                 , data.section, data.option, data.val);
+                }
+              });
+            })
+            $("div#content").append(add)
           }
         });
 
@@ -91,6 +123,7 @@ specific language governing permissions 
           <th>Section</th>
           <th>Option</th>
           <th>Value</th>
+          <th>Delete</th>
         </tr></thead>
         <tbody class="content"></tbody>
       </table>