From c46bbe3d924e9e56b6f4ade94e0e27eec9e5a37c Mon Sep 17 00:00:00 2001 From: Jan Lehnardt Date: Fri, 28 May 2010 10:54:17 +0000 Subject: 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 --- share/www/config.html | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'share') 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 : $(""); - $("") + $("") .find("b").text(optionName).end().appendTo(cur); $("") .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($('
x
')) + .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 = $('Add a new section').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. Section Option Value + Delete -- cgit v1.2.3