Bugzilla – Attachment 164335 Details for
Bug 33568
Use the REST API to display items on the staff biblio detail view
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 33568: Restore filters
Bug-33568-Restore-filters.patch (text/plain), 7.69 KB, created by
Jonathan Druart
on 2024-04-03 07:39:21 UTC
(
hide
)
Description:
Bug 33568: Restore filters
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2024-04-03 07:39:21 UTC
Size:
7.69 KB
patch
obsolete
>From ed94240f56b93506fe50eb2e4f21b6d60bc4fc87 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 20 Apr 2023 07:59:47 +0200 >Subject: [PATCH] Bug 33568: Restore filters >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >FIXME - If we click 'show filters' the 'columns' list does not contain >all the columns. >We are destroying the DT and the hidden columns are removed from the >dom. > >I think there are 2 possible solutions here: >1. don't destroy but adjust the 'dom' parameter of DT (I didn't manage >to make this work correctly, because of the th filters) >2. Move the th definition in the JS init of DT > >Signed-off-by: Owen Leonard <oleonard@myacpl.org> > >Signed-off-by: Laurence Rault <laurence.rault@biblibre.com> >Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> >Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io> >--- > .../prog/en/modules/catalogue/detail.tt | 75 +++++++++++++------ > 1 file changed, 52 insertions(+), 23 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >index 22375e56123..e9ee7fee130 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >@@ -318,8 +318,12 @@ > [% items_table_block_iter = items_table_block_iter + 1 %] > <div class="[% tab | html %]_table_table_controls"> > [% IF (StaffDetailItemSelection) %] >- | <a href="#" class="SelectAll" data-tab="[% tab | html %]"><i class="fa fa-check"></i> Select all</a> | >- <a href="#" class="ClearAll" data-tab="[% tab | html %]"><i class="fa fa-times"></i> Clear all</a> >+ <span class="show_hide_filters"> >+ <a href="#" class="show_filters" data-tab="[% tab | html %]"><i class="fa fa-filter"></i> Show filters</a> >+ <a href="#" class="hide_filters" data-tab="[% tab | html %]" style="display: none;"><i class="fa fa-filter"></i> Hide filters</a> >+ </span> >+ | <a href="#" class="SelectAll" data-tab="[% tab | html %]"><i class="fa fa-check"></i> Select all</a> >+ | <a href="#" class="ClearAll" data-tab="[% tab | html %]"><i class="fa fa-times"></i> Clear all</a> > <span class="itemselection_actions"> > | Actions: > [% IF CAN_user_tools_items_batchdel %] >@@ -1397,6 +1401,24 @@ > $("input[name='itemnumber'][type='checkbox']", $("#"+tab)).prop('checked', false); > itemSelectionBuildActionLinks(tab); > }); >+ >+ $(".show_filters").on("click",function(e){ >+ e.preventDefault(); >+ let tab = $(this).data("tab"); >+ $("#"+tab).find(".show_filters").hide(); >+ $("#"+tab).find(".hide_filters").show(); >+ $("#"+tab+"_table thead tr:eq(1)").remove(); >+ build_items_table(tab+"_table", true, { dom: dataTablesDefaults.dom, destroy: true } ); >+ }); >+ >+ $(".hide_filters").on("click",function(e){ >+ e.preventDefault(); >+ let tab = $(this).data("tab"); >+ $("#"+tab).find(".hide_filters").hide(); >+ $("#"+tab).find(".show_filters").show(); >+ $("#"+tab+"_table thead tr:eq(1)").remove(); >+ build_items_table(tab+"_table", false, { dom: 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>', destroy: true } ); >+ }); > }); > [% END %] > >@@ -1532,6 +1554,7 @@ > var bundle_settings = [% TablesSettings.GetTableSettings('catalogue', 'detail','bundle_tables','json') | $raw %]; > var bundle_lost_value = [% Koha.Preference('BundleLostValue') | html %]; > [% END %] >+ > $(document).ready(function() { > > [% IF bundlesEnabled %] // Bundle handling >@@ -1839,21 +1862,9 @@ > // End bundle handling > [% END %] > >- var table_ids = [ 'holdings_table', 'otherholdings_table' ]; >- var table_settings = [ [% TablesSettings.GetTableSettings('catalogue', 'detail','holdings_table','json') | $raw %], [% TablesSettings.GetTableSettings('catalogue', 'detail','otherholdings_table','json') | $raw %] ]; >- table_ids.forEach( function( table_id, index ) { >- let filters = {}; >- [% IF Koha.Preference('SeparateHoldings') %] >- [% SET SeparateHoldingsBranch = Koha.Preference('SeparateHoldingsBranch') || 'homebranch' %]; >- let branch = '[% IF SeparateHoldingsBranch == 'homebranch' %]home_library_id[% ELSE %]holding_library_id[% END %]'; >- if ( table_id == 'holdings_table' ) { >- filters[branch] = '[% Branches.GetLoggedInBranchcode() | html %]'; >- } else { >- filters[branch] = { '!=': '[% Branches.GetLoggedInBranchcode() | html %]' }; >- } >- [% END %] >- >- var table = build_table(table_id, table_settings[index], filters); >+ let items_table_ids = [ 'holdings_table', 'otherholdings_table' ]; >+ items_table_ids.forEach( function( table_id, index ) { >+ build_items_table(table_id, false, { dom: 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>' }); > > [% IF bundlesEnabled %] > // Add event listener for opening and closing bundle details >@@ -2191,16 +2202,33 @@ > embed.push('course_item.course_reserves.course'); > [% END %] > >- function build_table (table_id, table_settings, filters) { >+ let items_table_settings = { >+ holdings_table: [% TablesSettings.GetTableSettings('catalogue', 'detail','holdings_table','json') | $raw %], >+ otherholdings_table: [% TablesSettings.GetTableSettings('catalogue', 'detail','otherholdings_table','json') | $raw %], >+ }; >+ >+ function build_items_table (table_id, add_filters, dt_options) { >+ >+ let default_filters = {}; >+ [% IF Koha.Preference('SeparateHoldings') %] >+ [% SET SeparateHoldingsBranch = Koha.Preference('SeparateHoldingsBranch') || 'homebranch' %]; >+ let branch = '[% IF SeparateHoldingsBranch == 'homebranch' %]me.home_library_id[% ELSE %]me.holding_library_id[% END %]'; >+ if ( table_id == 'holdings_table' ) { >+ default_filters[branch] = '[% Branches.GetLoggedInBranchcode() | html %]'; >+ } else { >+ default_filters[branch] = { '!=': '[% Branches.GetLoggedInBranchcode() | html %]' }; >+ } >+ [% END %] >+ > [% IF hidden_count %] >- filters.lost_status = "0"; >+ default_filters.lost_status = "0"; > [% END %] > var items_table = $("#" + table_id).kohaTable({ > ajax: { url: item_table_url }, > order: [[ 0, "asc" ]], > embed, > autoWidth: false, >- bKohaColumnsUseNames: true, // FIXME We should not need that now, do we? >+ bKohaColumnsUseNames: true, > columns: [ > [% IF (StaffDetailItemSelection) %] > { >@@ -2660,10 +2688,11 @@ > } > }); > }, >+ ...dt_options, > }, >- table_settings, >- true, >- filters, >+ items_table_settings[table_id], >+ add_filters, >+ default_filters, > ); > return items_table; > } >-- >2.34.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 33568
:
151339
|
153791
|
164308
|
164309
|
164310
|
164311
|
164312
|
164313
|
164314
|
164315
|
164316
|
164317
|
164318
|
164319
|
164320
|
164321
|
164322
|
164323
|
164324
|
164325
|
164326
|
164327
|
164328
|
164329
|
164330
|
164331
|
164332
|
164333
|
164334
|
164335
|
164336
|
164337
|
164338
|
164339
|
164340
|
164341
|
164342
|
164343
|
164344
|
164345
|
164346
|
164347
|
164348
|
164349
|
164350
|
164351
|
164352
|
164353
|
164354
|
164355
|
164356
|
164358
|
164359
|
164360
|
164361
|
164362
|
164363
|
164364
|
164365
|
164366
|
164367
|
164368
|
164369
|
164370
|
164371
|
164372
|
164373
|
164374
|
164472
|
164480
|
164482
|
164483
|
164485
|
164528