diff options
Diffstat (limited to 'share/www/script')
-rw-r--r-- | share/www/script/futon.browse.js | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/share/www/script/futon.browse.js b/share/www/script/futon.browse.js index 1b91e27d..84b3474e 100644 --- a/share/www/script/futon.browse.js +++ b/share/www/script/futon.browse.js @@ -104,7 +104,7 @@ if (viewName) { this.redirecting = true; location.href = "database.html?" + encodeURIComponent(dbName) + - "/" + encodeDocId(viewName); + "/" + viewName; } } var db = $.couch.db(dbName); @@ -258,9 +258,10 @@ .attr("label", doc._id.substr(8)); for (var name in doc.views) { var option = $(document.createElement("option")) - .attr("value", doc._id + "/" + name).text(name) + .attr("value", encodeURIComponent(doc._id) + "/_view/" + + encodeURIComponent(name)).text(name) .appendTo(optGroup); - if (doc._id + "/" + name == viewName) { + if (doc._id + "/_view/" + name == viewName) { option[0].selected = true; } } @@ -283,7 +284,7 @@ if (!page.storedViewCode) { var viewNameParts = viewName.split("/"); var designDocId = viewNameParts[1]; - var localViewName = viewNameParts[2]; + var localViewName = viewNameParts[3]; db.openDoc(["_design", designDocId].join("/"), { error: function(status, error, reason) { if (status == 404) { @@ -332,7 +333,7 @@ if (viewName && /^_design/.test(viewName)) { var viewNameParts = viewName.split("/"); var designDocId = viewNameParts[1]; - var localViewName = viewNameParts[2]; + var localViewName = viewNameParts[3]; } else { var designDocId = "", localViewName = ""; } @@ -407,7 +408,7 @@ page.isDirty = false; location.href = "database.html?" + encodeURIComponent(dbName) + "/" + encodeDocId(doc._id) + - "/" + encodeURIComponent(data.name); + "/_view/" + encodeURIComponent(data.name); } }); } @@ -428,7 +429,7 @@ this.saveViewChanges = function() { var viewNameParts = viewName.split("/"); var designDocId = viewNameParts[1]; - var localViewName = viewNameParts[2]; + var localViewName = viewNameParts[3]; db.openDoc(["_design", designDocId].join("/"), { success: function(doc) { var numViews = 0; @@ -635,7 +636,8 @@ if (page.isDirty) { db.query(currentMapCode, currentReduceCode, page.viewLanguage, options); } else { - db.view(viewName.substr(8), options); + var viewParts = viewName.split('/'); + db.view(viewParts[1] + "/" + viewParts[3], options); } } } |