Bugzilla – Attachment 187377 Details for
Bug 38311
DataTables - Simplify the building of the dropdown list filters
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 38311: Add dropdown list to column filters linked to an AV - Vue components
Bug-38311-Add-dropdown-list-to-column-filters-link.patch (text/plain), 9.03 KB, created by
Jonathan Druart
on 2025-10-03 10:17:40 UTC
(
hide
)
Description:
Bug 38311: Add dropdown list to column filters linked to an AV - Vue components
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2025-10-03 10:17:40 UTC
Size:
9.03 KB
patch
obsolete
>From 18f6624630e6c145cb2a9c83ce1e86bc201f12de Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 31 Jul 2025 15:43:36 +0200 >Subject: [PATCH] Bug 38311: Add dropdown list to column filters linked to an > AV - Vue components > >--- > .../js/vue/components/ERM/AgreementResource.vue | 15 +++++++-------- > .../ERM/EHoldingsEBSCOPackageTitlesList.vue | 3 ++- > .../components/ERM/EHoldingsEBSCOTitlesList.vue | 2 +- > .../ERM/EHoldingsLocalPackageResource.vue | 7 ++++--- > .../ERM/EHoldingsLocalTitleResource.vue | 2 +- > .../js/vue/components/ERM/LicenseResource.vue | 7 ++++--- > .../prog/js/vue/components/ResourceList.vue | 13 ++++++++++++- > .../js/vue/components/Vendors/VendorResource.vue | 5 +++-- > 8 files changed, 34 insertions(+), 20 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue >index e3b26a33094..3cad8066da3 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue >@@ -658,23 +658,22 @@ export default { > table_settings: agreement_table_settings, > add_filters: true, > filters_options: { >- 2: [ >+ vendor_id: [ > ...vendors.value.map(e => { > e["_id"] = e["id"]; > e["_str"] = e["name"]; > return e; > }), > ], >- 4: () => baseResource.map_av_dt_filter("av_agreement_statuses"), >- 5: () => >- baseResource.map_av_dt_filter( >- "av_agreement_closure_reasons" >- ), >- 6: [ >+ status: baseResource.map_av_dt_filter("av_agreement_statuses"), >+ closure_reason: baseResource.map_av_dt_filter( >+ "av_agreement_closure_reasons" >+ ), >+ is_perpetual: [ > { _id: 0, _str: $__("No") }, > { _id: 1, _str: $__("Yes") }, > ], >- 7: () => >+ renewal_priority: () => > baseResource.map_av_dt_filter( > "av_agreement_renewal_priorities" > ), >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue >index 38d4cd07a7c..d67efbc6753 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOPackageTitlesList.vue >@@ -154,7 +154,8 @@ export default { > ], > }, > filters_options: { >- 1: () => map_av_dt_filter("av_title_publication_types"), >+ publication_type: () => >+ map_av_dt_filter("av_title_publication_types"), > }, > actions: { 0: ["show"] }, > default_filters: { >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue >index cf473c7b024..0f1d01eb9c2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlesList.vue >@@ -186,7 +186,7 @@ export default { > ], > }, > filters_options: { >- 1: () => >+ publication_type: () => > map_av_dt_filter( > "av_title_publication_types" > ), >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue >index c146d1d8bce..54e10e123bc 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue >@@ -193,15 +193,16 @@ export default { > table_settings: eholdings_packages_table_settings, > add_filters: true, > filters_options: { >- 1: [ >+ vendor_id: [ > ...vendors.value.map(e => { > e["_id"] = e["id"]; > e["_str"] = e["name"]; > return e; > }), > ], >- 2: () => baseResource.map_av_dt_filter("av_package_types"), >- 3: () => >+ package_type: () => >+ baseResource.map_av_dt_filter("av_package_types"), >+ content_type: () => > baseResource.map_av_dt_filter("av_package_content_types"), > }, > actions: { >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitleResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitleResource.vue >index 6bc471b9820..460685ed7a6 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitleResource.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitleResource.vue >@@ -451,7 +451,7 @@ export default { > table_settings: eholdings_titles_table_settings, > add_filters: true, > filters_options: { >- 3: () => >+ publication_type: () => > baseResource.map_av_dt_filter("av_title_publication_types"), > }, > actions: { >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue >index f21b4523aec..766562e7b2d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue >@@ -295,15 +295,16 @@ export default { > table_settings: license_table_settings, > add_filters: true, > filters_options: { >- 2: [ >+ vendor_id: [ > ...vendors.value.map(e => { > e["_id"] = e["id"]; > e["_str"] = e["name"]; > return e; > }), > ], >- 4: () => baseResource.map_av_dt_filter("av_license_types"), >- 5: () => baseResource.map_av_dt_filter("av_license_statuses"), >+ type: () => baseResource.map_av_dt_filter("av_license_types"), >+ status: () => >+ baseResource.map_av_dt_filter("av_license_statuses"), > }, > actions: { > "-1": ["edit", "delete"], >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ResourceList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ResourceList.vue >index 705c26dfd17..8970383385e 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ResourceList.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ResourceList.vue >@@ -246,9 +246,20 @@ export default { > const tableOptionsWithColumns = computed(() => { > props.instancedResource.tableOptions.columns = getTableColumns( > props.instancedResource.resourceAttrs >- ); >+ ).map(col => { >+ const filterOptions = >+ props.instancedResource.tableOptions.filters_options; >+ const filterRequired = Object.keys(filterOptions).includes( >+ col.data >+ ); >+ if (filterRequired) { >+ col.dataFilter = col.data; >+ } >+ return col; >+ }); > return props.instancedResource.tableOptions; > }); >+ > const tableEventList = computed(() => { > const actionButtons = props.instancedResource.tableOptions.actions[ > "-1" >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue >index 882a2f2565d..75dc132d703 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue >@@ -679,9 +679,10 @@ export default { > add_filters: true, > filters_options: { > ...(baseResource.map_av_dt_filter("av_vendor_types").length && { >- 2: () => baseResource.map_av_dt_filter("av_vendor_types"), >+ type: () => >+ baseResource.map_av_dt_filter("av_vendor_types"), > }), >- 3: [ >+ active: [ > { _id: 0, _str: $__("Inactive") }, > { _id: 1, _str: $__("Active") }, > ], >-- >2.34.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 38311
:
184926
|
184927
|
186209
|
187376
|
187377
|
188314
|
188468
|
188469