From 3d82299ca2ebde5561365e618ea8c59d9a8c7a72 Mon Sep 17 00:00:00 2001 From: Owen Leonard <oleonard@myacpl.org> Date: Tue, 27 Oct 2020 12:23:45 +0000 Subject: [PATCH] Bug 25614: Move ILL request keyword filter to sidebar On the ILL request list page there are two filters for the table: One in the sidebar and one configured automatically by the DataTables plugin. I think these two systems are conflicting somehow to prevent the "clear filter" button in the table toolbar from working correctly. This patch doesn't fix the bug but avoids it: Since the filter field in the table toolbar is duplicating the functionality of the form in the sidebar, we could hide it and rely on the sidebar filter instead. To test, apply the patch and go to the ILL requests page in the staff interface. - The table of requests should display without a search form or "clear filter" button at the top. - The left-hand sidebar form should now have a "keyword" filter option which searches any column in the table. - Other filter fields should work as before. Signed-off-by: David Nind <david@davidnind.com> --- .../prog/en/modules/ill/ill-requests.tt | 4 ++++ koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt index b6a40a17f0..1d57e28fa8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt @@ -38,6 +38,10 @@ <h3>Filters</h3> <ol> <li> + <label for="illfilter_keyword">Keyword:</label> + <input type="text" name="illfilter_keyword" id="illfilter_keyword" /> + </li> + <li> <label for="illfilter_status">Status:</label> <select name="illfilter_status" id="illfilter_status"> <option value=""></option> diff --git a/koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js b/koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js index d20b26bf6e..abd01861a7 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js +++ b/koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js @@ -116,6 +116,26 @@ $(document).ready(function() { $('#illfilter_patron').val(''); } }, + keyword: { + listener: function () { + var me = 'keyword'; + $('#illfilter_keyword').change(function () { + var val = $('#illfilter_keyword').val(); + if (val && val.length > 0) { + activeFilters[me] = function () { + table.api().search(val); + } + } else { + if (activeFilters.hasOwnProperty(me)) { + delete activeFilters[me]; + } + } + }); + }, + clear: function () { + $('#illfilter_keyword').val(''); + } + }, dateModified: { clear: function() { $('#illfilter_datemodified_start, #illfilter_datemodified_end').val(''); @@ -455,6 +475,7 @@ $(document).ready(function() { 'sPaginationType': "full_numbers", // Pagination display 'deferRender': true, // Improve performance on big datasets 'data': dataCopy, + "dom": '<"top pager"<"table_entries"ilp><"table_controls"B>>tr<"bottom pager"ip>', 'columns': colData, 'originalData': data, // Enable render functions to access // our original data -- 2.11.0