From 428ac3bb908de96b476f60ade6921ac51c895090 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 Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 3c2eb1da53dcdb6eeb5f85da2716da9b6ec022e4) Signed-off-by: Matt Blenkinsop --- .../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 73cda73029..5ab08c8dfc 100644 --- a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss +++ b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss @@ -4294,6 +4294,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 ec4854698c..cd7ebe797f 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.20.1