Bug 32030: ERM - link licenses to an agreement
[srvgit] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / Licenses.vue
1 <template>
2     <Toolbar v-if="op == 'list'" @switch-view="switchView" />
3     <div class="dialog message" v-if="message">{{ message }}</div>
4     <div class="dialog alert" v-if="error">{{ error }}</div>
5     <List
6         v-if="op == 'list'"
7         :av_license_types="license_types"
8         :av_license_statuses="license_statuses"
9         @set-current-license-id="setCurrentLicenseID"
10         @switch-view="switchView"
11         @set-error="setError"
12     />
13     <Show
14         v-if="op == 'show'"
15         :license_id="license_id"
16         :av_license_types="license_types"
17         :av_license_statuses="license_statuses"
18         @switch-view="switchView"
19         @set-error="setError"
20     />
21     <AddForm
22         v-if="op == 'add-form'"
23         :license_id="license_id"
24         :av_license_types="license_types"
25         :av_license_statuses="license_statuses"
26         @license-created="licenseCreated"
27         @license-updated="licenseUpdated"
28         @switch-view="switchView"
29         @set-error="setError"
30     />
31     <ConfirmDeleteForm
32         v-if="op == 'confirm-delete-form'"
33         :license_id="license_id"
34         @license-deleted="licenseDeleted"
35         @switch-view="switchView"
36         @set-error="setError"
37     />
38 </template>
39
40 <script>
41 import Toolbar from "./LicensesToolbar.vue"
42 import List from "./LicensesList.vue"
43 import Show from "./LicensesShow.vue"
44 import AddForm from "./LicensesFormAdd.vue"
45 import ConfirmDeleteForm from "./LicensesFormConfirmDelete.vue"
46
47 import { reactive, computed } from "vue"
48
49 export default {
50     data() {
51         return {
52             license_id: null,
53             op: "list",
54             message: null,
55             error: null,
56             license_types,
57             license_statuses,
58         }
59     },
60     methods: {
61         switchView(view) {
62             this.message = null
63             this.error = null
64             this.op = view
65             if (view == "list") this.license_id = null
66         },
67         licenseCreated() {
68             this.message = "License created"
69             this.error = null
70             this.license_id = null
71             this.op = "list"
72         },
73         licenseUpdated() {
74             this.message = "License updated"
75             this.error = null
76             this.license_id = null
77             this.op = "list"
78         },
79         licenseDeleted() {
80             this.message = "License deleted"
81             this.error = null
82             this.license_id = null
83             this.op = "list"
84         },
85         setCurrentLicenseID(license_id) {
86             this.license_id = license_id
87         },
88         setError(error) {
89             this.message = null
90             this.error = "Something went wrong: " + error
91         },
92     },
93     components: {
94         Toolbar,
95         List,
96         Show,
97         AddForm,
98         ConfirmDeleteForm,
99     },
100     emits: ["set-error"],
101 };
102 </script>