Bug 32303: Remove DT pagination on system preference search result

This patch updates the way we retrieve a DataTable's saved state during
initialization. The change is to prevent cases where making a duplicate
call to DataTables() initializes the table again.

To recreate the bug, search system preferences for the term "last."
Scroll down to the "OPAC preferences" section and observe that there are
two filter forms displayed above it.

Apply the patch and perform the same search again. The extra forms
should be gone.

Confirm that DataTables behavior is still the same:

 - Test pages which use the "saveState" option in DataTables.
   - Type text in the table's search field
   - Reload the page. The search field should still have the string you
     entered, and the "Clear filter" button should be active.
     - Administration -> Libraries
     - Acquisitions -> Vendor -> Receive shipments -> Receive orders
     - Circulation -> Overdues

 - Test pages which don't use the "saveState" option, e.g. the checkout
   screen, patron search results, list of saved reports, etc. The
   behavior of the search form and table operations in general should be
   unchanged.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Owen Leonard 2022-11-22 15:19:52 +00:00 committed by Tomas Cohen Arazi
parent 270715d9b7
commit 4e5776d1ad
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F

View file

@ -53,7 +53,7 @@ var dataTablesDefaults = {
"fixedHeader": true,
initComplete: function( settings) {
var tableId = settings.nTable.id
var state = $("#" + tableId ).DataTable().state();
var state = settings.oLoadedState;
state && toggledClearFilter(state.search.search, tableId);
// When the DataTables search function is triggered,
// enable or disable the "Clear filter" button based on