mirror of
https://github.com/ONLYOFFICE/web-apps.git
synced 2026-02-10 18:05:32 +08:00
Fix bug 60831
This commit is contained in:
@ -91,6 +91,20 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
|
||||
}
|
||||
}, [isViewer]);
|
||||
|
||||
useEffect(() => {
|
||||
const resetOffset = () => {
|
||||
scrollOffsetRef.current = 0;
|
||||
};
|
||||
|
||||
window.addEventListener('touchstart', resetOffset);
|
||||
window.addEventListener('mousedown', resetOffset);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('touchstart', resetOffset);
|
||||
window.removeEventListener('mousedown', resetOffset);
|
||||
};
|
||||
}, []);
|
||||
|
||||
// Scroll handler
|
||||
|
||||
const scrollHandler = offset => {
|
||||
@ -98,16 +112,24 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
|
||||
const navbarHeight = getNavbarTotalHeight();
|
||||
const isSearchbarEnabled = document.querySelector('.subnavbar .searchbar')?.classList.contains('searchbar-enabled');
|
||||
|
||||
if(!isSearchbarEnabled && navbarHeight) {
|
||||
if(offset > 0 && Math.abs(offset) > Math.abs(scrollOffsetRef.current)) {
|
||||
if (!isSearchbarEnabled && navbarHeight) {
|
||||
if (offset > 0) {
|
||||
offset > scrollOffsetRef.current ? hideNavbar() : showNavbar();
|
||||
} else if (offset < 0) {
|
||||
Math.abs(offset) > Math.abs(scrollOffsetRef.current) ? showNavbar() : hideNavbar();
|
||||
}
|
||||
|
||||
function hideNavbar () {
|
||||
props.closeOptions('fab');
|
||||
f7.navbar.hide('.main-navbar');
|
||||
api.SetMobileTopOffset(undefined, 0);
|
||||
} else if(offset < 0 && Math.abs(offset) <= Math.abs(scrollOffsetRef.current)) {
|
||||
};
|
||||
|
||||
function showNavbar () {
|
||||
props.openOptions('fab');
|
||||
f7.navbar.show('.main-navbar');
|
||||
api.SetMobileTopOffset(undefined, navbarHeight);
|
||||
}
|
||||
};
|
||||
|
||||
scrollOffsetRef.current = offset;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user