Bug 32030: Make the ERMProviders syspref multivaluated
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsLocalPackagesShow.vue
1 <template>
2     <div v-if="!initialized">{{ $t("Loading") }}</div>
3     <div v-else-if="erm_package" 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/local/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/local/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 v-if="erm_package.vendor">
30                         <label>{{ $t("Vendor") }}:</label>
31                         <span>
32                             <a
33                                 :href="`/cgi-bin/koha/acqui/booksellers.pl?booksellerid=${erm_package.vendor_id}`"
34                                 >{{ erm_package.vendor.name }}</a
35                             >
36                         </span>
37                     </li>
38                     <li v-if="erm_package.external_id">
39                         <label>{{ $t("External ID") }}:</label>
40                         <span>
41                             <!-- FIXME Create a syspref to store the URL -->
42                             <a
43                                 :href="`https://ptfs-europe-demo.folio.ebsco.com/eholdings/packages/${erm_package.vendor.external_id}-${erm_package.external_id}`"
44                             >
45                                 {{ erm_package.external_id }}
46                             </a>
47                         </span>
48                     </li>
49                     <li>
50                         <label>{{ $t("Package type") }}:</label>
51                         <span>{{
52                             get_lib_from_av(
53                                 "av_package_types",
54                                 erm_package.package_type
55                             )
56                         }}</span>
57                     </li>
58                     <li>
59                         <label>{{ $t("Content type") }}:</label>
60                         <span>{{
61                             get_lib_from_av(
62                                 "av_package_content_types",
63                                 erm_package.content_type
64                             )
65                         }}</span>
66                     </li>
67                     <li v-if="erm_package.created_on">
68                         <label>{{ $t("Created on") }}:</label>
69                         <span>{{ format_date(erm_package.created_on) }}</span>
70                     </li>
71
72                     <li>
73                         <label
74                             >Titles ({{ erm_package.resources_count }})</label
75                         >
76                         <div v-if="erm_package.resources_count">
77                             <EHoldingsPackageTitlesList
78                                 :package_id="erm_package.package_id.toString()"
79                             />
80                         </div>
81                     </li>
82
83                     <li></li>
84                 </ol>
85             </fieldset>
86             <fieldset class="action">
87                 <router-link
88                     to="/cgi-bin/koha/erm/eholdings/local/packages"
89                     role="button"
90                     class="cancel"
91                     >{{ $t("Close") }}</router-link
92                 >
93             </fieldset>
94         </div>
95     </div>
96 </template>
97
98 <script>
99 import EHoldingsPackageTitlesList from "./EHoldingsLocalPackageTitlesList.vue"
100 import { useAVStore } from "../../stores/authorised_values"
101 import { fetchLocalPackage } from "../../fetch"
102
103 export default {
104     setup() {
105         const format_date = $date
106
107         const AVStore = useAVStore()
108         const { get_lib_from_av } = AVStore
109
110         return {
111             format_date,
112             get_lib_from_av,
113         }
114     },
115     data() {
116         return {
117             erm_package: {
118                 package_id: null,
119                 vendor_id: null,
120                 name: '',
121                 external_id: '',
122                 package_type: '',
123                 content_type: '',
124                 created_on: null,
125                 resources: null,
126             },
127             initialized: false,
128         }
129     },
130     beforeRouteEnter(to, from, next) {
131         next(vm => {
132             vm.getPackage(to.params.package_id)
133         })
134     },
135     beforeRouteUpdate(to, from) {
136         this.erm_package = this.getPackage(to.params.package_id)
137     },
138     methods: {
139         async getPackage(package_id) {
140             const erm_package = await fetchLocalPackage(package_id)
141             this.erm_package = erm_package
142             this.initialized = true
143         },
144     },
145     components: {
146         EHoldingsPackageTitlesList,
147     },
148     name: "EHoldingsLocalPackagesShow",
149 }
150 </script>
151 <style scoped>
152 .action_links a {
153     padding-left: 0.2em;
154     font-size: 11px;
155 }
156 fieldset.rows label {
157     width: 25rem;
158 }
159 </style>