@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 3.7 kB
JavaScript
module.exports=function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}({0:function(e,t,r){e.exports=r(1097)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1049:function(e,t){e.exports=require("./kendo.core")},1097:function(e,t,r){var n,o,i;!function(s,define){o=[r(1049)],n=s,i="function"==typeof n?n.apply(t,o):n,!(void 0!==i&&(e.exports=i))}(function(){return function(e,t){function r(r){var n=r.find("tr:not(.k-filter-row)"),i=o.attr("index"),s=n.find("th["+i+"]:visible");return s.sort(function(r,n){var o,s;return r=e(r),n=e(n),o=r.attr(i),s=n.attr(i),o===t&&(o=e(r).index()),s===t&&(s=e(n).index()),o=parseInt(o,10),s=parseInt(s,10),o>s?1:o<s?-1:0}),s}function n(e){var t=null;return e.is("th")&&(t=e.closest("table"),t.parent().hasClass("k-grid-header-wrap")?t=t.closest(".k-grid").find(".k-grid-content > table"):t.parent().hasClass("k-grid-header-locked")&&(t=t.closest(".k-grid").find(".k-grid-content-locked > table"))),t}var o=window.kendo,i=o.ui,s=i.Widget,a="dir",d="asc",l="single",c="field",p="desc",u=".kendoColumnSorter",f=".k-link",h="aria-sort",k=e.proxy,g=s.extend({init:function(e,t){var r,n=this;s.fn.init.call(n,e,t),n._refreshHandler=k(n.refresh,n),n.dataSource=n.options.dataSource.bind("change",n._refreshHandler),n.directions=n.options.initialDirection===d?[d,p]:[p,d],r=n.element.find(f),r[0]||(r=n.element.wrapInner('<a class="k-link" href="#"/>').find(f)),n.link=r,n.element.on("click"+u,k(n._click,n))},options:{name:"ColumnSorter",mode:l,allowUnsort:!0,compare:null,filter:"",initialDirection:d,showIndexes:!1},events:["change"],destroy:function(){var e=this;s.fn.destroy.call(e),e.element.off(u),e.dataSource.unbind("change",e._refreshHandler),e._refreshHandler=e.element=e.link=e.dataSource=null},refresh:function(i){if(!i||"itemchange"!==i.action&&"sync"!==i.action){var s,l,u,f,k,g=this,m=g.dataSource.sort()||[],x=g.element,S=x.attr(o.attr(c)),v=(g.dataSource._sortFields||{})[S];x.removeAttr(o.attr(a)),x.removeAttr(h),v&&(s=v.dir,x.attr(o.attr(a),s),k=v.index),x.is("th")&&v&&(l=n(x),l&&(x.attr(o.attr("index"))?(u=r(x.closest("table")),f=u.index(x)):f=x.parent().children(":visible").index(x),l.find("col:not(.k-group-col):not(.k-hierarchy-col)").eq(f).toggleClass("k-sorted",s!==t))),x.toggleClass("k-sorted",s!==t),x.find(".k-i-sort-asc-sm,.k-i-sort-desc-sm,.k-sort-order").remove(),s===d?(e('<span class="k-icon k-i-sort-asc-sm" />').appendTo(g.link),x.attr(h,"ascending")):s===p&&(e('<span class="k-icon k-i-sort-desc-sm" />').appendTo(g.link),x.attr(h,"descending")),g.options.showIndexes&&m.length>1&&k&&e('<span class="k-sort-order" />').html(k).appendTo(g.link)}},_toggleSortDirection:function(e){var r=this.directions;return e===r[r.length-1]&&this.options.allowUnsort?t:r[0]===e?r[1]:r[0]},_click:function(e){var r,n,i=this,s=i.element,d=s.attr(o.attr(c)),p=s.attr(o.attr(a)),u=i.options,f=null===i.options.compare?t:i.options.compare,h=i.dataSource.sort()||[];if(e.preventDefault(),(!u.filter||s.is(u.filter))&&(p=this._toggleSortDirection(p),!this.trigger("change",{sort:{field:d,dir:p,compare:f}}))){if(u.mode===l)h=[{field:d,dir:p,compare:f}];else if("multiple"===u.mode){for(r=0,n=h.length;r<n;r++)if(h[r].field===d){h.splice(r,1);break}h.push({field:d,dir:p,compare:f})}this.dataSource.options.endless&&(this.dataSource.options.endless=null,s.closest(".k-grid").getKendoGrid()._endlessPageSize=i.dataSource.options.pageSize,this.dataSource.pageSize(i.dataSource.options.pageSize)),this.dataSource.sort(h)}}});i.plugin(g)}(window.kendo.jQuery),window.kendo},r(3))}});