Bug 32030: Rename Package|Resource|Title
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsTitlesFormConfirmDelete.vue
1 <template>
2     <div v-if="!initialized">{{ $t("Loading") }}</div>
3     <div v-else id="eholdings_confirm_delete">
4         <h2>{{ $t("Delete title") }}</h2>
5         <div>
6             <form @submit="onSubmit($event)">
7                 <fieldset class="rows">
8                     <ol>
9                         <li>
10                             {{ $t("Title") }}:
11                             {{ eholding.publication_title }}
12                         </li>
13                     </ol>
14                 </fieldset>
15                 <fieldset class="action">
16                     <input
17                         type="submit"
18                         variant="primary"
19                         :value="$t('Yes, delete')"
20                     />
21                     <router-link
22                         to="/cgi-bin/koha/erm/eholdings/titles"
23                         role="button"
24                         class="cancel"
25                         >{{ $t("No, do not delete") }}</router-link
26                     >
27                 </fieldset>
28             </form>
29         </div>
30     </div>
31 </template>
32
33 <script>
34 import { fetchTitle } from "../../fetch"
35 import { setMessage, setError } from "../../messages"
36
37 export default {
38     data() {
39         return {
40             eholding: {},
41             initialized: false,
42         }
43     },
44     beforeRouteEnter(to, from, next) {
45         next(vm => {
46             vm.getEHolding(to.params.title_id)
47         })
48     },
49     methods: {
50         async getEHolding(title_id) {
51             const eholding = await fetchTitle(title_id)
52             this.eholding = eholding
53             this.initialized = true
54         },
55         onSubmit(e) {
56             e.preventDefault()
57
58             let apiUrl = '/api/v1/erm/eholdings/titles' + this.title_id
59
60             const options = {
61                 method: 'DELETE',
62                 headers: {
63                     'Content-Type': 'application/json;charset=utf-8'
64                 },
65             }
66
67             fetch(apiUrl, options)
68                 .then(
69                     (response) => {
70                         if (response.status == 204) {
71                             setMessage(this.$t("Title deleted"))
72                             this.$router.push("/cgi-bin/koha/erm/eholdings/titles")
73                         } else {
74                             setError(response.message || response.statusText)
75                         }
76                     }
77                 ).catch(
78                     (error) => {
79                         setError(error)
80                     }
81                 )
82         }
83     },
84     name: "EHoldingsTitlesFormConfirmDelete",
85 }
86 </script>