summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/releases
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-10-16 00:06:16 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-10-16 00:06:16 +0000
commitc920712fab6abdc37de9444e6bbcd170c295b21a (patch)
tree0334235524cfd5d98080cf0b5a289eed6c1fae55 /app/assets/javascripts/releases
parent0ff031c7f4e2c7fe1b671b30fef569eb3fbea942 (diff)
downloadgitlab-ce-c920712fab6abdc37de9444e6bbcd170c295b21a.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/releases')
-rw-r--r--app/assets/javascripts/releases/list/components/release_block.vue34
1 files changed, 26 insertions, 8 deletions
diff --git a/app/assets/javascripts/releases/list/components/release_block.vue b/app/assets/javascripts/releases/list/components/release_block.vue
index c9c5a6db303..8d4b32e9dc0 100644
--- a/app/assets/javascripts/releases/list/components/release_block.vue
+++ b/app/assets/javascripts/releases/list/components/release_block.vue
@@ -1,7 +1,7 @@
<script>
/* eslint-disable @gitlab/vue-i18n/no-bare-strings */
import _ from 'underscore';
-import { GlTooltipDirective, GlLink, GlBadge } from '@gitlab/ui';
+import { GlTooltipDirective, GlLink, GlBadge, GlButton } 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';
@@ -9,19 +9,21 @@ import { __, n__, sprintf } from '~/locale';
import { slugify } from '~/lib/utils/text_utility';
import { getLocationHash } from '~/lib/utils/url_utility';
import { scrollToElement } from '~/lib/utils/common_utils';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
export default {
name: 'ReleaseBlock',
components: {
GlLink,
GlBadge,
+ GlButton,
Icon,
UserAvatarLink,
},
directives: {
GlTooltip: GlTooltipDirective,
},
- mixins: [timeagoMixin],
+ mixins: [timeagoMixin, glFeatureFlagsMixin()],
props: {
release: {
type: Object,
@@ -72,6 +74,11 @@ export default {
labelText() {
return n__('Milestone', 'Milestones', this.release.milestones.length);
},
+ shouldShowEditButton() {
+ return Boolean(
+ this.glFeatures.releaseEditPage && this.release._links && this.release._links.edit,
+ );
+ },
},
mounted() {
const hash = getLocationHash();
@@ -89,12 +96,23 @@ export default {
<template>
<div :id="id" :class="{ 'bg-line-target-blue': isHighlighted }" class="card release-block">
<div class="card-body">
- <h2 class="card-title mt-0">
- {{ release.name }}
- <gl-badge v-if="release.upcoming_release" variant="warning" class="align-middle">{{
- __('Upcoming Release')
- }}</gl-badge>
- </h2>
+ <div class="d-flex align-items-start">
+ <h2 class="card-title mt-0 mr-auto">
+ {{ release.name }}
+ <gl-badge v-if="release.upcoming_release" variant="warning" class="align-middle">{{
+ __('Upcoming Release')
+ }}</gl-badge>
+ </h2>
+ <gl-link
+ v-if="shouldShowEditButton"
+ v-gl-tooltip
+ class="btn btn-default js-edit-button ml-2"
+ :title="__('Edit this release')"
+ :href="release._links.edit"
+ >
+ <icon name="pencil" />
+ </gl-link>
+ </div>
<div class="card-subtitle d-flex flex-wrap text-secondary">
<div class="append-right-8">