summaryrefslogtreecommitdiff
path: root/share/www/script/futon.browse.js
diff options
context:
space:
mode:
authorChristopher Lenz <cmlenz@apache.org>2009-12-11 20:17:40 +0000
committerChristopher Lenz <cmlenz@apache.org>2009-12-11 20:17:40 +0000
commitfc27e23f3cc57159b1ee91747591cb0496385489 (patch)
tree3dda56a467ff8b4689d036db247b9d5b3045dffc /share/www/script/futon.browse.js
parentf6447a3f18a3a1ee51cd488af7e65b51f10c0131 (diff)
Futon: Allow control over the group and group_level options on reduce views.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@889795 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script/futon.browse.js')
-rw-r--r--share/www/script/futon.browse.js30
1 files changed, 21 insertions, 9 deletions
diff --git a/share/www/script/futon.browse.js b/share/www/script/futon.browse.js
index 37f4ef08..9faf7669 100644
--- a/share/www/script/futon.browse.js
+++ b/share/www/script/futon.browse.js
@@ -104,6 +104,7 @@
map_fun: {},
reduce_fun: {},
reduce: {},
+ group_level: {defaultValue: 100},
per_page: {defaultValue: 10},
view: {defaultValue: ""}
});
@@ -192,14 +193,19 @@
clearTimeout(dirtyTimeout);
dirtyTimeout = setTimeout(function() {
var buttons = $("#viewcode button.save, #viewcode button.revert");
- page.isDirty = ($("#viewcode_map").val() != page.storedViewCode.map)
- || ($("#viewcode_reduce").val() != (page.storedViewCode.reduce || ""))
+ var viewCode = {
+ map: $("#viewcode_map").val(),
+ reduce: $("#viewcode_reduce").val()
+ };
+ page.isDirty = (viewCode.map != page.storedViewCode.map)
+ || (viewCode.reduce != (page.storedViewCode.reduce || ""))
|| page.viewLanguage != page.storedViewLanguage;
if (page.isDirty) {
buttons.removeAttr("disabled");
} else {
buttons.attr("disabled", "disabled");
}
+ $("#reduce, #grouplevel").toggle(!!viewCode.reduce);
}, 100);
}
$("#viewcode textarea").enableTabInsertion()
@@ -215,16 +221,14 @@
$("#language").change(updateDirtyState);
page.updateDocumentListing();
});
- $("#grouptruenotice").show();
} else if (viewName == "_temp_view") {
page.viewLanguage = $.futon.storage.get("language");
page.updateViewEditor(
$.futon.storage.get("map", templates[page.viewLanguage]),
$.futon.storage.get("reduce")
);
- $("#grouptruenotice").show();
} else {
- $("#reduce").hide();
+ $("#grouplevel, #reduce").hide();
page.updateDocumentListing();
}
page.populateLanguagesMenu();
@@ -363,7 +367,7 @@
mapFun.split("\n").length,
reduceFun.split("\n").length
);
- $("#reduce").toggle(!!reduceFun);
+ $("#reduce, #grouplevel").toggle(!!reduceFun);
$("#viewcode textarea").attr("rows", Math.min(15, Math.max(3, lines)));
}
@@ -532,7 +536,7 @@
}
$("#paging a").unbind();
$("#documents").find("tbody.content").empty().end().show();
- this.updateDesignDocLink();
+ page.updateDesignDocLink();
options.success = function(resp) {
if (resp.offset === undefined) {
@@ -659,7 +663,11 @@
if (reduceFun) {
$.futon.storage.set("reduce_fun", reduceFun);
if ($("#reduce :checked").length) {
- options.group = true;
+ var level = parseInt($("#grouplevel select").val(), 10);
+ options.group = level > 0;
+ if (options.group && level < 100) {
+ options.group_level = level;
+ }
} else {
options.reduce = false;
}
@@ -679,7 +687,11 @@
var currentReduceCode = $.trim($("#viewcode_reduce").val()) || null;
if (currentReduceCode) {
if ($("#reduce :checked").length) {
- options.group = true;
+ var level = parseInt($("#grouplevel select").val(), 10);
+ options.group = level > 0;
+ if (options.group && level < 100) {
+ options.group_level = level;
+ }
} else {
options.reduce = false;
}