f0bdd27108139e67d6881a251594de1d005d09ed
[koha-ffzg.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsLocalPackagesShow.vue
1 <template>
2     <div v-if="!initialized">{{ $__("Loading") }}</div>
3     <div v-else-if="erm_package" id="packages_show">
4         <h2>
5             {{ $__("Package #%s").format(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="$__('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="$__('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>{{ $__("Package name") }}:</label>
25                         <span>
26                             {{ erm_package.name }}
27                         </span>
28                     </li>
29                     <li v-if="erm_package.vendor">
30                         <label>{{ $__("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>
39                         <label>{{ $__("Package type") }}:</label>
40                         <span>{{
41                             get_lib_from_av(
42                                 "av_package_types",
43                                 erm_package.package_type
44                             )
45                         }}</span>
46                     </li>
47                     <li>
48                         <label>{{ $__("Content type") }}:</label>
49                         <span>{{
50                             get_lib_from_av(
51                                 "av_package_content_types",
52                                 erm_package.content_type
53                             )
54                         }}</span>
55                     </li>
56                     <li>
57                         <label>{{ $__("Notes") }}:</label>
58                         <span>{{ erm_package.notes }}</span>
59                     </li>
60                     <li v-if="erm_package.created_on">
61                         <label>{{ $__("Created on") }}:</label>
62                         <span>{{ format_date(erm_package.created_on) }}</span>
63                     </li>
64                     <li v-if="erm_package.package_agreements.length">
65                         <label>{{ $__("Agreements") }}</label>
66                         <div
67                             v-for="package_agreement in erm_package.package_agreements"
68                             :key="package_agreement.agreement_id"
69                         >
70                             <router-link
71                                 :to="`/cgi-bin/koha/erm/agreements/${package_agreement.agreement.agreement_id}`"
72                                 >{{
73                                     package_agreement.agreement.name
74                                 }}</router-link
75                             >
76                         </div>
77                     </li>
78                     <li>
79                         <label>{{
80                             $__("Titles (%s)").format(
81                                 erm_package.resources_count
82                             )
83                         }}</label>
84                         <div v-if="erm_package.resources_count">
85                             <EHoldingsPackageTitlesList
86                                 :package_id="erm_package.package_id.toString()"
87                             />
88                         </div>
89                     </li>
90
91                     <li></li>
92                 </ol>
93             </fieldset>
94             <fieldset class="action">
95                 <router-link
96                     to="/cgi-bin/koha/erm/eholdings/local/packages"
97                     role="button"
98                     class="cancel"
99                     >{{ $__("Close") }}</router-link
100                 >
101             </fieldset>
102         </div>
103     </div>
104 </template>
105
106 <script>
107 import { inject } from "vue"
108 import EHoldingsPackageTitlesList from "./EHoldingsLocalPackageTitlesList.vue"
109 import { APIClient } from "../../fetch/api-client.js"
110
111 export default {
112     setup() {
113         const format_date = $date
114
115         const AVStore = inject("AVStore")
116         const { get_lib_from_av } = AVStore
117
118         return {
119             format_date,
120             get_lib_from_av,
121         }
122     },
123     data() {
124         return {
125             erm_package: {
126                 package_id: null,
127                 vendor_id: null,
128                 name: "",
129                 external_id: "",
130                 package_type: "",
131                 content_type: "",
132                 created_on: null,
133                 resources: null,
134                 package_agreements: [],
135             },
136             initialized: false,
137         }
138     },
139     beforeRouteEnter(to, from, next) {
140         next(vm => {
141             vm.getPackage(to.params.package_id)
142         })
143     },
144     beforeRouteUpdate(to, from) {
145         this.erm_package = this.getPackage(to.params.package_id)
146     },
147     methods: {
148         getPackage(package_id) {
149             const client = APIClient.erm
150             client.localPackages.get(package_id).then(
151                 erm_package => {
152                     this.erm_package = erm_package
153                     this.initialized = true
154                 },
155                 error => {}
156             )
157         },
158     },
159     components: {
160         EHoldingsPackageTitlesList,
161     },
162     name: "EHoldingsLocalPackagesShow",
163 }
164 </script>
165 <style scoped>
166 .action_links a {
167     padding-left: 0.2em;
168     font-size: 11px;
169 }
170 fieldset.rows label {
171     width: 25rem;
172 }
173 </style>