diff options
Diffstat (limited to 'src/fauxton/app/addons/documents/resources.js')
-rw-r--r-- | src/fauxton/app/addons/documents/resources.js | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/fauxton/app/addons/documents/resources.js b/src/fauxton/app/addons/documents/resources.js index 73d9a0a8f..c0b736f35 100644 --- a/src/fauxton/app/addons/documents/resources.js +++ b/src/fauxton/app/addons/documents/resources.js @@ -18,6 +18,28 @@ define([ function(app, FauxtonAPI) { var Documents = FauxtonAPI.addon(); + Documents.QueryParams = (function () { + var _eachParams = function (params, action) { + _.each(['startkey', 'endkey', 'key'], function (key) { + if (_.has(params, key)) { + params[key] = action(params[key]); + } + }); + + return params; + }; + + return { + parse: function (params) { + return _eachParams(params, JSON.parse); + }, + + stringify: function (params) { + return _eachParams(params, JSON.stringify); + } + }; + })(); + Documents.paginate = { history: [], calculate: function (doc, defaultParams, currentParams, _isAllDocs) { @@ -79,7 +101,7 @@ function(app, FauxtonAPI) { reset: function () { this.history = []; - } + } }; Documents.Doc = FauxtonAPI.Model.extend({ @@ -595,6 +617,7 @@ function(app, FauxtonAPI) { return timeString; } + }); |