| Yoshie Muranaka | f415a08 | 2020-12-07 13:04:11 -0800 | [diff] [blame] | 1 | <template> | 
 | 2 |   <b-modal | 
 | 3 |     id="modal-confirmation" | 
 | 4 |     ref="modal" | 
 | 5 |     :title="$t('pageDumps.modal.initiateSystemDump')" | 
 | 6 |     @hidden="resetForm" | 
 | 7 |   > | 
 | 8 |     <p> | 
 | 9 |       <strong> | 
 | 10 |         {{ $t('pageDumps.modal.initiateSystemDumpMessage1') }} | 
 | 11 |       </strong> | 
 | 12 |     </p> | 
 | 13 |     <p> | 
 | 14 |       {{ $t('pageDumps.modal.initiateSystemDumpMessage2') }} | 
 | 15 |     </p> | 
 | 16 |     <p> | 
 | 17 |       <status-icon status="danger" /> | 
 | 18 |       {{ $t('pageDumps.modal.initiateSystemDumpMessage3') }} | 
 | 19 |     </p> | 
 | 20 |     <b-form-checkbox v-model="confirmed" @input="$v.confirmed.$touch()"> | 
 | 21 |       {{ $t('pageDumps.modal.initiateSystemDumpMessage4') }} | 
 | 22 |     </b-form-checkbox> | 
 | 23 |     <b-form-invalid-feedback | 
 | 24 |       :state="getValidationState($v.confirmed)" | 
 | 25 |       role="alert" | 
 | 26 |     > | 
 | 27 |       {{ $t('global.form.required') }} | 
 | 28 |     </b-form-invalid-feedback> | 
 | 29 |     <template #modal-footer="{ cancel }"> | 
 | 30 |       <b-button variant="secondary" @click="cancel()"> | 
 | 31 |         {{ $t('global.action.cancel') }} | 
 | 32 |       </b-button> | 
 | 33 |       <b-button variant="danger" @click="handleSubmit"> | 
 | 34 |         {{ $t('pageDumps.form.initiateDump') }} | 
 | 35 |       </b-button> | 
 | 36 |     </template> | 
 | 37 |   </b-modal> | 
 | 38 | </template> | 
 | 39 |  | 
 | 40 | <script> | 
 | 41 | import StatusIcon from '@/components/Global/StatusIcon'; | 
 | 42 | import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; | 
 | 43 |  | 
 | 44 | export default { | 
 | 45 |   components: { StatusIcon }, | 
 | 46 |   mixins: [VuelidateMixin], | 
 | 47 |   data() { | 
 | 48 |     return { | 
 | 49 |       confirmed: false, | 
 | 50 |     }; | 
 | 51 |   }, | 
 | 52 |   validations: { | 
 | 53 |     confirmed: { | 
 | 54 |       mustBeTrue: (value) => value === true, | 
 | 55 |     }, | 
 | 56 |   }, | 
 | 57 |   methods: { | 
 | 58 |     closeModal() { | 
 | 59 |       this.$nextTick(() => { | 
 | 60 |         this.$refs.modal.hide(); | 
 | 61 |       }); | 
 | 62 |     }, | 
 | 63 |     handleSubmit() { | 
 | 64 |       this.$v.$touch(); | 
 | 65 |       if (this.$v.$invalid) return; | 
 | 66 |       this.$emit('ok'); | 
 | 67 |       this.closeModal(); | 
 | 68 |     }, | 
 | 69 |     resetForm() { | 
 | 70 |       this.confirmed = false; | 
 | 71 |       this.$v.$reset(); | 
 | 72 |     }, | 
 | 73 |   }, | 
 | 74 | }; | 
 | 75 | </script> |