diff options
author | Jan Lehnardt <jan@apache.org> | 2010-05-28 10:54:17 +0000 |
---|---|---|
committer | Jan Lehnardt <jan@apache.org> | 2010-05-28 10:54:17 +0000 |
commit | c46bbe3d924e9e56b6f4ade94e0e27eec9e5a37c (patch) | |
tree | e4aa2b6563d2ea7c8260ef9da4cf30e29dbe134c /share | |
parent | 80cb0d760e72316d8cf4ef98fdf79c98b2d82138 (diff) |
Allow creation and deletin of config entries. Patch by Mikeal Rogers. Closes COUCHDB-777.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@949149 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share')
-rw-r--r-- | share/www/config.html | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/share/www/config.html b/share/www/config.html index dde897f9..e81d4dd1 100644 --- a/share/www/config.html +++ b/share/www/config.html @@ -47,7 +47,7 @@ specific language governing permissions and limitations under the License. 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 and limitations under the License. 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 and limitations under the License. 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 and limitations under the License. <th>Section</th> <th>Option</th> <th>Value</th> + <th>Delete</th> </tr></thead> <tbody class="content"></tbody> </table> |