use shared slideshow
This commit is contained in:
parent
c959aa01a2
commit
3eec24c917
86 changed files with 18787 additions and 2233 deletions
76
dashboard-ui/bower_components/Swiper/src/js/keyboard.js
vendored
Normal file
76
dashboard-ui/bower_components/Swiper/src/js/keyboard.js
vendored
Normal file
|
@ -0,0 +1,76 @@
|
|||
/*=========================
|
||||
Keyboard Control
|
||||
===========================*/
|
||||
function handleKeyboard(e) {
|
||||
if (e.originalEvent) e = e.originalEvent; //jquery fix
|
||||
var kc = e.keyCode || e.charCode;
|
||||
// Directions locks
|
||||
if (!s.params.allowSwipeToNext && (s.isHorizontal() && kc === 39 || !s.isHorizontal() && kc === 40)) {
|
||||
return false;
|
||||
}
|
||||
if (!s.params.allowSwipeToPrev && (s.isHorizontal() && kc === 37 || !s.isHorizontal() && kc === 38)) {
|
||||
return false;
|
||||
}
|
||||
if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
|
||||
return;
|
||||
}
|
||||
if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
|
||||
return;
|
||||
}
|
||||
if (kc === 37 || kc === 39 || kc === 38 || kc === 40) {
|
||||
var inView = false;
|
||||
//Check that swiper should be inside of visible area of window
|
||||
if (s.container.parents('.swiper-slide').length > 0 && s.container.parents('.swiper-slide-active').length === 0) {
|
||||
return;
|
||||
}
|
||||
var windowScroll = {
|
||||
left: window.pageXOffset,
|
||||
top: window.pageYOffset
|
||||
};
|
||||
var windowWidth = window.innerWidth;
|
||||
var windowHeight = window.innerHeight;
|
||||
var swiperOffset = s.container.offset();
|
||||
if (s.rtl) swiperOffset.left = swiperOffset.left - s.container[0].scrollLeft;
|
||||
var swiperCoord = [
|
||||
[swiperOffset.left, swiperOffset.top],
|
||||
[swiperOffset.left + s.width, swiperOffset.top],
|
||||
[swiperOffset.left, swiperOffset.top + s.height],
|
||||
[swiperOffset.left + s.width, swiperOffset.top + s.height]
|
||||
];
|
||||
for (var i = 0; i < swiperCoord.length; i++) {
|
||||
var point = swiperCoord[i];
|
||||
if (
|
||||
point[0] >= windowScroll.left && point[0] <= windowScroll.left + windowWidth &&
|
||||
point[1] >= windowScroll.top && point[1] <= windowScroll.top + windowHeight
|
||||
) {
|
||||
inView = true;
|
||||
}
|
||||
|
||||
}
|
||||
if (!inView) return;
|
||||
}
|
||||
if (s.isHorizontal()) {
|
||||
if (kc === 37 || kc === 39) {
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
else e.returnValue = false;
|
||||
}
|
||||
if ((kc === 39 && !s.rtl) || (kc === 37 && s.rtl)) s.slideNext();
|
||||
if ((kc === 37 && !s.rtl) || (kc === 39 && s.rtl)) s.slidePrev();
|
||||
}
|
||||
else {
|
||||
if (kc === 38 || kc === 40) {
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
else e.returnValue = false;
|
||||
}
|
||||
if (kc === 40) s.slideNext();
|
||||
if (kc === 38) s.slidePrev();
|
||||
}
|
||||
}
|
||||
s.disableKeyboardControl = function () {
|
||||
s.params.keyboardControl = false;
|
||||
$(document).off('keydown', handleKeyboard);
|
||||
};
|
||||
s.enableKeyboardControl = function () {
|
||||
s.params.keyboardControl = true;
|
||||
$(document).on('keydown', handleKeyboard);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue