diff --git a/app/assets/javascripts/initializers/initializeDrawerSliders.js b/app/assets/javascripts/initializers/initializeDrawerSliders.js index d5b1f754a..675ee60b7 100644 --- a/app/assets/javascripts/initializers/initializeDrawerSliders.js +++ b/app/assets/javascripts/initializers/initializeDrawerSliders.js @@ -1,33 +1,25 @@ -/* global swipeState: true, InstantClick, initializeSwipeGestures, slideSidebar */ +/* global InstantClick, slideSidebar */ function initializeDrawerSliders() { - if (!initializeSwipeGestures.called) { - swipeState = 'middle'; - initializeSwipeGestures(); - } if (document.getElementById('on-page-nav-controls')) { if (document.getElementById('sidebar-bg-left')) { document.getElementById('sidebar-bg-left').onclick = (_event) => { - swipeState = 'middle'; slideSidebar('left', 'outOfView'); }; } if (document.getElementById('sidebar-bg-right')) { document.getElementById('sidebar-bg-right').onclick = (_event) => { - swipeState = 'middle'; slideSidebar('right', 'outOfView'); }; } if (document.getElementById('on-page-nav-butt-left')) { document.getElementById('on-page-nav-butt-left').onclick = (_event) => { - swipeState = 'left'; slideSidebar('left', 'intoView'); }; } if (document.getElementById('on-page-nav-butt-right')) { document.getElementById('on-page-nav-butt-right').onclick = (_event) => { - swipeState = 'right'; // eslint-disable-line no-global-assign slideSidebar('right', 'intoView'); }; } diff --git a/app/assets/javascripts/initializers/initializeSwipeGestures.js b/app/assets/javascripts/initializers/initializeSwipeGestures.js deleted file mode 100644 index c73950291..000000000 --- a/app/assets/javascripts/initializers/initializeSwipeGestures.js +++ /dev/null @@ -1,110 +0,0 @@ -/* global slideSidebar, swipeState: true */ -'use strict'; - -function slideContent(d) { - var ce = function (e, n) { - var a = document.createEvent('CustomEvent'); - a.initCustomEvent(n, true, true, e.target); - e.target.dispatchEvent(a); - a = null; - return false; - }, - nm = true, - sp = { x: 0, y: 0 }, - ep = { x: 0, y: 0 }, - touch = { - touchstart: function (e) { - sp = { - x: e.touches[0].pageX, - y: e.touches[0].pageY, - scrollY: window.scrollY, - }; - }, - touchmove: function (e) { - nm = false; - ep = { - x: e.touches[0].pageX, - y: e.touches[0].pageY, - scrollY: window.scrollY, - }; - }, - touchend: function (e) { - if (nm) { - ce(e, 'fc'); - } else { - var x = ep.x - sp.x, - xr = Math.abs(x), - y = ep.y - sp.y, - yr = Math.abs(y), - absScroll = Math.abs(sp.scrollY - ep.scrollY); - if (Math.max(xr, yr) > 15) { - var shouldScroll = xr / 2 > yr && absScroll < 5; - ce( - e, - shouldScroll ? (x < 0 ? 'swl' : 'swr') : y < 0 ? 'swu' : 'swd', - ); - } - } - nm = true; - }, - touchcancel: function (e) { - nm = false; - }, - }; - for (var a in touch) { - d.addEventListener(a, touch[a], false); - } -} - -function initializeSwipeGestures() { - initializeSwipeGestures.called = true; - let swipeState = 'middle'; - setTimeout(function () { - // window.onload=function(){ - slideContent(document); - var h = function (e) {}; - document.body.addEventListener( - 'swl', - (e) => { - swipeState = handleSwipeLeft(e, swipeState); - }, - false, - ); - document.body.addEventListener( - 'swr', - (e) => { - swipeState = handleSwipeRight(e, swipeState); - }, - false, - ); - }, 50); -} - -function handleSwipeLeft(e, swipeState) { - if (!document.getElementById('on-page-nav-controls')) { - return; - } - if (swipeState == 'middle') { - swipeState = 'right'; - slideSidebar('right', 'intoView'); - return swipeState; - } else { - swipeState = 'middle'; - slideSidebar('left', 'outOfView'); - return swipeState; - } -} -function handleSwipeRight(e, swipeState) { - if (!document.getElementById('on-page-nav-controls')) { - return; - } - if (swipeState == 'middle') { - swipeState = 'left'; - slideSidebar('left', 'intoView'); - return swipeState; - } else { - swipeState = 'middle'; - slideSidebar('right', 'outOfView'); - return swipeState; - } -} diff --git a/app/assets/javascripts/utilities/slideSidebar.js b/app/assets/javascripts/utilities/slideSidebar.js index c8ab310c2..3656f655a 100644 --- a/app/assets/javascripts/utilities/slideSidebar.js +++ b/app/assets/javascripts/utilities/slideSidebar.js @@ -14,9 +14,6 @@ function slideSidebar(side, direction) { } else { document.getElementById('articles-list').classList.remove('modal-open'); document.body.classList.remove('modal-open'); - document - .getElementById('sidebar-wrapper-' + side) - .getElementsByClassName('side-bar')[0].scrollTop = 0; document .getElementById('sidebar-wrapper-' + side) .classList.remove('swiped-in'); diff --git a/app/javascript/packs/homePage.jsx b/app/javascript/packs/homePage.jsx index 3cbf3d98a..b44f97b2b 100644 --- a/app/javascript/packs/homePage.jsx +++ b/app/javascript/packs/homePage.jsx @@ -58,7 +58,7 @@ function renderSidebar() { ); // If the screen's width is less than 1024px we don't need this extra data. - if (sidebarContainer && screen.width > 1023) { + if (sidebarContainer && screen.width > 1023 && window.location.pathname === '/') { window.fetch('/sidebars/home') .then(res => res.text()) .then(response => {