Remove swipe gestures and other unnecessary code (#12027)

This commit is contained in:
Ben Halpern 2020-12-30 12:17:29 -05:00 committed by GitHub
parent 5d7fa454bd
commit c668496e9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 2 additions and 123 deletions

View file

@ -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');
};
}

View file

@ -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;
}
}

View file

@ -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');

View file

@ -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 => {