1 line
2.4 KiB
JavaScript
1 line
2.4 KiB
JavaScript
(function(a){var b=a.telerik;b.reordering={};b.reordering.initialize=function(d){d.$reorderDropCue=a('<div class="t-reorder-cue"><div class="t-icon t-arrow-down"></div><div class="t-icon t-arrow-up"></div></div>');var c=d.$header.children("th").length-1;var e=function(i,l){var k=a.inArray(l,d.columns);d.columns.splice(k,1);d.columns.splice(i,0,l);h(d.$columns(),k,i);h(d.$tbody.parent().find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(d.$headerWrap.find("table").find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);var j=d.$footerWrap.find("table");h(j.find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(j.find("> tbody > tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)").add(d.$footer.find("tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)")),k,i);a.each(d.$tbody.children(),function(){h(a(this).find(" > td:not(.t-group-cell, .t-hierarchy-cell, .t-detail-cell)"),k,i)})};d.reorderColumn=e;function f(i,k,l,j){g(i,k,l,j,"th","t-last-header");g(i,k,l,j,"td","t-last")}function g(j,l,k,m,i,n){if(k.is(i)&&m==c){j.addClass(n);k.removeClass(n)}if(j.is(i)&&l==c){j.removeClass(n).prev(i).addClass(n)}}function h(j,k,i){var l=j.eq(k);var m=j.eq(i);f(l,k,m,i);l[k>i?"insertBefore":"insertAfter"](m)}new b.draggable({owner:d.$header,selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",scope:d.element.id+"-reodering",cue:function(i){return b.dragCue(i.$draggable.text())},destroy:function(i){i.$cue.remove()}});new b.droppable({owner:d.$header,scope:d.element.id+"-reodering",selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",over:function(i){var j=a.trim(i.$draggable.text())==a.trim(i.$droppable.text());b.dragCueStatus(i.$cue,j?"t-denied":"t-add");if(!j){d.$reorderDropCue.css({height:i.$droppable.outerHeight(),top:a("> .t-grid-toolbar",d.element).outerHeight()+a("> .t-pager-wrapper",d.element).outerHeight()+a("> .t-grouping-header",d.element).outerHeight(),left:function(){return i.$droppable.position().left+((i.$droppable.index()>i.$draggable.index())?i.$droppable.outerWidth():0)}}).appendTo(d.element)}},out:function(i){d.$reorderDropCue.remove();b.dragCueStatus(i.$cue,"t-denied")},drop:function(k){d.$reorderDropCue.remove();if(k.$cue.find(".t-drag-status").is(".t-add")){var i=d.columnFromTitle(a.trim(k.$draggable.text()));var j=d.$columns().index(k.$droppable);b.trigger(d.element,"columnReorder",{column:i,oldIndex:a.inArray(i,d.columns),newIndex:j});e(j,i);b.trigger(d.element,"repaint")}}})}})(jQuery); |