summaryrefslogtreecommitdiff
path: root/share/www/script/jquery.couch.js
diff options
context:
space:
mode:
authorJohn Christopher Anderson <jchris@apache.org>2009-02-22 07:31:26 +0000
committerJohn Christopher Anderson <jchris@apache.org>2009-02-22 07:31:26 +0000
commit1ebc2117452516f6ac6f4f458d7372bc710b79d2 (patch)
treee6dc0c62e64e29247e5c2cf18343690d01e1bc0c /share/www/script/jquery.couch.js
parent4838c35db5f4d49181b22d72f4cb5697b89c8870 (diff)
Link to design docs that have ddoc.couchapp.index or index.html, from Futon database index.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@746644 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script/jquery.couch.js')
-rw-r--r--share/www/script/jquery.couch.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/share/www/script/jquery.couch.js b/share/www/script/jquery.couch.js
index b4566e3a..c912a4bd 100644
--- a/share/www/script/jquery.couch.js
+++ b/share/www/script/jquery.couch.js
@@ -173,6 +173,38 @@
}
});
},
+ allDesignDocs: function(options) {
+ options = options || {};
+ this.allDocs($.extend({startkey:"_design", endkey:"_design0"}, options));
+ },
+ allApps: function(options) {
+ options = options || {};
+ var self = this;
+ if (options.eachApp) {
+ this.allDesignDocs({
+ success: function(resp) {
+ $.each(resp.rows, function() {
+ self.openDoc(this.id, {
+ success: function(ddoc) {
+ var index, appPath, appName = ddoc._id.split('/');
+ appName.shift();
+ appName = appName.join('/');
+ index = ddoc.couchapp && ddoc.couchapp.index;
+ if (index) {
+ appPath = ['', name, index[0], appName, index[1]].join('/');
+ } else if (ddoc._attachments["index.html"]) {
+ appPath = ['', name, '_design', appName, "index.html"].join('/');
+ }
+ if (appPath) options.eachApp(appName, appPath, ddoc);
+ }
+ });
+ });
+ }
+ });
+ } else {
+ alert("please provide an eachApp function for allApps()");
+ }
+ },
openDoc: function(docId, options) {
options = options || {};
$.ajax({