1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-29 11:05:44 +00:00
Lidarr/NzbDrone.Web/Scripts/2011.1.315/telerik.panelbar.min.js
2011-03-28 21:52:17 -07:00

1 line
No EOL
3.8 KiB
JavaScript

(function(c){var a=c.telerik,b={single:0,multi:1};c.extend(a,{panelbar:function(f,g){this.element=f;c.extend(this,g);var h=c(f),e=h.find("li.t-state-active > .t-content"),d=".t-item:not(.t-state-disabled) > .t-link";h.delegate(d,"click",c.proxy(this._click,this)).delegate(d,"mouseenter",a.hover).delegate(d,"mouseleave",a.leave).delegate(".t-item.t-state-disabled > .t-link","click",a.preventDefault);a.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),error:this.onError,load:this.onLoad});if(this.contentUrls){h.find("> .t-item").each(c.proxy(function(i,j){c(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}if(e.length>0&&e.is(":empty")){this.expand(e.parent())}}});a.panelbar.prototype={expand:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").length>0){if(this.expandMode==b.single&&this._collapseAllExpanded(e)){return}this._toggleItem(e,false,null)}},this))},collapse:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").is(":visible")){this._toggleItem(e,true,null)}},this))},toggle:function(e,d){c(e).each(function(){c(this).toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d)})},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},_click:function(m){var f=c(m.target),g=this.element;if(f.closest(".t-widget")[0]!=g){return}var d=f.closest(".t-link"),j=d.closest(".t-item");c(".t-state-selected",g).removeClass("t-state-selected");d.addClass("t-state-selected");if(a.trigger(g,"select",{item:j[0]})){m.preventDefault()}var l=j.find("> .t-content, > .t-group"),h=d.attr("href"),k=d.data("ContentUrl")||(h&&(h.charAt(h.length-1)=="#"||h.indexOf("#"+g.id+"-")!=-1));if(k||l.length>0){m.preventDefault()}else{return}if(this.expandMode==b.single){if(this._collapseAllExpanded(j)){return}}if(l.length!=0){var i=l.is(":visible");if(!a.trigger(g,!i?"expand":"collapse",{item:j[0]})){this._toggleItem(j,i,m)}}},_toggleItem:function(f,h,i){var j=f.find("> .t-group");if(j.length){this._toggleGroup(j,h);if(i!=null){i.preventDefault()}}else{var g=f.parent().children().index(f),d=f.find("> .t-content");if(d.length){if(i!=null){i.preventDefault()}if(!d.is(":empty")){this._toggleGroup(d,h)}else{this._ajaxRequest(f,d,h)}}}},_toggleGroup:function(d,e){if(d.data("animating")){return}d.data("animating",true).parent().toggleClass("t-state-default",e).toggleClass("t-state-active",!e).find("> .t-link > .t-icon").toggleClass("t-arrow-up",!e).toggleClass("t-panelbar-collapse",!e).toggleClass("t-arrow-down",e).toggleClass("t-panelbar-expand",e);a.fx[!e?"play":"rewind"](this.effects,d,null,function(){d.data("animating",false)})},_collapseAllExpanded:function(d){if(d.find("> .t-link").hasClass("t-header")){if(d.find("> .t-content, > .t-group").is(":visible")||d.find("> .t-content, > .t-group").length==0){return true}else{c(this.element).children().find("> .t-content, > .t-group").filter(function(){return c(this).is(":visible")}).each(c.proxy(function(f,e){this._toggleGroup(c(e),true)},this))}}},_ajaxRequest:function(f,d,h){var i=f.find(".t-panelbar-collapse, .t-panelbar-expand"),e=f.find(".t-link"),g=setTimeout(function(){i.addClass("t-loading")},100),j={};c.ajax({type:"GET",cache:false,url:e.data("ContentUrl")||e.attr("href"),dataType:"html",data:j,error:c.proxy(function(l,k){if(a.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(g);i.removeClass("t-loading")},success:c.proxy(function(k,l){d.html(k);this._toggleGroup(d,h)},this)})}};c.fn.tPanelBar=function(d){return a.create(this,{name:"tPanelBar",init:function(e,f){return new a.panelbar(e,f)},options:d})};c.fn.tPanelBar.defaults={effects:a.fx.property.defaults("height")}})(jQuery);