Bug 28901: showCart incorrectly calculates position if content above navbar

This patch makes changes to the OPAC Cart's CSS and JS so that the cart
pop-up message display more consistently. The CSS is changed to use
position "fixed" instead of "absolute." This allows the message to
display without recalculating the position every time, and keeps the
appearance we expect.

The z-index of the message is also increase to prevent it from being
hidden behind a floating toolbar.

To test, apply the patch and rebuild the OPAC CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).

 - Perform a catalog search in the OPAC which will return multiple
   results.
 - In the list of search results, click the "Add to cart" link next to
   several search results. Each time you should see a message appear in
   the upper left corner of the screen, "The item has been added to the
   cart."
 - The position of the messages should be consistent no matter how far
   down the page you scroll.
 - Test again after adding content to the OpacHeader region. One way to
   do this is to add the following to the OpacUserJS preference:

   $(document).ready(function(){
     $("#wrapper").prepend('<img src="https://generative-placeholders.glitch.me/image?width=900&height=200&style=triangles&gap=30">');
   });

 - Test at various browser widths, from a phone-sized screen width up to
   wide desktop-sized.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Owen Leonard 2021-09-20 14:57:23 +00:00 committed by Jonathan Druart
parent 60e60cad6e
commit 2de22db29c
2 changed files with 6 additions and 14 deletions

View File

@ -1731,9 +1731,7 @@ nav {
#cartDetails,
#cartUpdate,
#holdDetails {
#cartDetails {
background-color: #FFF;
border: 1px solid rgba( 0, 0, 0, .2 );
border-radius: 6px;
@ -1743,9 +1741,12 @@ nav {
font-size: 90%;
margin: 0;
padding: 8px 20px;
position: fixed;
text-align: center;
top: 50px;
left: 50px;
width: 180px;
z-index: 2;
z-index: 10;
}
#cartmenulink {

View File

@ -405,16 +405,7 @@ function vShelfAdd() {
}
function showCart(){
var position = $("#cartmenulink").offset();
var scrolld = $(window).scrollTop();
var top = position.top + $("#cartmenulink").outerHeight();
if( scrolld > top ){
top = scrolld + 15;
}
var left = position.left - 0;
$("#cartDetails")
.css({"position":"absolute", "top":top, "left":left})
.fadeIn("fast");
$("#cartDetails").fadeIn("fast");
}
function hideCart(){