Bug 32030: Add title.external_id
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsPackagesShow.vue
1 <template>
2     <div v-if="!this.initialized">{{ $t("Loading") }}</div>
3     <div v-else id="packages_show">
4         <h2>
5             {{ $t("Package .id", { id: erm_package.package_id }) }}
6             <span class="action_links">
7                 <router-link
8                     :to="`/cgi-bin/koha/erm/eholdings/packages/edit/${erm_package.package_id}`"
9                     :title="$t('Edit')"
10                     ><i class="fa fa-pencil"></i
11                 ></router-link>
12
13                 <router-link
14                     :to="`/cgi-bin/koha/erm/eholdings/packages/delete/${erm_package.package_id}`"
15                     :title="$t('Delete')"
16                     ><i class="fa fa-trash"></i
17                 ></router-link>
18             </span>
19         </h2>
20         <div>
21             <fieldset class="rows">
22                 <ol>
23                     <li>
24                         <label>{{ $t("Package name") }}:</label>
25                         <span>
26                             {{ erm_package.name }}
27                         </span>
28                     </li>
29                     <li>
30                         <label>{{ $t("Vendor") }}:</label>
31                         <span v-if="erm_package.vendor_id">
32                             {{
33                                 vendors.find(
34                                     (e) => e.id == erm_package.vendor_id
35                                 ).name
36                             }}
37                         </span>
38                     </li>
39                     <li v-if="erm_package.external_id">
40                         <label>{{ $t("External ID") }}:</label>
41                         <span>
42                             {{ erm_package.external_id }}
43                         </span>
44                     </li>
45                     <li>
46                         <label>{{ $t("Package type") }}:</label>
47                         <span>{{
48                             get_lib_from_av(
49                                 "av_package_types",
50                                 erm_package.package_type
51                             )
52                         }}</span>
53                     </li>
54                     <li>
55                         <label>{{ $t("Content type") }}:</label>
56                         <span>{{
57                             get_lib_from_av(
58                                 "av_package_content_types",
59                                 erm_package.content_type
60                             )
61                         }}</span>
62                     </li>
63                     <li>
64                         <label>{{ $t("Created on") }}:</label>
65                         <span>{{ format_date(erm_package.created_on) }}</span>
66                     </li>
67
68                     <li v-if="erm_package.resources.length">
69                         <label>{{ $t("Titles") }}</label>
70                         <table>
71                             <thead>
72                                 <tr>
73                                     <th>Name</th>
74                                 </tr>
75                             </thead>
76                             <tbody>
77                                 <tr
78                                     v-for="(
79                                         r, counter
80                                     ) in erm_package.resources"
81                                     v-bind:key="counter"
82                                 >
83                                     <td>
84                                         <router-link
85                                             :to="`/cgi-bin/koha/erm/eholdings/resources/${r.resource_id}`"
86                                             :title="$t('Show resource')"
87                                         >
88                                             {{ r.title.publication_title }}
89                                         </router-link>
90                                     </td>
91                                 </tr>
92                             </tbody>
93                         </table>
94                     </li>
95                 </ol>
96             </fieldset>
97             <fieldset class="action">
98                 <router-link
99                     to="/cgi-bin/koha/erm/eholdings/packages"
100                     role="button"
101                     class="cancel"
102                     >{{ $t("Close") }}</router-link
103                 >
104             </fieldset>
105         </div>
106     </div>
107 </template>
108
109 <script>
110 import { useVendorStore } from "../../stores/vendors"
111 import { useAVStore } from "../../stores/authorised_values"
112 import { fetchPackage } from "../../fetch"
113 import { storeToRefs } from "pinia"
114
115 export default {
116     setup() {
117         const format_date = $date
118
119         const vendorStore = useVendorStore()
120         const { vendors } = storeToRefs(vendorStore)
121
122         const AVStore = useAVStore()
123         const { get_lib_from_av } = AVStore
124
125         return {
126             format_date,
127             get_lib_from_av,
128             vendors,
129         }
130     },
131     data() {
132         return {
133             erm_package: {
134                 package_id: null,
135                 vendor_id: null,
136                 name: '',
137                 external_id: '',
138                 package_type: '',
139                 content_type: '',
140                 created_on: null,
141             },
142             initialized: false,
143         }
144     },
145     beforeRouteEnter(to, from, next) {
146         next(vm => {
147             vm.getPackage(to.params.package_id)
148         })
149     },
150     beforeRouteUpdate(to, from) {
151         this.erm_package = this.getPackage(to.params.package_id)
152     },
153     methods: {
154         async getPackage(package_id) {
155             const erm_package = await fetchPackage(package_id)
156             this.erm_package = erm_package
157             this.initialized = true
158         },
159     },
160     name: "EHoldingsPackagesShow",
161 }
162 </script>
163 <style scoped>
164 .action_links a {
165     padding-left: 0.2em;
166     font-size: 11px;
167 }
168 </style>