From 2951ad343406f6b99d9dbc40af639042e6f5c01a Mon Sep 17 00:00:00 2001 From: Jayden Seric Date: Mon, 20 Nov 2017 00:31:02 +1100 Subject: [PATCH] Smarter cache updates on mutation responses. --- app/components/multiple-uploader.js | 14 ++++++-------- app/components/single-uploader.js | 14 ++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/app/components/multiple-uploader.js b/app/components/multiple-uploader.js index 1205ac5..29d5ebd 100644 --- a/app/components/multiple-uploader.js +++ b/app/components/multiple-uploader.js @@ -7,14 +7,12 @@ const MultipleUploader = ({ mutate }) => { const handleChange = ({ target }) => target.validity.valid && mutate({ - variables: { - files: target.files - }, - refetchQueries: [ - { - query: uploadsQuery - } - ] + variables: { files: target.files }, + update: (proxy, { data: { multipleUpload } }) => { + const data = proxy.readQuery({ query: uploadsQuery }) + data.uploads.push(...multipleUpload) + proxy.writeQuery({ query: uploadsQuery, data }) + } }) return diff --git a/app/components/single-uploader.js b/app/components/single-uploader.js index 9f290b4..8742782 100644 --- a/app/components/single-uploader.js +++ b/app/components/single-uploader.js @@ -7,14 +7,12 @@ const SingleUploader = ({ mutate }) => { const handleChange = ({ target }) => target.validity.valid && mutate({ - variables: { - file: target.files[0] - }, - refetchQueries: [ - { - query: uploadsQuery - } - ] + variables: { file: target.files[0] }, + update: (proxy, { data: { singleUpload } }) => { + const data = proxy.readQuery({ query: uploadsQuery }) + data.uploads.push(singleUpload) + proxy.writeQuery({ query: uploadsQuery, data }) + } }) return