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