From a6af043686e4375d7944e91cae3d5b63c59edab0 Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Thu, 22 Mar 2018 16:29:31 -0400 Subject: Migrate to render props --- frontend/enhancers/enhancers.js | 80 ++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 49 deletions(-) (limited to 'frontend/enhancers/enhancers.js') diff --git a/frontend/enhancers/enhancers.js b/frontend/enhancers/enhancers.js index 3a483e2..2a200a9 100644 --- a/frontend/enhancers/enhancers.js +++ b/frontend/enhancers/enhancers.js @@ -14,6 +14,8 @@ import { } from '../queries/index'; import { perPage } from '../config'; +// THESE ARE CALLED CONNECTIONS, NOT ENHANCERS + export const itemEnhancer = graphql(ALL_ITEMS_QUERY, { name: 'itemsQuery', options({ page }) { @@ -50,62 +52,42 @@ export const singleItemEnhancer = graphql(SINGLE_ITEM_QUERY, { }), }); -export const removeFromCartEnhancer = graphql(REMOVE_FROM_CART_MUTATION, { - name: 'removeFromCart', - options: { - update: (proxy, payload) => { - const data = proxy.readQuery({ query: CURRENT_USER_QUERY }); - const cartItemId = payload.data.removeFromCart.id; - data.me.cart = data.me.cart.filter(item => item.id !== cartItemId); - proxy.writeQuery({ query: CURRENT_USER_QUERY, data }); - }, - }, -}); +// export const removeFromCartEnhancer = graphql(REMOVE_FROM_CART_MUTATION, { +// name: 'removeFromCart', +// options: { +// update: (proxy, payload) => { +// const data = proxy.readQuery({ query: CURRENT_USER_QUERY }); +// const cartItemId = payload.data.removeFromCart.id; +// data.me.cart = data.me.cart.filter(item => item.id !== cartItemId); +// proxy.writeQuery({ query: CURRENT_USER_QUERY, data }); +// }, +// }, +// }); -export const addToCartEnhancer = graphql(ADD_TO_CART_MUTATION, { - name: 'addToCart', - options: { - update: (proxy, payload) => { - const newCartItem = payload.data.addToCart; - const data = proxy.readQuery({ query: CURRENT_USER_QUERY }); - const existingIndex = data.me.cart.findIndex(cartItem => cartItem.id === newCartItem.id); - if (existingIndex >= 0) { - // already in cache, just replace it - data.me.cart = [...data.me.cart.slice(0, existingIndex), newCartItem, ...data.me.cart.slice(existingIndex + 1)]; - } else { - data.me.cart = [...data.me.cart, newCartItem]; - } - proxy.writeQuery({ query: CURRENT_USER_QUERY, data }); - }, - }, -}); +// export const addToCartEnhancer = graphql(ADD_TO_CART_MUTATION, { +// name: 'addToCart', +// options: { +// update: (proxy, payload) => { +// console.log('UODATEING CART ENAHACNER'); +// const newCartItem = payload.data.addToCart; +// const data = proxy.readQuery({ query: CURRENT_USER_QUERY }); +// const existingIndex = data.me.cart.findIndex(cartItem => cartItem.id === newCartItem.id); +// if (existingIndex >= 0) { +// // already in cache, just replace it +// data.me.cart = [...data.me.cart.slice(0, existingIndex), newCartItem, ...data.me.cart.slice(existingIndex + 1)]; +// } else { +// data.me.cart = [...data.me.cart, newCartItem]; +// } +// proxy.writeQuery({ query: CURRENT_USER_QUERY, data }); +// }, +// }, +// }); export const userEnhancer = graphql(CURRENT_USER_QUERY, { name: 'currentUser' }); -export const uiEnhancer = graphql(GET_UI_STATE, { name: 'ui' }); - export const updateUserEnhancer = graphql(UPDATE_USER_MUTATION, { name: 'updateUser', }); -export const updateUIEnhancer = graphql(UPDATE_UI, { - props: data => ({ - updateNetworkStatus: isConnected => - data.mutate({ - variables: { - ...data.ownProps.ui.uiData, - isConnected, - }, - }), - toggleCart: isCartOpen => - data.mutate({ - variables: { - ...data.ownProps.ui.uiData, - isCartOpen, - }, - }), - }), -}); - // export const const userEnhancer = graphql(CURRENT_USER_QUERY, { name: 'currentUser' }); export const createOrderEnhancer = graphql(CREATE_ORDER_MUTATION, { name: 'createOrder' }); -- cgit v1.3