From 09cce8f978b2e663e92ab40b760af1ca496ff545 Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Thu, 1 Dec 2016 12:13:27 +0900 Subject: [PATCH] get fragmentName from fragment, no need to define it separately anymore --- .../customization-demo/lib/components/CustomPostsItem.jsx | 1 - packages/framework-demo/lib/components/MoviesDetails.jsx | 2 -- packages/framework-demo/lib/components/MoviesItem.jsx | 1 - packages/framework-demo/lib/components/MoviesList.jsx | 1 - .../nova-base-components/lib/categories/CategoriesList.jsx | 1 - .../nova-base-components/lib/posts/PostsCommentsThread.jsx | 2 -- packages/nova-base-components/lib/posts/PostsItem.jsx | 1 - packages/nova-base-components/lib/posts/PostsList.jsx | 2 -- packages/nova-base-components/lib/posts/PostsPage.jsx | 2 -- packages/nova-base-components/lib/users/UsersProfile.jsx | 2 -- packages/nova-core/lib/containers/withEdit.js | 3 ++- packages/nova-core/lib/containers/withList.js | 5 +++-- packages/nova-core/lib/containers/withNew.js | 3 ++- packages/nova-core/lib/containers/withSingle.js | 5 +++-- packages/nova-forms/lib/FormWrapper.jsx | 2 -- 15 files changed, 10 insertions(+), 23 deletions(-) diff --git a/packages/customization-demo/lib/components/CustomPostsItem.jsx b/packages/customization-demo/lib/components/CustomPostsItem.jsx index bf79526c5..91b3dceaf 100644 --- a/packages/customization-demo/lib/components/CustomPostsItem.jsx +++ b/packages/customization-demo/lib/components/CustomPostsItem.jsx @@ -68,7 +68,6 @@ CustomPostsItem.propTypes = { post: React.PropTypes.object.isRequired }; -CustomPostsItem.fragmentName = 'PostsItemFragment'; CustomPostsItem.fragment = gql` fragment PostsItemFragment on Post { _id diff --git a/packages/framework-demo/lib/components/MoviesDetails.jsx b/packages/framework-demo/lib/components/MoviesDetails.jsx index 76327a5ab..ed5ef9fcd 100644 --- a/packages/framework-demo/lib/components/MoviesDetails.jsx +++ b/packages/framework-demo/lib/components/MoviesDetails.jsx @@ -27,7 +27,6 @@ const MoviesDetails = props => { } } -MoviesDetails.fragmentName = 'moviesDetailsFragment'; MoviesDetails.fragment = gql` fragment moviesDetailsFragment on Movie { _id @@ -45,7 +44,6 @@ MoviesDetails.fragment = gql` const options = { collection: Movies, queryName: 'moviesSingleQuery', - fragmentName: MoviesDetails.fragmentName, fragment: MoviesDetails.fragment, }; diff --git a/packages/framework-demo/lib/components/MoviesItem.jsx b/packages/framework-demo/lib/components/MoviesItem.jsx index dc76e691c..8f60ac5b9 100644 --- a/packages/framework-demo/lib/components/MoviesItem.jsx +++ b/packages/framework-demo/lib/components/MoviesItem.jsx @@ -68,7 +68,6 @@ class MoviesItem extends Component { }; -MoviesItem.fragmentName = 'moviesItemFragment'; MoviesItem.fragment = gql` fragment moviesItemFragment on Movie { _id diff --git a/packages/framework-demo/lib/components/MoviesList.jsx b/packages/framework-demo/lib/components/MoviesList.jsx index 60b02b3e8..09e0d5ad5 100644 --- a/packages/framework-demo/lib/components/MoviesList.jsx +++ b/packages/framework-demo/lib/components/MoviesList.jsx @@ -61,7 +61,6 @@ class MoviesList extends Component { const listOptions = { collection: Movies, queryName: 'moviesListQuery', - fragmentName: MoviesItem.fragmentName, fragment: MoviesItem.fragment, }; diff --git a/packages/nova-base-components/lib/categories/CategoriesList.jsx b/packages/nova-base-components/lib/categories/CategoriesList.jsx index 80cfda4b5..fe0e3855e 100644 --- a/packages/nova-base-components/lib/categories/CategoriesList.jsx +++ b/packages/nova-base-components/lib/categories/CategoriesList.jsx @@ -176,7 +176,6 @@ const fragment = gql` const categoriesListOptions = { collection: Categories, queryName: 'getCategoriesList', - fragmentName: 'categoriesListFragment', fragment: fragment }; diff --git a/packages/nova-base-components/lib/posts/PostsCommentsThread.jsx b/packages/nova-base-components/lib/posts/PostsCommentsThread.jsx index 46931629a..c202b5349 100644 --- a/packages/nova-base-components/lib/posts/PostsCommentsThread.jsx +++ b/packages/nova-base-components/lib/posts/PostsCommentsThread.jsx @@ -50,7 +50,6 @@ PostsCommentsThread.propTypes = { currentUser: React.PropTypes.object }; -PostsCommentsThread.fragmentName = 'commentsListFragment'; PostsCommentsThread.fragment = gql` fragment commentsListFragment on Comment { _id @@ -72,7 +71,6 @@ PostsCommentsThread.fragment = gql` const options = { collection: Comments, queryName: 'commentsListQuery', - fragmentName: PostsCommentsThread.fragmentName, fragment: PostsCommentsThread.fragment, }; diff --git a/packages/nova-base-components/lib/posts/PostsItem.jsx b/packages/nova-base-components/lib/posts/PostsItem.jsx index e47faf8d6..4e672544a 100644 --- a/packages/nova-base-components/lib/posts/PostsItem.jsx +++ b/packages/nova-base-components/lib/posts/PostsItem.jsx @@ -81,7 +81,6 @@ PostsItem.propTypes = { post: React.PropTypes.object.isRequired, }; -PostsItem.fragmentName = 'PostsItemFragment'; PostsItem.fragment = gql` fragment PostsItemFragment on Post { _id diff --git a/packages/nova-base-components/lib/posts/PostsList.jsx b/packages/nova-base-components/lib/posts/PostsList.jsx index b7199c404..d20dcba63 100644 --- a/packages/nova-base-components/lib/posts/PostsList.jsx +++ b/packages/nova-base-components/lib/posts/PostsList.jsx @@ -61,7 +61,6 @@ PostsList.propTypes = { // listResolverName: 'postsList', // totalResolverName: 'postsListTotal', // fragment: Posts.fragments.list, -// fragmentName: 'fullPostInfo', // ownPropsVariables: [ // // test note: can't overwrite atm // // {propName: 'limit', graphqlType: 'Int', defaultValue: 2, usedForTotal: false}, @@ -74,7 +73,6 @@ PostsList.propTypes = { const options = { collection: Posts, queryName: 'postsListQuery', - fragmentName: Telescope.getRawComponent('PostsItem').fragmentName, fragment: Telescope.getRawComponent('PostsItem').fragment, }; diff --git a/packages/nova-base-components/lib/posts/PostsPage.jsx b/packages/nova-base-components/lib/posts/PostsPage.jsx index 7c4857c54..bd217abff 100644 --- a/packages/nova-base-components/lib/posts/PostsPage.jsx +++ b/packages/nova-base-components/lib/posts/PostsPage.jsx @@ -39,7 +39,6 @@ PostsPage.propTypes = { document: React.PropTypes.object } -PostsPage.fragmentName = 'PostsSingleFragment' PostsPage.fragment = gql` fragment PostsSingleFragment on Post { _id @@ -91,7 +90,6 @@ PostsPage.fragment = gql` const options = { collection: Posts, queryName: 'postsSingleQuery', - fragmentName: PostsPage.fragmentName, fragment: PostsPage.fragment, }; diff --git a/packages/nova-base-components/lib/users/UsersProfile.jsx b/packages/nova-base-components/lib/users/UsersProfile.jsx index 501584437..fd3e7b25c 100644 --- a/packages/nova-base-components/lib/users/UsersProfile.jsx +++ b/packages/nova-base-components/lib/users/UsersProfile.jsx @@ -44,7 +44,6 @@ UsersProfile.propTypes = { UsersProfile.displayName = "UsersProfile"; -UsersProfile.fragmentName = 'usersSingleFragment'; UsersProfile.fragment = gql` fragment usersSingleFragment on User { _id @@ -92,7 +91,6 @@ UsersProfile.fragment = gql` const options = { collection: Users, queryName: 'usersSingleQuery', - fragmentName: UsersProfile.fragmentName, fragment: UsersProfile.fragment, }; diff --git a/packages/nova-core/lib/containers/withEdit.js b/packages/nova-core/lib/containers/withEdit.js index c030899db..70035d270 100644 --- a/packages/nova-core/lib/containers/withEdit.js +++ b/packages/nova-core/lib/containers/withEdit.js @@ -28,7 +28,8 @@ import gql from 'graphql-tag'; export default function withEdit(options) { - const {collection, fragmentName, fragment } = options, + const {collection, fragment } = options, + fragmentName = fragment.definitions[0].name.value, collectionName = collection._name, mutationName = collection.options.mutations.edit.name; diff --git a/packages/nova-core/lib/containers/withList.js b/packages/nova-core/lib/containers/withList.js index 64feeb7b5..3789b841e 100644 --- a/packages/nova-core/lib/containers/withList.js +++ b/packages/nova-core/lib/containers/withList.js @@ -4,8 +4,9 @@ import { graphql } from 'react-apollo'; import gql from 'graphql-tag'; export default function withList (options) { - - const { queryName, collection, fragment, fragmentName } = options, + console.log(options) + const { queryName, collection, fragment } = options, + fragmentName = fragment.definitions[0].name.value, listResolverName = collection.options.resolvers.list.name, totalResolverName = collection.options.resolvers.total.name; diff --git a/packages/nova-core/lib/containers/withNew.js b/packages/nova-core/lib/containers/withNew.js index 717a99888..313db7e8b 100644 --- a/packages/nova-core/lib/containers/withNew.js +++ b/packages/nova-core/lib/containers/withNew.js @@ -29,7 +29,8 @@ import update from 'immutability-helper'; export default function withNew(options) { // get options - const { collection, fragmentName, fragment, queryToUpdate } = options, + const { collection, fragment, queryToUpdate } = options, + fragmentName = fragment.definitions[0].name.value, collectionName = collection._name, mutationName = collection.options.mutations.new.name, listResolverName = collection.options.resolvers.list.name, diff --git a/packages/nova-core/lib/containers/withSingle.js b/packages/nova-core/lib/containers/withSingle.js index 201e38f3b..b1a8bea5d 100644 --- a/packages/nova-core/lib/containers/withSingle.js +++ b/packages/nova-core/lib/containers/withSingle.js @@ -4,8 +4,9 @@ import { graphql } from 'react-apollo'; import gql from 'graphql-tag'; export default function withSingle (options) { - - const { queryName, collection, fragment, fragmentName } = options, + + const { queryName, collection, fragment } = options, + fragmentName = fragment.definitions[0].name.value, singleResolverName = collection.options.resolvers.single.name; return graphql(gql` diff --git a/packages/nova-forms/lib/FormWrapper.jsx b/packages/nova-forms/lib/FormWrapper.jsx index b66c4c467..7358f712f 100644 --- a/packages/nova-forms/lib/FormWrapper.jsx +++ b/packages/nova-forms/lib/FormWrapper.jsx @@ -95,7 +95,6 @@ class FormWrapper extends Component{ let WrappedComponent; const prefix = `${this.props.collection._name}${Telescope.utils.capitalize(this.getFormType())}` - const fragmentName = `${prefix}FormFragment`; // props received from parent component (i.e. call) const parentProps = this.props; @@ -109,7 +108,6 @@ class FormWrapper extends Component{ // generic options for the withSingle, withNew, withEdit, and withRemove HoCs const options = { collection: this.props.collection, - fragmentName: fragmentName, fragment: this.getFragment(), };