diff options
Diffstat (limited to 'app/assets/javascripts/releases/components/release_block.vue')
-rw-r--r-- | app/assets/javascripts/releases/components/release_block.vue | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/assets/javascripts/releases/components/release_block.vue b/app/assets/javascripts/releases/components/release_block.vue index 88b6b4732b1..2dacd8549ad 100644 --- a/app/assets/javascripts/releases/components/release_block.vue +++ b/app/assets/javascripts/releases/components/release_block.vue @@ -5,6 +5,7 @@ import { GlTooltipDirective, GlLink, GlBadge } from '@gitlab/ui'; import Icon from '~/vue_shared/components/icon.vue'; import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue'; import timeagoMixin from '~/vue_shared/mixins/timeago'; +import MilestoneList from './milestone_list.vue'; import { __, sprintf } from '../../locale'; export default { @@ -14,6 +15,7 @@ export default { GlBadge, Icon, UserAvatarLink, + MilestoneList, }, directives: { GlTooltip: GlTooltipDirective, @@ -49,6 +51,20 @@ export default { hasAuthor() { return !_.isEmpty(this.author); }, + milestones() { + // At the moment, a release can only be associated to + // one milestone. This will be expanded to be many-to-many + // in the near future, so we pass the milestone as an + // array here in anticipation of this change. + return [this.release.milestone]; + }, + shouldRenderMilestones() { + // Similar to the `milestones` computed above, + // this check will need to be updated once + // the API begins sending an array of milestones + // instead of just a single object. + return Boolean(this.release.milestone); + }, }, }; </script> @@ -73,6 +89,12 @@ export default { <span v-gl-tooltip.bottom :title="__('Tag')">{{ release.tag_name }}</span> </div> + <milestone-list + v-if="shouldRenderMilestones" + class="append-right-4 js-milestone-list" + :milestones="milestones" + /> + <div class="append-right-4"> • <span v-gl-tooltip.bottom :title="tooltipTitle(release.released_at)"> |