kendo.list.min.js
28.3 KB
/**
* 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(e,define){define("kendo.list.min",["kendo.data.min","kendo.popup.min"],e)}(function(){return function(e,t){function i(e,i){return e!==t&&""!==e&&null!==e&&("boolean"===i?e=!!e:"number"===i?e=+e:"string"===i&&(e=""+e)),e}function n(e,t){var i,n,s,a,r=t.length,l=e.length,o=[],u=[];if(l)for(s=0;l>s;s++){for(i=e[s],n=!1,a=0;r>a;a++)if(i===t[a]){n=!0,o.push({index:s,item:i});break}n||u.push(i)}return{changed:o,unchanged:u}}function s(t,i){var n,a=!1;return t.filters&&(n=e.grep(t.filters,function(e){return a=s(e,i),e.filters?e.filters.length:e.field!=i}),a||t.filters.length===n.length||(a=!0),t.filters=n),a}var a,r,l=window.kendo,o=l.ui,u=o.Widget,d=l.keys,c=l.support,h=l.htmlEncode,f=l._activeElement,p=l.data.ObservableArray,_="id",v="change",g="k-state-focused",m="k-state-hover",b="k-loading",x="open",S="close",I="cascade",w="select",y="selected",T="requestStart",k="requestEnd",F="width",V=e.extend,C=e.proxy,D=e.isArray,H=c.browser,B=H.msie&&9>H.version,A=/"/g,G={ComboBox:"DropDownList",DropDownList:"ComboBox"},L=l.ui.DataBoundWidget.extend({init:function(t,i){var n,s=this,a=s.ns;u.fn.init.call(s,t,i),t=s.element,i=s.options,s._isSelect=t.is(w),s._isSelect&&s.element[0].length&&(i.dataSource||(i.dataTextField=i.dataTextField||"text",i.dataValueField=i.dataValueField||"value")),s.ul=e('<ul unselectable="on" class="k-list k-reset"/>').attr({tabIndex:-1,"aria-hidden":!0}),s.list=e("<div class='k-list-container'/>").append(s.ul).on("mousedown"+a,C(s._listMousedown,s)),n=t.attr(_),n&&(s.list.attr(_,n+"-list"),s.ul.attr(_,n+"_listbox")),s._header(),s._accessors(),s._initValue()},options:{valuePrimitive:!1,headerTemplate:""},setOptions:function(e){u.fn.setOptions.call(this,e),e&&e.enable!==t&&(e.enabled=e.enable)},focus:function(){this._focused.focus()},readonly:function(e){this._editable({readonly:e===t?!0:e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t?!0:e)})},_listOptions:function(t){var i=this,n=i.options,s=n.virtual,a=C(i._listBound,i);return s="object"==typeof s?s:{},t=e.extend({autoBind:!1,selectable:!0,dataSource:i.dataSource,click:C(i._click,i),change:C(i._listChange,i),activate:C(i._activateItem,i),deactivate:C(i._deactivateItem,i),dataBinding:function(){i.trigger("dataBinding"),i._angularItems("cleanup")},dataBound:a,listBound:a,height:n.height,dataValueField:n.dataValueField,dataTextField:n.dataTextField,groupTemplate:n.groupTemplate,fixedGroupTemplate:n.fixedGroupTemplate,template:n.template},t,s),t.template||(t.template="#:"+l.expr(t.dataTextField,"data")+"#"),t},_initList:function(){var e=this,t=e._listOptions({selectedItemChange:C(e._listChange,e)});e.listView=e.options.virtual?new l.ui.VirtualList(e.ul,t):new l.ui.StaticList(e.ul,t),e._setListValue()},_setListValue:function(e){e=e||this.options.value,e!==t&&this.listView.value(e).done(C(this._updateSelectionState,this))},_updateSelectionState:e.noop,_listMousedown:function(e){this.filterInput&&this.filterInput[0]===e.target||e.preventDefault()},_filterSource:function(e,t){var i=this,n=i.options,a=i.dataSource,r=V({},a.filter()||{}),l=s(r,n.dataTextField);(e||l)&&i.trigger("filtering",{filter:e})||(r={filters:r.filters||[],logic:"and"},e&&r.filters.push(e),i._cascading&&this.listView.setDSFilter(r),t?a.read({filter:r}):a.filter(r))},_header:function(){var t,i=this,n=i.options.headerTemplate;e.isFunction(n)&&(n=n({})),n&&(i.list.prepend(n),t=i.ul.prev(),i.header=t[0]?t:null,i.header&&i.angular("compile",function(){return{elements:i.header}}))},_initValue:function(){var e=this,t=e.options.value;null!==t?e.element.val(t):(t=e._accessor(),e.options.value=t),e._old=t},_ignoreCase:function(){var e,t=this,i=t.dataSource.reader.model;i&&i.fields&&(e=i.fields[t.options.dataTextField],e&&e.type&&"string"!==e.type&&(t.options.ignoreCase=!1))},_focus:function(e){return this.listView.focus(e)},current:function(e){return this._focus(e)},items:function(){return this.ul[0].children},destroy:function(){var e=this,t=e.ns;u.fn.destroy.call(e),e._unbindDataSource(),e.listView.destroy(),e.list.off(t),e.popup.destroy(),e._form&&e._form.off("reset",e._resetHandler)},dataItem:function(i){var n=this;if(i===t)return n.listView.selectedDataItems()[0];if("number"!=typeof i){if(n.options.virtual)return n.dataSource.getByUid(e(i).data("uid"));i=e(n.items()).index(i)}return n.dataSource.flatView()[i]},_activateItem:function(){var e=this.listView.focus();e&&this._focused.add(this.filterInput).attr("aria-activedescendant",e.attr("id"))},_deactivateItem:function(){this._focused.add(this.filterInput).removeAttr("aria-activedescendant")},_accessors:function(){var e=this,t=e.element,i=e.options,n=l.getter,s=t.attr(l.attr("text-field")),a=t.attr(l.attr("value-field"));!i.dataTextField&&s&&(i.dataTextField=s),!i.dataValueField&&a&&(i.dataValueField=a),e._text=n(i.dataTextField),e._value=n(i.dataValueField)},_aria:function(e){var i=this,n=i.options,s=i._focused.add(i.filterInput);n.suggest!==t&&s.attr("aria-autocomplete",n.suggest?"both":"list"),e=e?e+" "+i.ul[0].id:i.ul[0].id,s.attr("aria-owns",e),i.ul.attr("aria-live",n.filter&&"none"!==n.filter?"polite":"off")},_blur:function(){var e=this;e._change(),e.close()},_change:function(){var e,n=this,s=n.selectedIndex,a=n.options.value,r=n.value();n._isSelect&&!n.listView.bound()&&a&&(r=a),r!==i(n._old,typeof r)?e=!0:s!==t&&s!==n._oldIndex&&(e=!0),e&&(n._old=r,n._oldIndex=s,n._typing||n.element.trigger(v),n.trigger(v)),n.typing=!1},_data:function(){return this.dataSource.view()},_enable:function(){var e=this,i=e.options,n=e.element.is("[disabled]");i.enable!==t&&(i.enabled=i.enable),!i.enabled||n?e.enable(!1):e.readonly(e.element.is("[readonly]"))},_dataValue:function(e){var i=this._value(e);return i===t&&(i=this._text(e)),i},_offsetHeight:function(){var t=0,i=this.listView.content.prevAll(":visible");return i.each(function(){var i=e(this);t+=i.hasClass("k-list-filter")?i.children().outerHeight():i.outerHeight()}),t},_height:function(e){var i,n,s=this,a=s.list,r=s.options.height,l=s.popup.visible();if(e){if(n=a.add(a.parent(".k-animation-container")).show(),!a.is(":visible"))return n.hide(),t;r=s.listView.content[0].scrollHeight>r?r:"auto",n.height(r),"auto"!==r&&(i=s._offsetHeight(),i&&(r-=i)),s.listView.content.height(r),l||n.hide()}return r},_adjustListWidth:function(){var e,t,i=this.list,n=i[0].style.width,s=this.wrapper;if(i.data(F)||!n)return e=window.getComputedStyle?window.getComputedStyle(s[0],null):0,t=parseFloat(e&&e.width)||s.outerWidth(),e&&H.msie&&(t+=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth)),n="border-box"!==i.css("box-sizing")?t-(i.outerWidth()-i.width()):t,i.css({fontFamily:s.css("font-family"),width:n}).data(F,n),!0},_openHandler:function(e){this._adjustListWidth(),this.trigger(x)?e.preventDefault():(this._focused.attr("aria-expanded",!0),this.ul.attr("aria-hidden",!1))},_closeHandler:function(e){this.trigger(S)?e.preventDefault():(this._focused.attr("aria-expanded",!1),this.ul.attr("aria-hidden",!0))},_focusItem:function(){var e=this.listView,i=e.focus(),n=e.select();n=n[n.length-1],n===t&&this.options.highlightFirst&&!i&&(n=0),n!==t?e.focus(n):e.scrollToIndex(0)},_calculateGroupPadding:function(e){var t=this.ul.children(".k-first:first"),i=this.listView.content.prev(".k-group-header"),n=0;i[0]&&"none"!==i[0].style.display&&("auto"!==e&&(n=l.support.scrollbar()),n+=parseFloat(t.css("border-right-width"),10)+parseFloat(t.children(".k-group").css("padding-right"),10),i.css("padding-right",n))},_calculatePopupHeight:function(e){var t=this._height(this.dataSource.flatView().length||e);this._calculateGroupPadding(t)},_resizePopup:function(e){this.options.virtual||(this.popup.element.is(":visible")?this._calculatePopupHeight(e):this.popup.one("open",function(e){return C(function(){this._calculatePopupHeight(e)},this)}.call(this,e)))},_popup:function(){var e=this;e.popup=new o.Popup(e.list,V({},e.options.popup,{anchor:e.wrapper,open:C(e._openHandler,e),close:C(e._closeHandler,e),animation:e.options.animation,isRtl:c.isRtl(e.wrapper)}))},_makeUnselectable:function(){B&&this.list.find("*").not(".k-textbox").attr("unselectable","on")},_toggleHover:function(t){e(t.currentTarget).toggleClass(m,"mouseenter"===t.type)},_toggle:function(e,i){var n=this,s=c.mobileOS&&(c.touch||c.MSPointers||c.pointers);e=e!==t?e:!n.popup.visible(),i||s||n._focused[0]===f()||(n._prevent=!0,n._focused.focus(),n._prevent=!1),n[e?x:S]()},_triggerCascade:function(){var e=this;e._cascadeTriggered&&e._old===e.value()&&e._oldIndex===e.selectedIndex||(e._cascadeTriggered=!0,e.trigger(I,{userTriggered:e._userTriggered}))},_triggerChange:function(){this._valueBeforeCascade!==this.value()&&this.trigger(v)},_unbindDataSource:function(){var e=this;e.dataSource.unbind(T,e._requestStartHandler).unbind(k,e._requestEndHandler).unbind("error",e._errorHandler)}});V(L,{inArray:function(e,t){var i,n,s=t.children;if(!e||e.parentNode!==t)return-1;for(i=0,n=s.length;n>i;i++)if(e===s[i])return i;return-1},unifyType:i}),l.ui.List=L,o.Select=L.extend({init:function(e,t){L.fn.init.call(this,e,t),this._initial=this.element.val()},setDataSource:function(e){var t,i=this;i.options.dataSource=e,i._dataSource(),i.listView.bound()&&(i._initialIndex=null),i.listView.setDataSource(i.dataSource),i.options.autoBind&&i.dataSource.fetch(),t=i._parentWidget(),t&&i._cascadeSelect(t)},close:function(){this.popup.close()},select:function(e){var i=this;return e===t?i.selectedIndex:(i._select(e),i._old=i._accessor(),i._oldIndex=i.selectedIndex,t)},search:function(e){var t,i,n,s,a,r;e="string"==typeof e?e:this.text(),t=this,i=e.length,n=t.options,s=n.ignoreCase,a=n.filter,r=n.dataTextField,clearTimeout(t._typingTimeout),(!i||i>=n.minLength)&&(t._state="filter","none"===a?t._filter(e):(t._open=!0,t._filterSource({value:s?e.toLowerCase():e,field:r,operator:a,ignoreCase:s})))},_accessor:function(e,t){return this[this._isSelect?"_accessorSelect":"_accessorInput"](e,t)},_accessorInput:function(e){var i=this.element[0];return e===t?i.value:(null===e&&(e=""),i.value=e,t)},_accessorSelect:function(e,i){var n,s=this.element[0],a=s.selectedIndex;return e===t?(a>-1&&(n=s.options[a]),n&&(e=n.value),e||""):(a>-1&&(s.options[a].removeAttribute(y),s.options[a].selected=!1),i===t&&(i=-1),null!==e&&""!==e&&-1==i?this._custom(e):(e?s.value=e:s.selectedIndex=i,s.selectedIndex>-1&&(n=s.options[s.selectedIndex]),n&&n.setAttribute(y,y)),t)},_custom:function(t){var i=this,n=i.element,s=i._customOption;s||(s=e("<option/>"),i._customOption=s,n.append(s)),s.text(t),s[0].setAttribute(y,y),s[0].selected=!0},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrow.removeClass(b),e._focused.attr("aria-busy",!1),e._busy=null},_showBusy:function(){var e=this;e._request=!0,e._busy||(e._busy=setTimeout(function(){e._arrow&&(e._focused.attr("aria-busy",!0),e._arrow.addClass(b))},100))},_requestEnd:function(){this._request=!1,this._hideBusy()},_dataSource:function(){var t,i=this,n=i.element,s=i.options,a=s.dataSource||{};a=e.isArray(a)?{data:a}:a,i._isSelect&&(t=n[0].selectedIndex,t>-1&&(s.index=t),a.select=n,a.fields=[{field:s.dataTextField},{field:s.dataValueField}]),i.dataSource?i._unbindDataSource():(i._requestStartHandler=C(i._showBusy,i),i._requestEndHandler=C(i._requestEnd,i),i._errorHandler=C(i._hideBusy,i)),i.dataSource=l.data.DataSource.create(a).bind(T,i._requestStartHandler).bind(k,i._requestEndHandler).bind("error",i._errorHandler)},_firstItem:function(){this.listView.focusFirst()},_lastItem:function(){this.listView.focusLast()},_nextItem:function(){this.listView.focusNext()},_prevItem:function(){this.listView.focusPrev()},_move:function(e){var i,n,s,a,r=this,l=e.keyCode,o=l===d.DOWN;if(l===d.UP||o){if(e.altKey)r.toggle(o);else{if(!r.listView.bound())return r._fetch||(r.dataSource.one(v,function(){r._fetch=!1,r._move(e)}),r._fetch=!0,r._filterSource()),e.preventDefault(),!0;if(s=r._focus(),r._fetch||s&&!s.hasClass("k-state-selected")||(o?(r._nextItem(),r._focus()||r._lastItem()):(r._prevItem(),r._focus()||r._firstItem())),r.trigger(w,{item:r._focus()}))return r._focus(s),t;r._select(r._focus(),!0),r.popup.visible()||r._blur()}e.preventDefault(),n=!0}else if(l===d.ENTER||l===d.TAB){if(r.popup.visible()&&e.preventDefault(),s=r._focus(),i=r.dataItem(),r.popup.visible()||i&&r.text()===r._text(i)||(s=null),a=r.filterInput&&r.filterInput[0]===f(),s){if(r.trigger(w,{item:s}))return;r._select(s)}else r.input&&(r._accessor(r.input.val()),r.listView.value(r.input.val()));r._focusElement&&r._focusElement(r.wrapper),a&&l===d.TAB?r.wrapper.focusout():r._blur(),r.close(),n=!0}else l===d.ESC&&(r.popup.visible()&&e.preventDefault(),r.close(),n=!0);return n},_fetchData:function(){var e=this,t=!!e.dataSource.view().length;e._request||e.options.cascadeFrom||e.listView.bound()||e._fetch||t||(e._fetch=!0,e.dataSource.fetch().done(function(){e._fetch=!1}))},_options:function(e,i,n){var s,a,r,l,o=this,u=o.element,d=e.length,c="",f=0;for(i&&(c=i);d>f;f++)s="<option",a=e[f],r=o._text(a),l=o._value(a),l!==t&&(l+="",-1!==l.indexOf('"')&&(l=l.replace(A,""")),s+=' value="'+l+'"'),s+=">",r!==t&&(s+=h(r)),s+="</option>",c+=s;u.html(c),n!==t&&(u[0].value=n,u[0].value&&!n&&(u[0].selectedIndex=-1))},_reset:function(){var t=this,i=t.element,n=i.attr("form"),s=n?e("#"+n):i.closest("form");s[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(t._initial)})},t._form=s.on("reset",t._resetHandler))},_parentWidget:function(){var t=this.options.name,i=e("#"+this.options.cascadeFrom),n=i.data("kendo"+t);return n||(n=i.data("kendo"+G[t])),n},_cascade:function(){var e,t,i=this,n=i.options,s=n.cascadeFrom;if(s){if(t=i._parentWidget(),!t)return;n.autoBind=!1,e=C(function(e){var i=this.value();this._userTriggered=e.userTriggered,this.listView.bound()&&this._clearSelection(t,!0),this._cascadeSelect(t,i)},i),t.first(I,e),t._focused.bind("focus",function(){t.unbind(I,e),t.first(v,e)}),t._focused.bind("focusout",function(){t.unbind(v,e),t.first(I,e)}),t.listView.bound()?i._cascadeSelect(t):t.value()||i.enable(!1)}},_cascadeChange:function(e){var t=this,i=t._accessor();t._userTriggered?t._clearSelection(e,!0):i?(i!==t.listView.value()[0]&&t.value(i),t.dataSource.view()[0]&&-1!==t.selectedIndex||t._clearSelection(e,!0)):t.dataSource.flatView().length&&t.select(t.options.index),t.enable(),t._triggerCascade(),t._triggerChange(),t._userTriggered=!1},_cascadeSelect:function(e,i){var n,a,r,l=this,o=e.dataItem(),u=o?e._value(o):null,d=l.options.cascadeFromField||e.options.dataValueField;l._valueBeforeCascade=i!==t?i:l.value(),u||0===u?(n=l.dataSource.filter()||{},s(n,d),a=n.filters||[],a.push({field:d,operator:"eq",value:u}),r=function(){l.unbind("dataBound",r),l._cascadeChange(e)},l.first("dataBound",r),l._cascading=!0,l._filterSource({field:d,operator:"eq",value:u}),l._cascading=!1):(l.enable(!1),l._clearSelection(e),l._triggerCascade(),l._triggerChange(),l._userTriggered=!1)}}),a=".StaticList",r=l.ui.DataBoundWidget.extend({init:function(t,i){u.fn.init.call(this,t,i),this.element.attr("role","listbox").on("click"+a,"li",C(this._click,this)).on("mouseenter"+a,"li",function(){e(this).addClass(m)}).on("mouseleave"+a,"li",function(){e(this).removeClass(m)}),this.content=this.element.wrap("<div class='k-list-scroller' unselectable='on'></div>").parent(),this.header=this.content.before('<div class="k-group-header" style="display:none"></div>').prev(),this.bound(!1),this._optionID=l.guid(),this._selectedIndices=[],this._view=[],this._dataItems=[],this._values=[];var n=this.options.value;n&&(this._values=e.isArray(n)?n.slice(0):[n]),this._getter(),this._templates(),this.setDataSource(this.options.dataSource),this._onScroll=C(function(){var e=this;clearTimeout(e._scrollId),e._scrollId=setTimeout(function(){e._renderHeader()},50)},this)},options:{name:"StaticList",dataValueField:null,valuePrimitive:!1,selectable:!0,template:null,groupTemplate:null,fixedGroupTemplate:null},events:["click",v,"activate","deactivate","dataBinding","dataBound","selectedItemChange"],setDataSource:function(t){var i,n=this,s=t||{};s=e.isArray(s)?{data:s}:s,s=l.data.DataSource.create(s),n.dataSource?(n.dataSource.unbind(v,n._refreshHandler),i=n.value(),n.value([]),n.bound(!1),n.value(i)):n._refreshHandler=C(n.refresh,n),n.setDSFilter(s.filter()),n.dataSource=s.bind(v,n._refreshHandler),n._fixedHeader()},skip:function(){return this.dataSource.skip()},setOptions:function(e){u.fn.setOptions.call(this,e),this._getter(),this._templates(),this._render()},destroy:function(){this.element.off(a),this._refreshHandler&&this.dataSource.unbind(v,this._refreshHandler),clearTimeout(this._scrollId),u.fn.destroy.call(this)},scrollToIndex:function(e){var t=this.element[0].children[e];t&&this.scroll(t)},scroll:function(e){if(e){e[0]&&(e=e[0]);var t=this.content[0],i=e.offsetTop,n=e.offsetHeight,s=t.scrollTop,a=t.clientHeight,r=i+n;s>i?s=i:r>s+a&&(s=r-a),t.scrollTop=s}},selectedDataItems:function(e){return e===t?this._dataItems.slice():(this._dataItems=e,this._values=this._getValues(e),t)},_getValues:function(t){var i=this._valueGetter;return e.map(t,function(e){return i(e)})},focusNext:function(){var e=this.focus();e=e?e.next():0,this.focus(e)},focusPrev:function(){var e=this.focus();e=e?e.prev():this.element[0].children.length-1,this.focus(e)},focusFirst:function(){this.focus(this.element[0].children[0])},focusLast:function(){this.focus(this.element[0].children[this.element[0].children.length-1])},focus:function(i){var n,s=this,a=s._optionID;return i===t?s._current:(i=s._get(i),i=i[i.length-1],i=e(this.element[0].children[i]),s._current&&(s._current.removeClass(g).removeAttr("aria-selected").removeAttr(_),s.trigger("deactivate")),n=!!i[0],n&&(i.addClass(g),s.scroll(i),i.attr("id",a)),s._current=n?i:null,s.trigger("activate"),t)},focusIndex:function(){return this.focus()?this.focus().index():t},skipUpdate:function(e){this._skipUpdate=e},select:function(i){var n,s,a=this,r=a.options.selectable,l="multiple"!==r&&r!==!1,o=a._selectedIndices,u=[],d=[];if(i===t)return o.slice();if(i=a._get(i),1===i.length&&-1===i[0]&&(i=[]),s=a.isFiltered(),!s||l||!a._deselectFiltered(i)){if(l&&!s&&-1!==e.inArray(i[i.length-1],o))return a._dataItems.length&&a._view.length&&(a._dataItems=[a._view[o[0]].item]),t;n=a._deselect(i),d=n.removed,i=n.indices,i.length&&(l&&(i=[i[i.length-1]]),u=a._select(i)),(u.length||d.length)&&(a._valueComparer=null,a.trigger(v,{added:u,removed:d}))}},removeAt:function(e){return this._selectedIndices.splice(e,1),this._values.splice(e,1),this._valueComparer=null,{position:e,dataItem:this._dataItems.splice(e,1)[0]}},setValue:function(t){t=e.isArray(t)||t instanceof p?t.slice(0):[t],this._values=t,this._valueComparer=null},value:function(i){var n,s=this,a=s._valueDeferred;return i===t?s._values.slice():(s.setValue(i),a&&"resolved"!==a.state()||(s._valueDeferred=a=e.Deferred()),s.bound()&&(n=s._valueIndices(s._values),"multiple"===s.options.selectable&&s.select(-1),s.select(n),a.resolve()),s._skipUpdate=!1,a)},items:function(){return this.element.children(".k-item")},_click:function(t){t.isDefaultPrevented()||this.trigger("click",{item:e(t.currentTarget)})||this.select(t.currentTarget)},_valueExpr:function(e,t){var n,s,a=this,r=0,l=[];if(!a._valueComparer||a._valueType!==e){for(a._valueType=e;t.length>r;r++)l.push(i(t[r],e));n="for (var idx = 0; idx < "+l.length+"; idx++) { if (current === values[idx]) { return idx; }} return -1;",s=Function("current","values",n),a._valueComparer=function(e){return s(e,l)}}return a._valueComparer},_dataItemPosition:function(e,t){var i=this._valueGetter(e),n=this._valueExpr(typeof i,t);return n(i)},_getter:function(){this._valueGetter=l.getter(this.options.dataValueField)},_deselect:function(t){var i,n,s,a=this,r=a.element[0].children,l=a.options.selectable,o=a._selectedIndices,u=a._dataItems,d=a._values,c=[],h=0,f=0;if(t=t.slice(),l!==!0&&t.length){if("multiple"===l)for(;t.length>h;h++)if(n=t[h],e(r[n]).hasClass("k-state-selected"))for(i=0;o.length>i;i++)if(s=o[i],s===n){e(r[s]).removeClass("k-state-selected"),c.push({position:i+f,dataItem:u.splice(i,1)[0]}),o.splice(i,1),t.splice(h,1),d.splice(i,1),f+=1,h-=1,i-=1;break}}else{for(;o.length>h;h++)e(r[o[h]]).removeClass("k-state-selected"),c.push({position:h,dataItem:u[h]});a._values=[],a._dataItems=[],a._selectedIndices=[]}return{indices:t,removed:c}},_deselectFiltered:function(t){for(var i,n,s,a=this.element[0].children,r=[],l=0;t.length>l;l++)n=t[l],i=this._view[n].item,s=this._dataItemPosition(i,this._values),s>-1&&(r.push(this.removeAt(s)),e(a[n]).removeClass("k-state-selected"));return r.length?(this.trigger(v,{added:[],removed:r}),!0):!1},_select:function(t){var i,n,s=this,a=s.element[0].children,r=s._view,l=[],o=0;for(-1!==t[t.length-1]&&s.focus(t);t.length>o;o++)n=t[o],i=r[n],-1!==n&&i&&(i=i.item,s._selectedIndices.push(n),s._dataItems.push(i),s._values.push(s._valueGetter(i)),e(a[n]).addClass("k-state-selected").attr("aria-selected",!0),l.push({dataItem:i}));return l},_get:function(i){return"number"==typeof i?i=[i]:D(i)||(i=e(i).data("offset-index"),i===t&&(i=-1),i=[i]),i},_template:function(){var e=this,t=e.options,i=t.template;return i?(i=l.template(i),i=function(e){return'<li tabindex="-1" role="option" unselectable="on" class="k-item">'+i(e)+"</li>"}):i=l.template('<li tabindex="-1" role="option" unselectable="on" class="k-item">${'+l.expr(t.dataTextField,"data")+"}</li>",{useWithBlock:!1}),i},_templates:function(){var e,t,i={template:this.options.template,groupTemplate:this.options.groupTemplate,fixedGroupTemplate:this.options.fixedGroupTemplate};for(t in i)e=i[t],e&&"function"!=typeof e&&(i[t]=l.template(e));this.templates=i},_normalizeIndices:function(e){for(var i=[],n=0;e.length>n;n++)e[n]!==t&&i.push(e[n]);return i},_valueIndices:function(e,t){var i,n=this._view,s=0;if(t=t?t.slice():[],!e.length)return[];for(;n.length>s;s++)i=this._dataItemPosition(n[s].item,e),-1!==i&&(t[i]=s);return this._normalizeIndices(t)},_firstVisibleItem:function(){for(var t=this.element[0],i=this.content[0],n=i.scrollTop,s=e(t.children[0]).height(),a=Math.floor(n/s)||0,r=t.children[a]||t.lastChild,l=n>r.offsetTop;r;)if(l){if(r.offsetTop+s>n||!r.nextSibling)break;r=r.nextSibling}else{if(n>=r.offsetTop||!r.previousSibling)break;r=r.previousSibling}return this._view[e(r).data("offset-index")]},_fixedHeader:function(){this.isGrouped()&&this.templates.fixedGroupTemplate?(this.header.show(),this.content.scroll(this._onScroll)):(this.header.hide(),this.content.off("scroll",this._onScroll))},_renderHeader:function(){var e,t=this.templates.fixedGroupTemplate;t&&(e=this._firstVisibleItem(),e&&this.header.html(t(e.group)))},_renderItem:function(e){var t='<li tabindex="-1" role="option" unselectable="on" class="k-item',i=e.item,n=0!==e.index,s=e.selected;return n&&e.newGroup&&(t+=" k-first"),s&&(t+=" k-state-selected"),t+='"'+(s?' aria-selected="true"':"")+' data-offset-index="'+e.index+'">',t+=this.templates.template(i),n&&e.newGroup&&(t+='<div class="k-group">'+this.templates.groupTemplate(e.group)+"</div>"),t+"</li>"},_render:function(){var e,t,i,n,s="",a=0,r=0,l=[],o=this.dataSource.view(),u=this.value(),d=this.isGrouped();if(d)for(a=0;o.length>a;a++)for(t=o[a],i=!0,n=0;t.items.length>n;n++)e={selected:this._selected(t.items[n],u),item:t.items[n],group:t.value,newGroup:i,index:r},l[r]=e,r+=1,s+=this._renderItem(e),i=!1;else for(a=0;o.length>a;a++)e={selected:this._selected(o[a],u),item:o[a],index:a},l[a]=e,s+=this._renderItem(e);this._view=l,this.element[0].innerHTML=s,d&&l.length&&this._renderHeader()},_selected:function(e,t){var i=!this.isFiltered()||"multiple"===this.options.selectable;return i&&-1!==this._dataItemPosition(e,t)},setDSFilter:function(e){this._lastDSFilter=V({},e)},isFiltered:function(){return this._lastDSFilter||this.setDSFilter(this.dataSource.filter()),!l.data.Query.compareFilters(this.dataSource.filter(),this._lastDSFilter)},refresh:function(e){var t,i=this,s=e&&e.action,a=i.options.skipUpdateOnBind,r="itemchange"===s;i.trigger("dataBinding"),i._fixedHeader(),i._render(),i.bound(!0),r||"remove"===s?(t=n(i._dataItems,e.items),t.changed.length&&(r?i.trigger("selectedItemChange",{items:t.changed}):i.value(i._getValues(t.unchanged)))):i.isFiltered()||i._skipUpdate?(i.focus(0),i._skipUpdate&&(i._skipUpdate=!1,i._selectedIndices=i._valueIndices(i._values,i._selectedIndices))):a||s&&"add"!==s||i.value(i._values),i._valueDeferred&&i._valueDeferred.resolve(),i.trigger("dataBound")},bound:function(e){return e===t?this._bound:(this._bound=e,t)},isGrouped:function(){return(this.dataSource.group()||[]).length}}),o.plugin(r)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()});
//# sourceMappingURL=kendo.list.min.js.map