diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-20 13:37:47 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-20 13:37:47 +0000 |
commit | aee0a117a889461ce8ced6fcf73207fe017f1d99 (patch) | |
tree | 891d9ef189227a8445d83f35c1b0fc99573f4380 /app/assets/javascripts/design_management | |
parent | 8d46af3258650d305f53b819eabf7ab18d22f59e (diff) | |
download | gitlab-ce-aee0a117a889461ce8ced6fcf73207fe017f1d99.tar.gz |
Add latest changes from gitlab-org/gitlab@14-6-stable-eev14.6.0-rc42
Diffstat (limited to 'app/assets/javascripts/design_management')
6 files changed, 13 insertions, 66 deletions
diff --git a/app/assets/javascripts/design_management/components/design_note_pin.vue b/app/assets/javascripts/design_management/components/design_note_pin.vue deleted file mode 100644 index 320e0654aab..00000000000 --- a/app/assets/javascripts/design_management/components/design_note_pin.vue +++ /dev/null @@ -1,53 +0,0 @@ -<script> -import { GlIcon } from '@gitlab/ui'; -import { __, sprintf } from '~/locale'; - -export default { - name: 'DesignNotePin', - components: { - GlIcon, - }, - props: { - position: { - type: Object, - required: true, - }, - label: { - type: Number, - required: false, - default: null, - }, - }, - computed: { - isNewNote() { - return this.label === null; - }, - pinLabel() { - return this.isNewNote - ? __('Comment form position') - : sprintf(__("Comment '%{label}' position"), { label: this.label }); - }, - }, -}; -</script> - -<template> - <button - :style="position" - :aria-label="pinLabel" - :class="{ - 'btn-transparent comment-indicator gl-p-0': isNewNote, - 'js-image-badge badge badge-pill': !isNewNote, - }" - class="gl-absolute gl-display-flex gl-align-items-center gl-justify-content-center gl-font-lg gl-outline-0!" - type="button" - @mousedown="$emit('mousedown', $event)" - @mouseup="$emit('mouseup', $event)" - @click="$emit('click', $event)" - > - <gl-icon v-if="isNewNote" name="image-comment-dark" :size="24" /> - <template v-else> - {{ label }} - </template> - </button> -</template> 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 813f87452d8..10976202d06 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 @@ -1,11 +1,12 @@ <script> -import { GlTooltipDirective, GlIcon, GlLoadingIcon, GlLink, GlBadge } from '@gitlab/ui'; +import { GlTooltipDirective, GlIcon, GlLoadingIcon, GlLink } from '@gitlab/ui'; import { ApolloMutation } from 'vue-apollo'; import createFlash from '~/flash'; import { s__ } from '~/locale'; import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue'; import { updateGlobalTodoCount } from '~/vue_shared/components/sidebar/todo_toggle/utils'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; +import DesignNotePin from '~/vue_shared/components/design_management/design_note_pin.vue'; import { ACTIVE_DISCUSSION_SOURCE_TYPES } from '../../constants'; import createNoteMutation from '../../graphql/mutations/create_note.mutation.graphql'; import toggleResolveDiscussionMutation from '../../graphql/mutations/toggle_resolve_discussion.mutation.graphql'; @@ -30,7 +31,7 @@ export default { GlLink, ToggleRepliesWidget, TimeAgoTooltip, - GlBadge, + DesignNotePin, }, directives: { GlTooltip: GlTooltipDirective, @@ -213,12 +214,7 @@ export default { <template> <div class="design-discussion-wrapper"> - <gl-badge - class="gl-display-flex gl-align-items-center gl-justify-content-center gl-cursor-pointer" - :class="{ resolved: discussion.resolved }" - > - {{ discussion.index }} - </gl-badge> + <design-note-pin :is-resolved="discussion.resolved" :label="discussion.index" /> <ul class="design-discussion bordered-box gl-relative gl-p-0 gl-list-style-none" data-qa-selector="design_discussion_content" diff --git a/app/assets/javascripts/design_management/components/design_overlay.vue b/app/assets/javascripts/design_management/components/design_overlay.vue index 7815a57ce18..b058709b316 100644 --- a/app/assets/javascripts/design_management/components/design_overlay.vue +++ b/app/assets/javascripts/design_management/components/design_overlay.vue @@ -1,9 +1,9 @@ <script> import { __ } from '~/locale'; +import DesignNotePin from '~/vue_shared/components/design_management/design_note_pin.vue'; import { ACTIVE_DISCUSSION_SOURCE_TYPES } from '../constants'; import updateActiveDiscussionMutation from '../graphql/mutations/update_active_discussion.mutation.graphql'; import activeDiscussionQuery from '../graphql/queries/active_discussion.query.graphql'; -import DesignNotePin from './design_note_pin.vue'; export default { name: 'DesignOverlay', @@ -251,9 +251,6 @@ export default { !discussionNotes.some(({ id }) => id === this.activeDiscussion.id) ); }, - designPinClass(note) { - return { inactive: this.isNoteInactive(note), resolved: note.resolved }; - }, }, i18n: { newCommentButtonLabel: __('Add comment to design'), @@ -287,7 +284,8 @@ export default { ? getNotePositionStyle(movingNoteNewPosition) : getNotePositionStyle(note.position) " - :class="designPinClass(note)" + :is-inactive="isNoteInactive(note)" + :is-resolved="note.resolved" @mousedown.stop="onNoteMousedown($event, note)" @mouseup.stop="onNoteMouseup(note)" /> diff --git a/app/assets/javascripts/design_management/graphql/fragments/discussion_resolved_status.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/discussion_resolved_status.fragment.graphql index 7483b508721..9ad85017921 100644 --- a/app/assets/javascripts/design_management/graphql/fragments/discussion_resolved_status.fragment.graphql +++ b/app/assets/javascripts/design_management/graphql/fragments/discussion_resolved_status.fragment.graphql @@ -1,8 +1,10 @@ fragment ResolvedStatus on Discussion { + id resolvable resolved resolvedAt resolvedBy { + id name webUrl } diff --git a/app/assets/javascripts/design_management/graphql/mutations/upload_design.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/upload_design.mutation.graphql index 111f5ac18a7..34d683ac1ee 100644 --- a/app/assets/javascripts/design_management/graphql/mutations/upload_design.mutation.graphql +++ b/app/assets/javascripts/design_management/graphql/mutations/upload_design.mutation.graphql @@ -3,6 +3,7 @@ mutation uploadDesign($files: [Upload!]!, $projectPath: ID!, $iid: ID!) { designManagementUpload(input: { projectPath: $projectPath, iid: $iid, files: $files }) { + # eslint-disable-next-line @graphql-eslint/require-id-when-available designs { ...DesignItem versions { @@ -14,6 +15,7 @@ mutation uploadDesign($files: [Upload!]!, $projectPath: ID!, $iid: ID!) { } } skippedDesigns { + id filename } errors diff --git a/app/assets/javascripts/design_management/graphql/queries/get_design.query.graphql b/app/assets/javascripts/design_management/graphql/queries/get_design.query.graphql index 99a61191c6e..a5394457f73 100644 --- a/app/assets/javascripts/design_management/graphql/queries/get_design.query.graphql +++ b/app/assets/javascripts/design_management/graphql/queries/get_design.query.graphql @@ -10,8 +10,10 @@ query getDesign( project(fullPath: $fullPath) { id issue(iid: $iid) { + id designCollection { designs(atVersion: $atVersion, filenames: $filenames) { + # eslint-disable-next-line @graphql-eslint/require-id-when-available nodes { ...DesignItem issue { |