Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | 11x 174x 225x 3x 3x 1x | <script> /** * Renders the stop "button" that allows stop an environment. * Used in environments table. */ import { GlTooltipDirective, GlButton, GlModalDirective } from '@gitlab/ui'; import { BV_HIDE_TOOLTIP } from '~/lib/utils/constants'; import { s__ } from '~/locale'; import eventHub from '../event_hub'; import setEnvironmentToStopMutation from '../graphql/mutations/set_environment_to_stop.mutation.graphql'; import isEnvironmentStoppingQuery from '../graphql/queries/is_environment_stopping.query.graphql'; export default { components: { GlButton, }, directives: { GlTooltip: GlTooltipDirective, GlModalDirective, }, props: { environment: { type: Object, required: true, }, graphql: { type: Boolean, required: false, default: false, }, }, apollo: { isEnvironmentStopping: { query: isEnvironmentStoppingQuery, variables() { return { environment: this.environment }; }, }, }, i18n: { title: s__('Environments|Stop environment'), stop: s__('Environments|Stop'), }, data() { return { isLoading: false, isEnvironmentStopping: false, }; }, mounted() { eventHub.$on('stopEnvironment', this.onStopEnvironment); }, beforeDestroy() { eventHub.$off('stopEnvironment', this.onStopEnvironment); }, methods: { onClick() { this.$root.$emit(BV_HIDE_TOOLTIP, this.$options.stopEnvironmentTooltipId); if (this.graphql) { this.$apollo.mutate({ mutation: setEnvironmentToStopMutation, variables: { environment: this.environment }, }); } else { eventHub.$emit('requestStopEnvironment', this.environment); } }, onStopEnvironment(environment) { Iif (this.environment.id === environment.id) { this.isLoading = true; } }, }, stopEnvironmentTooltipId: 'stop-environment-button-tooltip', }; </script> <template> <gl-button v-gl-tooltip="{ id: $options.stopEnvironmentTooltipId }" v-gl-modal-directive="'stop-environment-modal'" :loading="isLoading || isEnvironmentStopping" :title="$options.i18n.title" :aria-label="$options.i18n.title" icon="stop" category="secondary" variant="danger" @click="onClick" > {{ $options.i18n.stop }} </gl-button> </template> |