Bug 32030: ERM - Remove BootstrapVue3
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / AgreementsFormConfirmDelete.vue
1 <template>
2     <h2>Delete agreement</h2>
3     <div>
4         <form @submit="onSubmit($event)">
5             <fieldset class="rows">
6                 <ol>
7                     <li>
8                         Agreement name:
9                         {{ agreement.name }}
10                     </li>
11                     <li>Vendor:{{ agreement.vendor_id }}</li>
12                     <li>
13                         Description:
14                         {{ agreement.description }}
15                     </li>
16                 </ol>
17             </fieldset>
18             <fieldset class="action">
19                 <input type="submit" variant="primary" value="Yes, delete" />
20                 <a href="#" class="cancel" @click="$emit('switch-view', 'list')">No, do not delete</a>
21             </fieldset>
22         </form>
23     </div>
24 </template>
25
26 <script>
27
28 export default {
29     data() {
30         return {
31             agreement: {},
32         }
33     },
34     created() {
35         const apiUrl = '/api/v1/erm/agreements/' + this.agreement_id
36
37         fetch(apiUrl)
38             .then(res => res.json())
39             .then(
40                 (result) => {
41                     this.agreement = result
42                 },
43             ).catch(
44                 (error) => {
45                     this.$emit('set-error', error)
46                 }
47             )
48     },
49     methods: {
50         onSubmit(e) {
51             e.preventDefault()
52
53             let apiUrl = '/api/v1/erm/agreements/' + this.agreement_id
54
55             const myHeaders = new Headers()
56             myHeaders.append('Content-Type', 'application/json')
57
58             const options = {
59                 method: 'DELETE',
60                 myHeaders
61             }
62
63             fetch(apiUrl, options)
64                 .then(
65                     (response) => {
66                         if (response.status == 204) {
67                             this.$emit('agreement-deleted')
68                         } else {
69                             this.$emit('set-error', response.message || response.statusText)
70                         }
71                     }
72                 ).catch(
73                     (error) => {
74                         this.$emit('set-error', error)
75                     }
76                 )
77         }
78     },
79     emits: ['agreement-deleted', 'set-error', 'switch-view'],
80     props: {
81         agreement_id: Number
82     },
83     name: "AgreementsFormConfirmDelete",
84 }
85 </script>