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

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue (-10 / +10 lines)
Lines 1-8 Link Here
1
<template>
1
<template>
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
3
    <div v-else-if="agreements" id="agreements_list">
3
    <div v-else-if="agreement_count" id="agreements_list">
4
        <Toolbar v-if="before_route_entered" />
4
        <Toolbar v-if="before_route_entered" />
5
        <fieldset v-if="agreements.length" class="filters">
5
        <fieldset v-if="agreement_count > 0" class="filters">
6
            <label for="expired_filter">{{ $__("Filter by expired") }}:</label>
6
            <label for="expired_filter">{{ $__("Filter by expired") }}:</label>
7
            <input
7
            <input
8
                type="checkbox"
8
                type="checkbox"
Lines 24-30 Link Here
24
                :value="$__('Filter')"
24
                :value="$__('Filter')"
25
            />
25
            />
26
        </fieldset>
26
        </fieldset>
27
        <div v-if="agreements.length" class="page-section">
27
        <div v-if="agreement_count > 0" class="page-section">
28
            <table :id="table_id"></table>
28
            <table :id="table_id"></table>
29
        </div>
29
        </div>
30
        <div v-else-if="initialized" class="dialog message">
30
        <div v-else-if="initialized" class="dialog message">
Lines 66-72 export default { Link Here
66
    data: function () {
66
    data: function () {
67
        return {
67
        return {
68
            fp_config: flatpickr_defaults,
68
            fp_config: flatpickr_defaults,
69
            agreements: [],
69
            agreement_count: null,
70
            initialized: false,
70
            initialized: false,
71
            filters: {
71
            filters: {
72
                by_expired: this.$route.query.by_expired || false,
72
                by_expired: this.$route.query.by_expired || false,
Lines 82-88 export default { Link Here
82
            vm.before_route_entered = true // FIXME This is ugly, but we need to distinguish when it's used as main component or child component (from EHoldingsEBSCOPAckagesShow for instance)
82
            vm.before_route_entered = true // FIXME This is ugly, but we need to distinguish when it's used as main component or child component (from EHoldingsEBSCOPAckagesShow for instance)
83
            if (!vm.building_table) {
83
            if (!vm.building_table) {
84
                vm.building_table = true
84
                vm.building_table = true
85
                vm.getAgreements().then(() => vm.build_datatable())
85
                vm.getAgreementCount().then(() => vm.build_datatable())
86
            }
86
            }
87
        })
87
        })
88
    },
88
    },
Lines 96-106 export default { Link Here
96
        },
96
        },
97
    },
97
    },
98
    methods: {
98
    methods: {
99
        async getAgreements() {
99
        async getAgreementCount() {
100
            const client = APIClient.erm
100
            const client = APIClient.erm
101
            await client.agreements.getAll().then(
101
            await client.agreements.count().then(
102
                agreements => {
102
                count => {
103
                    this.agreements = agreements
103
                    this.agreement_count = count
104
                    this.initialized = true
104
                    this.initialized = true
105
                },
105
                },
106
                error => {}
106
                error => {}
Lines 446-452 export default { Link Here
446
    mounted() {
446
    mounted() {
447
        if (!this.building_table) {
447
        if (!this.building_table) {
448
            this.building_table = true
448
            this.building_table = true
449
            this.getAgreements().then(() => this.build_datatable())
449
            this.getAgreementCount().then(() => this.build_datatable())
450
        }
450
        }
451
    },
451
    },
452
    components: { flatPickr, Toolbar },
452
    components: { flatPickr, Toolbar },
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue (-1 / +1 lines)
Lines 44-50 export default { Link Here
44
    },
44
    },
45
    data: function () {
45
    data: function () {
46
        return {
46
        return {
47
            package_count: [],
47
            package_count: null,
48
            initialized: false,
48
            initialized: false,
49
            filters: {
49
            filters: {
50
                package_name: this.$route.query.package_name || "",
50
                package_name: this.$route.query.package_name || "",
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesList.vue (-1 / +1 lines)
Lines 42-48 export default { Link Here
42
    },
42
    },
43
    data: function () {
43
    data: function () {
44
        return {
44
        return {
45
            title_count: undefined,
45
            title_count: null,
46
            initialized: false,
46
            initialized: false,
47
            filters: {
47
            filters: {
48
                publication_title: this.$route.query.publication_title || "",
48
                publication_title: this.$route.query.publication_title || "",
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue (-8 / +8 lines)
Lines 1-8 Link Here
1
<template>
1
<template>
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
2
    <div v-if="!initialized">{{ $__("Loading") }}</div>
3
    <div v-else-if="licenses" id="licenses_list">
3
    <div v-else-if="license_count" id="licenses_list">
4
        <Toolbar />
4
        <Toolbar />
5
        <div v-if="licenses.length" class="page-section">
5
        <div v-if="license_count > 0" class="page-section">
6
            <table :id="table_id"></table>
6
            <table :id="table_id"></table>
7
        </div>
7
        </div>
8
        <div v-else-if="initialized" class="dialog message">
8
        <div v-else-if="initialized" class="dialog message">
Lines 38-58 export default { Link Here
38
    },
38
    },
39
    data: function () {
39
    data: function () {
40
        return {
40
        return {
41
            licenses: [],
41
            license_count: null,
42
            initialized: false,
42
            initialized: false,
43
        }
43
        }
44
    },
44
    },
45
    beforeRouteEnter(to, from, next) {
45
    beforeRouteEnter(to, from, next) {
46
        next(vm => {
46
        next(vm => {
47
            vm.getLicenses().then(() => vm.build_datatable())
47
            vm.getLicenseCount().then(() => vm.build_datatable())
48
        })
48
        })
49
    },
49
    },
50
    methods: {
50
    methods: {
51
        async getLicenses() {
51
        async getLicenseCount() {
52
            const client = APIClient.erm
52
            const client = APIClient.erm
53
            await client.licenses.getAll().then(
53
            await client.licenses.count().then(
54
                licenses => {
54
                count => {
55
                    this.licenses = licenses
55
                    this.license_count = count
56
                    this.initialized = true
56
                    this.initialized = true
57
                },
57
                },
58
                error => {}
58
                error => {}
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/erm-api-client.js (-2 / +20 lines)
Lines 35-41 export class ERMAPIClient extends HttpClient { Link Here
35
                    endpoint: "agreements/" + id,
35
                    endpoint: "agreements/" + id,
36
                    body: agreement,
36
                    body: agreement,
37
                }),
37
                }),
38
            //count: () => this.count("agreements"), //TODO: Implement count method
38
            count: (query = {}) =>
39
                this.count({
40
                    endpoint:
41
                        "agreements?" +
42
                        new URLSearchParams({
43
                            _page: 1,
44
                            _per_page: 1,
45
                            ...(query && { q: JSON.stringify(query) }),
46
                        }),
47
                }),
39
        };
48
        };
40
    }
49
    }
41
50
Lines 70-75 export class ERMAPIClient extends HttpClient { Link Here
70
                    endpoint: "licenses/" + id,
79
                    endpoint: "licenses/" + id,
71
                    body: license,
80
                    body: license,
72
                }),
81
                }),
82
                count: (query = {}) =>
83
                this.count({
84
                    endpoint:
85
                        "licenses?" +
86
                        new URLSearchParams({
87
                            _page: 1,
88
                            _per_page: 1,
89
                            ...(query && { q: JSON.stringify(query) }),
90
                        }),
91
                }),
73
        };
92
        };
74
    }
93
    }
75
94
76
- 

Return to bug 32807