mirror of
https://github.com/wassname/talk.git
synced 2026-07-21 12:51:03 +08:00
More fetchMore events and more data for graphql events
This commit is contained in:
@@ -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) => {
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user