View | Details | Raw Unified | Return to bug 33480
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue (-8 / +3 lines)
Lines 28-39 Link Here
28
                                <label for="agreement_vendor_id"
28
                                <label for="agreement_vendor_id"
29
                                    >{{ $__("Vendor") }}:</label
29
                                    >{{ $__("Vendor") }}:</label
30
                                >
30
                                >
31
                                <v-select
31
                                <FormSelectVendors
32
                                    id="agreement_vendor_id"
32
                                    id="agreement_vendor_id"
33
                                    v-model="agreement.vendor_id"
33
                                    v-model="agreement.vendor_id"
34
                                    label="display_name"
35
                                    :reduce="vendor => vendor.id"
36
                                    :options="vendors"
37
                                />
34
                                />
38
                            </li>
35
                            </li>
39
                            <li>
36
                            <li>
Lines 186-200 import AgreementLicenses from "./AgreementLicenses.vue" Link Here
186
import AgreementRelationships from "./AgreementRelationships.vue"
183
import AgreementRelationships from "./AgreementRelationships.vue"
187
import Documents from "./Documents.vue"
184
import Documents from "./Documents.vue"
188
import ButtonSubmit from "../ButtonSubmit.vue"
185
import ButtonSubmit from "../ButtonSubmit.vue"
186
import FormSelectVendors from "../FormSelectVendors.vue"
189
import { setMessage, setError, setWarning } from "../../messages"
187
import { setMessage, setError, setWarning } from "../../messages"
190
import { APIClient } from "../../fetch/api-client.js"
188
import { APIClient } from "../../fetch/api-client.js"
191
import { storeToRefs } from "pinia"
189
import { storeToRefs } from "pinia"
192
190
193
export default {
191
export default {
194
    setup() {
192
    setup() {
195
        const vendorStore = inject("vendorStore")
196
        const { vendors } = storeToRefs(vendorStore)
197
198
        const AVStore = inject("AVStore")
193
        const AVStore = inject("AVStore")
199
        const {
194
        const {
200
            av_agreement_statuses,
195
            av_agreement_statuses,
Lines 207-213 export default { Link Here
207
        } = storeToRefs(AVStore)
202
        } = storeToRefs(AVStore)
208
203
209
        return {
204
        return {
210
            vendors,
211
            av_agreement_statuses,
205
            av_agreement_statuses,
212
            av_agreement_closure_reasons,
206
            av_agreement_closure_reasons,
213
            av_agreement_renewal_priorities,
207
            av_agreement_renewal_priorities,
Lines 403-408 export default { Link Here
403
        AgreementRelationships,
397
        AgreementRelationships,
404
        Documents,
398
        Documents,
405
        ButtonSubmit,
399
        ButtonSubmit,
400
        FormSelectVendors,
406
    },
401
    },
407
    name: "AgreementsFormAdd",
402
    name: "AgreementsFormAdd",
408
}
403
}
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormAdd.vue (-7 / +3 lines)
Lines 25-36 Link Here
25
                            <label for="package_vendor_id"
25
                            <label for="package_vendor_id"
26
                                >{{ $__("Vendor") }}:</label
26
                                >{{ $__("Vendor") }}:</label
27
                            >
27
                            >
28
                            <v-select
28
                            <FormSelectVendors
29
                                id="package_vendor_id"
29
                                id="package_vendor_id"
30
                                v-model="erm_package.vendor_id"
30
                                v-model="erm_package.vendor_id"
31
                                label="display_name"
32
                                :reduce="vendor => vendor.id"
33
                                :options="vendors"
34
                            />
31
                            />
35
                        </li>
32
                        </li>
36
                        <li>
33
                        <li>
Lines 87-106 Link Here
87
<script>
84
<script>
88
import { inject } from "vue"
85
import { inject } from "vue"
89
import EHoldingsPackageAgreements from "./EHoldingsLocalPackageAgreements.vue"
86
import EHoldingsPackageAgreements from "./EHoldingsLocalPackageAgreements.vue"
87
import FormSelectVendors from "../FormSelectVendors.vue"
90
import { setMessage, setError, setWarning } from "../../messages"
88
import { setMessage, setError, setWarning } from "../../messages"
91
import { APIClient } from "../../fetch/api-client.js"
89
import { APIClient } from "../../fetch/api-client.js"
92
import { storeToRefs } from "pinia"
90
import { storeToRefs } from "pinia"
93
91
94
export default {
92
export default {
95
    setup() {
93
    setup() {
96
        const vendorStore = inject("vendorStore")
97
        const { vendors } = storeToRefs(vendorStore)
98
        const AVStore = inject("AVStore")
94
        const AVStore = inject("AVStore")
99
        const { av_package_types, av_package_content_types } =
95
        const { av_package_types, av_package_content_types } =
100
            storeToRefs(AVStore)
96
            storeToRefs(AVStore)
101
97
102
        return {
98
        return {
103
            vendors,
104
            av_package_types,
99
            av_package_types,
105
            av_package_content_types,
100
            av_package_content_types,
106
        }
101
        }
Lines 205-210 export default { Link Here
205
    },
200
    },
206
    components: {
201
    components: {
207
        EHoldingsPackageAgreements,
202
        EHoldingsPackageAgreements,
203
        FormSelectVendors,
208
    },
204
    },
209
    name: "EHoldingsEBSCOPackagesFormAdd",
205
    name: "EHoldingsEBSCOPackagesFormAdd",
210
}
206
}
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesFormAddResources.vue (-12 / +4 lines)
Lines 43-54 Link Here
43
                    <label :for="`resource_vendor_id_${counter}`"
43
                    <label :for="`resource_vendor_id_${counter}`"
44
                        >{{ $__("Vendor") }}:</label
44
                        >{{ $__("Vendor") }}:</label
45
                    >
45
                    >
46
                    <v-select
46
                    <FormSelectVendors
47
                        :id="`resource_vendor_id_${counter}`"
47
                        :id="`resource_vendor_id_${counter}`"
48
                        v-model="resource.vendor_id"
48
                        v-model="resource.vendor_id"
49
                        label="display_name"
50
                        :reduce="vendor => vendor.id"
51
                        :options="vendors"
52
                    />
49
                    />
53
                </li>
50
                </li>
54
51
Lines 92-108 Link Here
92
</template>
89
</template>
93
90
94
<script>
91
<script>
95
import { inject } from "vue"
96
import flatPickr from "vue-flatpickr-component"
92
import flatPickr from "vue-flatpickr-component"
97
import { storeToRefs } from "pinia"
98
import { APIClient } from "../../fetch/api-client.js"
93
import { APIClient } from "../../fetch/api-client.js"
94
import FormSelectVendors from "../FormSelectVendors.vue"
99
95
100
export default {
96
export default {
101
    setup() {
97
    setup() {},
102
        const vendorStore = inject("vendorStore")
103
        const { vendors } = storeToRefs(vendorStore)
104
        return { vendors }
105
    },
106
    data() {
98
    data() {
107
        return {
99
        return {
108
            packages: [],
100
            packages: [],
Lines 136-142 export default { Link Here
136
    props: {
128
    props: {
137
        resources: Array,
129
        resources: Array,
138
    },
130
    },
139
    components: { flatPickr },
131
    components: { flatPickr, FormSelectVendors },
140
    name: "EHoldingsLocalTitlesFormAddResources",
132
    name: "EHoldingsLocalTitlesFormAddResources",
141
}
133
}
142
</script>
134
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormAdd.vue (-8 / +3 lines)
Lines 28-39 Link Here
28
                                <label for="license_vendor_id"
28
                                <label for="license_vendor_id"
29
                                    >{{ $__("Vendor") }}:</label
29
                                    >{{ $__("Vendor") }}:</label
30
                                >
30
                                >
31
                                <v-select
31
                                <FormSelectVendors
32
                                    id="license_vendor_id"
32
                                    id="license_vendor_id"
33
                                    v-model="license.vendor_id"
33
                                    v-model="license.vendor_id"
34
                                    label="display_name"
35
                                    :reduce="vendor => vendor.id"
36
                                    :options="vendors"
37
                                />
34
                                />
38
                            </li>
35
                            </li>
39
                            <li>
36
                            <li>
Lines 151-171 import { inject } from "vue" Link Here
151
import flatPickr from "vue-flatpickr-component"
148
import flatPickr from "vue-flatpickr-component"
152
import UserRoles from "./UserRoles.vue"
149
import UserRoles from "./UserRoles.vue"
153
import Documents from "./Documents.vue"
150
import Documents from "./Documents.vue"
151
import FormSelectVendors from "../FormSelectVendors.vue"
154
import { setMessage, setWarning } from "../../messages"
152
import { setMessage, setWarning } from "../../messages"
155
import { APIClient } from "../../fetch/api-client.js"
153
import { APIClient } from "../../fetch/api-client.js"
156
import { storeToRefs } from "pinia"
154
import { storeToRefs } from "pinia"
157
155
158
export default {
156
export default {
159
    setup() {
157
    setup() {
160
        const vendorStore = inject("vendorStore")
161
        const { vendors } = storeToRefs(vendorStore)
162
163
        const AVStore = inject("AVStore")
158
        const AVStore = inject("AVStore")
164
        const { av_license_types, av_license_statuses, av_user_roles } =
159
        const { av_license_types, av_license_statuses, av_user_roles } =
165
            storeToRefs(AVStore)
160
            storeToRefs(AVStore)
166
161
167
        return {
162
        return {
168
            vendors,
169
            av_license_types,
163
            av_license_types,
170
            av_license_statuses,
164
            av_license_statuses,
171
            av_user_roles,
165
            av_user_roles,
Lines 285-290 export default { Link Here
285
        flatPickr,
279
        flatPickr,
286
        UserRoles,
280
        UserRoles,
287
        Documents,
281
        Documents,
282
        FormSelectVendors,
288
    },
283
    },
289
    name: "LicensesFormAdd",
284
    name: "LicensesFormAdd",
290
}
285
}
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue (-10 / +1 lines)
Lines 165-180 export default { Link Here
165
        const acq_client = APIClient.acquisition
165
        const acq_client = APIClient.acquisition
166
        acq_client.vendors.getAll().then(
166
        acq_client.vendors.getAll().then(
167
            vendors => {
167
            vendors => {
168
                this.vendorStore.vendors = vendors.map(v => ({
168
                this.vendorStore.vendors = vendors
169
                    ...v,
170
                    display_name:
171
                        v.name +
172
                        (v.aliases.length > 0
173
                            ? " (" +
174
                              v.aliases.map(a => a.alias).join(", ") +
175
                              ")"
176
                            : ""),
177
                }))
178
            },
169
            },
179
            error => {}
170
            error => {}
180
        )
171
        )
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/FormSelectVendors.vue (-1 / +47 lines)
Line 0 Link Here
0
- 
1
<template>
2
    <v-select
3
        label="name"
4
        :reduce="vendor => vendor.id"
5
        :options="vendorOptions"
6
        :filter-by="filterVendors"
7
    >
8
        <template v-slot:option="v">
9
            {{ v.name }}
10
            <br />
11
            <cite>{{ v.aliases.map(a => a.alias).join(", ") }}</cite>
12
        </template>
13
    </v-select>
14
</template>
15
16
<script>
17
import { inject } from "vue"
18
import { storeToRefs } from "pinia"
19
export default {
20
    setup() {
21
        const vendorStore = inject("vendorStore")
22
        const { vendors } = storeToRefs(vendorStore)
23
        return { vendors }
24
    },
25
    computed: {
26
        vendorOptions() {
27
            return this.vendors.map(v => ({
28
                ...v,
29
                full_search:
30
                    v.name +
31
                    (v.aliases.length > 0
32
                        ? " (" + v.aliases.map(a => a.alias).join(", ") + ")"
33
                        : ""),
34
            }))
35
        },
36
    },
37
    methods: {
38
        filterVendors(vendor, label, search) {
39
            return (
40
                (vendor.full_search || "")
41
                    .toLocaleLowerCase()
42
                    .indexOf(search.toLocaleLowerCase()) > -1
43
            )
44
        },
45
    },
46
}
47
</script>

Return to bug 33480