mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 10:01:40 -05:00
better naming
This commit is contained in:
parent
90d0e0c5a9
commit
fc57ddf183
2 changed files with 15 additions and 16 deletions
|
@ -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 };
|
||||||
}
|
}
|
||||||
|
|
|
@ -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()
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue