diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-08 15:08:41 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-08 15:08:41 +0300 |
commit | a0158b1a9c21f648fdbf79765bbc1e19e776b5d9 (patch) | |
tree | 04d5ecf7a5bb793e3f6a08914f5420dbda916171 /app/assets/javascripts/design_management | |
parent | 49a897eff9081b39665a4827b4f685e142569b99 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/design_management')
-rw-r--r-- | app/assets/javascripts/design_management/components/design_notes/design_discussion.vue | 25 | ||||
-rw-r--r-- | app/assets/javascripts/design_management/utils/cache_update.js | 48 |
2 files changed, 7 insertions, 66 deletions
diff --git a/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue b/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue index d28635db601..f87bd695560 100644 --- a/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue +++ b/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue @@ -2,18 +2,19 @@ import { ApolloMutation } from 'vue-apollo'; import { GlTooltipDirective, GlIcon, GlLoadingIcon, GlLink } from '@gitlab/ui'; import { s__ } from '~/locale'; +import createFlash from '~/flash'; import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; import allVersionsMixin from '../../mixins/all_versions'; import createNoteMutation from '../../graphql/mutations/create_note.mutation.graphql'; import toggleResolveDiscussionMutation from '../../graphql/mutations/toggle_resolve_discussion.mutation.graphql'; -import getDesignQuery from '../../graphql/queries/get_design.query.graphql'; import activeDiscussionQuery from '../../graphql/queries/active_discussion.query.graphql'; import DesignNote from './design_note.vue'; import DesignReplyForm from './design_reply_form.vue'; -import { updateStoreAfterAddDiscussionComment } from '../../utils/cache_update'; import { ACTIVE_DISCUSSION_SOURCE_TYPES } from '../../constants'; import ToggleRepliesWidget from './toggle_replies_widget.vue'; +import { hasErrors } from '../../utils/cache_update'; +import { ADD_DISCUSSION_COMMENT_ERROR } from '../../utils/error_messages'; export default { components: { @@ -136,21 +137,10 @@ export default { }, }, methods: { - addDiscussionComment( - store, - { - data: { createNote }, - }, - ) { - updateStoreAfterAddDiscussionComment( - store, - createNote, - getDesignQuery, - this.designVariables, - this.discussion.id, - ); - }, - onDone() { + onDone({ data: { createNote } }) { + if (hasErrors(createNote)) { + createFlash({ message: ADD_DISCUSSION_COMMENT_ERROR }); + } this.discussionComment = ''; this.hideForm(); if (this.shouldChangeResolvedStatus) { @@ -278,7 +268,6 @@ export default { :variables="{ input: mutationPayload, }" - :update="addDiscussionComment" @done="onDone" @error="onCreateNoteError" > diff --git a/app/assets/javascripts/design_management/utils/cache_update.js b/app/assets/javascripts/design_management/utils/cache_update.js index 7f41b7da369..dce33298efb 100644 --- a/app/assets/javascripts/design_management/utils/cache_update.js +++ b/app/assets/javascripts/design_management/utils/cache_update.js @@ -7,15 +7,11 @@ import { extractCurrentDiscussion, extractDesign, extractDesigns } from './desig import { ADD_IMAGE_DIFF_NOTE_ERROR, UPDATE_IMAGE_DIFF_NOTE_ERROR, - ADD_DISCUSSION_COMMENT_ERROR, designDeletionError, } from './error_messages'; const designsOf = data => data.project.issue.designCollection.designs; -const isParticipating = (design, username) => - design.issue.participants.nodes.some(participant => participant.username === username); - const deleteDesignsFromStore = (store, query, selectedDesigns) => { const sourceData = store.readQuery(query); @@ -57,36 +53,6 @@ const addNewVersionToStore = (store, query, version) => { }); }; -const addDiscussionCommentToStore = (store, createNote, query, queryVariables, discussionId) => { - const sourceData = store.readQuery({ - query, - variables: queryVariables, - }); - - const newParticipant = { - __typename: 'User', - ...createNote.note.author, - }; - - const data = produce(sourceData, draftData => { - const design = extractDesign(draftData); - const currentDiscussion = extractCurrentDiscussion(design.discussions, discussionId); - currentDiscussion.notes.nodes = [...currentDiscussion.notes.nodes, createNote.note]; - - if (!isParticipating(design, createNote.note.author.username)) { - design.issue.participants.nodes = [...design.issue.participants.nodes, newParticipant]; - } - - design.notesCount += 1; - }); - - store.writeQuery({ - query, - variables: queryVariables, - data, - }); -}; - const addImageDiffNoteToStore = (store, createImageDiffNote, query, variables) => { const sourceData = store.readQuery({ query, @@ -246,20 +212,6 @@ export const updateStoreAfterDesignsDelete = (store, data, query, designs) => { } }; -export const updateStoreAfterAddDiscussionComment = ( - store, - data, - query, - queryVariables, - discussionId, -) => { - if (hasErrors(data)) { - onError(data, ADD_DISCUSSION_COMMENT_ERROR); - } else { - addDiscussionCommentToStore(store, data, query, queryVariables, discussionId); - } -}; - export const updateStoreAfterAddImageDiffNote = (store, data, query, queryVariables) => { if (hasErrors(data)) { onError(data, ADD_IMAGE_DIFF_NOTE_ERROR); |