From 876ad72e939d833905aaabce73b6861210acfa97 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Mon, 6 Mar 2023 18:54:22 +0000 Subject: [PATCH] Bug 33158: Use template wrapper for authorized values and item types administration tabs This patch updates the authorized values and item types administration templates so that they use the new WRAPPER directive to build tabbed navigation. Seeing that the markup in itemtypes.tt and authorised_values.tt is indential when it comes to icon selection, I have moved that section of the template into an include file and updated both templates to use it. The patch also makes minor SCSS changes, so to test you must rebuild the staff interface CSS. To test, apply the patch and go to Administration -> Item types. - Edit an item type. - On the edit page you should see tabs under "Choose an icon." - Confirm that the tabs look correct and work correctly. - If you did not previously have any icon selected, the "None" tab should be active. - If you had an icon selected, that icon set's tab should be active. - Confirm that if you specify a remote image (e.g.https://via.placeholder.com/50/FF0000/FFFFFF.png) the tab is correctly shown after you save and re-edit. - Confirm that changing icons works correctly and that the selected icon's tab is always active when you return to the edit view. Perform the same tests in Administration -> Authorized values. Signed-off-by: Andrew Auld --- .../prog/css/src/staff-global.scss | 14 ++++ .../prog/en/includes/admin-icon-selection.inc | 79 +++++++++++++++++++ .../en/modules/admin/authorised_values.tt | 78 +----------------- .../prog/en/modules/admin/itemtypes.tt | 78 +----------------- 4 files changed, 98 insertions(+), 151 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/en/includes/admin-icon-selection.inc 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 b7d756e723..8c77a1dd46 100644 --- a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss +++ b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss @@ -3300,6 +3300,20 @@ code { padding: 1em; } +.tab-pane { + &.active { + &::after, + &::before { + content: " "; + display: table; + } + + &::after { + clear: both; + } + } +} + .nav-tabs { border-bottom: 0; padding: .2em 1.4em 0 0; diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/admin-icon-selection.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/admin-icon-selection.inc new file mode 100644 index 0000000000..54261833d3 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/admin-icon-selection.inc @@ -0,0 +1,79 @@ +[% IF ( context == "authval" ) %] + [% SET image_location = av.imageurl %] +[% ELSE %] + [% SET image_location = itemtype.image_location("intranet") %] +[% END %] + +[% WRAPPER tabs id= "icons" %] +
Choose an icon:
+ [% WRAPPER tabs_nav %] + [% WRAPPER tab_item tabname="none" %] + None + [% END %] + [% FOREACH imageset IN imagesets %] + [% IF ( imageset.imagesetactive ) %] + [% SET bt_active = 1 %] + [% ELSE %] + [% SET bt_active = 0 %] + [% END %] + [% WRAPPER tab_item tabname= imageset.imagesetname bt_active= bt_active %] [% imageset.imagesetname | html %] [% END %] + [% END %] + [% IF image_location.match('^http') %] + [% SET bt_active = 1 %] + [% ELSE %] + [% SET bt_active = 0 %] + [% END %] + [% WRAPPER tab_item tabname= "remote" bt_active= bt_active %] Remote image [% END %] + [% END %] + + [% WRAPPER tab_panels %] + [% WRAPPER tab_panel tabname="none" bt_active= 0 %] +
+ +
+ [% END %] + + [% FOREACH imageset IN imagesets %] + [% IF ( imageset.imagesetactive ) %] + [% SET bt_active = 1 %] + [% ELSE %] + [% SET bt_active = 0 %] + [% END %] + [% WRAPPER tab_panel tabname=imageset.imagesetname bt_active= bt_active %] +
+ [% FOREACH image IN imageset.images %] + + [% END #/ FOREACH image %] +
+ [% END # /tab_panel %] + [% END # /FOREACH imageset %] + + [% IF image_location.match('^http') %] + [% SET bt_active = 1 %] + [% ELSE %] + [% SET bt_active = 0 %] + [% END %] + [% WRAPPER tab_panel tabname="remote" %] + + [% IF image_location.match('^http') %] + + + + [% ELSE %] + + + [% END %] + [% END %] + [% END # /tab_panels %] +[% END # /tabs#icons %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt index 03a38104a8..dffba44805 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt @@ -157,82 +157,8 @@ -
-
Choose an icon:
- -
-
-
- -
-
- - [% FOREACH imageset IN imagesets %] - [% IF ( imageset.imagesetactive ) %] -
- [% ELSE %] -
- [% END %] -
- [% FOREACH image IN imageset.images %] - - [% END # /FOREACH image %] -
-
- [% END # /FOREACH imageset %] - - [% IF av.imageurl.match('^http') %] -
- [% ELSE %] -
- [% END %] - - [% IF av.imageurl.match('^http') %] - - - - [% ELSE %] - - - [% END %] -
-
-
+ [% INCLUDE 'admin-icon-selection.inc' context = "authval" %] + [% END # /IF action_add_category %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt index f206f8fee4..fb8d6956e4 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt @@ -217,83 +217,11 @@ Item types › Administration › Koha [% END %] - [% UNLESS Koha.Preference('noItemTypeImages') && Koha.Preference('OpacNoItemTypeImages') %] -
-
Choose an icon:
- -
-
-
- -
-
- - [% FOREACH imageset IN imagesets %] - [% IF ( imageset.imagesetactive ) %] -
- [% ELSE %] -
- [% END %] -
- [% FOREACH image IN imageset.images %] - - [% END #/ FOREACH image %] -
-
- [% END #/FOREACH imageset %] - [% SET image_location = itemtype.image_location('intranet') %] - [% IF image_location.match('^http') %] -
- [% ELSE %] -
- [% END %] - - [% IF image_location.match('^http') %] - - - [% IF itemtype.imageurl %] - - [% END %] - [% ELSE %] - - - [% END %] -
-
-
+ [% UNLESS Koha.Preference('noItemTypeImages') && Koha.Preference('OpacNoItemTypeImages') %] + [% INCLUDE 'admin-icon-selection.inc' context = "itemtype" %] [% END %] +
  1. -- 2.30.2