|
|
/* * # Semantic UI * git://github.com/Semantic-Org/Semantic-UI.git#1.0
* * * Copyright 2014 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT
* */ !function(e,n,t,i){"use strict";e.fn.accordion=function(t){{var o,s=e(this),a=(new Date).getTime(),r=[],c=arguments[0],l="string"==typeof c,u=[].slice.call(arguments,1);n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame||function(e){setTimeout(e,0)}}return s.each(function(){var n,d,p=e.isPlainObject(t)?e.extend(!0,{},e.fn.accordion.settings,t):e.extend({},e.fn.accordion.settings),m=p.className,f=p.namespace,g=p.selector,v=(p.error,"."+f),h="module-"+f,b=s.selector||"",y=e(this),x=y.find(g.title),C=y.find(g.content),O=this,T=y.data(h);d={initialize:function(){d.debug("Initializing accordion with bound events",y),y.on("click"+v,g.title,d.event.click),d.observeChanges(),d.instantiate()},instantiate:function(){T=d,y.data(h,d)},destroy:function(){d.debug("Destroying previous accordion for",y),y.removeData(h),x.off(v)},refresh:function(){x=y.find(g.title),C=y.find(g.content)},observeChanges:function(){MutationObserver!==i&&(n=new MutationObserver(function(){d.debug("DOM tree modified, updating selector cache"),d.refresh()}),n.observe(O,{childList:!0,subtree:!0}),d.debug("Setting up mutation observer",n))},event:{click:function(){e.proxy(d.toggle,this)()}},toggle:function(n){var t=n!==i?"number"==typeof n?x.eq(n):e(n):e(this),o=t.next(C),s=o.is(":visible");d.debug("Toggling visibility of content",t),s?p.collapsible?e.proxy(d.close,t)():d.debug("Cannot close accordion content collapsing is disabled"):e.proxy(d.open,t)()},open:function(n){var t=n!==i?"number"==typeof n?x.eq(n):e(n):e(this),o=t.next(C),s=o.is(":animated"),a=o.hasClass(m.active);s||a||(d.debug("Opening accordion content",t),p.exclusive&&e.proxy(d.closeOthers,t)(),t.addClass(m.active),o.stop().children().stop().animate({opacity:1},p.duration,d.reset.display).end().slideDown(p.duration,p.easing,function(){o.addClass(m.active),e.proxy(d.reset.display,this)(),e.proxy(p.onOpen,this)(),e.proxy(p.onChange,this)()}))},close:function(n){var t=n!==i?"number"==typeof n?x.eq(n):e(n):e(this),o=t.next(C),s=o.hasClass(m.active);s&&(d.debug("Closing accordion content",o),t.removeClass(m.active),o.removeClass(m.active).show().stop().children().stop().animate({opacity:0},p.duration,d.reset.opacity).end().slideUp(p.duration,p.easing,function(){e.proxy(d.reset.display,this)(),e.proxy(p.onClose,this)(),e.proxy(p.onChange,this)()}))},closeOthers:function(n){var t,o,s,a=n!==i?x.eq(n):e(this),r=a.parents(g.content).prev(g.title),c=a.closest(g.accordion),l=g.title+"."+m.active+":visible",u=g.content+"."+m.active+":visible";p.closeNested?(t=c.find(l).not(r),s=t.next(C)):(t=c.find(l).not(r),o=c.find(u).find(l).not(r),t=t.not(o),s=t.next(C)),t.size()>0&&(d.debug("Exclusive enabled, closing other content",t),t.removeClass(m.active),s.stop().children().stop().animate({opacity:0},p.duration,d.resetOpacity).end().slideUp(p.duration,p.easing,function(){e(this).removeClass(m.active),e.proxy(d.reset.display,this)()}))},reset:{display:function(){d.verbose("Removing inline display from element",this),e(this).css("display",""),""===e(this).attr("style")&&e(this).attr("style","").removeAttr("style")},opacity:function(){d.verbose("Removing inline opacity from element",this),e(this).css("opacity",""),""===e(this).attr("style")&&e(this).attr("style","").removeAttr("style")}},setting:function(n,t){if(d.debug("Changing setting",n,t),e.isPlainObject(n))e.extend(!0,p,n);else{if(t===i)return p[n];p[n]=t}},internal:function(n,t){return d.debug("Changing internal",n,t),t===i?d[n]:void(e.isPlainObject(n)?e.extend(!0,d,n):d[n]=t)},debug:function(){p.debug&&(p.performance?d.performance.log(arguments):(d.debug=Function.prototype.bind.call(console.info,console,p.name+":"),d.debug.apply(console,arguments)))},verbose:function(){p.verbose&&p.debug&&(p.performance?d.performance.log(arguments):(d.verbose=Function.prototype.bind.call(console.info,console,p.name+":"),d.verbose.apply(console,arguments)))},error:function(){d.error=Function.prototype.bind.call(console.error,console,p.name+":"),d.error.apply(console,arguments)},performance:{log:function(e){var n,t,i;p.p
|