1 line
2.1 KiB
JavaScript
1 line
2.1 KiB
JavaScript
(function(a){var b=a.telerik;b.resizing={};b.resizing.initialize=function(p){var c,o=a('<div class="t-grid-resize-indicator" />'),i,d,h,l=3;function m(q,r){a("th, th .t-grid-filter, th .t-link",q).add(document.body).css("cursor",r)}function k(q){var r=0;a("> .t-grouping-header, > .t-grid-top",q).each(function(){r+=this.offsetHeight});return r}function e(t){var r=0;a(".t-resize-handle",p.element).each(function(){r+=a(this).data("th").outerWidth();a(this).css("left",r-l)});r=-p.$tbody.closest(".t-grid-content").scrollLeft();t.prevAll("th").add(t).each(function(){r+=this.offsetWidth});var q=p.scrollable?a(".t-grid-content",p.element):a("tbody",p.element);var s=q.attr(p.scrollable?"clientWidth":"offsetWidth");if(r>=s){o.remove()}else{o.css({left:r,top:k(p.element),height:t.outerHeight()+q.attr(p.scrollable?"clientHeight":"offsetHeight")});if(!o.parent().length){o.appendTo(p.element)}}}function j(r){var q=r.$draggable.data("th");c=a("colgroup",p.element).find("col:eq("+q.index()+")");h=r.pageX;d=q.outerWidth();i=p.$tbody.outerWidth()}function g(q){var r=d+q.pageX-h;if(r>10){c.css("width",r);if(p.scrollable){p.$tbody.parent().add(p.$headerWrap.find("table")).add(p.$footer.find("table")).css("width",i+q.pageX-h)}e(q.$draggable.data("th"))}}function f(s){o.remove();m(p.element,"");var r=s.$draggable.data("th");var q=r.outerWidth();if(p.onColumnResize&&q!=d){b.trigger(p.element,"columnResize",{column:p.columns[p.$columns().index(r)],oldWidth:d,newWidth:q})}return false}function n(){var r=0,q=p.element.id+"-column-resizing";var s=b.draggable.get(q);if(s){s._destroy()}p.$headerWrap.add(p.element).find("> .t-resize-handle").remove();p.$header.find(".t-header:visible:not(.t-group-cell)").each(function(){r+=this.offsetWidth;var t=a(this);a('<div class="t-resize-handle" />').css({left:r-l,top:p.scrollable?0:k(p.element),width:l*2}).appendTo(p.scrollable?p.$headerWrap:p.element).data("th",t).mousedown(function(){e(t);m(p.element,a(this).css("cursor"))}).mouseup(function(){m(p.element,"")})});new b.draggable({owner:p.element,selector:".t-resize-handle",scope:q,distance:0,start:j,drag:g,stop:f})}n();a(p.element).one("mouseenter",n).bind("repaint",n)}})(jQuery); |