diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-23 12:08:48 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-23 12:08:48 +0000 |
commit | 8137303e47baaff97a36396cfb05efc0d99879a2 (patch) | |
tree | 89dc777fd2d63e259e4b8b2d781baf472d3429a0 /app/assets/javascripts/notes | |
parent | 5b1258ee90fb29779d6c9da3f488ebff61e243a3 (diff) | |
download | gitlab-ce-8137303e47baaff97a36396cfb05efc0d99879a2.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/notes')
-rw-r--r-- | app/assets/javascripts/notes/components/note_actions.vue | 28 | ||||
-rw-r--r-- | app/assets/javascripts/notes/components/noteable_note.vue | 8 | ||||
-rw-r--r-- | app/assets/javascripts/notes/index.js | 1 |
3 files changed, 29 insertions, 8 deletions
diff --git a/app/assets/javascripts/notes/components/note_actions.vue b/app/assets/javascripts/notes/components/note_actions.vue index c15c11ed9db..b9d5fe5c900 100644 --- a/app/assets/javascripts/notes/components/note_actions.vue +++ b/app/assets/javascripts/notes/components/note_actions.vue @@ -10,6 +10,7 @@ import eventHub from '~/sidebar/event_hub'; import UserAccessRoleBadge from '~/vue_shared/components/user_access_role_badge.vue'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import { splitCamelCase } from '~/lib/utils/text_utility'; +import AbuseCategorySelector from '~/abuse_reports/components/abuse_category_selector.vue'; import ReplyButton from './note_actions/reply_button.vue'; import TimelineEventButton from './note_actions/timeline_event_button.vue'; @@ -30,6 +31,7 @@ export default { GlDropdownItem, UserAccessRoleBadge, EmojiPicker: () => import('~/emoji/components/picker.vue'), + AbuseCategorySelector, }, directives: { GlTooltip: GlTooltipDirective, @@ -58,11 +60,6 @@ export default { required: false, default: '', }, - reportAbusePath: { - type: String, - required: false, - default: null, - }, isAuthor: { type: Boolean, required: false, @@ -135,6 +132,11 @@ export default { default: '', }, }, + data() { + return { + isReportAbuseDrawerOpen: false, + }; + }, computed: { ...mapState(['isPromoteCommentToTimelineEventInProgress']), ...mapGetters(['getUserDataByProp', 'getNoteableData', 'canUserAddIncidentTimelineEvents']), @@ -252,6 +254,9 @@ export default { awardName, }); }, + toggleReportAbuseDrawer(isOpen) { + this.isReportAbuseDrawerOpen = isOpen; + }, }, }; </script> @@ -362,7 +367,11 @@ export default { /> <!-- eslint-enable @gitlab/vue-no-data-toggle --> <ul class="dropdown-menu more-actions-dropdown dropdown-open-left"> - <gl-dropdown-item v-if="canReportAsAbuse" :href="reportAbusePath"> + <gl-dropdown-item + v-if="canReportAsAbuse" + data-testid="report-abuse-button" + @click="toggleReportAbuseDrawer(true)" + > {{ $options.i18n.reportAbuse }} </gl-dropdown-item> <gl-dropdown-item @@ -380,5 +389,12 @@ export default { </gl-dropdown-item> </ul> </div> + <abuse-category-selector + v-if="canReportAsAbuse" + :reported-user-id="authorId" + :reported-from-url="noteUrl" + :show-drawer="isReportAbuseDrawerOpen" + @close-drawer="toggleReportAbuseDrawer(false)" + /> </div> </template> diff --git a/app/assets/javascripts/notes/components/noteable_note.vue b/app/assets/javascripts/notes/components/noteable_note.vue index 826e7e5a3d0..93575ad57ff 100644 --- a/app/assets/javascripts/notes/components/noteable_note.vue +++ b/app/assets/javascripts/notes/components/noteable_note.vue @@ -43,6 +43,11 @@ export default { SafeHtml, }, mixins: [noteable, resolvable], + inject: { + reportAbusePath: { + default: '', + }, + }, props: { note: { type: Object, @@ -129,7 +134,7 @@ export default { }; }, canReportAsAbuse() { - return Boolean(this.note.report_abuse_path) && this.author.id !== this.getUserData.id; + return Boolean(this.reportAbusePath) && this.author.id !== this.getUserData.id; }, noteAnchorId() { return `note_${this.note.id}`; @@ -488,7 +493,6 @@ export default { :can-delete="note.current_user.can_edit" :can-report-as-abuse="canReportAsAbuse" :can-resolve="canResolve" - :report-abuse-path="note.report_abuse_path" :resolvable="note.resolvable || note.isDraft" :is-resolved="note.resolved || note.resolve_discussion" :is-resolving="isResolving" diff --git a/app/assets/javascripts/notes/index.js b/app/assets/javascripts/notes/index.js index 95263e666b2..2e09c9f2288 100644 --- a/app/assets/javascripts/notes/index.js +++ b/app/assets/javascripts/notes/index.js @@ -52,6 +52,7 @@ export default () => { store, provide: { showTimelineViewToggle, + reportAbusePath: notesDataset.reportAbusePath, }, data() { return { |