fa23-si/js/reveal.min.js

61 lines
10 KiB
JavaScript

/*!
* reveal.js 1.4
* http://lab.hakim.se/reveal-js
* MIT licensed
*
* Copyright (C) 2012 Hakim El Hattab, http://hakim.se
*/
var Reveal=(function(){var j=".reveal .slides>section",a=".reveal .slides>section.present>section",e=!!("ontouchstart" in window),k=0,c=0,H={controls:false,progress:false,history:false,loop:false,mouseWheel:true,rollingLinks:true,transition:"default",theme:"default"},T=[],d={},J=document.body.style.WebkitPerspective!==undefined||document.body.style.MozPerspective!==undefined||document.body.style.msPerspective!==undefined||document.body.style.OPerspective!==undefined||document.body.style.perspective!==undefined,l=document.body.style.WebkitTransform!==undefined||document.body.style.MozTransform!==undefined||document.body.style.msTransform!==undefined||document.body.style.OTransform!==undefined||document.body.style.transform!==undefined,x=!!document.body.classList;
mouseWheelTimeout=0,writeURLTimeout=0,touch={startX:0,startY:0,startSpan:0,startCount:0,handled:false,threshold:40};function h(V){if((!l&&!J)||!x){document.body.setAttribute("class","no-transforms");
return;}d.wrapper=document.querySelector(".reveal");d.progress=document.querySelector(".reveal .progress");d.progressbar=document.querySelector(".reveal .progress span");
d.controls=document.querySelector(".reveal .controls");d.controlsLeft=document.querySelector(".reveal .controls .left");d.controlsRight=document.querySelector(".reveal .controls .right");
d.controlsUp=document.querySelector(".reveal .controls .up");d.controlsDown=document.querySelector(".reveal .controls .down");z();q(H,V);C();D();if(navigator.userAgent.match(/(iphone|ipod|android)/i)){document.documentElement.style.overflow="scroll";
document.body.style.height="120%";window.addEventListener("load",P,false);window.addEventListener("orientationchange",P,false);}}function C(){if(J===false){H.transition="linear";
}if(H.controls){d.controls.style.display="block";}if(H.progress){d.progress.style.display="block";}if(H.transition!=="default"){d.wrapper.classList.add(H.transition);
}if(H.theme!=="default"){d.wrapper.classList.add(H.theme);}if(H.mouseWheel){document.addEventListener("DOMMouseScroll",m,false);document.addEventListener("mousewheel",m,false);
}if(H.rollingLinks){E();}}function z(){document.addEventListener("keydown",S,false);document.addEventListener("touchstart",v,false);document.addEventListener("touchmove",R,false);
document.addEventListener("touchend",L,false);window.addEventListener("hashchange",t,false);d.controlsLeft.addEventListener("click",n(w),false);d.controlsRight.addEventListener("click",n(i),false);
d.controlsUp.addEventListener("click",n(r),false);d.controlsDown.addEventListener("click",n(A),false);}function K(){document.removeEventListener("keydown",S,false);
document.removeEventListener("touchstart",v,false);document.removeEventListener("touchmove",R,false);document.removeEventListener("touchend",L,false);window.removeEventListener("hashchange",t,false);
d.controlsLeft.removeEventListener("click",n(w),false);d.controlsRight.removeEventListener("click",n(i),false);d.controlsUp.removeEventListener("click",n(r),false);
d.controlsDown.removeEventListener("click",n(A),false);}function q(W,V){for(var X in V){W[X]=V[X];}}function I(X,V){var Y=X.x-V.x,W=X.y-V.y;return Math.sqrt(Y*Y+W*W);
}function n(V){return function(W){W.preventDefault();V.call();};}function P(){setTimeout(function(){window.scrollTo(0,1);},0);}function S(W){if(W.target.contentEditable!="inherit"||W.shiftKey||W.altKey||W.ctrlKey||W.metaKey){return;
}var V=false;switch(W.keyCode){case 80:case 33:N();V=true;break;case 78:case 34:u();V=true;break;case 72:case 37:w();V=true;break;case 76:case 39:i();V=true;
break;case 75:case 38:r();V=true;break;case 74:case 40:A();V=true;break;case 36:F(0);V=true;break;case 35:F(Number.MAX_VALUE);V=true;break;case 32:O()?Q():u();
V=true;break;case 13:if(O()){Q();V=true;}break;}if(V){W.preventDefault();}else{if(W.keyCode===27&&J){if(O()){Q();}else{B();}W.preventDefault();}}}function v(V){touch.startX=V.touches[0].clientX;
touch.startY=V.touches[0].clientY;touch.startCount=V.touches.length;if(V.touches.length===2){touch.startSpan=I({x:V.touches[1].clientX,y:V.touches[1].clientY},{x:touch.startX,y:touch.startY});
}}function R(aa){if(!touch.handled){var Y=aa.touches[0].clientX;var X=aa.touches[0].clientY;if(aa.touches.length===2&&touch.startCount===2){var Z=I({x:aa.touches[1].clientX,y:aa.touches[1].clientY},{x:touch.startX,y:touch.startY});
if(Math.abs(touch.startSpan-Z)>touch.threshold){touch.handled=true;if(Z<touch.startSpan){B();}else{Q();}}}else{if(aa.touches.length===1){var W=Y-touch.startX,V=X-touch.startY;
if(W>touch.threshold&&Math.abs(W)>Math.abs(V)){touch.handled=true;w();}else{if(W<-touch.threshold&&Math.abs(W)>Math.abs(V)){touch.handled=true;i();}else{if(V>touch.threshold){touch.handled=true;
r();}else{if(V<-touch.threshold){touch.handled=true;A();}}}}}}aa.preventDefault();}}function L(V){touch.handled=false;}function m(V){clearTimeout(mouseWheelTimeout);
mouseWheelTimeout=setTimeout(function(){var W=V.detail||-V.wheelDelta;if(W>0){u();}else{N();}},100);}function t(V){D();}function E(){if(J){var W=document.querySelectorAll(".reveal .slides section a:not(.image)");
for(var X=0,V=W.length;X<V;X++){var Y=W[X];if(Y.textContent&&!Y.querySelector("img")&&(!Y.className||!Y.classList.contains(Y,"roll"))){Y.classList.add("roll");
Y.innerHTML='<span data-title="'+Y.text+'">'+Y.innerHTML+"</span>";}}}}function B(){d.wrapper.classList.add("overview");var V=Array.prototype.slice.call(document.querySelectorAll(j));
for(var aa=0,Y=V.length;aa<Y;aa++){var X=V[aa],ae="translateZ(-2500px) translate("+((aa-k)*105)+"%, 0%)";X.setAttribute("data-index-h",aa);X.style.display="block";
X.style.WebkitTransform=ae;X.style.MozTransform=ae;X.style.msTransform=ae;X.style.OTransform=ae;X.style.transform=ae;if(!X.classList.contains("stack")){X.addEventListener("click",y,true);
}var ad=Array.prototype.slice.call(X.querySelectorAll("section"));for(var Z=0,W=ad.length;Z<W;Z++){var ac=ad[Z],ab="translate(0%, "+((Z-c)*105)+"%)";ac.setAttribute("data-index-h",aa);
ac.setAttribute("data-index-v",Z);ac.style.display="block";ac.style.WebkitTransform=ab;ac.style.MozTransform=ab;ac.style.msTransform=ab;ac.style.OTransform=ab;
ac.style.transform=ab;ac.addEventListener("click",y,true);}}}function Q(){d.wrapper.classList.remove("overview");var Y=Array.prototype.slice.call(document.querySelectorAll(".reveal .slides section"));
for(var X=0,V=Y.length;X<V;X++){var W=Y[X];W.style.WebkitTransform="";W.style.MozTransform="";W.style.msTransform="";W.style.OTransform="";W.style.transform="";
W.removeEventListener("click",y);}b();}function O(){return d.wrapper.classList.contains("overview");}function y(V){if(O()){V.preventDefault();Q();k=this.getAttribute("data-index-h");
c=this.getAttribute("data-index-v");b();}}function U(W,Y){var aa=Array.prototype.slice.call(document.querySelectorAll(W)),ab=aa.length;if(ab){if(H.loop){Y%=ab;
if(Y<0){Y=ab+Y;}}Y=Math.max(Math.min(Y,ab-1),0);for(var Z=0;Z<ab;Z++){var V=aa[Z];if(O()===false){var ac=Math.abs((Y-Z)%(ab-3))||0;V.style.display=ac>3?"none":"block";
}aa[Z].classList.remove("past");aa[Z].classList.remove("present");aa[Z].classList.remove("future");if(Z<Y){aa[Z].classList.add("past");}else{if(Z>Y){aa[Z].classList.add("future");
}}if(V.querySelector("section")){aa[Z].classList.add("stack");}}aa[Y].classList.add("present");var X=aa[Y].getAttribute("data-state");if(X){T=T.concat(X.split(" "));
}}else{Y=0;}return Y;}function b(aa,W){var ac=T.concat();T.length=0;var ab=k,Z=c;k=U(j,aa===undefined?k:aa);c=U(a,W===undefined?c:W);stateLoop:for(var Y=0,V=T.length;
Y<V;Y++){for(var X=0;X<ac.length;X++){if(ac[X]===T[Y]){ac.splice(X,1);continue stateLoop;}}document.documentElement.classList.add(T[Y]);o(T[Y]);}while(ac.length){document.documentElement.classList.remove(ac.pop());
}if(H.progress){d.progressbar.style.width=(k/(document.querySelectorAll(j).length-1))*window.innerWidth+"px";}if(O()){B();}p();clearTimeout(writeURLTimeout);
writeURLTimeout=setTimeout(g,1500);if(k!==ab||c!==Z){o("slidechanged",{indexh:k,indexv:c});}}function p(){var V=f();[d.controlsLeft,d.controlsRight,d.controlsUp,d.controlsDown].forEach(function(W){W.classList.remove("enabled");
});if(V.left){d.controlsLeft.classList.add("enabled");}if(V.right){d.controlsRight.classList.add("enabled");}if(V.up){d.controlsUp.classList.add("enabled");
}if(V.down){d.controlsDown.classList.add("enabled");}}function f(){var V=document.querySelectorAll(j);var W=document.querySelectorAll(a);return{left:k>0,right:k<V.length-1,up:c>0,down:c<W.length-1};
}function D(){var V=window.location.hash.slice(2).split("/");k=parseInt(V[0])||0;c=parseInt(V[1])||0;F(k,c);}function g(){if(H.history){var V="/";if(k>0||c>0){V+=k;
}if(c>0){V+="/"+c;}window.location.hash=V;}}function o(W,V){var X=document.createEvent("HTMLEvents",1,2);X.initEvent(W,true,true);q(X,V);d.wrapper.dispatchEvent(X);
}function s(){if(document.querySelector(a+".present")){var W=document.querySelectorAll(a+".present .fragment:not(.visible)");if(W.length){W[0].classList.add("visible");
o("fragmentshown",{fragment:W[0]});return true;}}else{var V=document.querySelectorAll(j+".present .fragment:not(.visible)");if(V.length){V[0].classList.add("visible");
o("fragmentshown",{fragment:V[0]});return true;}}return false;}function G(){if(document.querySelector(a+".present")){var W=document.querySelectorAll(a+".present .fragment.visible");
if(W.length){W[W.length-1].classList.remove("visible");o("fragmenthidden",{fragment:W[0]});return true;}}else{var V=document.querySelectorAll(j+".present .fragment.visible");
if(V.length){V[V.length-1].classList.remove("visible");o("fragmenthidden",{fragment:V[0]});return true;}}return false;}function F(W,V){b(W,V);}function w(){if(O()||G()===false){b(k-1,0);
}}function i(){if(O()||s()===false){b(k+1,0);}}function r(){if(O()||G()===false){b(k,c-1);}}function A(){if(O()||s()===false){b(k,c+1);}}function N(){if(G()===false){if(f().up){r();
}else{var V=document.querySelector(".reveal .slides>section.past:nth-child("+k+")");if(V){c=(V.querySelectorAll("section").length+1)||0;k--;b();}}}}function u(){if(s()===false){f().down?A():i();
}}function M(){if(O()){Q();}else{B();}}return{initialize:h,navigateTo:F,navigateLeft:w,navigateRight:i,navigateUp:r,navigateDown:A,toggleOverview:M,addEventListeners:z,removeEventListeners:K,addEventListener:function(W,X,V){(d.wrapper||document.querySelector(".reveal")).addEventListener(W,X,V);
},removeEventListener:function(W,X,V){(d.wrapper||document.querySelector(".reveal")).removeEventListener(W,X,V);}};})();