Return-Path: X-Original-To: apmail-couchdb-commits-archive@www.apache.org Delivered-To: apmail-couchdb-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D9E5A106BE for ; Mon, 3 Mar 2014 16:59:08 +0000 (UTC) Received: (qmail 41297 invoked by uid 500); 3 Mar 2014 16:58:36 -0000 Delivered-To: apmail-couchdb-commits-archive@couchdb.apache.org Received: (qmail 40324 invoked by uid 500); 3 Mar 2014 16:58:16 -0000 Mailing-List: contact commits-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list commits@couchdb.apache.org Received: (qmail 40245 invoked by uid 99); 3 Mar 2014 16:58:14 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Mar 2014 16:58:14 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 032B0933CE5; Mon, 3 Mar 2014 16:58:13 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: garren@apache.org To: commits@couchdb.apache.org Date: Mon, 03 Mar 2014 16:58:34 -0000 Message-Id: <98956796511a476584d4b733d3afa12c@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [22/34] couchdb commit: updated refs/heads/paginate-api-options to b63c791 Paginiation with no limit Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/98b54724 Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/98b54724 Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/98b54724 Branch: refs/heads/paginate-api-options Commit: 98b54724520bbebe46c09c8164690a42a3cda3d5 Parents: 69fa6c4 Author: Garren Smith Authored: Tue Feb 11 17:24:02 2014 +0200 Committer: Garren Smith Committed: Mon Mar 3 11:18:41 2014 +0200 ---------------------------------------------------------------------- .../app/addons/databases/templates/item.html | 2 +- src/fauxton/app/addons/databases/views.js | 3 +- src/fauxton/app/addons/documents/routes.js | 44 ++++++++++++--- .../documents/templates/all_docs_number.html | 22 ++++---- .../app/addons/documents/templates/sidebar.html | 4 +- src/fauxton/app/addons/documents/views.js | 58 +++++++++----------- src/fauxton/app/addons/fauxton/components.js | 45 +++++++++------ 7 files changed, 104 insertions(+), 74 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb/blob/98b54724/src/fauxton/app/addons/databases/templates/item.html ---------------------------------------------------------------------- diff --git a/src/fauxton/app/addons/databases/templates/item.html b/src/fauxton/app/addons/databases/templates/item.html index e2f8071..549f421 100644 --- a/src/fauxton/app/addons/databases/templates/item.html +++ b/src/fauxton/app/addons/databases/templates/item.html @@ -13,7 +13,7 @@ the License. --> - <%= database.get("name") %> + <%= database.get("name") %> <%= database.status.humanSize() %> <%= database.status.numDocs() %> http://git-wip-us.apache.org/repos/asf/couchdb/blob/98b54724/src/fauxton/app/addons/databases/views.js ---------------------------------------------------------------------- diff --git a/src/fauxton/app/addons/databases/views.js b/src/fauxton/app/addons/databases/views.js index 7f23d65..a56267f 100644 --- a/src/fauxton/app/addons/databases/views.js +++ b/src/fauxton/app/addons/databases/views.js @@ -31,8 +31,7 @@ function(app, Components, FauxtonAPI, Databases) { return { encoded: app.utils.safeURLName(this.model.get("name")), - database: this.model, - docLimit: Databases.DocLimit + database: this.model }; } }); http://git-wip-us.apache.org/repos/asf/couchdb/blob/98b54724/src/fauxton/app/addons/documents/routes.js ---------------------------------------------------------------------- diff --git a/src/fauxton/app/addons/documents/routes.js b/src/fauxton/app/addons/documents/routes.js index a0edc07..0d143de 100644 --- a/src/fauxton/app/addons/documents/routes.js +++ b/src/fauxton/app/addons/documents/routes.js @@ -187,8 +187,19 @@ function(app, FauxtonAPI, Documents, Databases) { }, allDocs: function(databaseName, options) { - var docOptions = app.getParams(options); + var docOptions = app.getParams(options), + docLimit; + if (this.eventAllDocs) { + this.eventAllDocs = false; + return; + } + + if (docOptions.limit) { + docLimit = docOptions.limit; + } + + docOptions.limit = 20; //default per page this.data.database.buildAllDocs(docOptions); if (docOptions.startkey && docOptions.startkey.indexOf('_design') > -1) { @@ -212,7 +223,7 @@ function(app, FauxtonAPI, Documents, Databases) { this.documentsView = this.setView("#dashboard-lower-content", new Documents.Views.AllDocsList({ collection: this.data.database.allDocs, - docLimit: parseInt(docOptions.limit, 10) + docLimit: parseInt(docLimit, 10) })); this.crumbs = [ @@ -224,8 +235,14 @@ function(app, FauxtonAPI, Documents, Databases) { viewFn: function (databaseName, ddoc, view) { var params = app.getParams(), - decodeDdoc = decodeURIComponent(ddoc); + decodeDdoc = decodeURIComponent(ddoc), + docLimit; + + if (params.limit) { + docLimit = params.limit; + } + params.limit = 20; //default per page view = view.replace(/\?.*$/,''); this.data.indexedDocs = new Documents.IndexCollection(null, { @@ -245,7 +262,7 @@ function(app, FauxtonAPI, Documents, Databases) { model: this.data.database, ddocs: this.data.designDocs, viewName: view, - params: params, + params: _.extend(params, {limit: docLimit}), newView: false, database: this.data.database, ddocInfo: ddocInfo @@ -258,7 +275,8 @@ function(app, FauxtonAPI, Documents, Databases) { collection: this.data.indexedDocs, nestedView: Documents.Views.Row, viewList: true, - ddocInfo: ddocInfo + ddocInfo: ddocInfo, + docLimit: parseInt(docLimit, 10) })); this.sidebar.setSelectedTab(app.utils.removeSpecialCharacters(ddoc) + '_' + app.utils.removeSpecialCharacters(view)); @@ -296,14 +314,22 @@ function(app, FauxtonAPI, Documents, Databases) { updateAllDocsFromView: function (event) { var view = event.view, docOptions = app.getParams(), - ddoc = event.ddoc; + ddoc = event.ddoc, + docLimit; + + if (docOptions.limit) { + docLimit = docOptions.limit; + } + docOptions.limit = this.documentsView.perPage(); this.documentsView && this.documentsView.remove(); if (event.allDocs) { + this.eventAllDocs = true; // this is horrible. But I cannot get the trigger not to fire the route! this.data.database.buildAllDocs(docOptions); this.documentsView = this.setView("#dashboard-lower-content", new Documents.Views.AllDocsList({ - collection: this.data.database.allDocs + collection: this.data.database.allDocs, + docLimit: parseInt(docLimit, 10) })); return; } @@ -319,7 +345,8 @@ function(app, FauxtonAPI, Documents, Databases) { database: this.data.database, collection: this.data.indexedDocs, nestedView: Documents.Views.Row, - viewList: true + viewList: true, + docLimit: parseInt(docLimit, 10) })); this.apiUrl = [this.data.indexedDocs.url("apiurl"), "docs"]; @@ -352,6 +379,7 @@ function(app, FauxtonAPI, Documents, Databases) { paginate: function (options) { this.documentsView.forceRender(); + if (options.direction === 'next') { this.documentsView.collection.skipFirstItem = true; this.documentsView.collection.nextPage(options.perPage); http://git-wip-us.apache.org/repos/asf/couchdb/blob/98b54724/src/fauxton/app/addons/documents/templates/all_docs_number.html ---------------------------------------------------------------------- diff --git a/src/fauxton/app/addons/documents/templates/all_docs_number.html b/src/fauxton/app/addons/documents/templates/all_docs_number.html index fb9ea11..0461a4b 100644 --- a/src/fauxton/app/addons/documents/templates/all_docs_number.html +++ b/src/fauxton/app/addons/documents/templates/all_docs_number.html @@ -21,15 +21,15 @@ Showing <%=pageStart%> - <%= pageEnd %> <% } %>
- +
http://git-wip-us.apache.org/repos/asf/couchdb/blob/98b54724/src/fauxton/app/addons/documents/templates/sidebar.html ---------------------------------------------------------------------- diff --git a/src/fauxton/app/addons/documents/templates/sidebar.html b/src/fauxton/app/addons/documents/templates/sidebar.html index 7358960..750cd30 100644 --- a/src/fauxton/app/addons/documents/templates/sidebar.html +++ b/src/fauxton/app/addons/documents/templates/sidebar.html @@ -55,8 +55,8 @@ the License.