summaryrefslogtreecommitdiff
path: root/src/fauxton/app/addons/documents/resources.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/fauxton/app/addons/documents/resources.js')
-rw-r--r--src/fauxton/app/addons/documents/resources.js25
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;
}
+
});