Bug 21099: Reposition floating toolbars earlier

To recreate:
- Go to the advanced search form
- scrolldown to position the toolbar on top of the window
- scrollup

https://screenshots.firefox.com/NnkFg3iOXqLPxfkd/pro.kohadev.org

The toolbar should have been repositioned earlier

Test plan:
Edit a patron
- scrolldown
- scrollup
- unfold the form in the header (tab "Search patrons", link "[+]")
- scrolldown
- scrollup
Advanced search
scrolldown
scrollup

You should notice the difference with and without this patch

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 68e735b101)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 0d349fba89)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Jonathan Druart 2018-07-20 12:59:16 -03:00 committed by Fridolin Somers
parent 6af5e209a0
commit bc0cfb7d58
1 changed files with 11 additions and 3 deletions

View File

@ -8,11 +8,17 @@
var tbh = $(this);
var defaults = {
enabled: true,
originalOffset: tbh.position().top
originalOffset: tbh.offset().top,
originalPosition: tbh.position().top,
};
var originalOffset = typeof options.originalOffset === 'undefined'
? defaults.originalOffset
: options.originalOffset;
var originalPosition = typeof options.originalPosition === 'undefined'
? defaults.originalPosition
: options.originalPosition;
options = $.extend(defaults, options);
if (tbh.css('position') !== 'absolute') {
@ -34,14 +40,16 @@
}
tbh.css({
'position': 'absolute',
'top': originalOffset
'top': originalPosition,
});
}
if (options.enabled) {
$(window).scroll(function () {
var offsetTop = tbh.offset().top;
var s = parseInt($(window).scrollTop(), 10);
var fixMe = (s > offsetTop);
var repositionMe = (s < originalOffset);
if (fixMe) {
@ -55,7 +63,7 @@
if (repositionMe) {
tbh.css({
'position': 'absolute',
'top': originalOffset,
'top': originalPosition,
'z-index': '1'
});
tbh.removeClass("floating");