fix(ui): error in updateQuery handlers on store reset

This commit is contained in:
Guillaume Chau
2018-06-21 15:36:44 +02:00
parent 4683a7fc5d
commit 92fe96e68b
2 changed files with 13 additions and 2 deletions
@@ -64,6 +64,7 @@ export default {
{
document: VIEW_REMOVED,
updateQuery: (previousResult, { subscriptionData }) => {
if (!previousResult.views) return { views: [] }
const index = previousResult.views.findIndex(r => r.id === subscriptionData.data.viewRemoved.id)
if (index === -1) return previousResult
const views = previousResult.views.slice()
@@ -77,6 +78,11 @@ export default {
document: VIEW_CHANGED,
updateQuery: (previousResult, { subscriptionData }) => {
const view = subscriptionData.data.viewChanged
if (!previousResult.views) {
return {
views: [view]
}
}
const index = previousResult.views.findIndex(r => r.id === view.id)
if (index === -1) return previousResult
const views = previousResult.views.slice()
@@ -7,6 +7,11 @@
:document="require('../graphql/suggestionAdded.gql')"
:updateQuery="(previousResult, { subscriptionData }) => {
const newSuggestion = subscriptionData.data.suggestionAdded
if (!previousResult.suggestions) {
return {
suggestions: [newSuggestion]
}
}
if (previousResult.suggestions.find(s => s.id === newSuggestion.id)) {
return previousResult
}
@@ -26,9 +31,9 @@
<ApolloSubscribeToMore
:document="require('../graphql/suggestionRemoved.gql')"
:updateQuery="(previousResult, { subscriptionData }) => ({
suggestions: previousResult.suggestions.filter(
suggestions: previousResult.suggestions ? previousResult.suggestions.filter(
s => s.id !== subscriptionData.data.suggestionRemoved.id
)
) : []
})"
/>