@@ -, +, @@ 'Last 10 patrons' they get moved to the top of the list --- .../intranet-tmpl/prog/css/src/_header.scss | 11 +--- .../prog/en/includes/last-borrower.inc | 13 ++++- .../intranet-tmpl/prog/js/staff-global.js | 51 +++++++++++++------ 3 files changed, 48 insertions(+), 27 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/css/src/_header.scss +++ a/koha-tmpl/intranet-tmpl/prog/css/src/_header.scss @@ -271,24 +271,15 @@ a.navbar-toggle { #lastborrower-window { display: none; - background-color: $background-color-primary; - box-shadow: 1px 1px 1px 0 #999; - color: #FFFFFF; - padding: .2em; - border-radius: 5px 5px 5px 5px; > * { padding: 0 .4em; } } -#lastborrower-remove { - cursor: pointer; - border-left: 1px solid #fff; -} - #lastborrowerlink { color: #FFFFFF; + background-color: $background-color-primary; } @media (max-width: 768px) { --- a/koha-tmpl/intranet-tmpl/prog/en/includes/last-borrower.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/last-borrower.inc @@ -1,4 +1,13 @@
-
Last patron
-
+
+ Last patron + + +
--- a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js +++ a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js @@ -155,20 +155,44 @@ $(document).ready(function() { $("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover"); }); - if ( localStorage.getItem("lastborrowernumber") ){ - if( $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") ) { + console.log("HIDDEN BORROWER: " + $("#hiddenborrowernumber").val() ); + if ( localStorage.getItem("previousPatrons") || $("#hiddenborrowernumber").val() ){ + var previous_patrons = []; + if ( localStorage.getItem("previousPatrons") ) { + previous_patrons = JSON.parse(localStorage.getItem("previousPatrons")); + } + + if ( $("#hiddenborrowernumber").val() ) { + // Remove this patron from the list if they are already there + previous_patrons = previous_patrons.filter(function (p) { + return p["borrowernumber"] != $("#hiddenborrowernumber").val(); + }); + + const previous_patron = { + "borrowernumber": $("#hiddenborrowernumber").val(), + "name": $("#hiddenborrowername").val(), + "card": $("#hiddenborrowercard").val() + }; + + previous_patrons.unshift( previous_patron ); + // Limit to last 10 patrons + if ( previous_patrons.length > 10 ) previous_patrons.pop(); + localStorage.setItem("previousPatrons", JSON.stringify(previous_patrons)); + } + + if ( previous_patrons.length ) { + let p = previous_patrons[0]; $("#lastborrowerlink").show(); - $("#lastborrowerlink").prop("title", localStorage.getItem("lastborrowername") + " (" + localStorage.getItem("lastborrowercard") + ")"); - $("#lastborrowerlink").prop("href", "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + localStorage.getItem("lastborrowernumber")); + $("#lastborrowerlink").prop("title", `${p["name"]} (${p["card"]})`); + $("#lastborrowerlink").prop("href", `/cgi-bin/koha/circ/circulation.pl?borrowernumber=${p["borrowernumber"]}`); $("#lastborrower-window").css("display", "inline-flex"); - } - } - if( !localStorage.getItem("lastborrowernumber") || ( $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") && localStorage.getItem("currentborrowernumber") != $("#hiddenborrowernumber").val())) { - if( $("#hiddenborrowernumber").val() ){ - localStorage.setItem("lastborrowernumber", $("#hiddenborrowernumber").val() ); - localStorage.setItem("lastborrowername", $("#hiddenborrowername").val() ); - localStorage.setItem("lastborrowercard", $("#hiddenborrowercard").val() ); + previous_patrons.reverse(); + for ( i in previous_patrons ) { + p = previous_patrons[i]; + const el = `
  • ${p["name"]} (${p["card"]})
  • `; + $("#lastBorrowerList").prepend(el); + } } } @@ -216,10 +240,7 @@ $(document).ready(function() { }); function removeLastBorrower(){ - localStorage.removeItem("lastborrowernumber"); - localStorage.removeItem("lastborrowername"); - localStorage.removeItem("lastborrowercard"); - localStorage.removeItem("currentborrowernumber"); + localStorage.removeItem("previousPatrons"); } // http://jennifermadden.com/javascript/stringEnterKeyDetector.html --