summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/environments/components/environment_pin.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/environments/components/environment_pin.vue')
-rw-r--r--app/assets/javascripts/environments/components/environment_pin.vue37
1 files changed, 37 insertions, 0 deletions
diff --git a/app/assets/javascripts/environments/components/environment_pin.vue b/app/assets/javascripts/environments/components/environment_pin.vue
new file mode 100644
index 00000000000..7908928a7ac
--- /dev/null
+++ b/app/assets/javascripts/environments/components/environment_pin.vue
@@ -0,0 +1,37 @@
+<script>
+/**
+ * Renders a prevent auto-stop button.
+ * Used in environments table.
+ */
+import { GlButton, GlTooltipDirective } from '@gitlab/ui';
+import Icon from '~/vue_shared/components/icon.vue';
+import { __ } from '~/locale';
+import eventHub from '../event_hub';
+
+export default {
+ components: {
+ Icon,
+ GlButton,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ props: {
+ autoStopUrl: {
+ type: String,
+ required: true,
+ },
+ },
+ methods: {
+ onPinClick() {
+ eventHub.$emit('cancelAutoStop', this.autoStopUrl);
+ },
+ },
+ title: __('Prevent environment from auto-stopping'),
+};
+</script>
+<template>
+ <gl-button v-gl-tooltip :title="$options.title" :aria-label="$options.title" @click="onPinClick">
+ <icon name="thumbtack" />
+ </gl-button>
+</template>