UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 22.8 kB
module.exports=function(e){function t(n){if(i[n])return i[n].exports;var s=i[n]={exports:{},id:n,loaded:!1};return e[n].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1373)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1005:function(e,t){e.exports=require("jquery")},1015:function(e,t){e.exports=require("./kendo.data")},1373:function(e,t,i){var n,s,r;(function(o){!function(o,define){s=[i(1015)],n=o,r="function"==typeof n?n.apply(t,s):n,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){function i(e){return e[e.length-1]}function n(e){return e instanceof Array?e:[e]}function s(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}function r(e,t,i){return Math.ceil(e*t/i)}function a(e,t,i){var n=document.createElement(i||"div");return t&&(n.className=t),e.appendChild(n),n}function l(){var t,i=e('<div class="k-popup"><ul class="k-list"><li class="k-item"><li></ul></div>');return i.css({position:"absolute",left:"-200000px",visibility:"hidden"}),i.appendTo(document.body),t=parseFloat(x.getComputedStyles(i.find(".k-item")[0],["line-height"])["line-height"]),i.remove(),t}function u(e,t,i){return{down:e*i,up:e*(t-1-i)}}function h(e,t){var i=(e.listScreens-1-e.threshold)*t,n=e.threshold*t;return function(e,t,s){return t>s?t-e.top<i:0===e.top||t-e.top>n}}function c(e,t){return function(i){return t(e.scrollTop,i)}}function d(e){return function(t,i){return e(t.items,t.index,i),t}}function f(e,t){x.support.browser.msie&&x.support.browser.version<10?e.style.top=t+"px":(e.style.webkitTransform="translateY("+t+"px)",e.style.transform="translateY("+t+"px)")}function p(t,i){return function(n,s){for(var r=0,o=n.length;r<o;r++)t(n[r],s[r],i),s[r].item&&this.trigger(O,{item:e(n[r]),data:s[r].item,ns:x.ui})}}function g(e,t){var i;return t>0?(i=e.splice(0,t),e.push.apply(e,i)):(i=e.splice(t,-t),e.unshift.apply(e,i)),i}function m(i,n,s){var r=s.template;i=e(i),n.item||(r=s.placeholderTemplate),0===n.index&&this.header&&n.group&&this.header.html(s.fixedGroupTemplate(n.group)),this.angular("cleanup",function(){return{elements:[i]}}),i.attr("data-uid",n.item?n.item.uid:"").attr("data-offset-index",n.index),i.html(this.options.columns&&this.options.columns.length&&n.item?_(this.options,n.item,s):r(n.item||{})),i.toggleClass(M,n.current),i.toggleClass(F,n.selected),i.toggleClass("k-first",n.newGroup),i.toggleClass("k-last",n.isLastGroupedItem),i.toggleClass("k-loading-item",!n.item),0!==n.index&&n.newGroup&&e("<div class="+E+"></div>").appendTo(i).html(s.groupTemplate(n.group)),n.top!==t&&f(i[0],n.top),this.angular("compile",function(){return{elements:[i],data:[{dataItem:n.item,group:n.group,newGroup:n.newGroup}]}})}function _(e,t,i){var n,s,r,o,a="";for(n=0;n<e.columns.length;n++)s=e.columns[n].width,r=parseInt(s,10),o="",s&&(o+="style='width:",o+=r,o+=b.test(s)?"%":"px",o+=";'"),a+="<span class='k-cell' "+o+">",a+=i["column"+n](t),a+="</span>";return a}function v(e,t){var i,n,s,r,o=t.length,a=e.length,l=[],u=[];if(a)for(s=0;s<a;s++){for(i=e[s],n=!1,r=0;r<o;r++)if(i===t[r]){n=!0,l.push({index:s,item:i});break}n||u.push(i)}return{changed:l,unchanged:u}}function I(e){return e&&"resolved"!==e.state()}var x=window.kendo,D=x.ui,y=D.Widget,S=D.DataBoundWidget,C=e.proxy,b=/^\d+(\.\d+)?%$/i,k="k-virtual-wrap",w="k-virtual-list",T="k-virtual-content",H="k-list",V="k-group-header",B="k-virtual-item",G="k-item",L="k-height-container",E="k-group",F="k-state-selected",M="k-state-focused",A="k-state-hover",P="change",R="click",N="listBound",O="itemChange",z="activate",j="deactivate",q=".VirtualList",W=S.extend({init:function(t,i){var s=this;s.bound(!1),s._fetching=!1,y.fn.init.call(s,t,i),s.options.itemHeight||(s.options.itemHeight=l()),i=s.options,s.element.addClass(H+" "+w).attr("role","listbox"),s.content=s.element.wrap("<div unselectable='on' class='"+T+"'></div>").parent(),s.wrapper=s.content.wrap("<div class='"+k+"'></div>").parent(),s.header=s.content.before("<div class='"+V+"'></div>").prev(),i.columns&&i.columns.length&&s.element.removeClass(H),s.element.on("mouseenter"+q,"li:not(.k-loading-item)",function(){e(this).addClass(A)}).on("mouseleave"+q,"li",function(){e(this).removeClass(A)}),s._values=n(s.options.value),s._selectedDataItems=[],s._selectedIndexes=[],s._rangesList={},s._promisesList=[],s._optionID=x.guid(),s._templates(),s.setDataSource(i.dataSource),s.content.on("scroll"+q,x.throttle(function(){s._renderItems(),s._triggerListBound()},i.delay)),s._selectable()},options:{name:"VirtualList",autoBind:!0,delay:100,height:null,listScreens:4,threshold:.5,itemHeight:null,oppositeBuffer:1,type:"flat",selectable:!1,value:[],dataValueField:null,template:"#:data#",placeholderTemplate:"loading...",groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",mapValueTo:"index",valueMapper:null},events:[P,R,N,O,z,j],setOptions:function(e){y.fn.setOptions.call(this,e),this._selectProxy&&this.options.selectable===!1?this.element.off(R,"."+B,this._selectProxy):!this._selectProxy&&this.options.selectable&&this._selectable(),this._templates(),this.refresh()},items:function(){return e(this._items)},destroy:function(){this.wrapper.off(q),this.dataSource.unbind(P,this._refreshHandler),y.fn.destroy.call(this)},setDataSource:function(t){var i,n=this,s=t||{};s=e.isArray(s)?{data:s}:s,s=x.data.DataSource.create(s),n.dataSource?(n.dataSource.unbind(P,n._refreshHandler),n._clean(),n.bound(!1),n._deferValueSet=!0,i=n.value(),n.value([]),n.mute(function(){n.value(i)})):n._refreshHandler=e.proxy(n.refresh,n),n.dataSource=s.bind(P,n._refreshHandler),n.setDSFilter(s.filter()),0!==s.view().length?n.refresh():n.options.autoBind&&s.fetch()},skip:function(){return this.dataSource.currentRangeStart()},_triggerListBound:function(){var e=this,t=e.skip();e.bound()&&!e._selectingValue&&e._skip!==t&&(e._skip=t,e.trigger(N))},_getValues:function(t){var i=this._valueGetter;return e.map(t,function(e){return i(e)})},_highlightSelectedItems:function(){var e,t;for(e=0;e<this._selectedDataItems.length;e++)t=this._getElementByDataItem(this._selectedDataItems[e]),t.length&&t.addClass(F)},refresh:function(e){var t,i=this,n=e&&e.action,s="itemchange"===n,r=this.isFiltered();i._mute||(i._deferValueSet=!1,i._fetching?(i._renderItems&&i._renderItems(!0),i._triggerListBound()):(r&&i.focus(0),i._createList(),n||!i._values.length||r||i.options.skipUpdateOnBind||i._emptySearch?(i.bound(!0),i._highlightSelectedItems(),i._triggerListBound()):(i._selectingValue=!0,i.bound(!0),i.value(i._values,!0).done(function(){i._selectingValue=!1,i._triggerListBound()}))),(s||"remove"===n)&&(t=v(i._selectedDataItems,e.items),t.changed.length&&(s?i.trigger("selectedItemChange",{items:t.changed}):i.value(i._getValues(t.unchanged)))),i._fetching=!1)},removeAt:function(e){return this._selectedIndexes.splice(e,1),this._values.splice(e,1),{position:e,dataItem:this._selectedDataItems.splice(e,1)[0]}},setValue:function(e){this._values=n(e)},value:function(i,s){var r,o=this;return i===t?o._values.slice():(null===i&&(i=[]),i=n(i),o._valueDeferred&&"resolved"!==o._valueDeferred.state()||(o._valueDeferred=e.Deferred()),r="multiple"===o.options.selectable&&o.select().length&&i.length,!r&&i.length||o.select(-1),o._values=i,(o.bound()&&!o._mute&&!o._deferValueSet||s)&&o._prefetchByValue(i),o._valueDeferred)},_checkValuesOrder:function(e){if(this._removedAddedIndexes&&this._removedAddedIndexes.length===e.length){var t=this._removedAddedIndexes.slice();return this._removedAddedIndexes=null,t}return e},_prefetchByValue:function(e){var i,n,r,o=this,a=o._dataView,l=o._valueGetter,u=o.options.mapValueTo,h=!1,c=[];for(n=0;n<e.length;n++)for(r=0;r<a.length;r++)i=a[r].item,i&&(h=s(i)?e[n]===i:e[n]===l(i),h&&c.push(a[r].index));return c.length===e.length?(o._values=[],o.select(c),t):("function"==typeof o.options.valueMapper?o.options.valueMapper({value:"multiple"===this.options.selectable?e:e[0],success:function(e){"index"===u?o.mapValueToIndex(e):"dataItem"===u&&o.mapValueToDataItem(e)}}):o.value()[0]?(o._selectingValue=!1,o._triggerListBound()):o.select([-1]),t)},mapValueToIndex:function(e){if(e=e===t||e===-1||null===e?[]:n(e),e.length){var i=this._deselect([]).removed;i.length&&this._triggerChange(i,[])}else e=[-1];this.select(e)},mapValueToDataItem:function(i){var s,r,o,a;if(i=i===t||null===i?[]:n(i),i.length){for(s=e.map(this._selectedDataItems,function(e,t){return{index:t,dataItem:e}}),r=e.map(i,function(e,t){return{index:t,dataItem:e}}),this._selectedDataItems=i,this._selectedIndexes=[],o=0;o<this._selectedDataItems.length;o++)a=this._getElementByDataItem(this._selectedDataItems[o]),this._selectedIndexes.push(this._getIndecies(a)[0]),a.addClass(F);this._triggerChange(s,r),this._valueDeferred&&this._valueDeferred.resolve()}else this.select([-1])},deferredRange:function(t){var i=this.dataSource,n=this.itemCount,s=this._rangesList,r=e.Deferred(),o=[],a=Math.floor(t/n)*n,l=Math.ceil(t/n)*n,u=l===a?[l]:[a,l];return e.each(u,function(t,r){var a,l=r+n,u=s[r];u&&u.end===l?a=u.deferred:(a=e.Deferred(),s[r]={end:l,deferred:a},i._multiplePrefetch(r,n,function(){a.resolve()})),o.push(a)}),e.when.apply(e,o).then(function(){r.resolve()}),r},prefetch:function(t){var i=this,n=this.itemCount,s=!i._promisesList.length;return I(i._activeDeferred)||(i._activeDeferred=e.Deferred(),i._promisesList=[]),e.each(t,function(e,t){i._promisesList.push(i.deferredRange(i._getSkip(t,n)))}),s&&e.when.apply(e,i._promisesList).done(function(){i._promisesList=[],i._activeDeferred.resolve()}),i._activeDeferred},_findDataItem:function(e,t){var i,n;if("group"===this.options.type)for(n=0;n<e.length;n++){if(i=e[n].items,!(i.length<=t))return i[t];t-=i.length}return e[t]},_getRange:function(e,t){return this.dataSource._findRange(e,Math.min(e+t,this.dataSource.total()))},dataItemByIndex:function(t){var i=this,n=i.itemCount,s=i._getSkip(t,n),r=this._getRange(s,n);return i._getRange(s,n).length?("group"===i.options.type&&(x.ui.progress(e(i.wrapper),!0),i.mute(function(){i.dataSource.range(s,n,function(){x.ui.progress(e(i.wrapper),!1)}),r=i.dataSource.view()})),i._findDataItem(r,[t-s])):null},selectedDataItems:function(){return this._selectedDataItems.slice()},scrollWith:function(e){this.content.scrollTop(this.content.scrollTop()+e)},scrollTo:function(e){this.content.scrollTop(e)},scrollToIndex:function(e){this.scrollTo(e*this.options.itemHeight)},focus:function(n){var s,r,o,a,l,u,h=this.options.itemHeight,c=this._optionID,d=!0;if(n===t)return a=this.element.find("."+M),a.length?a:null;if("function"==typeof n)for(o=this.dataSource.flatView(),l=0;l<o.length;l++)if(n(o[l])){n=l;break}return n instanceof Array&&(n=i(n)),isNaN(n)?(s=e(n),r=parseInt(e(s).attr("data-offset-index"),10)):(r=n,s=this._getElementByIndex(r)),r===-1?(this.element.find("."+M).removeClass(M),this._focusedIndex=t,t):(s.length?(s.hasClass(M)&&(d=!1),this._focusedIndex!==t&&(a=this._getElementByIndex(this._focusedIndex),a.removeClass(M).removeAttr("id"),d&&this.trigger(j)),this._focusedIndex=r,s.addClass(M).attr("id",c),u=this._getElementLocation(r),"top"===u?this.scrollTo(r*h):"bottom"===u?this.scrollTo(r*h+h-this._screenHeight):"outScreen"===u&&this.scrollTo(r*h),d&&this.trigger(z)):(this._focusedIndex=r,this.items().removeClass(M),this.scrollToIndex(r)),t)},focusIndex:function(){return this._focusedIndex},focusFirst:function(){this.scrollTo(0),this.focus(0)},focusLast:function(){var e=this.dataSource.total();this.scrollTo(this.heightContainer.offsetHeight),this.focus(e-1)},focusPrev:function(){var e,t=this._focusedIndex;return!isNaN(t)&&t>0?(t-=1,this.focus(t),e=this.focus(),e&&e.hasClass("k-loading-item")&&(t+=1,this.focus(t)),t):(t=this.dataSource.total()-1,this.focus(t),t)},focusNext:function(){var e,t=this._focusedIndex,i=this.dataSource.total()-1;return!isNaN(t)&&t<i?(t+=1,this.focus(t),e=this.focus(),e&&e.hasClass("k-loading-item")&&(t-=1,this.focus(t)),t):(t=0,this.focus(t),t)},_triggerChange:function(e,t){e=e||[],t=t||[],(e.length||t.length)&&this.trigger(P,{removed:e,added:t})},select:function(n){var s,r,o,a,l,u,h=this,c="multiple"!==h.options.selectable,d=I(h._activeDeferred),f=this.isFiltered(),p=[];return n===t?h._selectedIndexes.slice():(h._selectDeferred&&"resolved"!==h._selectDeferred.state()||(h._selectDeferred=e.Deferred()),s=h._getIndecies(n),o=c&&!f&&i(s)===i(this._selectedIndexes),p=h._deselectCurrentValues(s),p.length||!s.length||o?(h._triggerChange(p),h._valueDeferred&&h._valueDeferred.resolve().promise(),h._selectDeferred.resolve().promise()):(1===s.length&&s[0]===-1&&(s=[]),r=s,l=h._deselect(s),p=l.removed,s=l.indices,c&&(d=!1,s.length&&(s=[i(s)])),u=function(){var e=h._select(s);(r.length===s.length||c)&&h.focus(s),h._triggerChange(p,e),h._valueDeferred&&h._valueDeferred.resolve(),h._selectDeferred.resolve()},a=h.prefetch(s),d||(a?a.done(u):u()),h._selectDeferred.promise()))},bound:function(e){return e===t?this._listCreated:(this._listCreated=e,t)},mute:function(e){this._mute=!0,C(e(),this),this._mute=!1},setDSFilter:function(t){this._lastDSFilter=e.extend({},t)},isFiltered:function(){return this._lastDSFilter||this.setDSFilter(this.dataSource.filter()),!x.data.Query.compareFilters(this.dataSource.filter(),this._lastDSFilter)},skipUpdate:e.noop,_getElementByIndex:function(t){return this.items().filter(function(i,n){return t===parseInt(e(n).attr("data-offset-index"),10)})},_getElementByDataItem:function(t){var i,n,r,o=this._dataView,a=this._valueGetter;for(r=0;r<o.length;r++)if(n=o[r].item&&s(o[r].item)?o[r].item===t:o[r].item&&t&&a(o[r].item)==a(t)){i=o[r];break}return i?this._getElementByIndex(i.index):e()},_clean:function(){this.result=t,this._lastScrollTop=t,this._skip=t,e(this.heightContainer).remove(),this.heightContainer=t,this.element.empty()},_height:function(){var e=!!this.dataSource.view().length,t=this.options.height,i=this.options.itemHeight,n=this.dataSource.total();return e?t/i>n&&(t=n*i):t=0,t},setScreenHeight:function(){var e=this._height();this.content.height(e),this._screenHeight=e},screenHeight:function(){return this._screenHeight},_getElementLocation:function(e){var t,i=this.content.scrollTop(),n=this._screenHeight,s=this.options.itemHeight,r=e*s,o=r+s,a=i+n;return t=r===i-s||o>i&&r<i?"top":r===a||r<a&&a<o?"bottom":r>=i&&r<=i+(n-s)?"inScreen":"outScreen"},_templates:function(){var e,t,i,n,s=this.options,r={template:s.template,placeholderTemplate:s.placeholderTemplate,groupTemplate:s.groupTemplate,fixedGroupTemplate:s.fixedGroupTemplate};if(s.columns)for(e=0;e<s.columns.length;e++)t=s.columns[e],i=t.field?""+t.field:"text",r["column"+e]=t.template||"#: "+i+"#";for(n in r)"function"!=typeof r[n]&&(r[n]=x.template(r[n]||""));this.templates=r},_generateItems:function(e,t){for(var i,n=[],s=this.options.itemHeight+"px";t-- >0;)i=document.createElement("li"),i.tabIndex=-1,i.className=B+" "+G,i.setAttribute("role","option"),i.style.height=s,i.style.minHeight=s,e.appendChild(i),n.push(i);return n},_saveInitialRanges:function(){var t,i=this.dataSource._ranges,n=e.Deferred();for(n.resolve(),this._rangesList={},t=0;t<i.length;t++)this._rangesList[i[t].start]={end:i[t].end,deferred:n}},_createList:function(){var t=this,i=t.content.get(0),n=t.options,s=t.dataSource;t.bound()&&t._clean(),t._saveInitialRanges(),t._buildValueGetter(),t.setScreenHeight(),t.itemCount=r(t._screenHeight,n.listScreens,n.itemHeight),t.itemCount>s.total()&&(t.itemCount=s.total()),t._items=t._generateItems(t.element[0],t.itemCount),t._setHeight(n.itemHeight*s.total()),t.options.type=(s.group()||[]).length?"group":"flat","flat"===t.options.type?t.header.hide():t.header.show(),t.getter=t._getter(function(){t._renderItems(!0)}),t._onScroll=function(e,i){var n=t._listItems(t.getter);return t._fixedHeader(e,n(e,i))},t._renderItems=t._whenChanged(c(i,t._onScroll),d(t._reorderList(t._items,e.proxy(m,t)))),t._renderItems(),t._calculateGroupPadding(t._screenHeight),t._calculateColumnsHeaderPadding()},_setHeight:function(e){var t,i,n=this.heightContainer;if(n?t=n.offsetHeight:n=this.heightContainer=a(this.content[0],L),e!==t)for(n.innerHTML="";e>0;)i=Math.min(e,25e4),a(n).style.height=i+"px",e-=i},_getter:function(){var e=null,t=this.dataSource,i=t.skip(),n=this.options.type,s=this.itemCount,r={};return t.pageSize()<s&&this.mute(function(){t.pageSize(s)}),function(o,a){var l,u,h,c,d,f,p,g,m=this;if(t.inRange(a,s)){if(i!==a&&this.mute(function(){t.range(a,s),i=a}),"group"===n){if(!r[a])for(u=r[a]=[],h=t.view(),c=0,d=h.length;c<d;c++)for(f=h[c],p=0,g=f.items.length;p<g;p++)u.push({item:f.items[p],group:f.value});l=r[a][o-a]}else l=t.view()[o-a];return l}return e!==a&&(e=a,i=a,m._getterDeferred&&m._getterDeferred.reject(),m._getterDeferred=m.deferredRange(a),m._getterDeferred.then(function(){var e=m._indexConstraint(m.content[0].scrollTop);m._getterDeferred=null,a<=e&&e<=a+s&&(m._fetching=!0,t.range(a,s))})),null}},_fixedHeader:function(e,t){var i,n,s=this.currentVisibleGroup,r=this.options.itemHeight,o=Math.floor((e-t.top)/r),a=t.items[o];return a&&a.item&&(i=a.group,i!==s&&(n=i||"",this.header.html(this.templates.fixedGroupTemplate(n)),this.currentVisibleGroup=i)),t},_itemMapper:function(e,t,i){var n,r,o=this.options.type,a=this.options.itemHeight,l=this._focusedIndex,u=!1,h=!1,c=!1,d=null,f=!1,p=this._valueGetter;if("group"===o&&(e&&(c=0===t||this._currentGroup!==!1&&this._currentGroup!==e.group,this._currentGroup=e.group),d=e?e.group:null,e=e?e.item:null),"dataItem"===this.options.mapValueTo&&this._selectedDataItems.length&&e){for(n=0;n<this._selectedDataItems.length;n++)if(f=p(this._selectedDataItems[n])===p(e)){u=!0;break}}else if(!this.isFiltered()&&i.length&&e)for(r=0;r<i.length;r++)if(f=s(e)?i[r]===e:i[r]===p(e)){i.splice(r,1),u=!0;break}return l===t&&(h=!0),{item:e?e:null,group:d,newGroup:c,selected:u,current:h,index:t,top:t*a}},_range:function(e){var t,i,n,s=this.itemCount,r=this._values.slice(),o=[];for(this._view={},this._currentGroup=!1,i=e,n=e+s;i<n;i++)t=this._itemMapper(this.getter(i,e),i,r),o[o.length-1]&&(o[o.length-1].isLastGroupedItem=t.newGroup),o.push(t),this._view[t.index]=t;return this._dataView=o,o},_getDataItemsCollection:function(e,t){var i=this._range(this._listIndex(e,t));return{index:i.length?i[0].index:0,top:i.length?i[0].top:0,items:i}},_listItems:function(){var t=this._screenHeight,i=this.options,n=h(i,t);return e.proxy(function(e,t){var i=this.result,s=this._lastScrollTop;return!t&&i&&n(i,e,s)||(i=this._getDataItemsCollection(e,s)),this._lastScrollTop=e,this.result=i,i},this)},_whenChanged:function(e,t){var i;return function(n){var s=e(n);s!==i&&(i=s,t(s,n))}},_reorderList:function(t,i){var n=this,s=t.length,r=-(1/0);return i=e.proxy(p(i,this.templates),this),function(e,o,a){var l,u,h=o-r;a||Math.abs(h)>=s?(l=t,u=e):(l=g(t,h),u=h>0?e.slice(-h):e.slice(0,-h)),i(l,u,n.bound()),r=o}},_bufferSizes:function(){var e=this.options;return u(this._screenHeight,e.listScreens,e.oppositeBuffer)},_indexConstraint:function(e){var t=this.itemCount,i=this.options.itemHeight,n=this.dataSource.total();return Math.min(Math.max(n-t,0),Math.max(0,Math.floor(e/i)))},_listIndex:function(e,t){var i,n=this._bufferSizes();return i=e-(e>t?n.down:n.up),this._indexConstraint(i)},_selectable:function(){this.options.selectable&&(this._selectProxy=e.proxy(this,"_clickHandler"),this.element.on(R+q,"."+B,this._selectProxy))},getElementIndex:function(e){return e instanceof o?parseInt(e.attr("data-offset-index"),10):t},_getIndecies:function(e){var t,i,n,s=[];if("function"==typeof e)for(t=this.dataSource.flatView(),i=0;i<t.length;i++)if(e(t[i])){s.push(i);break}return"number"==typeof e&&s.push(e),n=this.getElementIndex(e),isNaN(n)||s.push(n),e instanceof Array&&(s=e),s},_deselect:function(i){var n,r,o,a,l,u,h,c=[],d=this._selectedIndexes,f=this._selectedDataItems,p=0,g=this.options.selectable,m=0,_=this._valueGetter,v=null;if(i=i.slice(),g!==!0&&i.length){if("multiple"===g)for(u=0;u<i.length;u++){if(v=null,p=e.inArray(i[u],d),r=this.dataItemByIndex(i[u]),p===-1&&r)for(h=0;h<f.length;h++)a=s(r)?f[h]===r:_(f[h])===_(r),a&&(o=this._getElementByIndex(i[u]),v=this._deselectSingleItem(o,h,i[u],m));else n=d[p],n!==t&&(o=this._getElementByIndex(n),v=this._deselectSingleItem(o,p,n,m));v&&(i.splice(u,1),c.push(v),m++,u--)}}else{for(l=0;l<d.length;l++)d[l]!==t?this._getElementByIndex(d[l]).removeClass(F):f[l]&&this._getElementByDataItem(f[l]).removeClass(F),c.push({index:d[l],position:l,dataItem:f[l]});this._values=[],this._selectedDataItems=[],this._selectedIndexes=[]}return{indices:i,removed:c}},_deselectSingleItem:function(e,t,i,n){var s;if(e.hasClass("k-state-selected"))return e.removeClass(F),this._values.splice(t,1),this._selectedIndexes.splice(t,1),s=this._selectedDataItems.splice(t,1)[0],{index:i,position:t+n,dataItem:s}},_deselectCurrentValues:function(t){var i,n,s,r,o=this.element[0].children,a=this._values,l=[],u=0;if("multiple"!==this.options.selectable||!this.isFiltered())return[];if(t[0]===-1)return e(o).removeClass("k-state-selected"),l=e.map(this._selectedDataItems.slice(0),function(e,t){return{dataItem:e,position:t}}),this._selectedIndexes=[],this._selectedDataItems=[],this._values=[],l;for(;u<t.length;u++){for(s=-1,n=t[u],this.dataItemByIndex(n)&&(i=this._valueGetter(this.dataItemByIndex(n))),r=0;r<a.length;r++)if(i==a[r]){s=r;break}s>-1&&(l.push(this.removeAt(s)),e(o[n]).removeClass("k-state-selected"))}return l},_getSkip:function(e,t){var i=e<t?1:Math.floor(e/t)+1;return(i-1)*t},_select:function(t){var i,n,r=this,o="multiple"!==this.options.selectable,a=this.dataSource,l=this.itemCount,u=this._valueGetter,h=[];return o&&(r._selectedIndexes=[],r._selectedDataItems=[],r._values=[]),n=a.skip(),e.each(t,function(e,t){var o=r._getSkip(t,l);r.mute(function(){a.range(o,l),i=r._findDataItem(a.view(),[t-o]),r._selectedIndexes.push(t),r._selectedDataItems.push(i),r._values.push(s(i)?i:u(i)),h.push({index:t,dataItem:i}),r._getElementByIndex(t).addClass(F),a.range(n,l)})}),r._values=r._checkValuesOrder(r._values),h},_clickHandler:function(t){var i=e(t.currentTarget);!t.isDefaultPrevented()&&i.attr("data-uid")&&this.trigger(R,{item:i})},_buildValueGetter:function(){this._valueGetter=x.getter(this.options.dataValueField)},_calculateGroupPadding:function(e){var t=this.items().first(),i=this.header,n=0;i[0]&&"none"!==i[0].style.display&&("auto"!==e&&(n=x.support.scrollbar()),n+=parseFloat(t.css("border-right-width"),10)+parseFloat(t.children(".k-group").css("right"),10),i.css("padding-right",n))},_calculateColumnsHeaderPadding:function(){var e,t,i,n;this.options.columns&&this.options.columns.length&&(e=x.support.isRtl(this.wrapper),t=x.support.scrollbar(),i=this.content.parent().parent().find(".k-grid-header"),n=this.dataSource.total(),i.css(e?"padding-left":"padding-right",n?t:0))}});x.ui.VirtualList=W,x.ui.plugin(W)}(window.kendo.jQuery),window.kendo},i(3))}).call(t,i(1005))}});