compose( graphql(documents), graphql(addDocument, { options: ({ history }) => ({ refetchQueries: [{ query: documents }], onCompleted: (mutation) => { history.push(`/documents/${mutation.addDocument._id}/edit`); }, }), }), )(Documents)
compose( graphql(ordersSummaryQuery, { options: (props) => ({ variables: vars }), props: ({data: { loading, orders, refetch }}) => ({ totalSize: loading ? 0 : orders.totalSize, orders: loading ? []: orders.orders, currentPage: vars.page, pageCount: loading ? 0 : Math.ceil(orders.totalSize / vars.pageSize), navigateToPage: (page) => { vars.page = Number(page); refetch(vars)}, pageSize: vars.pageSize, setPageSize: (size) => { vars.pageSize = Number(size); refetch(vars)}, sortKey: vars.sort, setSortProperty: (key) => { vars.sort = key; refetch(vars)}, }) } ), graphql(shipOrder, { props: ({ mutate }) => ({ toggleShipped: (id, shipped) => mutate({ variables: { id, shipped }}) }) }) )(OrdersTable)
compose( graphql(userQuery, { options: ({ match }) => ({
compose( graphql(ListChat, { options: {
compose( graphql(Post, { options: { fetchPolicy: 'no-cache' }, props: (props) => ({ onSubmit: chat => { props.mutate({ variables: chat, optimisticResponse: { __typename: 'Mutation', post: { __typename: ChatHistory, id: chat.createdAt, userId: chat.userId, message: chat.message, createdAt: chat.createdAt } }, update: (proxy, {data: {post}}) => { const data = proxy.readQuery({ query: ListChat }); data.listChats.items.push(Object.assign({}, post)); proxy.writeData({query: ListChat, data}); } }) } }) }) )(ChatInput)
compose( graphql(userQuery), graphql(updateUserMutation, { name: 'updateUser', options: () => ({ refetchQueries: [{ query: userQuery }], onCompleted: () => { Bert.alert('Profile updated!', 'success'); }, onError: (error) => { Bert.alert(error.message, 'danger'); }, }), }), graphql(removeUserMutation, { name: 'removeUser', options: () => ({ onCompleted: () => { Bert.alert('User removed!', 'success'); }, onError: (error) => { Bert.alert(error.message, 'danger'); }, }), }), )(withApollo(Profile))
compose( graphql(productsList,
compose( graphql(userSettingsQuery), graphql(addUserSettingMutation, { name: 'addUserSetting', options: () => ({ refetchQueries: [{ query: userSettingsQuery }], onCompleted: () => { Bert.alert('Setting added!', 'success'); }, }), }), graphql(updateUserSettingMutation, { name: 'updateUserSetting', options: () => ({ refetchQueries: [{ query: userSettingsQuery }], onCompleted: () => { Bert.alert('Setting updated!', 'success'); }, }), }), graphql(removeUserSettingMutation, { name: 'removeUserSetting', options: () => ({ refetchQueries: [{ query: userSettingsQuery }], onCompleted: () => { Bert.alert('Setting removed!', 'success'); }, }), }), )(AdminUserSettings)