Bug 32030: vue - display packages for title
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsShow.vue
1 <template>
2     <div v-if="!initialized">{{ $t("Loading") }}</div>
3     <div v-else id="eholdings_show">
4         <h2>
5             {{ $t("EHolding.id", { id: eholding.eholding_id }) }}
6             <span class="action_links">
7                 <router-link
8                     :to="`/cgi-bin/koha/erm/eholdings/edit/${eholding.eholding_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/delete/${eholding.eholding_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("Publication title") }}:</label>
25                         <span>
26                             {{ eholding.publication_title }}
27                         </span>
28                     </li>
29                     <li>
30                         <label>{{ $t("Vendor") }}:</label>
31                         <span v-if="eholding.vendor_id">
32                             {{
33                                 vendors.find((e) => e.id == eholding.vendor_id)
34                                     .name
35                             }}
36                         </span>
37                     </li>
38                     <li>
39                         <label>{{ $t("Print-format identifier") }}:</label>
40                         <span>
41                             {{ eholding.print_identifier }}
42                         </span>
43                     </li>
44                     <li>
45                         <label>{{ $t("Online-format identifier") }}:</label>
46                         <span>
47                             {{ eholding.online_identifier }}
48                         </span>
49                     </li>
50                     <li>
51                         <label
52                             >{{
53                                 $t(
54                                     "Date of first serial issue available online"
55                                 )
56                             }}:</label
57                         >
58                         <span>
59                             {{ eholding.date_first_issue_online }}
60                         </span>
61                     </li>
62                     <li>
63                         <label
64                             >{{
65                                 $t("Number of first volume available online")
66                             }}:</label
67                         >
68                         <span>
69                             {{ eholding.num_first_vol_online }}
70                         </span>
71                     </li>
72                     <li>
73                         <label
74                             >{{
75                                 $t("Number of first issue available online")
76                             }}:</label
77                         >
78                         <span>
79                             {{ eholding.num_first_issue_online }}
80                         </span>
81                     </li>
82                     <li>
83                         <label
84                             >{{
85                                 $t("Date of last issue available online")
86                             }}:</label
87                         >
88                         <span>
89                             {{ eholding.date_last_issue_online }}
90                         </span>
91                     </li>
92                     <li>
93                         <label
94                             >{{
95                                 $t("Number of last volume available online")
96                             }}:</label
97                         >
98                         <span>
99                             {{ eholding.num_last_vol_online }}
100                         </span>
101                     </li>
102                     <li>
103                         <label
104                             >{{
105                                 $t("Number of last issue available online")
106                             }}:</label
107                         >
108                         <span>
109                             {{ eholding.num_last_issue_online }}
110                         </span>
111                     </li>
112                     <li>
113                         <label>{{ $t("Title-level URL") }}:</label>
114                         <span>
115                             {{ eholding.title_url }}
116                         </span>
117                     </li>
118                     <li>
119                         <label>{{ $t("First author") }}:</label>
120                         <span>
121                             {{ eholding.first_author }}
122                         </span>
123                     </li>
124                     <li>
125                         <label>{{ $t("Title identifier") }}:</label>
126                         <span>
127                             {{ eholding.title_id }}
128                         </span>
129                     </li>
130                     <li>
131                         <label>{{ $t("Embargo information") }}:</label>
132                         <span>
133                             {{ eholding.embargo_info }}
134                         </span>
135                     </li>
136                     <li>
137                         <label>{{ $t("Coverage depth") }}:</label>
138                         <span>
139                             {{ eholding.coverage_depth }}
140                         </span>
141                     </li>
142                     <li>
143                         <label>{{ $t("Notes") }}:</label>
144                         <span>
145                             {{ eholding.notes }}
146                         </span>
147                     </li>
148                     <li>
149                         <label>{{ $t("Publisher name") }}:</label>
150                         <span>
151                             {{ eholding.publisher_name }}
152                         </span>
153                     </li>
154                     <li>
155                         <label>{{ $t("Publication type") }}:</label>
156                         <span>
157                             {{ eholding.publication_type }}
158                         </span>
159                     </li>
160                     <li>
161                         <label
162                             >{{
163                                 $t(
164                                     "Date the monograph is first published in print"
165                                 )
166                             }}:</label
167                         >
168                         <span>
169                             {{ eholding.date_monograph_published_print }}
170                         </span>
171                     </li>
172                     <li>
173                         <label
174                             >{{
175                                 $t(
176                                     "Date the monograph is first published online"
177                                 )
178                             }}:</label
179                         >
180                         <span>
181                             {{ eholding.date_monograph_published_online }}
182                         </span>
183                     </li>
184                     <li>
185                         <label
186                             >{{ $t("Number of volume for monograph") }}:</label
187                         >
188                         <span>
189                             {{ eholding.monograph_volume }}
190                         </span>
191                     </li>
192                     <li>
193                         <label>{{ $t("Edition of the monograph") }}:</label>
194                         <span>
195                             {{ eholding.monograph_edition }}
196                         </span>
197                     </li>
198                     <li>
199                         <label>{{ $t("First editor") }}:</label>
200                         <span>
201                             {{ eholding.first_editor }}
202                         </span>
203                     </li>
204                     <li>
205                         <label
206                             >{{
207                                 $t(
208                                     "Title identifier of the parent publication"
209                                 )
210                             }}:</label
211                         >
212                         <span>
213                             {{ eholding.parent_publication_title_id }}
214                         </span>
215                     </li>
216                     <li>
217                         <label
218                             >{{
219                                 $t(
220                                     "Title identifier of any preceding publication title"
221                                 )
222                             }}:</label
223                         >
224                         <span>
225                             {{ eholding.preceeding_publication_title_id }}
226                         </span>
227                     </li>
228                     <li>
229                         <label>{{ $t("Acces type") }}:</label>
230                         <span>
231                             {{ eholding.access_type }}
232                         </span>
233                     </li>
234
235                     <li v-if="eholding.eholding_packages.length">
236                         <label>{{ $t("Packages") }}</label>
237                         <table>
238                             <thead>
239                                 <tr>
240                                     <th>Name</th>
241                                 </tr>
242                             </thead>
243                             <tbody>
244                                 <tr
245                                     v-for="(
246                                         p, counter
247                                     ) in eholding.eholding_packages"
248                                     v-bind:key="counter"
249                                 >
250                                     <td>
251                                         <router-link
252                                             :to="`/cgi-bin/koha/erm/packages/${p.package_id}`"
253                                             :title="$t('Show package')"
254                                         >
255                                             {{ p.package.name }}
256                                         </router-link>
257                                     </td>
258                                 </tr>
259                             </tbody>
260                         </table>
261                     </li>
262                 </ol>
263             </fieldset>
264             <fieldset class="action">
265                 <router-link
266                     to="/cgi-bin/koha/erm/eholdings"
267                     role="button"
268                     class="cancel"
269                     >{{ $t("Close") }}</router-link
270                 >
271             </fieldset>
272         </div>
273     </div>
274 </template>
275
276 <script>
277 import { fetchEHolding } from "../../fetch"
278 import { useVendorStore } from "../../stores/vendors"
279 import { storeToRefs } from "pinia"
280 export default {
281     setup() {
282         const vendorStore = useVendorStore()
283         const { vendors } = storeToRefs(vendorStore)
284
285         return {
286             vendors,
287         }
288     },
289     data() {
290         return {
291             eholding: {
292                 eholding_id: null,
293                 vendor_id: null,
294                 publication_title: '',
295                 print_identifier: '',
296                 online_identifier: '',
297                 date_first_issue_online: '',
298                 num_first_vol_online: '',
299                 num_first_issue_online: '',
300                 date_last_issue_online: '',
301                 num_last_vol_online: '',
302                 num_last_issue_online: '',
303                 title_url: '',
304                 first_author: '',
305                 title_id: '',
306                 embargo_info: '',
307                 coverage_depth: '',
308                 notes: '',
309                 publisher_name: '',
310                 publication_type: '',
311                 date_monograph_published_print: '',
312                 date_monograph_published_online: '',
313                 monograph_volume: '',
314                 monograph_edition: '',
315                 first_editor: '',
316                 parent_publication_title_id: '',
317                 preceeding_publication_title_id: '',
318                 access_type: '',
319                 eholding_packages: [],
320             },
321             initialized: false,
322         }
323     },
324
325     beforeRouteEnter(to, from, next) {
326         next(vm => {
327             vm.getEHolding(to.params.eholding_id)
328             vm.initialized = true
329         })
330     },
331     beforeRouteUpdate(to, from) {
332         this.eholding = this.getEHolding(to.params.eholding_id)
333     },
334     methods: {
335         async getEHolding(eholding_id) {
336             const eholding = await fetchEHolding(eholding_id)
337             this.eholding = eholding
338         },
339     },
340     name: "EHoldingsShow",
341 }
342 </script>
343 <style scoped>
344 .action_links a {
345     padding-left: 0.2em;
346     font-size: 11px;
347 }
348 fieldset.rows label {
349     width: 25rem;
350 }
351 </style>