Skip to content

Commit e7e2fb2

Browse files
author
Guillaume Chau
committed
fix(ui): Suggestions API fixes
1 parent 692d463 commit e7e2fb2

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

packages/@vue/cli-ui/src/components/SuggestionBar.vue

+12-6
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@
55
>
66
<ApolloSubscribeToMore
77
:document="require('../graphql/suggestionAdded.gql')"
8-
:updateQuery="(previousResult, { subscriptionData }) => ({
9-
suggestions: [
10-
...previousResult.suggestions,
11-
subscriptionData.data.suggestionAdded
12-
]
13-
})"
8+
:updateQuery="(previousResult, { subscriptionData }) => {
9+
const newSuggestion = subscriptionData.data.suggestionAdded
10+
if (previousResult.suggestions.find(s => s.id === newSuggestion.id)) {
11+
return previousResult
12+
}
13+
return {
14+
suggestions: [
15+
...previousResult.suggestions,
16+
newSuggestion
17+
]
18+
}
19+
}"
1420
/>
1521

1622
<ApolloSubscribeToMore

packages/@vue/cli-ui/src/graphql-api/connectors/suggestions.js

+9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
// Subs
22
const channels = require('../channels')
3+
// Connectors
4+
const { log } = require('../utils/logger')
35

46
const suggestions = []
57

@@ -25,18 +27,23 @@ function add (suggestion, context) {
2527
suggestionAdded: suggestion
2628
})
2729

30+
log('Suggestion added', suggestion.id)
31+
2832
return suggestion
2933
}
3034

3135
function remove (id, context) {
3236
const suggestion = findOne(id)
37+
if (!suggestion) return
3338
const index = suggestions.indexOf(suggestion)
3439
suggestions.splice(index, 1)
3540

3641
context.pubsub.publish(channels.SUGGESTION_REMOVED, {
3742
suggestionRemoved: suggestion
3843
})
3944

45+
log('Suggestion removed', suggestion.id)
46+
4047
return suggestion
4148
}
4249

@@ -55,6 +62,8 @@ function update (data, context) {
5562
suggestionUpdated: suggestion
5663
})
5764

65+
log('Suggestion updated', suggestion.id)
66+
5867
return suggestion
5968
}
6069

0 commit comments

Comments
 (0)