better naming

This commit is contained in:
Eric Burel 2018-10-02 15:38:36 +02:00
parent 90d0e0c5a9
commit fc57ddf183
2 changed files with 15 additions and 16 deletions

View file

@ -6,7 +6,7 @@ HoC that provides access to flash messages stored in Redux state and actions to
of the apollo-link-state mutation patterns of the apollo-link-state mutation patterns
*/ */
import { registerMutation, registerDefault } from 'meteor/vulcan:lib'; import { registerStateLinkMutation, registerStateLinkDefault } from 'meteor/vulcan:lib';
import { graphql, compose } from 'react-apollo'; import { graphql, compose } from 'react-apollo';
import gql from 'graphql-tag'; import gql from 'graphql-tag';
// 1. Define the queries // 1. Define the queries
@ -42,12 +42,12 @@ const clearQuery = gql`
if (Meteor.isClient) { if (Meteor.isClient) {
// init the flash message state // init the flash message state
registerDefault({ registerStateLinkDefault({
name: 'flashMessages', name: 'flashMessages',
defaultValue: [] defaultValue: []
}); });
// mutations (equivalent to reducers) // mutations (equivalent to reducers)
registerMutation({ registerStateLinkMutation({
name: 'flashMessagesFlash', name: 'flashMessagesFlash',
mutation: (obj, args, context, info) => { mutation: (obj, args, context, info) => {
// get relevant values from args // get relevant values from args
@ -76,7 +76,7 @@ if (Meteor.isClient) {
return null; return null;
} }
}); });
registerMutation({ registerStateLinkMutation({
name: 'flashMessagesMarkAsSeen', name: 'flashMessagesMarkAsSeen',
mutation: (obj, args, context) => { mutation: (obj, args, context) => {
const { cache } = context; const { cache } = context;
@ -90,7 +90,7 @@ if (Meteor.isClient) {
return null; return null;
} }
}); });
registerMutation({ registerStateLinkMutation({
name: 'flashMessagesClear', name: 'flashMessagesClear',
mutation: (obj, args, context) => { mutation: (obj, args, context) => {
const { cache } = context; const { cache } = context;
@ -104,11 +104,11 @@ if (Meteor.isClient) {
return null; return null;
} }
}); });
registerMutation({ registerStateLinkMutation({
name: 'flashMessagesClearSeen', name: 'flashMessagesClearSeen',
mutation: (obj, args, context) => { mutation: (obj, args, context) => {
const { cache } = context; const { cache } = context;
const currentFlashMessages = cache.readData({ query: GET_FLASH_MESSAGES }); const currentFlashMessages = cache.readData({ query: getMessagesQuery });
const newValue = currentFlashMessages.map(message => (message.seen ? { ...message, show: false } : message)); const newValue = currentFlashMessages.map(message => (message.seen ? { ...message, show: false } : message));
const data = { const data = {
flashMessages: newValue flashMessages: newValue
@ -137,7 +137,6 @@ const withMessages = compose(
// equivalent to mapStateToProps (map the graphql query to the component props) // equivalent to mapStateToProps (map the graphql query to the component props)
graphql(getMessagesQuery, { graphql(getMessagesQuery, {
props: ({ ownProps, data /*: { flashMessages }*/ }) => { props: ({ ownProps, data /*: { flashMessages }*/ }) => {
console.log(data.flashMessages);
const { flashMessages } = data; const { flashMessages } = data;
return { ...ownProps, messages: flashMessages }; return { ...ownProps, messages: flashMessages };
} }

View file

@ -19,8 +19,8 @@ import { withClientState } from 'apollo-link-state';
export const createStateLink = ({ cache, resolvers, defaults, ...otherOptions }) => { export const createStateLink = ({ cache, resolvers, defaults, ...otherOptions }) => {
const stateLink = withClientState({ const stateLink = withClientState({
cache, cache,
defaults: defaults || getDefaults(), defaults: defaults || getStateLinkDefaults(),
resolvers: resolvers || getResolvers(), resolvers: resolvers || getStateLinkResolvers(),
...otherOptions ...otherOptions
}); });
return stateLink; return stateLink;
@ -31,21 +31,21 @@ const registeredDefaults = {};
/** /**
* Defaults are default response to queries * Defaults are default response to queries
*/ */
export const registerDefault = ({ name, defaultValue, options = {} }) => { export const registerStateLinkDefault = ({ name, defaultValue, options = {} }) => {
registeredDefaults[name] = defaultValue; registeredDefaults[name] = defaultValue;
return registeredDefaults; return registeredDefaults;
}; };
export const getDefaults = () => registeredDefaults; export const getStateLinkDefaults = () => registeredDefaults;
// Mutation are equivalent to a Redux Action + Reducer // Mutation are equivalent to a Redux Action + Reducer
// except it uses GraphQL to retrieve/update data in the cache // except it uses GraphQL to retrieve/update data in the cache
const registeredMutations = {}; const registeredMutations = {};
export const registerMutation = ({ name, mutation, options = {} }) => { export const registerStateLinkMutation = ({ name, mutation, options = {} }) => {
registeredMutations[name] = mutation; registeredMutations[name] = mutation;
return registeredMutations; return registeredMutations;
}; };
export const getMutations = () => registeredMutations; export const getStateLinkMutations = () => registeredMutations;
export const getResolvers = () => ({ export const getStateLinkResolvers = () => ({
Mutation: getMutations() Mutation: getStateLinkMutations()
}); });