2 <div class="page-section" id="agreement_licenses">
3 <legend>{{ $__("Licenses") }}</legend>
5 :id="`agreement_license_${counter}`"
7 v-for="(agreement_license, counter) in agreement_licenses"
11 {{ $__("Agreement license %s").format(counter + 1) }}
12 <a href="#" @click.prevent="deleteLicense(counter)"
13 ><i class="fa fa-trash"></i>
14 {{ $__("Remove this license") }}</a
19 <label :for="`license_id_${counter}`"
20 >{{ $__("License") }}:</label
23 :id="`license_id_${counter}`"
24 v-model="agreement_license.license_id"
26 :reduce="l => l.license_id"
29 <template #search="{ attributes, events }">
31 :required="!agreement_license.license_id"
38 <span class="required">{{ $__("Required") }}</span>
41 <label :for="`license_status_${counter}`"
42 >{{ $__("Status") }}:</label
45 :id="`license_status_${counter}`"
46 v-model="agreement_license.status"
48 :reduce="av => av.authorised_value"
49 :options="av_agreement_license_statuses"
51 <template #search="{ attributes, events }">
53 :required="!agreement_license.status"
60 <span class="required">{{ $__("Required") }}</span>
63 <label :for="`license_location_${counter}`"
64 >{{ $__("Physical location") }}:
67 :id="`license_location_${counter}`"
68 v-model="agreement_license.physical_location"
70 :reduce="av => av.authorised_value"
71 :options="av_agreement_license_location"
75 <label :for="`license_notes_${counter}`"
76 >{{ $__("Notes") }}:</label
79 :id="`license_notes_${counter}`"
80 v-model="agreement_license.notes"
81 :placeholder="$__('Notes')"
85 <label :for="`license_uri_${counter}`"
86 >{{ $__("URI") }}:</label
89 :id="`license_uri_${counter}`"
90 v-model="agreement_license.uri"
91 :placeholder="$__('URI')"
96 <a v-if="licenses.length" class="btn btn-default" @click="addLicense"
97 ><font-awesome-icon icon="plus" /> {{ $__("Add new license") }}</a
99 <span v-else>{{ $__("There are no licenses created yet") }}</span>
104 import { fetchLicenses } from "../../fetch"
106 name: "AgreementLicenses",
113 av_agreement_license_statuses: Array,
114 av_agreement_license_location: Array,
115 agreement_licenses: Array,
118 fetchLicenses().then(licenses => (this.licenses = licenses))
122 this.agreement_licenses.push({
125 physical_location: null,
130 deleteLicense(counter) {
131 this.agreement_licenses.splice(counter, 1)