2 <div v-if="!initialized">{{ $__("Loading") }}</div>
3 <div v-else-if="resource" id="eholdings_resources_show">
5 {{ $__("Resource #%s").format(resource.resource_id) }}
6 <span v-if="!updating_is_selected">
8 v-if="!resource.is_selected"
9 class="btn btn-default btn-xs"
11 @click="add_to_holdings"
12 ><font-awesome-icon icon="plus" />
13 {{ $__("Add title to holdings") }}</a
17 class="btn btn-default btn-xs"
19 id="remove-from-holdings"
20 @click="remove_from_holdings"
21 ><font-awesome-icon icon="minus" />
22 {{ $__("Remove title from holdings") }}</a
24 ><span v-else><font-awesome-icon icon="spinner" /></span>
27 <fieldset class="rows">
28 <legend>{{ $__("Resource information") }}</legend>
30 <li v-if="resource.resource_id">
31 <label>{{ $__("Resource identifier") }}:</label>
33 {{ resource.resource_id }}
37 <label>{{ $__("Publication title") }}:</label>
40 :to="`/cgi-bin/koha/erm/eholdings/ebsco/titles/${resource.title_id}`"
42 resource.title.publication_title
48 <label>{{ $__("Publisher name") }}:</label>
50 {{ resource.title.publisher_name }}
54 <label>{{ $__("Publication type") }}:</label>
56 {{ resource.title.publication_type }}
59 <li v-if="resource.title.print_identifier">
60 <label>{{ $__("Print-format identifier") }}:</label>
62 {{ resource.title.print_identifier }}
65 <li v-if="resource.title.online_identifier">
66 <label>{{ $__("Online-format identifier") }}:</label>
68 {{ resource.title.online_identifier }}
74 <fieldset class="rows">
77 <label>{{ $__("Package") }}:</label>
80 :to="`/cgi-bin/koha/erm/eholdings/ebsco/packages/${resource.package_id}`"
81 >{{ resource.package.name }}</router-link
87 <label>{{ $__("Vendor") }}:</label>
88 <span v-if="resource.vendor">
89 {{ resource.vendor.name }}
92 <li v-if="resource.package.content_type">
93 <label>{{ $__("Package content type") }}:</label>
94 <span>{{ resource.package.content_type }}</span>
99 <fieldset class="rows">
100 <legend>Resource settings</legend>
103 <label>{{ $__("Coverage dates") }}:</label>
105 >{{ format_date(resource.started_on) }}-{{
106 format_date(resource.ended_on)
117 import { inject } from "vue"
118 import { fetchEBSCOResource } from "../../fetch/erm.js"
119 import { storeToRefs } from "pinia"
120 import { checkError } from "../../fetch/erm.js"
124 const format_date = $date
126 const vendorStore = inject("vendorStore")
127 const { vendors } = storeToRefs(vendorStore)
146 updating_is_selected: false,
150 beforeRouteEnter(to, from, next) {
152 vm.getResource(to.params.resource_id)
155 beforeRouteUpdate(to, from) {
156 this.resource = this.getResource(to.params.resource_id)
159 async getResource(resource_id) {
160 const resource = await fetchEBSCOResource(resource_id)
161 this.resource = resource
162 this.initialized = true
163 this.updating_is_selected = false
165 edit_selected(is_selected) {
166 this.updating_is_selected = true
168 "/api/v1/erm/eholdings/ebsco/resources/" +
169 this.resource.resource_id,
172 body: JSON.stringify({ is_selected }),
174 Accept: "application/json",
175 "Content-Type": "application/json",
181 // Refresh the page. We should not need that actually.
182 this.getResource(this.resource.resource_id)
189 this.edit_selected(true)
191 remove_from_holdings() {
192 this.edit_selected(false)
195 name: "EHoldingsEBSCOResourcesShow",
199 fieldset.rows label {