summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorJan Lehnardt <jan@apache.org>2010-05-28 10:54:17 +0000
committerJan Lehnardt <jan@apache.org>2010-05-28 10:54:17 +0000
commitc46bbe3d924e9e56b6f4ade94e0e27eec9e5a37c (patch)
treee4aa2b6563d2ea7c8260ef9da4cf30e29dbe134c /share
parent80cb0d760e72316d8cf4ef98fdf79c98b2d82138 (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.html39
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>