From 7a921915c3f1ae23b332d4aa7281f754ab4ff74a Mon Sep 17 00:00:00 2001 From: SachaG Date: Thu, 5 Oct 2017 10:17:14 +0900 Subject: [PATCH] Small fixes --- .../example-forum/lib/components/posts/PostsList.jsx | 2 +- .../vulcan-core/lib/modules/containers/withList.js | 4 +++- packages/vulcan-lib/lib/modules/collections.js | 10 +++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/example-forum/lib/components/posts/PostsList.jsx b/packages/example-forum/lib/components/posts/PostsList.jsx index a01175f38..676368990 100644 --- a/packages/example-forum/lib/components/posts/PostsList.jsx +++ b/packages/example-forum/lib/components/posts/PostsList.jsx @@ -17,7 +17,7 @@ const PostsList = ({className, results, loading, count, totalCount, loadMore, sh const hasMore = totalCount > results.length; return ( -
+
{showHeader ? : null} {error ? : null }
diff --git a/packages/vulcan-core/lib/modules/containers/withList.js b/packages/vulcan-core/lib/modules/containers/withList.js index b1eb20892..3e683cbae 100644 --- a/packages/vulcan-core/lib/modules/containers/withList.js +++ b/packages/vulcan-core/lib/modules/containers/withList.js @@ -203,7 +203,9 @@ const queryReducer = (previousResults, action, collection, mergedTerms, listReso let newResults = previousResults; // get mongo selector and options objects based on current terms - const { selector, options } = collection.getParameters(mergedTerms, apolloClient); + const result = collection.getParameters(mergedTerms, apolloClient); + const { selector, options } = result; + const mingoQuery = Mingo.Query(selector); // function to remove a document from a results object, used by edit and remove cases below diff --git a/packages/vulcan-lib/lib/modules/collections.js b/packages/vulcan-lib/lib/modules/collections.js index a01b5c95d..38df3817c 100644 --- a/packages/vulcan-lib/lib/modules/collections.js +++ b/packages/vulcan-lib/lib/modules/collections.js @@ -197,12 +197,20 @@ export const createCollection = options => { // handle view option if (terms.view && collection.views[terms.view]) { const view = collection.views[terms.view]; - parameters = Utils.deepExtend(true, parameters, view(terms, apolloClient)); + parameters = Utils.deepExtend(true, parameters, view(terms, apolloClient, context)); } // iterate over posts.parameters callbacks parameters = runCallbacks(`${collectionName.toLowerCase()}.parameters`, parameters, _.clone(terms), apolloClient, context); + if (Meteor.isClient) { + parameters = runCallbacks(`${collectionName.toLowerCase()}.parameters.client`, parameters, _.clone(terms), apolloClient); + } + + if (Meteor.isServer) { + parameters = runCallbacks(`${collectionName.toLowerCase()}.parameters.server`, parameters, _.clone(terms), context); + } + // extend sort to sort posts by _id to break ties, unless there's already an id sort // NOTE: always do this last to avoid overriding another sort if (!(parameters.options.sort && parameters.options.sort._id)) {