2 <fieldset class="rows" id="resources">
3 <legend>{{ $__("Packages") }}</legend>
6 v-for="(resource, counter) in resources"
10 {{ $__("Package %s").format(counter + 1) }}
11 <a href="#" @click.prevent="deletePackage(counter)"
12 ><i class="fa fa-trash"></i>
13 {{ $__("Remove from this package") }}</a
19 :for="`resource_package_id_${counter}`"
21 >{{ $__("Package") }}:
23 <!-- Parse to integer, resource.package_id is an integer, but GET /packages return package_id as string -->
25 :id="`resource_package_id_${counter}`"
26 v-model="resource.package_id"
28 :reduce="p => parseInt(p.package_id)"
31 <template #search="{ attributes, events }">
33 :required="!resource.package_id"
40 <span class="required">{{ $__("Required") }}</span>
43 <label :for="`resource_vendor_id_${counter}`"
44 >{{ $__("Vendor") }}:</label
47 :id="`resource_vendor_id_${counter}`"
48 v-model="resource.vendor_id"
50 :reduce="vendor => vendor.id"
56 <label :for="`started_on_${counter}`"
57 >{{ $__("Start date") }}:
60 :id="`started_on_${counter}`"
61 v-model="resource.started_on"
63 :data-date_to="`ended_on_${counter}`"
67 <label :for="`ended_on_${counter}`"
68 >{{ $__("End date") }}:</label
71 :id="`ended_on_${counter}`"
72 v-model="resource.ended_on"
77 <label :for="`${counter}`">{{ $__("Proxy") }}:</label>
79 :id="`proxy_${counter}`"
80 v-model="resource.proxy"
81 :placeholder="$__('Proxy')"
86 <a v-if="packages.length" class="btn btn-default" @click="addPackage"
87 ><font-awesome-icon icon="plus" />
88 {{ $__("Add to another package") }}</a
90 <span v-else>{{ $__("There are no packages created yet") }}</span>
95 import { inject } from "vue"
96 import flatPickr from "vue-flatpickr-component"
97 import { storeToRefs } from "pinia"
98 import { APIClient } from "../../fetch/api-client.js"
102 const vendorStore = inject("vendorStore")
103 const { vendors } = storeToRefs(vendorStore)
109 fp_config: flatpickr_defaults,
113 const client = APIClient.erm
114 client.localPackages.getAll().then(
116 this.packages = packages
117 this.initialized = true
124 this.resources.push({
132 deletePackage(counter) {
133 this.resources.splice(counter, 1)
139 components: { flatPickr },
140 name: "EHoldingsLocalTitlesFormAddResources",