mirror of
https://github.com/Sonarr/Sonarr
synced 2024-12-27 02:07:41 +00:00
1 line
13 KiB
JavaScript
1 line
13 KiB
JavaScript
|
(function(c){var b=c.telerik;function a(d){d.find(".t-plus").each(function(){var e=c(this.parentNode);e.parent().data("loaded",e.next(".t-group").length>0)})}b.treeview=function(f,g){this.element=f;var h=c(f);c.extend(this,g);var d=".t-in:not(.t-state-selected,.t-state-disabled)";c(".t-in.t-state-selected",f).live("mouseenter",b.preventDefault);h.delegate(d,"mouseenter",b.hover).delegate(d,"mouseleave",b.leave).delegate(d,"click",b.delegate(this,this.nodeSelect)).delegate("div:not(.t-state-disabled) .t-in","dblclick",b.delegate(this,this.nodeClick)).delegate(":checkbox","click",b.delegate(this,this.checkboxClick)).delegate(".t-plus, .t-minus","click",b.delegate(this,this.nodeClick));if(this.isAjax()){a(h)}if(this.dragAndDrop){b.bind(this,{nodeDragStart:this.onNodeDragStart,nodeDragging:this.onNodeDragging,nodeDragCancelled:this.onNodeDragCancelled,nodeDrop:this.onNodeDrop,nodeDropped:this.onNodeDropped});(function(k){var i=c('<div class="t-drop-clue" />');var n;function j(o){if(b.trigger(k.element,"nodeDragStart",{item:o.$draggable.closest(".t-item")[0]})){return false}i.appendTo(k.element)}function l(w){var r;n=c(w.target);b.trigger(k.element,"nodeDragging",{pageY:w.pageY,pageX:w.pageX,dropTarget:w.target,setStatusClass:function(z){r=z},item:w.$draggable.closest(".t-item")[0]});if(r){i.css("visibility","hidden");b.dragCueStatus(w.$cue,r);return}r="t-insert-middle";if(k.dragAndDrop.dropTargets&&c(w.target).closest(k.dragAndDrop.dropTargets).length>0){b.dragCueStatus(w.$cue,"t-add");return}if(!c.contains(k.element,w.target)){i.css("visibility","hidden");return}else{if(c.contains(w.$draggable.closest(".t-item")[0],w.target)){i.css("visibility","hidden");b.dragCueStatus(w.$cue,"t-denied");return}}i.css("visibility","visible");var q=n.closest(".t-top,.t-mid,.t-bot");if(q.length>0){var v=q.outerHeight();var t=q.offset().top;var y=n.closest(".t-in");var x=v/(y.length>0?4:2);var u=w.pageY<(t+x);var o=(t+v-x)<w.pageY;var p=y.length>0&&!u&&!o;y.toggleClass("t-state-hover",p);i.css("visibility",p?"hidden":"visible");if(p){r="t-add"}else{var s=q.position();s.top+=u?0:v;i.css(s)[u?"prependTo":"appendTo"](n.closest(".t-item").find("> div:first"));r="t-insert-middle";if(u&&q.hasClass("t-top")){r="t-insert-top"}if(o&&q.hasClass("t-bot")){r="t-insert-bottom"}}}b.dragCueStatus(w.$cue,r)}function m(v){if(v.keyCode==27){b.trigger(k.element,"nodeDragCancelled",{item:v.$draggable.closest(".t-item")[0]})}else{var q="over",p;if(i.css("visibility")=="visible"){q=i.prevAll(".t-in").length>0?"after":"before";p=i.closest(".t-item").find("> div")}else{if(n){p=n.closest(".t-top,.t-mid,.t-bot")}}var r=b.trigger(k.element,"nodeDrop",{isValid:!v.$cue.find(".t-drag-status").hasClass("t-denied"),dropTarget:v.target,destinationItem:p.parent()[0],dropPosition:q,item:v.$draggable.closest(".t-item")[0]});if(r||!c.contains(k.element,v.target)){return !r}var t=v.$draggable.closest(".t-top,.t-mid,.t-bot");var u=t.parent();var x=t.closest(".t-group");if(c.contains(u[0],v.target)){return false}if(u.hasClass("t-last")){u.removeClass("t-last").prev().addClass("t-last").find("> div").removeClass("t-top t-mid").addClass("t-bot")}if(i.css("visibility")=="visible"){p.parent()[q](u)}else{var o=p.next(".t-group");if(o.length===0){o=c('<ul class="t-group" />').appendTo(p.parent());if(!k.isAjax()){p.prepend('<span class="t-icon t-minus" />')}else{o.hide();k.nodeToggle(null,p.parent(),true);o.show()}}o.append(u);if(p.find("> .t-icon").hasClass("t-plus")){k.nodeToggle(null,p.parent(),true)}}var s=u.parents(".t-group").length;function w(z){var A=z.prev().length===0;var y=z.next().length===0;z.toggleClass("t-first",A&&s===1).toggleClass("t-last",y).find("> div").toggleClass("t-top",A&&!y).toggleClass("t-mid",!A&&!y).toggleClass("t-bot",y)}w(u);w(u.prev());w(u.next());if(x.children().length===0){x.prev("div").find(".t-plus,.t-minus").remove();x.remove()}b.trigger(k.element,"nodeDropped",{destinationItem:p.closest(".t-item")[0],dropPosition:q,item:t.parent(".t-item")[0]});return false}}new b.draggable({owner:k.element,selector:"div:not(.t-state-disabled) .t-in",scope:k.element.
|