From 460e943f675af747012c4e4c2b11af86b25a8917 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Wed, 8 Feb 2023 17:46:16 +0000 Subject: [PATCH] Bug 32914: Use template wrapper for batch record deletion and modification templates This patch updates the batch record modification and batch record deletion templates to replace tab markup with the use of WRAPPERs. This patch adds a "clearfix" snippet of CSS to _mixins.scss copied from Bootstrap. Applied to the active tab pane, this helps in situations where Bootstrap tabs follow a floated element. The patch also wraps tab label strings in to ensure they can be translated. Unrelated: The patch removes an extra from the batch record modification template. To test you should have at least one list and at least one MARC modification template defined. - Apply the patch and go to Cataloging -> Batch record modification - You should see three tabs, "Upload a file," "Select a list of records," and "Enter a list of record numbers." - The tabs should look correct and work correctly. - Checking the "Authorities" radio button should hide the lists tab. - Test that submissions from each form work correctly. - Go to Cataloging -> Batch record deletion and perform the same tests. Signed-off-by: Philip Orr Signed-off-by: Katrin Fischer --- .../intranet-tmpl/prog/css/src/_mixins.scss | 9 ++ .../prog/css/src/staff-global.scss | 6 + .../en/modules/tools/batch_delete_records.tt | 117 ++++++++---------- .../tools/batch_record_modification.tt | 51 +++----- 4 files changed, 89 insertions(+), 94 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/css/src/_mixins.scss b/koha-tmpl/intranet-tmpl/prog/css/src/_mixins.scss index d5924acd0b..68354bd282 100644 --- a/koha-tmpl/intranet-tmpl/prog/css/src/_mixins.scss +++ b/koha-tmpl/intranet-tmpl/prog/css/src/_mixins.scss @@ -76,3 +76,12 @@ $nav-menu-bullet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/s background-color: white; } } + +/* Copied from Bootstrap 5 */ +@mixin clearfix() { + &::after { + clear: both; + content: ""; + display: block; + } +} diff --git a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss index 34719c10b8..27e5762171 100644 --- a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss +++ b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss @@ -4307,6 +4307,12 @@ div .suggestion_note { margin: .5em; } +.tab-pane { + &.active { + @include clearfix(); + } +} + @import "header"; @import "toolbar"; @import "forms"; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_delete_records.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_delete_records.tt index cd76927b2b..c27dec510b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_delete_records.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_delete_records.tt @@ -64,65 +64,55 @@ -
- + [% WRAPPER tabs id= "batch_del_form" %] + [% WRAPPER tabs_nav %] + [% WRAPPER tab_item tabname= "uploadfile_tab" bt_active= 1 %] Upload a file [% END %] + [% IF lists.count %] + [% WRAPPER tab_item tabname= "shelves_tab" %] Select a list of records [% END %] + [% END %] + [% WRAPPER tab_item tabname= "enterlist_tab" %] Enter a list of record numbers [% END %] + [% END # /WRAPPER tabs_nav %] -
-
-
-
    -
  1. -
-
-   -
+ [% WRAPPER tab_panels %] + [% WRAPPER tab_panel tabname="uploadfile_tab" bt_active= 1 %] +
+
    +
  1. +
+
+ [% END # /WRAPPER tab_panel %] - [% IF lists.count %] -
-
-
    -
  1. - - -
  2. -
-
-   -
- [% END %] - -
-
-
    -
  1. - - -
    Enter a list of biblionumbers or authority IDs, one per line.
    -
  2. -
-
-   -
+ [% IF lists.count %] + [% WRAPPER tab_panel tabname="shelves_tab" %] +
+
    +
  1. + + +
  2. +
+
+ [% END # /WRAPPER tab_panel %] + [% END # /IF lists.count %] -
-
+ [% WRAPPER tab_panel tabname="enterlist_tab" %] +
+
    +
  1. + + +
    Enter a list of biblionumbers or authority IDs, one per line.
    +
  2. +
+
+ [% END # /WRAPPER tab_panel %] + [% END # /WRAPPER tab_panels %] + [% END # /WRAPPER tabs %]
@@ -233,13 +223,14 @@ var MSG_CANNOT_BE_DELETED = _("This record cannot be deleted, at least one item is currently checked out."); $(document).ready(function() { - $("input[type='radio']").click(function(){ - if ($(this).attr('id') == 'authority_type') { - $("#show_list_option").hide(); - } else if ($(this).attr('id') == 'biblio_type') { - $("#show_list_option").show(); - } - }); + $("input[type='radio']").click(function() { + if ($(this).attr('id') == 'authority_type') { + $("a[href='#shelves_tab_panel']").parent().hide(); + } else if ($(this).attr('id') == 'biblio_type') { + $("a[href='#shelves_tab_panel']").parent().show(); + } + }); + $("#selectall").click(function(e){ e.preventDefault(); $(".records input[type='checkbox']:not(:disabled)").each(function(){ diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt index 1f31be64ef..fbd0b03a78 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt @@ -81,33 +81,26 @@

-
- - -
-
+ [% WRAPPER tab_item tabname= "enterlist_tab" %] Enter a list of record numbers [% END %] + [% END # /WRAPPER tabs_nav %] + [% WRAPPER tab_panels %] + [% WRAPPER tab_panel tabname="uploadfile_tab" bt_active= 1 %]
-   -
+ [% END # /tab_panel %] [% IF lists.count %] -
+ [% WRAPPER tab_panel tabname="shelves_tab" %]
  1. @@ -117,16 +110,13 @@ [% FOREACH list IN lists %] [% END %] -
-   -
+ [% END # /tab_panel %] [% END %] - -
+ [% WRAPPER tab_panel tabname="enterlist_tab" %]
  1. @@ -136,10 +126,9 @@
-   -
-
-
+ [% END # /tab_panel %] + [% END # /WRAPPER tab_panels %] + [% END # /WRAPPER tabs %]
MARC modification template @@ -300,9 +289,9 @@ $("input[type='radio']").click(function() { if ($(this).attr('id') == 'authority_type') { - $("#show_list_option").hide(); + $("a[href='#shelves_tab_panel']").parent().hide(); } else if ($(this).attr('id') == 'biblio_type') { - $("#show_list_option").show(); + $("a[href='#shelves_tab_panel']").parent().show(); } }); @@ -356,10 +345,10 @@ $("#record_ids_selection").on("submit", function(e) { var tab = $(this).find('#batch_mod_form li.active:first a').attr('href'); - if (tab == '#uploadfile_tab') { + if (tab == '#uploadfile_tab_panel') { $("#shelf_number").empty(''); $("#recordnumber_list").val(''); - } else if (tab == '#shelves_tab') { + } else if (tab == '#shelves_tab_panel') { $("#uploadfile").val('') $("#recordnumber_list").val(''); } else { // enterlist -- 2.30.2