summaryrefslogtreecommitdiff
path: root/src/env/components/Dumps/DumpsForm.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/env/components/Dumps/DumpsForm.vue')
-rw-r--r--src/env/components/Dumps/DumpsForm.vue61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/env/components/Dumps/DumpsForm.vue b/src/env/components/Dumps/DumpsForm.vue
new file mode 100644
index 00000000..ed81b3a8
--- /dev/null
+++ b/src/env/components/Dumps/DumpsForm.vue
@@ -0,0 +1,61 @@
+<template>
+ <div class="form-background p-3">
+ <b-form id="form-new-dump" novalidate @submit.prevent="handleSubmit">
+ <b-form-group
+ :label="$t('pageDumps.form.selectDumpType')"
+ label-for="selectDumpType"
+ >
+ <b-form-select
+ id="selectDumpType"
+ v-model="selectedDumpType"
+ :options="dumpTypeOptions"
+ :state="getValidationState($v.selectedDumpType)"
+ >
+ <template #first>
+ <b-form-select-option :value="null" disabled>
+ {{ $t('global.form.selectAnOption') }}
+ </b-form-select-option>
+ </template>
+ </b-form-select>
+ <b-form-invalid-feedback role="alert">
+ {{ $t('global.form.required') }}
+ </b-form-invalid-feedback>
+ </b-form-group>
+ <b-button variant="primary" type="submit" form="form-new-dump">
+ {{ $t('pageDumps.form.createNewDump') }}
+ </b-button>
+ </b-form>
+ </div>
+</template>
+
+<script>
+import { required } from 'vuelidate/lib/validators';
+
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
+import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js';
+
+export default {
+ mixins: [BVToastMixin, VuelidateMixin],
+ data() {
+ return {
+ selectedDumpType: null,
+ dumpTypeOptions: [
+ { value: 'bmc', text: this.$t('pageDumps.form.bmcDump') },
+ { value: 'system', text: this.$t('pageDumps.form.systemDump') },
+ ],
+ };
+ },
+ validations() {
+ return {
+ selectedDumpType: { required },
+ };
+ },
+ methods: {
+ handleSubmit() {
+ this.$v.$touch();
+ if (this.$v.$invalid) return;
+ this.successToast(this.$t('pageDumps.toast.successStartDump'));
+ },
+ },
+};
+</script>