diff options
Diffstat (limited to 'app/assets/javascripts/environments/components/environment_actions.vue')
-rw-r--r-- | app/assets/javascripts/environments/components/environment_actions.vue | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/app/assets/javascripts/environments/components/environment_actions.vue b/app/assets/javascripts/environments/components/environment_actions.vue index 2d98f00433a..98c95507168 100644 --- a/app/assets/javascripts/environments/components/environment_actions.vue +++ b/app/assets/javascripts/environments/components/environment_actions.vue @@ -1,8 +1,9 @@ <script> -import { GlDropdown, GlDropdownItem, GlIcon, GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui'; +import { GlDropdown, GlDropdownItem, GlIcon, GlTooltipDirective } from '@gitlab/ui'; import { formatTime } from '~/lib/utils/datetime_utility'; import { __, s__, sprintf } from '~/locale'; import eventHub from '../event_hub'; +import actionMutation from '../graphql/mutations/action.mutation.graphql'; export default { directives: { @@ -12,7 +13,6 @@ export default { GlDropdown, GlDropdownItem, GlIcon, - GlLoadingIcon, }, props: { actions: { @@ -20,6 +20,11 @@ export default { required: false, default: () => [], }, + graphql: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -49,7 +54,11 @@ export default { this.isLoading = true; - eventHub.$emit('postAction', { endpoint: action.playPath }); + if (this.graphql) { + this.$apollo.mutate({ mutation: actionMutation, variables: { action } }); + } else { + eventHub.$emit('postAction', { endpoint: action.playPath }); + } }, isActionDisabled(action) { @@ -70,18 +79,16 @@ export default { <template> <gl-dropdown v-gl-tooltip + :text="title" :title="title" + :loading="isLoading" :aria-label="title" - :disabled="isLoading" + icon="play" + text-sr-only right data-container="body" data-testid="environment-actions-button" > - <template #button-content> - <gl-icon name="play" /> - <gl-icon name="chevron-down" /> - <gl-loading-icon v-if="isLoading" size="sm" /> - </template> <gl-dropdown-item v-for="(action, i) in actions" :key="i" |