diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-22 18:08:25 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-22 18:08:25 +0300 |
commit | 9ed2b33fff06f930bd7445b3316cbe9933c48ea0 (patch) | |
tree | 7e2f2cb39468ad7802e603e8710311b2c6582939 /app/assets/javascripts/notes | |
parent | edd183a633915eacd9b73cab43ea839a4cd42bf6 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/notes')
3 files changed, 22 insertions, 1 deletions
diff --git a/app/assets/javascripts/notes/components/discussion_notes.vue b/app/assets/javascripts/notes/components/discussion_notes.vue index a1e887c47d0..8ac915c3c03 100644 --- a/app/assets/javascripts/notes/components/discussion_notes.vue +++ b/app/assets/javascripts/notes/components/discussion_notes.vue @@ -127,6 +127,7 @@ export default { :help-page-path="helpPagePath" :show-reply-button="userCanReply" :discussion-root="true" + :discussion-resolve-path="discussion.resolve_path" @handleDeleteNote="$emit('deleteNote')" @startReplying="$emit('startReplying')" > @@ -171,6 +172,7 @@ export default { :help-page-path="helpPagePath" :line="diffLine" :discussion-root="index === 0" + :discussion-resolve-path="discussion.resolve_path" @handleDeleteNote="$emit('deleteNote')" > <slot v-if="index === 0" slot="avatar-badge" name="avatar-badge"></slot> diff --git a/app/assets/javascripts/notes/components/noteable_note.vue b/app/assets/javascripts/notes/components/noteable_note.vue index 4f45fcb0062..d859e03dc12 100644 --- a/app/assets/javascripts/notes/components/noteable_note.vue +++ b/app/assets/javascripts/notes/components/noteable_note.vue @@ -73,6 +73,11 @@ export default { required: false, default: false, }, + discussionResolvePath: { + type: String, + required: false, + default: '', + }, }, data() { return { @@ -81,6 +86,7 @@ export default { isRequesting: false, isResolving: false, commentLineStart: {}, + resolveAsThread: this.glFeatures.removeResolveNote, }; }, computed: { @@ -133,6 +139,8 @@ export default { return this.note.isDraft; }, canResolve() { + if (this.glFeatures.removeResolveNote && !this.discussionRoot) return false; + return ( this.note.current_user.can_resolve || (this.note.isDraft && this.note.discussion_id !== null) diff --git a/app/assets/javascripts/notes/mixins/resolvable.js b/app/assets/javascripts/notes/mixins/resolvable.js index 087b5828cce..7de8746fbb1 100644 --- a/app/assets/javascripts/notes/mixins/resolvable.js +++ b/app/assets/javascripts/notes/mixins/resolvable.js @@ -1,12 +1,18 @@ import { deprecatedCreateFlash as Flash } from '~/flash'; import { __ } from '~/locale'; +import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; export default { + mixins: [glFeatureFlagsMixin()], computed: { discussionResolved() { if (this.discussion) { const { notes, resolved } = this.discussion; + if (this.glFeatures.removeResolveNote) { + return resolved; + } + if (notes) { // Decide resolved state using store. Only valid for discussions. return notes.filter(note => !note.system).every(note => note.resolved); @@ -38,7 +44,12 @@ export default { this.isResolving = true; const isResolved = this.discussionResolved || resolvedState; const discussion = this.resolveAsThread; - const endpoint = discussion ? this.discussion.resolve_path : `${this.note.path}/resolve`; + let endpoint = + discussion && this.discussion ? this.discussion.resolve_path : `${this.note.path}/resolve`; + + if (this.glFeatures.removeResolveNote && this.discussionResolvePath) { + endpoint = this.discussionResolvePath; + } return this.toggleResolveNote({ endpoint, isResolved, discussion }) .then(() => { |