diff options
| -rw-r--r-- | app/index.js | 2 | ||||
| -rw-r--r-- | app/node_modules/okquery/index.js | 15 |
2 files changed, 12 insertions, 5 deletions
diff --git a/app/index.js b/app/index.js index 963bfd0..8cca3ee 100644 --- a/app/index.js +++ b/app/index.js @@ -238,6 +238,8 @@ OKCMS.prototype._createQueries = function(queryConfig, resourceCache) { resource: resource, query: query, as: config.as, + sortBy: config.sortBy, + descending: config.descending }); }); }; diff --git a/app/node_modules/okquery/index.js b/app/node_modules/okquery/index.js index 519bc08..4051f95 100644 --- a/app/node_modules/okquery/index.js +++ b/app/node_modules/okquery/index.js @@ -21,6 +21,10 @@ function OKQuery(options) { if (isobject(query)) query = cloneDeep(query); + // Queries are ordered by index by default + var sortField = options.sortBy || '__index'; + var descending = options.descending || false; + Object.defineProperty(this, 'resource', { value: resource, writable: false, @@ -40,7 +44,9 @@ function OKQuery(options) { }); this.get = createQuery(resource, query, { - default: options.default + default: options.default, + sortField: sortField, + descending : descending }); } @@ -53,7 +59,7 @@ function createQuery(resource, query, options) { } else if (isDynamic(query)) { query = queryDynamic(resource); } else if (isSet(query)) { - query = queryAll(resource); + query = queryAll(resource, options.sortField, options.descending); } else { query = querySingle(resource, query); } @@ -100,10 +106,9 @@ function queryDynamic(resource) { }; } -function queryAll(resource) { +function queryAll(resource, sortField, descending) { return function() { - // Always return sorted results - return resource.sortBy('__index'); + return resource.sortBy(sortField, descending); }; } |
