/** * Kendo UI v2016.1.112 (http://www.telerik.com/kendo-ui) * Copyright 2016 Telerik AD. All rights reserved. * * Kendo UI commercial licenses may be obtained at * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete * If you do not own a commercial license, this file shall be governed by the trial license terms. */ !function(t,define){define("kendo.groupable.min",["kendo.core.min","kendo.draganddrop.min"],t)}(function(){return function(t,e){function r(t){return t.position().top+3}var a=window.kendo,n=a.ui.Widget,i=t.proxy,o=!1,d=".kendoGroupable",s="change",l=a.template('
',{useWithBlock:!1}),g=function(e){return t('').css({width:e.width(),paddingLeft:e.css("paddingLeft"),paddingRight:e.css("paddingRight"),lineHeight:e.height()+"px",paddingTop:e.css("paddingTop"),paddingBottom:e.css("paddingBottom")}).html(e.attr(a.attr("title"))||e.attr(a.attr("field"))).prepend('')},u=t(''),c=n.extend({init:function(l,c){var p,f,h=this,m=a.guid(),k=i(h._intializePositions,h),v=h._dropCuePositions=[];n.fn.init.call(h,l,c),o=a.support.isRtl(l),f=o?"right":"left",h.draggable=p=h.options.draggable||new a.ui.Draggable(h.element,{filter:h.options.draggableElements,hint:g,group:m}),h.groupContainer=t(h.options.groupContainer,h.element).kendoDropTarget({group:p.options.group,dragenter:function(t){h._canDrag(t.draggable.currentTarget)&&(t.draggable.hint.find(".k-drag-status").removeClass("k-denied").addClass("k-add"),u.css("top",r(h.groupContainer)).css(f,0).appendTo(h.groupContainer))},dragleave:function(t){t.draggable.hint.find(".k-drag-status").removeClass("k-add").addClass("k-denied"),u.remove()},drop:function(e){var r,n=e.draggable.currentTarget,i=n.attr(a.attr("field")),d=n.attr(a.attr("title")),s=h.indicator(i),l=h._dropCuePositions,g=l[l.length-1];(n.hasClass("k-group-indicator")||h._canDrag(n))&&(g?(r=h._dropCuePosition(a.getOffset(u).left+parseInt(g.element.css("marginLeft"),10)*(o?-1:1)+parseInt(g.element.css("marginRight"),10)),r&&h._canDrop(t(s),r.element,r.left)&&(r.before?r.element.before(s||h.buildIndicator(i,d)):r.element.after(s||h.buildIndicator(i,d)),h._change())):(h.groupContainer.append(h.buildIndicator(i,d)),h._change()))}}).kendoDraggable({filter:"div.k-group-indicator",hint:g,group:p.options.group,dragcancel:i(h._dragCancel,h),dragstart:function(t){var e=t.currentTarget,a=parseInt(e.css("marginLeft"),10),n=e.position(),i=o?n.left-a:n.left+e.outerWidth();k(),u.css({top:r(h.groupContainer),left:i}).appendTo(h.groupContainer),this.hint.find(".k-drag-status").removeClass("k-denied").addClass("k-add")},dragend:function(){h._dragEnd(this)},drag:i(h._drag,h)}).on("click"+d,".k-button",function(e){e.preventDefault(),h._removeIndicator(t(this).parent())}).on("click"+d,".k-link",function(e){var r=t(this).parent(),n=h.buildIndicator(r.attr(a.attr("field")),r.attr(a.attr("title")),"asc"==r.attr(a.attr("dir"))?"desc":"asc");r.before(n).remove(),h._change(),e.preventDefault()}),p.bind(["dragend","dragcancel","dragstart","drag"],{dragend:function(){h._dragEnd(this)},dragcancel:i(h._dragCancel,h),dragstart:function(t){var r,a,n;return h.options.allowDrag||h._canDrag(t.currentTarget)?(k(),v.length?(r=v[v.length-1].element,a=parseInt(r.css("marginRight"),10),n=r.position().left+r.outerWidth()+a):n=0,e):(t.preventDefault(),e)},drag:i(h._drag,h)}),h.dataSource=h.options.dataSource,h.dataSource&&h._refreshHandler?h.dataSource.unbind(s,h._refreshHandler):h._refreshHandler=i(h.refresh,h),h.dataSource&&(h.dataSource.bind("change",h._refreshHandler),h.refresh())},refresh:function(){var e=this,r=e.dataSource;e.groupContainer&&e.groupContainer.empty().append(t.map(r.group()||[],function(r){var n=r.field,i=a.attr("field"),o=e.element.find(e.options.filter).filter(function(){return t(this).attr(i)===n});return e.buildIndicator(r.field,o.attr(a.attr("title")),r.dir)}).join("")),e._invalidateGroupContainer()},destroy:function(){var t=this;n.fn.destroy.call(t),t.groupContainer.off(d),t.groupContainer.data("kendoDropTarget")&&t.groupContainer.data("kendoDropTarget").destroy(),t.groupContainer.data("kendoDraggable")&&t.groupContainer.data("kendoDraggable").destroy(),t.options.draggable||t.draggable.destroy(),t.dataSource&&t._refreshHandler&&(t.dataSource.unbind("change",t._refreshHandler),t._refreshHandler=null),t.groupContainer=t.element=t.draggable=null},options:{name:"Groupable",filter:"th",draggableElements:"th",messages:{empty:"Drag a column header and drop it here to group by that column"}},indicator:function(e){var r=t(".k-group-indicator",this.groupContainer);return t.grep(r,function(r){return t(r).attr(a.attr("field"))===e})[0]},buildIndicator:function(t,e,r){return l({field:t.replace(/"/g,"'"),dir:r,title:e,ns:a.ns})},descriptors:function(){var e,r,n,i,o,d=this,s=t(".k-group-indicator",d.groupContainer);return e=d.element.find(d.options.filter).map(function(){var e=t(this),n=e.attr(a.attr("aggregates")),d=e.attr(a.attr("field"));if(n&&""!==n)for(r=n.split(","),n=[],i=0,o=r.length;o>i;i++)n.push({field:d,aggregate:r[i]});return n}).toArray(),t.map(s,function(r){return r=t(r),n=r.attr(a.attr("field")),{field:n,dir:r.attr(a.attr("dir")),aggregates:e||[]}})},_removeIndicator:function(t){var e=this;t.remove(),e._invalidateGroupContainer(),e._change()},_change:function(){var t=this;t.dataSource&&t.dataSource.group(t.descriptors())},_dropCuePosition:function(e){var r,a,n,i,d,s=this._dropCuePositions;if(u.is(":visible")&&0!==s.length)return e=Math.ceil(e),r=s[s.length-1],a=r.left,n=r.right,i=parseInt(r.element.css("marginLeft"),10),d=parseInt(r.element.css("marginRight"),10),e>=n&&!o||a>e&&o?e={left:r.element.position().left+(o?-i:r.element.outerWidth()+d),element:r.element,before:!1}:(e=t.grep(s,function(t){return e>=t.left&&t.right>=e||o&&e>t.right})[0],e&&(e={left:o?e.element.position().left+e.element.outerWidth()+d:e.element.position().left-i,element:e.element,before:!0})),e},_drag:function(t){var e=this._dropCuePosition(t.x.location);e&&u.css({left:e.left,right:"auto"})},_canDrag:function(t){var e=t.attr(a.attr("field"));return"false"!=t.attr(a.attr("groupable"))&&e&&(t.hasClass("k-group-indicator")||!this.indicator(e))},_canDrop:function(t,e,r){var a=t.next(),n=t[0]!==e[0]&&(!a[0]||e[0]!==a[0]||!o&&r>a.position().left||o&&r