diff --git a/.gitignore b/.gitignore index e70d5ac884..a316adf1e5 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,8 @@ koha-tmpl/intranet-tmpl/prog/css/calendar.css koha-tmpl/intranet-tmpl/prog/css/calendar-rtl.css koha-tmpl/intranet-tmpl/prog/css/holds.css koha-tmpl/intranet-tmpl/prog/css/holds-rtl.css +koha-tmpl/intranet-tmpl/prog/css/ill-requests.css +koha-tmpl/intranet-tmpl/prog/css/ill-requests-rtl.css koha-tmpl/intranet-tmpl/prog/css/installer.css koha-tmpl/intranet-tmpl/prog/css/installer-rtl.css koha-tmpl/intranet-tmpl/prog/css/mainpage.css diff --git a/ill/ill-requests.pl b/ill/ill-requests.pl index 02af20935d..0db9c09b1e 100755 --- a/ill/ill-requests.pl +++ b/ill/ill-requests.pl @@ -503,10 +503,11 @@ if ($backends_available) { } $template->param( - backends => $backends, - types => [ "Book", "Article", "Journal" ], - op => $op, - branches => Koha::Libraries->search, + backends => $backends, + types => [ "Book", "Article", "Journal" ], + op => $op, + branches => Koha::Libraries->search, + illreq_tabs => C4::Context->yaml_preference('ILLRequestsTabs'), ); output_html_with_http_headers( $cgi, $cookie, $template->output ); diff --git a/koha-tmpl/intranet-tmpl/prog/css/src/ill-requests.scss b/koha-tmpl/intranet-tmpl/prog/css/src/ill-requests.scss new file mode 100644 index 0000000000..1433a16583 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/css/src/ill-requests.scss @@ -0,0 +1,16 @@ +form#illfilter_form div.ms-parent button.ms-choice span.placeholder { + background-color: transparent; + cursor: default; +} + +form#illfilter_form div.ms-parent button.ms-choice { + height: calc(1.5em + .75rem + 2px); +} + +form#illfilter_form div.ms-parent div.ms-drop input[type="checkbox"] { + margin-left: -1.25rem +} + +form#illfilter_form div.ms-parent div.ms-drop ul > li { + padding: .25rem 8px; +} \ No newline at end of file diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/ill-filter.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/ill-filter.inc index 4d3a2e0ca8..8c4e48530a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/ill-filter.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/ill-filter.inc @@ -19,7 +19,7 @@
  • - +
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/ill-list-table-strings.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/ill-list-table-strings.inc index f0b0d8194e..7a7989b331 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/ill-list-table-strings.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/ill-list-table-strings.inc @@ -3,7 +3,6 @@ var ill_borrower_details = _("View patron details"); var ill_manage = _("Manage request"); var ill_manage_select_backend_first = _("Select a backend first"); - var ill_all_statuses = _("All statuses"); var ill_all_status_aliases = _("All status aliases"); var ill_no_status_alias = _("No status alias"); var ill_status_aliases = _("Status aliases"); 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 cb6aff2067..26ba077ed9 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 @@ -16,6 +16,8 @@ [% END %] [% INCLUDE 'doc-head-close.inc' %] +[% Asset.css("css/ill-requests.css") | $raw %] +[% Asset.css("lib/jquery/plugins/multiple-select/multiple-select.min.css") | $raw %] @@ -835,6 +837,18 @@ [% END %]
    + [% WRAPPER tabs id= "ill-list-tabs" %] + [% WRAPPER tabs_nav %] + [% WRAPPER tab_item tabname= "ill-list-tab-all" bt_active= 1 %] + All + [% END %] + [% FOREACH illreq_tab IN illreq_tabs %] + [% WRAPPER tab_item tabname= "ill-list-tab-${loop.index}" %] + [% illreq_tab.name | html %] + [% END %] + [% END %] + [% END # /WRAPPER tabs_nav %] + [% END %]

    Details for all requests

    [% INCLUDE 'ill-list-table.inc' %]
    @@ -1132,6 +1146,7 @@ [% IF op == 'generic_confirm' && Koha.Preference('ILLCheckAvailability') %] [% Asset.js("js/ill-availability-partner.js") | $raw %] [% END %] + [% Asset.js("lib/jquery/plugins/multiple-select/multiple-select.min.js") | $raw %] [% END %] [% TRY %] 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 5bb38ed9e7..798e656b4d 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js +++ b/koha-tmpl/intranet-tmpl/prog/js/ill-list-table.js @@ -17,6 +17,26 @@ $(document).ready(function () { $("#addcomment").toggleClass("content_hidden"); }); + $("div#ill-list-tabs a[id^='ill-list-tab'").on("click", function (e) { + e.preventDefault(); + var select_status_el = $("form#illfilter_form select#illfilter_status"); + var tab_statuses = $(this).children('span').attr("data-statuses"); + if (tab_statuses) { + tab_statuses.split('|').forEach((select_status_option) => { + if ($("#illfilter_status option[value='"+select_status_option+"']").length === 0) { + select_status_el.append($('" - ); statuses .sort((a, b) => a.str.localeCompare(b.str)) .forEach(function (status) { @@ -558,6 +575,13 @@ $(document).ready(function () { "" ); }); + $("select#illfilter_status").multipleSelect( { + placeholder: _("Please select ..."), + selectAllText: _("Select all"), + allSelected: _("All selected"), + countSelected: _("# of % selected"), + noMatchesFound: _("No matches found"), + } ); } function addStatusAliasOptions(status_aliases) {