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 25-36 Link Here
25
                            <label for="agreement_vendor_id"
25
                            <label for="agreement_vendor_id"
26
                                >{{ $__("Vendor") }}:</label
26
                                >{{ $__("Vendor") }}:</label
27
                            >
27
                            >
28
                            <v-select
28
                            <FormSelectVendors
29
                                id="agreement_vendor_id"
29
                                id="agreement_vendor_id"
30
                                v-model="agreement.vendor_id"
30
                                v-model="agreement.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 178-192 import AgreementLicenses from "./AgreementLicenses.vue" Link Here
178
import AgreementRelationships from "./AgreementRelationships.vue"
175
import AgreementRelationships from "./AgreementRelationships.vue"
179
import Documents from "./Documents.vue"
176
import Documents from "./Documents.vue"
180
import ButtonSubmit from "../ButtonSubmit.vue"
177
import ButtonSubmit from "../ButtonSubmit.vue"
178
import FormSelectVendors from "../FormSelectVendors.vue"
181
import { setMessage, setError, setWarning } from "../../messages"
179
import { setMessage, setError, setWarning } from "../../messages"
182
import { APIClient } from "../../fetch/api-client.js"
180
import { APIClient } from "../../fetch/api-client.js"
183
import { storeToRefs } from "pinia"
181
import { storeToRefs } from "pinia"
184
182
185
export default {
183
export default {
186
    setup() {
184
    setup() {
187
        const vendorStore = inject("vendorStore")
188
        const { vendors } = storeToRefs(vendorStore)
189
190
        const AVStore = inject("AVStore")
185
        const AVStore = inject("AVStore")
191
        const {
186
        const {
192
            av_agreement_statuses,
187
            av_agreement_statuses,
Lines 199-205 export default { Link Here
199
        } = storeToRefs(AVStore)
194
        } = storeToRefs(AVStore)
200
195
201
        return {
196
        return {
202
            vendors,
203
            av_agreement_statuses,
197
            av_agreement_statuses,
204
            av_agreement_closure_reasons,
198
            av_agreement_closure_reasons,
205
            av_agreement_renewal_priorities,
199
            av_agreement_renewal_priorities,
Lines 402-407 export default { Link Here
402
        AgreementRelationships,
396
        AgreementRelationships,
403
        Documents,
397
        Documents,
404
        ButtonSubmit,
398
        ButtonSubmit,
399
        FormSelectVendors,
405
    },
400
    },
406
    name: "AgreementsFormAdd",
401
    name: "AgreementsFormAdd",
407
}
402
}
(-)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 86-105 Link Here
86
<script>
83
<script>
87
import { inject } from "vue"
84
import { inject } from "vue"
88
import EHoldingsPackageAgreements from "./EHoldingsLocalPackageAgreements.vue"
85
import EHoldingsPackageAgreements from "./EHoldingsLocalPackageAgreements.vue"
86
import FormSelectVendors from "../FormSelectVendors.vue"
89
import { setMessage, setError, setWarning } from "../../messages"
87
import { setMessage, setError, setWarning } from "../../messages"
90
import { APIClient } from "../../fetch/api-client.js"
88
import { APIClient } from "../../fetch/api-client.js"
91
import { storeToRefs } from "pinia"
89
import { storeToRefs } from "pinia"
92
90
93
export default {
91
export default {
94
    setup() {
92
    setup() {
95
        const vendorStore = inject("vendorStore")
96
        const { vendors } = storeToRefs(vendorStore)
97
        const AVStore = inject("AVStore")
93
        const AVStore = inject("AVStore")
98
        const { av_package_types, av_package_content_types } =
94
        const { av_package_types, av_package_content_types } =
99
            storeToRefs(AVStore)
95
            storeToRefs(AVStore)
100
96
101
        return {
97
        return {
102
            vendors,
103
            av_package_types,
98
            av_package_types,
104
            av_package_content_types,
99
            av_package_content_types,
105
        }
100
        }
Lines 204-209 export default { Link Here
204
    },
199
    },
205
    components: {
200
    components: {
206
        EHoldingsPackageAgreements,
201
        EHoldingsPackageAgreements,
202
        FormSelectVendors,
207
    },
203
    },
208
    name: "EHoldingsEBSCOPackagesFormAdd",
204
    name: "EHoldingsEBSCOPackagesFormAdd",
209
}
205
}
(-)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 25-36 Link Here
25
                            <label for="license_vendor_id"
25
                            <label for="license_vendor_id"
26
                                >{{ $__("Vendor") }}:</label
26
                                >{{ $__("Vendor") }}:</label
27
                            >
27
                            >
28
                            <v-select
28
                            <FormSelectVendors
29
                                id="license_vendor_id"
29
                                id="license_vendor_id"
30
                                v-model="license.vendor_id"
30
                                v-model="license.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 137-157 import { inject } from "vue" Link Here
137
import flatPickr from "vue-flatpickr-component"
134
import flatPickr from "vue-flatpickr-component"
138
import UserRoles from "./UserRoles.vue"
135
import UserRoles from "./UserRoles.vue"
139
import Documents from "./Documents.vue"
136
import Documents from "./Documents.vue"
137
import FormSelectVendors from "../FormSelectVendors.vue"
140
import { setMessage, setWarning } from "../../messages"
138
import { setMessage, setWarning } from "../../messages"
141
import { APIClient } from "../../fetch/api-client.js"
139
import { APIClient } from "../../fetch/api-client.js"
142
import { storeToRefs } from "pinia"
140
import { storeToRefs } from "pinia"
143
141
144
export default {
142
export default {
145
    setup() {
143
    setup() {
146
        const vendorStore = inject("vendorStore")
147
        const { vendors } = storeToRefs(vendorStore)
148
149
        const AVStore = inject("AVStore")
144
        const AVStore = inject("AVStore")
150
        const { av_license_types, av_license_statuses, av_user_roles } =
145
        const { av_license_types, av_license_statuses, av_user_roles } =
151
            storeToRefs(AVStore)
146
            storeToRefs(AVStore)
152
147
153
        return {
148
        return {
154
            vendors,
155
            av_license_types,
149
            av_license_types,
156
            av_license_statuses,
150
            av_license_statuses,
157
            av_user_roles,
151
            av_user_roles,
Lines 278-283 export default { Link Here
278
        flatPickr,
272
        flatPickr,
279
        UserRoles,
273
        UserRoles,
280
        Documents,
274
        Documents,
275
        FormSelectVendors,
281
    },
276
    },
282
    name: "LicensesFormAdd",
277
    name: "LicensesFormAdd",
283
}
278
}
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue (-10 / +1 lines)
Lines 76-91 export default { Link Here
76
            const acq_client = APIClient.acquisition
76
            const acq_client = APIClient.acquisition
77
            acq_client.vendors.getAll().then(
77
            acq_client.vendors.getAll().then(
78
                vendors => {
78
                vendors => {
79
                    this.vendorStore.vendors = vendors.map(v => ({
79
                    this.vendorStore.vendors = vendors
80
                        ...v,
81
                        display_name:
82
                            v.name +
83
                            (v.aliases.length > 0
84
                                ? " (" +
85
                                  v.aliases.map(a => a.alias).join(", ") +
86
                                  ")"
87
                                : ""),
88
                    }))
89
                },
80
                },
90
                error => {}
81
                error => {}
91
            )
82
            )
(-)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