From c746a746742d40d589b6fce954a3e78fe11653ce 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. Signed-off-by: Pedro Amorim Signed-off-by: Jonathan Druart Signed-off-by: Katrin Fischer (cherry picked from commit b1cd9cccd2918f954b6e675bf1b7bad853548372) Signed-off-by: Lucas Gass --- .../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 182a8274ed..752a528610 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() {