1 line
3.7 KiB
JavaScript
1 line
3.7 KiB
JavaScript
|
(function(a){var b=a.telerik;b.scripts.push("telerik.tabstrip.js");b.tabstrip=function(c,d){this.element=c;var f=a(c);this.$contentElements=f.find("> .t-content");a.extend(this,d);if(this.contentUrls){f.find(".t-tabstrip-items > .t-item").each(a.proxy(function(i,j){a(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}var h=".t-tabstrip-items > .t-item:not(.t-state-disabled)";f.delegate(h,"mouseenter",b.hover).delegate(h,"mouseleave",b.leave).delegate(h,d.activateEvent,b.delegate(this,this._click)).delegate(".t-tabstrip-items > .t-state-disabled .t-link","click",b.preventDefault);b.bind(this,{select:a.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),contentLoad:this.onContentLoad,error:this.onError,load:this.onLoad});var g=f.find("li.t-state-active"),e=a(this.getContentElement(g.parent().children().index(g)));if(e.length>0&&e[0].childNodes.length==0){this.activateTab(g.eq(0))}};a.extend(b.tabstrip.prototype,{select:function(c){a(c).each(a.proxy(function(e,f){var d=a(f);if(d.is(".t-state-disabled,.t-state-active")){return}this.activateTab(d)},this))},enable:function(c){a(c).addClass("t-state-default").removeClass("t-state-disabled")},disable:function(c){a(c).removeClass("t-state-default").removeClass("t-state-active").addClass("t-state-disabled")},reload:function(d){var c=this;a(d).each(function(){var f=a(this),e=f.find(".t-link").data("ContentUrl");if(e){c.ajaxRequest(f,a(c.getContentElement(f.index())),null,e)}})},_click:function(j,f){var h=a(f),c=h.find(".t-link"),d=c.attr("href"),g=a(this.getContentElement(h.index()));if(h.is(".t-state-disabled,.t-state-active")){j.preventDefault();return}if(b.trigger(this.element,"select",{item:h[0],contentElement:g[0]})){j.preventDefault()}else{var i=c.data("ContentUrl")||(d&&(d.charAt(d.length-1)=="#"||d.indexOf("#"+this.element.id+"-")!=-1));if(!d||i||(g.length>0&&g[0].childNodes.length==0)){j.preventDefault()}else{return}if(this.activateTab(h)){j.preventDefault()}}},activateTab:function(d){var f=d.parent().children().removeClass("t-state-active").addClass("t-state-default").index(d);d.removeClass("t-state-default").addClass("t-state-active");var g=this.$contentElements;if(g.length==0){return false}var j=g.filter(".t-state-active");var e=a(this.getContentElement(f));var h=this;if(e.length==0){j.removeClass("t-state-active");b.fx.rewind(h.effects,j,{});return false}var c=e.is(":empty"),i=function(){e.addClass("t-state-active");b.fx.play(h.effects,e,{})};j.removeClass("t-state-active").stop(false,true);b.fx.rewind(h.effects,j,{},function(){if(d.hasClass("t-state-active")){if(!c){i()}else{h.ajaxRequest(d,e,function(){if(d.hasClass("t-state-active")){i()}})}}});return true},getSelectedTabIndex:function(){return a(this.element).find("li.t-state-active").index()},getContentElement:function(g){if(isNaN(g-0)){return}var c=this.$contentElements,e=new RegExp("-"+(g+1)+"$");for(var d=0,f=c.length;d<f;d++){if(e.test(c[d].id)){return c[d]}}},ajaxRequest:function(f,e,j,g){if(f.find(".t-loading").length){return}var d=f.find(".t-link"),c={},i=null,h=setTimeout(function(){i=a('<span class="t-icon t-loading"></span>').prependTo(d)},100);a.ajax({type:"GET",cache:false,url:g||d.data("ContentUrl")||d.attr("href"),dataType:"html",data:c,error:a.proxy(function(l,k){if(b.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(h);if(i!==null){i.remove()}},success:a.proxy(function(k,l){e.html(k);if(j){j.call(this,e)}b.trigger(this.element,"contentLoad",{item:f[0],contentElement:e[0]})},this)})}});a.fn.tTabStrip=function(c){return b.create(this,{name:"tTabStrip",init:function(d,e){return new b.tabstrip(d,e)},options:c})};a.fn.tTabStrip.defaults={activateEvent:"click",effects:b.fx.toggle.defaults()}})(jQuery);
|