From 2549852fccf176e0efa0ec56749ae1964185941c Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 17 Dec 2024 10:48:28 +0100 Subject: [PATCH] Bug 38255: Allow instantiation without parameters `$(node).kohaTable()` should work. Without this patch we got `Uncaught TypeError: settings is null` Signed-off-by: Lucas Gass --- koha-tmpl/intranet-tmpl/prog/js/datatables.js | 34 +++++++++---------- .../opac-tmpl/bootstrap/js/datatables.js | 34 +++++++++---------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/datatables.js b/koha-tmpl/intranet-tmpl/prog/js/datatables.js index 6b8370b1fe7..de9f3a71b7e 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/datatables.js +++ b/koha-tmpl/intranet-tmpl/prog/js/datatables.js @@ -1230,15 +1230,13 @@ function _dt_save_restore_state(table_settings, external_filter_nodes = {}) { * @return {Object} The dataTables instance */ $.fn.kohaTable = function ( - options, + options = {}, table_settings, add_filters, default_filters, filters_options, external_filter_nodes ) { - var settings = null; - // Early return if the node does not exist if (!this.length) return; @@ -1262,23 +1260,23 @@ function _dt_save_restore_state(table_settings, external_filter_nodes = {}) { options.processing = true; options.pagingType = "full_numbers"; } + } - settings = $.extend( - true, - {}, - dataTablesDefaults, - { - paging: true, - searching: true, - language: { - emptyTable: options.emptyTable - ? options.emptyTable - : __("No data available in table"), - }, + var settings = $.extend( + true, + {}, + dataTablesDefaults, + { + paging: true, + searching: true, + language: { + emptyTable: options.emptyTable + ? options.emptyTable + : __("No data available in table"), }, - options - ); - } + }, + options + ); settings["buttons"] = _dt_buttons({ settings, table_settings }); diff --git a/koha-tmpl/opac-tmpl/bootstrap/js/datatables.js b/koha-tmpl/opac-tmpl/bootstrap/js/datatables.js index d16b428263b..5abae7494d6 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/js/datatables.js +++ b/koha-tmpl/opac-tmpl/bootstrap/js/datatables.js @@ -295,9 +295,7 @@ function _dt_visibility(table_settings, table_dt) { * available from the columns_settings template toolkit include * @return {Object} The dataTables instance */ - $.fn.kohaTable = function (options, table_settings) { - var settings = null; - + $.fn.kohaTable = function (options = {}, table_settings = undefined) { // Early return if the node does not exist if (!this.length) return; @@ -310,23 +308,23 @@ function _dt_visibility(table_settings, table_dt) { dataTablesDefaults.initComplete(settings, json); }; } + } - settings = $.extend( - true, - {}, - dataTablesDefaults, - { - paging: true, - searching: true, - language: { - emptyTable: options.emptyTable - ? options.emptyTable - : __("No data available in table"), - }, + var settings = $.extend( + true, + {}, + dataTablesDefaults, + { + paging: true, + searching: true, + language: { + emptyTable: options.emptyTable + ? options.emptyTable + : __("No data available in table"), }, - options - ); - } + }, + options + ); settings["buttons"] = _dt_buttons({ settings, table_settings }); -- 2.34.1