From 0a737e0c41121071603c1a55dafec9bf294ba4e3 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 22 Oct 2024 10:52:46 +0200 Subject: [PATCH] Bug 38177: Fix lengthMenu by removing extend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit $.extend is doing a deep copy of the objects. ``` var dataTablesDefaults = { "lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, __('All')]] }; var mine = {lengthMenu: [[1, 2, 5, 10], [1, 2, 5, 10]]}; $.extend(true, {}, dataTablesDefaults, mine); ``` Returns: ``` [ 1, 2, 5, 10, -1 ] ``` Which is ugly and not what we want. We only need to merge the first level. Using the spread operator (...) will do the trick here. Note that we certainly want to adjust all the other occurrences of extend for DT's options. --- .../ERM/EHoldingsEBSCOTitlePackagesList.vue | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue index 182a8274ed8..752a5286103 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsEBSCOTitlePackagesList.vue @@ -89,13 +89,14 @@ export default { $.fn.dataTable.ext.search = $.fn.dataTable.ext.search.filter( search => search.name != "apply_filter" ) - $("#" + table_id).dataTable( - $.extend(true, {}, dataTablesDefaults, { + $("#" + table_id).dataTable({ + ...dataTablesDefaults, + ...{ data: resources, embed: ["package.name"], ordering: false, dom: '<"top pager"<"table_entries"ilp>>tr<"bottom pager"ip>', - aLengthMenu: [ + lengthMenu: [ [10, 20, 50, 100], [10, 20, 50, 100], ], @@ -177,8 +178,8 @@ export default { ) }) }, - }) - ) + }, + }) }, }, mounted() { -- 2.34.1