diff options
Diffstat (limited to 'app/assets/javascripts/issue_show/components')
3 files changed, 24 insertions, 4 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index b7e24a8b17e..2c9a512acdb 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -1,5 +1,5 @@ <script> -import { GlIcon, GlIntersectionObserver } from '@gitlab/ui'; +import { GlIcon, GlIntersectionObserver, GlTooltipDirective } from '@gitlab/ui'; import Visibility from 'visibilityjs'; import createFlash from '~/flash'; import Poll from '~/lib/utils/poll'; @@ -32,6 +32,9 @@ export default { formComponent, PinnedLinks, }, + directives: { + GlTooltip: GlTooltipDirective, + }, props: { endpoint: { required: true, @@ -183,6 +186,11 @@ export default { required: false, default: true, }, + isHidden: { + type: Boolean, + required: false, + default: false, + }, }, data() { const store = new Store({ @@ -508,6 +516,15 @@ export default { <span v-if="isConfidential" data-testid="confidential" class="issuable-warning-icon"> <gl-icon name="eye-slash" :aria-label="__('Confidential')" /> </span> + <span + v-if="isHidden" + v-gl-tooltip + :title="__('This issue is hidden because its author has been banned')" + data-testid="hidden" + class="issuable-warning-icon" + > + <gl-icon name="spam" /> + </span> <p class="gl-font-weight-bold gl-overflow-hidden gl-white-space-nowrap gl-text-overflow-ellipsis gl-my-0" :title="state.titleText" diff --git a/app/assets/javascripts/issue_show/components/description.vue b/app/assets/javascripts/issue_show/components/description.vue index 0812392f804..4c6a1478e95 100644 --- a/app/assets/javascripts/issue_show/components/description.vue +++ b/app/assets/javascripts/issue_show/components/description.vue @@ -123,6 +123,7 @@ export default { } }, }, + safeHtmlConfig: { ADD_TAGS: ['gl-emoji'] }, }; </script> @@ -136,7 +137,7 @@ export default { > <div ref="gfm-content" - v-safe-html="descriptionHtml" + v-safe-html:[$options.safeHtmlConfig]="descriptionHtml" :class="{ 'issue-realtime-pre-pulse': preAnimation, 'issue-realtime-trigger-pulse': pulseAnimation, diff --git a/app/assets/javascripts/issue_show/components/locked_warning.vue b/app/assets/javascripts/issue_show/components/locked_warning.vue index 96f5a7c88e0..f3c2a31bd5b 100644 --- a/app/assets/javascripts/issue_show/components/locked_warning.vue +++ b/app/assets/javascripts/issue_show/components/locked_warning.vue @@ -1,5 +1,4 @@ <script> -/* eslint-disable vue/no-v-html */ import { __, sprintf } from '~/locale'; export default { @@ -24,5 +23,8 @@ export default { </script> <template> - <div class="alert alert-danger" v-html="alertMessage"></div> + <div + class="alert alert-danger" + v-html="alertMessage /* eslint-disable-line vue/no-v-html */" + ></div> </template> |