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

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue (+16 lines)
Line 0 Link Here
1
<script>
2
import { inject } from "vue"
3
4
export default {
5
    setup() {
6
        //global setup for all resource (list and show for now, but maybe others?) components here
7
        const { setConfirmationDialog, setMessage, setError } =
8
            inject("mainStore")
9
        return { setConfirmationDialog, setMessage, setError }
10
    },
11
    methods: {
12
        // goToResourceEdit: function () {},
13
    },
14
    name: "BaseResource",
15
}
16
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue (+30 lines)
Line 0 Link Here
1
<script>
2
import BaseResource from "../BaseResource.vue"
3
4
export default {
5
    extends: BaseResource,
6
    setup() {
7
        return {
8
            ...BaseResource.setup(),
9
            //AgreementResource specific setup here
10
        }
11
    },
12
    methods: {
13
        /**
14
         * Navigates to the edit page of the given agreement.
15
         *
16
         * @param {Object} agreement - The agreement to navigate to (optional)
17
         * @return {void}
18
         */
19
        goToResourceEdit: function (agreement) {
20
            let agreement_id =
21
                agreement?.agreement_id || this.agreement.agreement_id
22
            this.$router.push({
23
                name: "AgreementsFormAddEdit",
24
                params: { agreement_id: agreement_id },
25
            })
26
        },
27
    },
28
    name: "AgreementResource",
29
}
30
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue (-7 / +4 lines)
Lines 46-52 Link Here
46
                :searchable_additional_fields="searchable_additional_fields"
46
                :searchable_additional_fields="searchable_additional_fields"
47
                :searchable_av_options="searchable_av_options"
47
                :searchable_av_options="searchable_av_options"
48
                @show="doShow"
48
                @show="doShow"
49
                @edit="doEdit"
49
                @edit="goToResourceEdit"
50
                @delete="doDelete"
50
                @delete="doDelete"
51
                @select="doSelect"
51
                @select="doSelect"
52
            ></KohaTable>
52
            ></KohaTable>
Lines 66-73 import { APIClient } from "../../fetch/api-client.js" Link Here
66
import { storeToRefs } from "pinia"
66
import { storeToRefs } from "pinia"
67
import { build_url } from "../../composables/datatables"
67
import { build_url } from "../../composables/datatables"
68
import KohaTable from "../KohaTable.vue"
68
import KohaTable from "../KohaTable.vue"
69
import AgreementResource from "./AgreementResource.vue"
69
70
70
export default {
71
export default {
72
    extends: AgreementResource,
71
    setup() {
73
    setup() {
72
        const vendorStore = inject("vendorStore")
74
        const vendorStore = inject("vendorStore")
73
        const { vendors } = storeToRefs(vendorStore)
75
        const { vendors } = storeToRefs(vendorStore)
Lines 85-90 export default { Link Here
85
            by_mine: false,
87
            by_mine: false,
86
        })
88
        })
87
        return {
89
        return {
90
            ...AgreementResource.setup(),
88
            vendors,
91
            vendors,
89
            get_lib_from_av,
92
            get_lib_from_av,
90
            map_av_dt_filter,
93
            map_av_dt_filter,
Lines 235-246 export default { Link Here
235
                params: { agreement_id },
238
                params: { agreement_id },
236
            })
239
            })
237
        },
240
        },
238
        doEdit: function ({ agreement_id }, dt, event) {
239
            this.$router.push({
240
                name: "AgreementsFormAddEdit",
241
                params: { agreement_id },
242
            })
243
        },
244
        doDelete: function (agreement, dt, event) {
241
        doDelete: function (agreement, dt, event) {
245
            this.setConfirmationDialog(
242
            this.setConfirmationDialog(
246
                {
243
                {
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue (-8 / +4 lines)
Lines 2-8 Link Here
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
3
    <div v-else id="agreements_show">
3
    <div v-else id="agreements_show">
4
        <Toolbar>
4
        <Toolbar>
5
            <ToolbarButton action="edit" @editResource="edit_agreement" />
5
            <ToolbarButton action="edit" @editResource="goToResourceEdit" />
6
            <ToolbarButton action="delete" @deleteResource="delete_agreement" />
6
            <ToolbarButton action="delete" @deleteResource="delete_agreement" />
7
        </Toolbar>
7
        </Toolbar>
8
8
Lines 333-340 import { APIClient } from "../../fetch/api-client.js" Link Here
333
import Toolbar from "../Toolbar.vue"
333
import Toolbar from "../Toolbar.vue"
334
import ToolbarButton from "../ToolbarButton.vue"
334
import ToolbarButton from "../ToolbarButton.vue"
335
import AdditionalFieldsDisplay from "../AdditionalFieldsDisplay.vue"
335
import AdditionalFieldsDisplay from "../AdditionalFieldsDisplay.vue"
336
import AgreementResource from "./AgreementResource.vue"
336
337
337
export default {
338
export default {
339
    extends: AgreementResource,
338
    setup() {
340
    setup() {
339
        const format_date = $date
341
        const format_date = $date
340
        const patron_to_html = $patron_to_html
342
        const patron_to_html = $patron_to_html
Lines 345-350 export default { Link Here
345
        const { get_lib_from_av } = AVStore
347
        const { get_lib_from_av } = AVStore
346
348
347
        return {
349
        return {
350
            ...AgreementResource.setup(),
348
            format_date,
351
            format_date,
349
            patron_to_html,
352
            patron_to_html,
350
            get_lib_from_av,
353
            get_lib_from_av,
Lines 393-404 export default { Link Here
393
                error => {}
396
                error => {}
394
            )
397
            )
395
        },
398
        },
396
        edit_agreement: function () {
397
            this.$router.push({
398
                name: "AgreementsFormAddEdit",
399
                params: { agreement_id: this.agreement.agreement_id },
400
            })
401
        },
402
        delete_agreement: function () {
399
        delete_agreement: function () {
403
            let agreement_id = this.agreement.agreement_id
400
            let agreement_id = this.agreement.agreement_id
404
            let agreement_name = this.agreement.name
401
            let agreement_name = this.agreement.name
405
- 

Return to bug 37301