You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

11 lines
12 KiB

/*
* # Semantic UI
* https://github.com/Semantic-Org/Semantic-UI
* http://beta.semantic-ui.com/
*
* Copyright 2014 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
!function(e,i,n,t){"use strict";e.fn.sidebar=function(o){var r,s=e(this),a=(e("head"),s.selector||""),l=(new Date).getTime(),c=[],u=arguments[0],d="string"==typeof u,f=[].slice.call(arguments,1),m=i.requestAnimationFrame||i.mozRequestAnimationFrame||i.webkitRequestAnimationFrame||i.msRequestAnimationFrame||function(e){setTimeout(e,0)};return s.each(function(){var s,g,b,p,v=e.isPlainObject(o)?e.extend(!0,{},e.fn.sidebar.settings,o):e.extend({},e.fn.sidebar.settings),h=v.selector,y=v.className,x=v.namespace,T=v.error,w="."+x,C="module-"+x,k=e(this),P=e(v.context),S=k.children(h.sidebar),A=P.children(h.pusher),z=this,F=k.data(C);p={initialize:function(){p.debug("Initializing sidebar",o),b=p.get.transitionEvent(),p.is.legacy()&&(v.useLegacy=!0),m(p.setup.layout),p.instantiate()},instantiate:function(){p.verbose("Storing instance of module",p),F=p,k.data(C,p)},destroy:function(){p.verbose("Destroying previous module for",k),p.remove.direction(),k.off(w).removeData(C)},event:{clickaway:function(i){0===k.find(i.target).size()&&0===e(i.target).filter(k).size()&&(p.verbose("User clicked on dimmed page"),p.hide())},touch:function(){},containScroll:function(){z.scrollTop<=0&&(z.scrollTop=1),z.scrollTop+z.offsetHeight>=z.scrollHeight&&(z.scrollTop=z.scrollHeight-z.offsetHeight-1)},scroll:function(i){0===k.find(i.target).size()&&0===e(i.target).filter(k).size()&&i.preventDefault()}},bind:{clickaway:function(){v.scrollLock&&e(i).on("DOMMouseScroll"+w,p.event.scroll),e(n).on("touchmove"+w,p.event.touch),k.on("scroll"+w,p.event.containScroll),v.closable&&P.on("click"+w,p.event.clickaway).on("touchend"+w,p.event.clickaway)}},unbind:{clickaway:function(){P.off(w),A.off(w),e(n).off(w),e(i).off(w)}},add:{bodyCSS:function(){var i=k.outerWidth(),n=k.outerHeight(),t='<style title="'+x+'"> .ui.visible.left.sidebar ~ .fixed, .ui.visible.left.sidebar ~ .pusher { -webkit-transform: translate3d('+i+"px, 0, 0); transform: translate3d("+i+"px, 0, 0); } .ui.visible.right.sidebar ~ .fixed, .ui.visible.right.sidebar ~ .pusher { -webkit-transform: translate3d(-"+i+"px, 0, 0); transform: translate3d(-"+i+"px, 0, 0); } .ui.visible.top.sidebar ~ .fixed, .ui.visible.top.sidebar ~ .pusher { -webkit-transform: translate3d(0, "+n+"px, 0); transform: translate3d(0, "+n+"px, 0); } .ui.visible.bottom.sidebar ~ .fixed, .ui.visible.bottom.sidebar ~ .pusher { -webkit-transform: translate3d(0, -"+n+"px, 0); transform: translate3d(0, -"+n+"px, 0); }</style>";P.append(t),s=e("style[title="+x+"]"),p.debug("Adding sizing css to head",s)}},refresh:function(){p.verbose("Refreshing selector cache"),P=e(v.context),S=P.children(h.sidebar),A=P.children(h.pusher)},repaint:function(){p.verbose("Forcing repaint event"),z.style.display="none",z.offsetHeight,z.scrollTop=z.scrollTop,z.style.display=""},setup:{layout:function(){0===P.find(h.pusher).size()&&(p.debug("Adding wrapper element for sidebar"),A=e('<div class="pusher" />'),P.children().not(h.omitted).not(S).wrapAll(A),p.refresh()),k.nextAll(h.pusher)[0]!==A[0]&&(p.debug("Moved sidebar to correct parent element"),k.detach().prependTo(P),p.refresh()),p.set.pushable(),p.set.direction()}},attachEvents:function(i,n){var t=e(i);n=e.isFunction(p[n])?p[n]:p.toggle,t.size()>0?(p.debug("Attaching sidebar events to element",i,n),t.on("click"+w,n)):p.error(T.notFound,i)},show:function(i){var n=v.useLegacy?p.legacyPushPage:p.pushPage;i=e.isFunction(i)?i:function(){},p.is.closed()?(v.overlay&&(p.error(T.overlay),v.transition="overlay"),p.refresh(),p.othersVisible()&&"overlay"!=p.get.transition()&&(p.debug("Other sidebars currently open"),v.exclusive&&p.hideOthers()),n(function(){e.proxy(i,z)(),e.proxy(v.onShow,z)()}),e.proxy(v.onChange,z)(),e.proxy(v.onVisible,z)()):p.debug("Sidebar is already visible")},hide:function(i){var n=v.useLegacy?p.legacyPullPage:p.pullPage;i=e.isFunction(i)?i:function(){},(p.is.visible()||p.is.animating())&&(p.debug("Hiding sidebar",i),n(function(){e.proxy(i,z)(),e.proxy(v.onHidden,z)()}),e.proxy(v.onChange,z)(),e.proxy(v.onHide,z)())},othersVisible:function(){return S.not(k).filter("."+y.visible).size()>0},othersActive:function(){return S.not(k).filter("."+y.active).size()>0},hideOthers:function(e){var i=S.not(k).filter("."+y.visible),e=e||function(){},n=i.size(),t=0;i.sidebar("hide",function(){t++,t==n&&e()})},toggle:function(){p.verbose("Determining toggled direction"),p.is.closed()?p.show():p.hide()},pushPage:function(i){var n,t,o=p.get.transition(),r="safe"==o?P:"overlay"==o||p.othersActive()?k:A;i=e.isFunction(i)?i:function(){},("scale down"==v.transition||p.is.mobile()&&"overlay"!==o)&&p.scrollToTop(),p.add.bodyCSS(),p.set.transition(),p.repaint(),n=function(){p.set.animating(),m(function(){p.set.visible(),p.othersActive()||v.dimPage&&A.addClass(y.dimmed)})},t=function(n){n.target==r[0]&&(r.off(b+w,t),p.remove.animating(),p.bind.clickaway(),e.proxy(i,z)())},r.on(b+w,t),m(n)},pullPage:function(i){var n,t,o=p.get.transition(),r="safe"==o?P:"overlay"==o||p.othersActive()?k:A;i=e.isFunction(i)?i:function(){},p.verbose("Removing context push state",p.get.direction()),p.othersActive()||p.unbind.clickaway(),n=function(){p.set.animating(),p.remove.visible(),v.dimPage&&!p.othersActive()&&A.removeClass(y.dimmed)},t=function(n){n.target==r[0]&&(r.off(b+w,t),p.remove.animating(),p.remove.transition(),p.remove.bodyCSS(),("scale down"==o||v.returnScroll&&"overlay"!==o&&p.is.mobile())&&p.scrollBack(),e.proxy(i,z)())},r.on(b+w,t),m(n)},legacyPushPage:function(i){var n=k.width(),t=p.get.direction(),o={};n=n||k.width(),i=e.isFunction(i)?i:function(){},o[t]=n,p.debug("Using javascript to push context",o),p.set.visible(),p.set.transition(),p.set.animating(),v.dimPage&&A.addClass(y.dimmed),P.animate(o,v.duration,v.easing,function(){p.remove.animating(),p.bind.clickaway(),e.proxy(i,p)()})},legacyPullPage:function(i){var n=0,t=p.get.direction(),o={};n=n||k.width(),i=e.isFunction(i)?i:function(){},o[t]="0px",p.debug("Using javascript to pull context",o),p.unbind.clickaway(),p.set.animating(),p.remove.visible(),v.dimPage&&!p.othersVisible()&&A.removeClass(y.dimmed),P.animate(o,v.duration,v.easing,function(){p.remove.animating(),e.proxy(i,p)()})},scrollToTop:function(){p.verbose("Scrolling to top of page to avoid animation issues"),k.scrollTop(0),i.scrollTo(0,0)},scrollBack:function(){p.verbose("Scrolling back to original page position"),i.scrollTo(0,g)},set:{pushed:function(){P.addClass(y.pushed)},pushable:function(){P.addClass(y.pushable)},active:function(){k.addClass(y.active)},animating:function(){k.addClass(y.animating)},transition:function(e){e=e||p.get.transition(),k.addClass(e)},direction:function(e){e=e||p.get.direction(),k.addClass(y[e])},visible:function(){k.addClass(y.visible)},overlay:function(){k.addClass(y.overlay)}},remove:{bodyCSS:function(){p.debug("Removing body css styles",s),s.size()>0&&s.remove()},pushed:function(){P.removeClass(y.pushed)},pushable:function(){P.removeClass(y.pushable)},active:function(){k.removeClass(y.active)},animating:function(){k.removeClass(y.animating)},transition:function(e){e=e||p.get.transition(),k.removeClass(e)},direction:function(e){e=e||p.get.direction(),k.removeClass(y[e])},visible:function(){k.removeClass(y.visible)},overlay:function(){k.removeClass(y.overlay)}},get:{direction:function(){return k.hasClass(y.top)?y.top:k.hasClass(y.right)?y.right:k.hasClass(y.bottom)?y.bottom:y.left},transition:function(){var e=p.get.direction();return p.is.mobile()?"auto"==v.mobileTransition?v.defaultTransition.mobile[e]:v.mobileTransition:"auto"==v.transition?v.defaultTransition.computer[e]:v.transition},transitionEvent:function(){var e,i=n.createElement("element"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(e in o)if(i.style[e]!==t)return o[e]}},is:{legacy:function(){var e,o=n.createElement("div"),r={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};n.body.insertBefore(o,null);for(var s in r)o.style[s]!==t&&(o.style[s]="translate3d(1px,1px,1px)",e=i.getComputedStyle(o).getPropertyValue(r[s]));return n.body.removeChild(o),!(e!==t&&e.length>0&&"none"!==e)},mobile:function(){var e=navigator.userAgent,i=/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/,n=i.test(e);return n?(p.verbose("Browser was found to be mobile",e),!0):(p.verbose("Browser is not mobile, using regular transition",e),!1)},closed:function(){return!p.is.visible()},visible:function(){return k.hasClass(y.visible)},vertical:function(){return k.hasClass(y.top)},animating:function(){return P.hasClass(y.animating)}},setting:function(i,n){if(p.debug("Changing setting",i,n),e.isPlainObject(i))e.extend(!0,v,i);else{if(n===t)return v[i];v[i]=n}},internal:function(i,n){if(e.isPlainObject(i))e.extend(!0,p,i);else{if(n===t)return p[i];p[i]=n}},debug:function(){v.debug&&(v.performance?p.performance.log(arguments):(p.debug=Function.prototype.bind.call(console.info,console,v.name+":"),p.debug.apply(console,arguments)))},verbose:function(){v.verbose&&v.debug&&(v.performance?p.performance.log(arguments):(p.verbose=Function.prototype.bind.call(console.info,console,v.name+":"),p.verbose.apply(console,arguments)))},error:function(){p.error=Function.prototype.bind.call(console.error,console,v.name+":"),p.error.apply(console,arguments)},performance:{log:function(e){var i,n,t;v.performance&&(i=(new Date).getTime(),t=l||i,n=i-t,l=i,c.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:z,"Execution Time":n})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,100)},display:function(){var i=v.name+":",n=0;l=!1,clearTimeout(p.performance.timer),e.each(c,function(e,i){n+=i["Execution Time"]}),i+=" "+n+"ms",a&&(i+=" '"+a+"'"),(console.group!==t||console.table!==t)&&c.length>0&&(console.groupCollapsed(i),console.table?console.table(c):e.each(c,function(e,i){console.log(i.Name+": "+i["Execution Time"]+"ms")}),console.groupEnd()),c=[]}},invoke:function(i,n,o){var s,a,l,c=F;return n=n||f,o=z||o,"string"==typeof i&&c!==t&&(i=i.split(/[\. ]/),s=i.length-1,e.each(i,function(n,o){var r=n!=s?o+i[n+1].charAt(0).toUpperCase()+i[n+1].slice(1):i;if(e.isPlainObject(c[r])&&n!=s)c=c[r];else{if(c[r]!==t)return a=c[r],!1;if(!e.isPlainObject(c[o])||n==s)return c[o]!==t?(a=c[o],!1):(p.error(T.method,i),!1);c=c[o]}})),e.isFunction(a)?l=a.apply(o,n):a!==t&&(l=a),e.isArray(r)?r.push(l):r!==t?r=[r,l]:l!==t&&(r=l),a}},d?(F===t&&p.initialize(),p.invoke(u)):(F!==t&&p.invoke("destroy"),p.initialize())}),r!==t?r:this},e.fn.sidebar.settings={name:"Sidebar",namespace:"sidebar",debug:!1,verbose:!0,performance:!0,transition:"auto",mobileTransition:"auto",defaultTransition:{computer:{left:"uncover",right:"uncover",top:"overlay",bottom:"overlay"},mobile:{left:"uncover",right:"uncover",top:"overlay",bottom:"overlay"}},context:"body",exclusive:!1,closable:!0,dimPage:!0,scrollLock:!1,returnScroll:!0,useLegacy:!1,duration:500,easing:"easeInOutQuint",onChange:function(){},onShow:function(){},onHide:function(){},onHidden:function(){},onVisible:function(){},className:{active:"active",animating:"animating",dimmed:"dimmed",pushable:"pushable",pushed:"pushed",right:"right",top:"top",left:"left",bottom:"bottom",visible:"visible"},selector:{fixed:".fixed",omitted:"script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed",pusher:".pusher",sidebar:".ui.sidebar"},error:{method:"The method you called is not defined.",overlay:"The overlay setting is no longer supported, use animation: overlay",notFound:"There were no elements that matched the specified selector"}},e.extend(e.easing,{easeInOutQuint:function(e,i,n,t,o){return(i/=o/2)<1?t/2*i*i*i*i*i+n:t/2*((i-=2)*i*i*i*i+2)+n}})}(jQuery,window,document);