More fetchMore events and more data for graphql events

This commit is contained in:
Chi Vinh Le
2017-07-25 22:28:28 +07:00
parent d4bf5fd423
commit 8ecf55610c
2 changed files with 16 additions and 3 deletions
+1 -1
View File
@@ -124,7 +124,7 @@ export default (document, config = {}) => (WrappedComponent) => {
if (errors) {
throw new ResponseErrors(errors);
}
this.context.eventEmitter.emit(`mutation.${name}.success`, {variables});
this.context.eventEmitter.emit(`mutation.${name}.success`, {variables, data: res.data});
return Promise.resolve(res);
})
.catch((error) => {
+15 -2
View File
@@ -56,7 +56,8 @@ export default (document, config = {}) => (WrappedComponent) => {
const status = networkStatusToString(networkStatus);
this.context.eventEmitter.emit(`query.${name}.${status}`, {variables});
const {root} = separateDataAndRoot(data);
this.context.eventEmitter.emit(`query.${name}.${status}`, {variables, data: root});
}
wrappedConfig = {
@@ -86,13 +87,25 @@ export default (document, config = {}) => (WrappedComponent) => {
fetchMore: (lmArgs) => {
const fetchName = getDefinitionName(lmArgs.query);
this.context.eventEmitter.emit(
`query.${name}.fetchMore.${fetchName}`,
`query.${name}.fetchMore.${fetchName}.begin`,
{variables: lmArgs.variables});
// Resolve document fragments before passing it to `apollo-client`.
return args.data.fetchMore({
...lmArgs,
query: resolveFragments(lmArgs.query),
})
.then((res) => {
this.context.eventEmitter.emit(
`query.${name}.fetchMore.${fetchName}.success`,
{variables: lmArgs.variables, data: res.data});
return Promise.resolve(res);
})
.catch((err) => {
this.context.eventEmitter.emit(
`query.${name}.fetchMore.${fetchName}.error`,
{variables: lmArgs.variables, error: err});
throw err;
});
},
},