diff options
Diffstat (limited to 'app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.vue')
-rw-r--r-- | app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.vue | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.vue index 730d11b1208..2cef37d5c2e 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.vue @@ -1,5 +1,5 @@ <script> -import { GlSafeHtmlDirective as SafeHtml } from '@gitlab/ui'; +import { GlSafeHtmlDirective as SafeHtml, GlLink } from '@gitlab/ui'; import { s__, n__ } from '~/locale'; import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; @@ -8,6 +8,9 @@ export default { directives: { SafeHtml, }, + components: { + GlLink, + }, mixins: [glFeatureFlagMixin()], props: { relatedLinks: { @@ -37,6 +40,17 @@ export default { return n__('mrWidget|Closes issue', 'mrWidget|Closes issues', this.relatedLinks.closingCount); }, + assignIssueText() { + if (this.relatedLinks.unassignedCount > 1) { + return s__('mrWidget|Assign yourself to these issues'); + } + return s__('mrWidget|Assign yourself to this issue'); + }, + shouldShowAssignToMeLink() { + return ( + this.relatedLinks.unassignedCount && this.relatedLinks.assignToMe && this.showAssignToMe + ); + }, }, }; </script> @@ -44,23 +58,28 @@ export default { <section> <p v-if="relatedLinks.closing" - :class="{ 'gl-display-line gl-m-0': glFeatures.restructuredMrWidget }" + :class="{ 'gl-display-inline gl-m-0': glFeatures.restructuredMrWidget }" > {{ closesText }} <span v-safe-html="relatedLinks.closing"></span> </p> <p v-if="relatedLinks.mentioned" - :class="{ 'gl-display-line gl-m-0': glFeatures.restructuredMrWidget }" + :class="{ 'gl-display-inline gl-m-0': glFeatures.restructuredMrWidget }" > + <span v-if="relatedLinks.closing && glFeatures.restructuredMrWidget">·</span> {{ n__('mrWidget|Mentions issue', 'mrWidget|Mentions issues', relatedLinks.mentionedCount) }} <span v-safe-html="relatedLinks.mentioned"></span> </p> <p - v-if="relatedLinks.assignToMe && showAssignToMe" - :class="{ 'gl-display-line gl-m-0': glFeatures.restructuredMrWidget }" + v-if="shouldShowAssignToMeLink" + :class="{ 'gl-display-inline gl-m-0': glFeatures.restructuredMrWidget }" > - <span v-html="relatedLinks.assignToMe /* eslint-disable-line vue/no-v-html */"></span> + <span> + <gl-link rel="nofollow" data-method="post" :href="relatedLinks.assignToMe">{{ + assignIssueText + }}</gl-link> + </span> </p> </section> </template> |