fix eslint
This commit is contained in:
144
src/app/touch.js
144
src/app/touch.js
@ -2,94 +2,94 @@ import ReactDOM from 'react-dom';
|
||||
|
||||
let listenSwipe = (component, handlers) =>
|
||||
{
|
||||
let element = ReactDOM.findDOMNode(component),
|
||||
startX,
|
||||
startY,
|
||||
distanceX,
|
||||
distanceY,
|
||||
threshold = 110,
|
||||
allowedTime = 280,
|
||||
thresholdAlternativeAxis = 145,
|
||||
elapsedTime,
|
||||
startTime;
|
||||
let element = ReactDOM.findDOMNode(component),
|
||||
startX,
|
||||
startY,
|
||||
distanceX,
|
||||
distanceY,
|
||||
threshold = 110,
|
||||
allowedTime = 280,
|
||||
thresholdAlternativeAxis = 145,
|
||||
elapsedTime,
|
||||
startTime;
|
||||
|
||||
let touchFunctions = {
|
||||
touchstart : (e) => {
|
||||
let touchObject = e.changedTouches[0]
|
||||
let touchFunctions = {
|
||||
touchstart : (e) => {
|
||||
let touchObject = e.changedTouches[0]
|
||||
|
||||
distanceX = 0;
|
||||
distanceY = 0;
|
||||
distanceX = 0;
|
||||
distanceY = 0;
|
||||
|
||||
startX = touchObject.pageX
|
||||
startY = touchObject.pageY
|
||||
startX = touchObject.pageX
|
||||
startY = touchObject.pageY
|
||||
|
||||
startTime = new Date().getTime()
|
||||
startTime = new Date().getTime()
|
||||
|
||||
if(handlers && handlers.preventDefault)
|
||||
e.preventDefault();
|
||||
if(handlers && handlers.preventDefault)
|
||||
e.preventDefault();
|
||||
|
||||
if(handlers && handlers.initSwipe)
|
||||
handlers.initSwipe.call(component);
|
||||
},
|
||||
touchmove : (e) => {
|
||||
if(handlers && handlers.preventDefault)
|
||||
e.preventDefault();
|
||||
},
|
||||
touchend : (e) => {
|
||||
let touchObject = e.changedTouches[0];
|
||||
if(handlers && handlers.initSwipe)
|
||||
handlers.initSwipe.call(component);
|
||||
},
|
||||
touchmove : (e) => {
|
||||
if(handlers && handlers.preventDefault)
|
||||
e.preventDefault();
|
||||
},
|
||||
touchend : (e) => {
|
||||
let touchObject = e.changedTouches[0];
|
||||
|
||||
distanceX = touchObject.pageX - startX;
|
||||
distanceY = touchObject.pageY - startY;
|
||||
distanceX = touchObject.pageX - startX;
|
||||
distanceY = touchObject.pageY - startY;
|
||||
|
||||
elapsedTime = new Date().getTime() - startTime; // get time elapsed
|
||||
elapsedTime = new Date().getTime() - startTime; // get time elapsed
|
||||
|
||||
let params = {
|
||||
startX,
|
||||
startY,
|
||||
endX: touchObject.pageX,
|
||||
endY: touchObject.pageY,
|
||||
distanceX,
|
||||
distanceY
|
||||
};
|
||||
let params = {
|
||||
startX,
|
||||
startY,
|
||||
endX: touchObject.pageX,
|
||||
endY: touchObject.pageY,
|
||||
distanceX,
|
||||
distanceY
|
||||
};
|
||||
|
||||
if (elapsedTime <= allowedTime)
|
||||
{
|
||||
if(distanceX >= threshold && Math.abs(distanceY) <= thresholdAlternativeAxis)
|
||||
{
|
||||
if(handlers && handlers.left)
|
||||
handlers.left.call(component, params);
|
||||
} else
|
||||
if(-distanceX >= threshold && Math.abs(distanceY) <= thresholdAlternativeAxis) {
|
||||
if(handlers && handlers.right)
|
||||
handlers.right.call(component, params);
|
||||
} else
|
||||
if(distanceY >= threshold && Math.abs(distanceX) <= thresholdAlternativeAxis) {
|
||||
if(handlers && handlers.top)
|
||||
handlers.top.call(component, params);
|
||||
} else
|
||||
if(-distanceY >= threshold && Math.abs(distanceX) <= thresholdAlternativeAxis) {
|
||||
if(handlers && handlers.bottom)
|
||||
handlers.bottom.call(component, params);
|
||||
}
|
||||
}
|
||||
if (elapsedTime <= allowedTime)
|
||||
{
|
||||
if(distanceX >= threshold && Math.abs(distanceY) <= thresholdAlternativeAxis)
|
||||
{
|
||||
if(handlers && handlers.left)
|
||||
handlers.left.call(component, params);
|
||||
} else
|
||||
if(-distanceX >= threshold && Math.abs(distanceY) <= thresholdAlternativeAxis) {
|
||||
if(handlers && handlers.right)
|
||||
handlers.right.call(component, params);
|
||||
} else
|
||||
if(distanceY >= threshold && Math.abs(distanceX) <= thresholdAlternativeAxis) {
|
||||
if(handlers && handlers.top)
|
||||
handlers.top.call(component, params);
|
||||
} else
|
||||
if(-distanceY >= threshold && Math.abs(distanceX) <= thresholdAlternativeAxis) {
|
||||
if(handlers && handlers.bottom)
|
||||
handlers.bottom.call(component, params);
|
||||
}
|
||||
}
|
||||
|
||||
if(handlers && handlers.preventDefault)
|
||||
e.preventDefault();
|
||||
}
|
||||
};
|
||||
if(handlers && handlers.preventDefault)
|
||||
e.preventDefault();
|
||||
}
|
||||
};
|
||||
|
||||
element.addEventListener('touchstart', touchFunctions.touchstart, false);
|
||||
element.addEventListener('touchmove', touchFunctions.touchmove, false);
|
||||
element.addEventListener('touchend', touchFunctions.touchend, false);
|
||||
element.addEventListener('touchstart', touchFunctions.touchstart, false);
|
||||
element.addEventListener('touchmove', touchFunctions.touchmove, false);
|
||||
element.addEventListener('touchend', touchFunctions.touchend, false);
|
||||
|
||||
return touchFunctions;
|
||||
return touchFunctions;
|
||||
}
|
||||
|
||||
let removeSwipeListener = (component, touchFunctions) => {
|
||||
let element = ReactDOM.findDOMNode(component);
|
||||
element.removeEventListener('touchstart', touchFunctions.touchstart);
|
||||
element.removeEventListener('touchmove', touchFunctions.touchmove);
|
||||
element.removeEventListener('touchend', touchFunctions.touchend);
|
||||
let element = ReactDOM.findDOMNode(component);
|
||||
element.removeEventListener('touchstart', touchFunctions.touchstart);
|
||||
element.removeEventListener('touchmove', touchFunctions.touchmove);
|
||||
element.removeEventListener('touchend', touchFunctions.touchend);
|
||||
}
|
||||
|
||||
export { listenSwipe, removeSwipeListener }
|
Reference in New Issue
Block a user