@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
2 lines • 36.1 kB
JavaScript
module.exports=function(e){function t(a){if(i[a])return i[a].exports;var n=i[a]={exports:{},id:a,loaded:!1};return e[a].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1305)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1049:function(e,t){e.exports=require("./kendo.popup")},1067:function(e,t){e.exports=require("./kendo.data")},1305:function(e,t,i){var a,n,s;!function(r,define){n=[i(1067),i(1049)],a=r,s="function"==typeof a?a.apply(t,n):a,!(void 0!==s&&(e.exports=s))}(function(){return function(e,t){function i(e,i){return e!==t&&""!==e&&null!==e&&("boolean"===i?("boolean"!=typeof e&&(e="true"===(""+e).toLowerCase()),e=!!e):"number"===i?e=+e:"string"===i&&(e=""+e)),e}function a(e){return e[e.length-1]}function n(e){var t=e.selectedIndex;return t>-1?e.options[t]:{}}function s(e,t){var i,a,n,s,r=t.length,l=e.length,o=[],u=[];if(l)for(n=0;n<l;n++){for(i=e[n],a=!1,s=0;s<r;s++)if(i===t[s]){a=!0,o.push({index:n,item:i});break}a||u.push(i)}return{changed:o,unchanged:u}}function r(t){return!(!t||e.isEmptyObject(t))&&!(t.filters&&!t.filters.length)}function l(t,i){var a,n=!1;return t.filters&&(a=e.grep(t.filters,function(e){return n=l(e,i),e.filters?e.filters.length:e.field!=i}),n||t.filters.length===a.length||(n=!0),t.filters=a),n}var o,u,c=window.kendo,d=c.ui,h=c._outerHeight,f=/^\d+(\.\d+)?%$/i,p=d.Widget,_=c.keys,g=c.support,m=c.htmlEncode,v=c._activeElement,b=c._outerWidth,x=c.data.ObservableArray,I="id",y="change",w="k-state-focused",S="k-state-hover",T="k-i-loading",F=".k-group-header",V=".k-item",C="_label",k="open",D="close",H="cascade",B="select",E="selected",L="requestStart",P="requestEnd",A="blur",q="focus",G="focusout",W=e.extend,N=e.proxy,O=Array.isArray,M=g.browser,z="k-hidden",R="width",U=M.msie,j=/"/g,$={ComboBox:["DropDownList","MultiColumnComboBox"],DropDownList:["ComboBox","MultiColumnComboBox"],MultiColumnComboBox:["ComboBox","DropDownList"]},Q=c.ui.DataBoundWidget.extend({init:function(t,i){var a,n=this,s=n.ns;p.fn.init.call(n,t,i),t=n.element,i=n.options,n._isSelect=t.is(B),n._isSelect&&n.element[0].length&&(i.dataSource||(i.dataTextField=i.dataTextField||"text",i.dataValueField=i.dataValueField||"value")),n.ul=e('<ul unselectable="on" class="k-list k-reset"/>').attr({tabIndex:-1,"aria-hidden":!0}),n.list=e("<div class='k-list-container'/>").append(n.ul).on("mousedown"+s,N(n._listMousedown,n)),a=t.attr(I),a||(a=c.guid()),n.list.attr(I,a+"-list"),n.ul.attr(I,a+"_listbox"),i.columns&&i.columns.length&&(n.ul.removeClass("k-list").addClass("k-grid-list"),n._columnsHeader()),n._header(),n._noData(),n._footer(),n._accessors(),n._initValue()},options:{valuePrimitive:!1,footerTemplate:"",headerTemplate:"",noDataTemplate:!0,messages:{noData:"No data found.",clear:"clear"}},setOptions:function(e){p.fn.setOptions.call(this,e),e&&e.enable!==t&&(e.enabled=e.enable),e.columns&&e.columns.length&&this._columnsHeader(),this._header(),this._noData(),this._footer(),this._renderFooter(),this._renderNoData()},focus:function(){this._focused.trigger("focus")},readonly:function(e){this._editable({readonly:e===t||e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t||e)})},_header:function(){var i,a=this,n=e(a.header),s=a.options.headerTemplate;return this._angularElement(n,"cleanup"),c.destroy(n),n.remove(),s?(i="function"!=typeof s?c.template(s):s,n=e(i({})),a.header=n[0]?n:null,a.list.prepend(n),this._angularElement(a.header,"compile"),t):(a.header=null,t)},_columnsHeader:function(){var t,i,a,n,s,r,l,o,u,d,h,p=this,_=e(p.columnsHeader);for(this._angularElement(_,"cleanup"),c.destroy(_),_.remove(),t="<div class='k-grid-header'><div class='k-grid-header-wrap'><table role='presentation'>",i="<colgroup>",a="<tr>",n=0;n<this.options.columns.length;n++)s=this.options.columns[n],r=s.title||s.field||"",l=s.headerTemplate||r,o="function"!=typeof l?c.template(l):l,u=s.width,d=parseInt(u,10),h="",u&&!isNaN(d)&&(h+="style='width:",h+=d,h+=f.test(u)?"%":"px",h+=";'"),i+="<col "+h+"/>",a+="<th class='k-header'>",a+=o(s),a+="</th>";i+="</colgroup>",a+="</tr>",t+=i,t+=a,t+="</table></div></div>",p.columnsHeader=_=e(t),p.list.prepend(_),this._angularElement(p.columnsHeader,"compile")},_noData:function(){var i=this,a=e(i.noData),n=i.options.noDataTemplate===!0?i.options.messages.noData:i.options.noDataTemplate;return i.angular("cleanup",function(){return{elements:a}}),c.destroy(a),a.remove(),n?(i.noData=e('<div class="k-nodata" style="display:none"><div></div></div>').appendTo(i.list),i.noDataTemplate="function"!=typeof n?c.template(n):n,t):(i.noData=null,t)},_footer:function(){var i=this,a=e(i.footer),n=i.options.footerTemplate;return this._angularElement(a,"cleanup"),c.destroy(a),a.remove(),n?(i.footer=e('<div class="k-footer"></div>').appendTo(i.list),i.footerTemplate="function"!=typeof n?c.template(n):n,t):(i.footer=null,t)},_listOptions:function(t){var i=this,a=i.options,n=a.virtual,s={change:N(i._listChange,i)},r=N(i._listBound,i),l=i._focused,o=i.element.attr("id"),u=e('label[for="'+i.element.attr("id")+'"]'),d=l.attr("aria-labelledby");return!d&&u.length&&(d=u.attr("id")||i._generateLabelId(u,o||c.guid())),n="object"==typeof n?n:{},t=e.extend({autoBind:!1,selectable:!0,dataSource:i.dataSource,click:N(i._click,i),activate:N(i._activateItem,i),columns:a.columns,deactivate:N(i._deactivateItem,i),dataBinding:function(){i.trigger("dataBinding")},dataBound:r,height:a.height,dataValueField:a.dataValueField,dataTextField:a.dataTextField,groupTemplate:a.groupTemplate,fixedGroupTemplate:a.fixedGroupTemplate,template:a.template,ariaLabel:l.attr("aria-label"),ariaLabelledBy:d},t,n,s),t.template||(t.template="#:"+c.expr(t.dataTextField,"data")+"#"),a.$angular&&(t.$angular=a.$angular),t},_initList:function(){var e=this,t=e._listOptions({selectedItemChange:N(e._listChange,e)});e.listView=e.options.virtual?new c.ui.VirtualList(e.ul,t):new c.ui.StaticList(e.ul,t),e.listView.bind("listBound",N(e._listBound,e)),e._setListValue()},_setListValue:function(e){e=e||this.options.value,e!==t&&this.listView.value(e).done(N(this._updateSelectionState,this))},_updateSelectionState:e.noop,_listMousedown:function(e){this.filterInput&&this.filterInput[0]===e.target||e.preventDefault()},_isFilterEnabled:function(){var e=this.options.filter;return e&&"none"!==e},_hideClear:function(){var e=this;e._clear&&e._clear.addClass(z)},_showClear:function(){this._clear&&this._clear.removeClass(z)},_clearValue:function(){this._clearText(),this._accessor(""),this.listView.value([]),this._isSelect&&(this._customOption=t),this._isFilterEnabled()&&!this.options.enforceMinLength&&(this._filter({word:"",open:!1}),this.options.highlightFirst&&this.listView.focus(0)),this._change()},_clearText:function(){this.text("")},_clearFilter:function(){this.options.virtual||this.listView.bound(!1),this._filterSource()},_filterSource:function(t,i){var a,n,s=this,o=s.options,u=o.filterFields&&t&&t.logic&&t.filters&&t.filters.length,c=s.dataSource,d=W({},c.filter()||{}),h=t||d.filters&&d.filters.length&&!t,f=l(d,o.dataTextField);return this._clearFilterExpressions(d),(t||f)&&s.trigger("filtering",{filter:t})?e.Deferred().reject().promise():(a={filters:[],logic:"and"},u?a.filters.push(t):this._pushFilterExpression(a,t),r(d)&&(a.logic===d.logic?a.filters=a.filters.concat(d.filters):a.filters.push(d)),s._cascading&&this.listView.setDSFilter(a),n=W({},{page:h?1:c.page(),pageSize:h?c.options.pageSize:c.pageSize(),sort:c.sort(),filter:c.filter(),group:c.group(),aggregate:c.aggregate()},{filter:a}),c[i?"read":"query"](c._mergeState(n)))},_pushFilterExpression:function(e,t){r(t)&&""!==t.value&&e.filters.push(t)},_clearFilterExpressions:function(e){var t,i;if(e.filters){for(i=0;i<e.filters.length;i++)"fromFilter"in e.filters[i]&&(t=i);isNaN(t)||e.filters.splice(t,1)}},_angularElement:function(e,t){e&&this.angular(t,function(){return{elements:e}})},_renderNoData:function(){var e=this,t=e.noData;t&&(this._angularElement(t,"cleanup"),t.children().first().html(e.noDataTemplate({instance:e})),this._angularElement(t,"compile"))},_toggleNoData:function(t){e(this.noData).toggle(t)},_toggleHeader:function(e){var t=this.listView.content.prev(F);t.toggle(e)},_renderFooter:function(){var e=this,t=e.footer;t&&(this._angularElement(t,"cleanup"),t.html(e.footerTemplate({instance:e})),this._angularElement(t,"compile"))},_allowOpening:function(){return this.options.noDataTemplate||this.dataSource.flatView().length},_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)},_filter:function(e){var t,i,a=this,n=a.options,s=e.word,r=n.filterFields,l=n.dataTextField;if(r&&r.length)for(t={logic:"or",filters:[],fromFilter:!0},i=0;i<r.length;i++)this._pushFilterExpression(t,a._buildExpression(s,r[i]));else t=a._buildExpression(s,l);a._open=e.open,a._filterSource(t)},_buildExpression:function(e,t){var i=this,a=i.options,n=a.ignoreCase,s=i.dataSource.options.accentFoldingFiltering;return{value:n?s?e.toLocaleLowerCase(s):e.toLowerCase():e,field:t,operator:a.filter,ignoreCase:n}},_clearButton:function(){var t=this,i=t.options.messages.clear;t._clear||(t._clear=e('<span unselectable="on" class="k-clear-value" title="'+i+'"><span class="k-icon k-i-x"></span></span>').attr({role:"button",tabIndex:-1})),t.options.clearButton||t._clear.remove(),this._hideClear()},search:function(e){var t=this.options;e="string"==typeof e?e:this._inputValue(),clearTimeout(this._typingTimeout),(!t.enforceMinLength&&!e.length||e.length>=t.minLength)&&(this._state="filter",this.listView&&(this.listView._emptySearch=!c.trim(e).length),this._isFilterEnabled()?this._filter({word:e,open:!0}):this._searchByWord(e))},current:function(e){return this._focus(e)},items:function(){return this.ul[0].children},destroy:function(){var e=this,t=e.ns;p.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 a=this;if(i===t)return a.listView.selectedDataItems()[0];if("number"!=typeof i){if(a.options.virtual)return a.dataSource.getByUid(e(i).data("uid"));i=e(a.items()).index(i)}return a.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,a=c.getter,n=t.attr(c.attr("text-field")),s=t.attr(c.attr("value-field"));!i.dataTextField&&n&&(i.dataTextField=n),!i.dataValueField&&s&&(i.dataValueField=s),e._text=a(i.dataTextField),e._value=a(i.dataValueField)},_aria:function(e){var i,a=this,n=a.options,s=a._focused;n.suggest!==t&&(i="none"===n.filter?n.suggest===!0?"inline":"none":n.suggest===!0?"both":"list",s.attr("aria-autocomplete",i)),e=e?e+" "+a.ul[0].id:a.ul[0].id,s.attr({"aria-owns":e,"aria-controls":e}),a.filterInput&&a.filterInput.length>0&&a.filterInput.attr("aria-controls",e),a.ul.attr("aria-live",a._isFilterEnabled()?"polite":"off"),a._ariaLabel()},_ariaLabel:function(){var t,i=this,a=i._focused,n=i.element,s=n.attr("id"),r=e('label[for="'+s+'"]'),l=n.attr("aria-label"),o=n.attr("aria-labelledby");a!==n&&(l?a.attr("aria-label",l):o?a.attr("aria-labelledby",o):r.length&&(t=r.attr("id")||i._generateLabelId(r,s||c.guid()),a.attr("aria-labelledby",t)))},_generateLabelId:function(e,t){var i=t+C;return e.attr("id",i),i},_blur:function(){var e=this;e._change(),e.close(),e._userTriggered=!1},_isValueChanged:function(e){return e!==i(this._old,typeof e)},_change:function(){var e,a=this,n=a.selectedIndex,s=a.options.value,r=a.value();a._isSelect&&!a.listView.bound()&&s&&(r=s),a._isValueChanged(r)?e=!0:a._valueBeforeCascade!==t&&a._valueBeforeCascade!==i(a._old,typeof a._valueBeforeCascade)&&a._userTriggered?e=!0:n===t||n===a._oldIndex||a.listView.isFiltered()||(e=!0),e&&(a._valueBeforeCascade=a._old=null===a._old||""===a._old||""===r?r:a.dataItem()?a.options.dataValueField?a.dataItem()[a.options.dataValueField]:a.dataItem():null,a._oldIndex=n,a._typing||a.element.trigger(y),a.trigger(y)),a.typing=!1},_data:function(){return this.dataSource.view()},_enable:function(){var e=this,i=e.options,a=e.element.is("[disabled]");i.enable!==t&&(i.enabled=i.enable),!i.enabled||a?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+=h(i,!0)}),t},_height:function(i){var a,n,s,r=this,l=r.list,o=r.options.height,u=r.popup.visible();if(i||r.options.noDataTemplate){if(n=l.add(l.parent(".k-animation-container")).show(),!l.is(":visible"))return n.hide(),t;o=r.listView.content[0].scrollHeight>o?o:"auto",n.height(o),"auto"!==o&&(a=r._offsetHeight(),s=h(e(r.footer))||0,o=o-a-s),r.listView.content.height(o),u||n.hide()}return o},_openHandler:function(e){this._adjustListWidth(),this.trigger(k)?e.preventDefault():(this._focused.attr("aria-expanded",!0),this.ul.attr("aria-hidden",!1))},_adjustListWidth:function(){var e,t,i=this,a=i.list,n=a[0].style.width,s=i.wrapper;if(a.data(R)||!n)return e=window.getComputedStyle?window.getComputedStyle(s[0],null):0,t=parseFloat(e&&e.width)||b(s),e&&M.msie&&(t+=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth)),n="border-box"!==a.css("box-sizing")?t-(b(a)-a.width()):t,a.css({fontFamily:s.css("font-family"),width:i.options.autoWidth?"auto":n,minWidth:n,whiteSpace:i.options.autoWidth?"nowrap":"normal"}).data(R,n),!0},_closeHandler:function(e){this.trigger(D)?e.preventDefault():(this._focused.attr("aria-expanded",!1),this.ul.attr("aria-hidden",!0))},_focusItem:function(){var e=this.listView,i=!e.focus(),n=a(e.select());n===t&&this.options.highlightFirst&&i&&(n=0),n!==t?e.focus(n):i&&e.scrollToIndex(0)},_calculateGroupPadding:function(e){var t=this.ul.children(".k-first").first(),i=this.listView.content.prev(F),a=0,n="right";i[0]&&"none"!==i[0].style.display&&("auto"!==e&&(a=c.support.scrollbar()),this.element.parents(".k-rtl").length&&(n="left"),a+=parseFloat(t.css("border-"+n+"-width"),10)+parseFloat(t.children(".k-group").css("padding-"+n),10),i.css("padding-"+n,a))},_calculatePopupHeight:function(e){var t=this._height(this.dataSource.flatView().length||e);this._calculateGroupPadding(t),this._calculateColumnsHeaderPadding(t)},_calculateColumnsHeaderPadding:function(e){var t,i,a;this.options.columns&&this.options.columns.length&&(t=this,i=g.isRtl(t.wrapper),a=c.support.scrollbar(),t.columnsHeader.css(i?"padding-left":"padding-right","auto"!==e?a:0))},_refreshScroll:function(){var e=this.listView,t=e.element.height()>e.content.height();this.options.autoWidth&&e.content.css({overflowX:"hidden",overflowY:t?"scroll":"auto"})},_resizePopup:function(e){this.options.virtual||(this.popup.element.is(":visible")?this._calculatePopupHeight(e):(this.popup.one("open",function(e){return N(function(){this._calculatePopupHeight(e)},this)}.call(this,e)),this.popup.one("activate",N(this._refreshScroll,this))))},_popup:function(){var e=this;e.popup=new d.Popup(e.list,W({},e.options.popup,{anchor:e.wrapper,open:N(e._openHandler,e),close:N(e._closeHandler,e),animation:e.options.animation,isRtl:g.isRtl(e.wrapper),autosize:e.options.autoWidth}))},_toggleHover:function(t){e(t.currentTarget).toggleClass(S,"mouseenter"===t.type)},_toggle:function(e,i){var a=this,n=g.mobileOS&&(g.touch||g.MSPointers||g.pointers);e=e!==t?e:!a.popup.visible(),i||n||a._focused[0]===v()||(a._prevent=!0,a._focused.trigger("focus"),a._prevent=!1),a[e?k:D]()},_triggerCascade:function(){var e=this;e._cascadeTriggered&&e.value()===i(e._cascadedValue,typeof e.value())||(e._cascadedValue=e.value(),e._cascadeTriggered=!0,e.trigger(H,{userTriggered:e._userTriggered}))},_triggerChange:function(){this._valueBeforeCascade!==this.value()&&this.trigger(y)},_unbindDataSource:function(){var e=this;e.dataSource.unbind(L,e._requestStartHandler).unbind(P,e._requestEndHandler).unbind("error",e._errorHandler)},requireValueMapper:function(e,t){var i=(e.value instanceof Array?e.value.length:e.value)||(t instanceof Array?t.length:t);if(i&&e.virtual&&"function"!=typeof e.virtual.valueMapper)throw Error("ValueMapper is not provided while the value is being set. See http://docs.telerik.com/kendo-ui/controls/editors/combobox/virtualization#the-valuemapper-function")}});W(Q,{inArray:function(e,t){var i,a,n=t.children;if(!e||e.parentNode!==t)return-1;for(i=0,a=n.length;i<a;i++)if(e===n[i])return i;return-1},unifyType:i}),c.ui.List=Q,d.Select=Q.extend({init:function(e,t){Q.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._current=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).done(function(){i._cascadeValue=i._old=i._accessor(),i._oldIndex=i.selectedIndex})},_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 a,s=this.element[0];return e===t?n(s).value||"":(n(s).selected=!1,i===t&&(i=-1),a=null!==e&&""!==e,a&&i==-1?this._custom(e):e?s.value=e:s.selectedIndex=i,t)},_syncValueAndText:function(){return!0},_custom:function(t){var i=this,a=i.element,n=i._customOption;n||(n=e("<option/>"),i._customOption=n,a.append(n)),n.text(t),n[0].selected=!0},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrowIcon.removeClass(T),e._focused.attr("aria-busy",!1),e._busy=null,e._showClear()},_showBusy:function(e){var t=this;e.isDefaultPrevented()||(t._request=!0,t._busy||(t._busy=setTimeout(function(){t._arrowIcon&&(t._focused.attr("aria-busy",!0),t._arrowIcon.addClass(T),t._hideClear())},100)))},_requestEnd:function(){this._request=!1,this._hideBusy()},_dataSource:function(){var e,t=this,i=t.element,a=t.options,n=a.dataSource||{};n=Array.isArray(n)?{data:n}:n,t._isSelect&&(e=i[0].selectedIndex,e>-1&&(a.index=e),n.select=i,n.fields=[{field:a.dataTextField},{field:a.dataValueField}]),t.dataSource?t._unbindDataSource():(t._requestStartHandler=N(t._showBusy,t),t._requestEndHandler=N(t._requestEnd,t),t._errorHandler=N(t._hideBusy,t)),t.dataSource=c.data.DataSource.create(n).bind(L,t._requestStartHandler).bind(P,t._requestEndHandler).bind("error",t._errorHandler)},_firstItem:function(){this.listView.focusFirst()},_lastItem:function(){this.listView.focusLast()},_nextItem:function(){return this.listView.focusNext()},_prevItem:function(){return this.listView.focusPrev()},_getNormalizedDataItem:function(e){var t,i=this,a=i.listView,n="number"==typeof e,s=i.optionLabel&&i.optionLabel.length;return t=n?s?--e:e:a.getElementIndex(e),a.dataItemByIndex(t)},_getNormalizedSelectCandidate:function(e){var t=this,i=t.optionLabel&&t.optionLabel.length,a="number"==typeof e,n=e;return i&&a&&n++,n},_move:function(e){var t,i,a,n,s,r,l,o,u,c=this,d=c.listView,h=e.keyCode,f=h===_.DOWN,p=c.options.virtual;if(h===_.UP||f){if(e.altKey)c.toggle(f);else{if(!d.bound()&&!c.ul[0].firstChild)return c._fetch||(c.dataSource.one(y,function(){c._fetch=!1,c._move(e)}),c._fetch=!0,c._filterSource()),e.preventDefault(),!0;a=c._focus(),c._fetch||a&&!a.hasClass("k-state-selected")||(f?(n=c._nextItem(),(p&&n<=0||!c._focus()&&!n)&&c._lastItem()):(n=c._prevItem(),(p&&n>=d.dataSource.total()-1||!c._focus()&&!n)&&c._firstItem())),s=c._getNormalizedSelectCandidate(c._get(c._focus())||n||0),c._select(s,!0).done(function(){var e=function(){c.popup.visible()||c._blur(),c._cascadedValue=null===c._cascadedValue?c.value():c.dataItem()?c.dataItem()[c.options.dataValueField]||c.dataItem():null};c.trigger(B,{dataItem:c._getNormalizedDataItem(s),item:c._focus()})?c._select(a).done(e):e()})}e.preventDefault(),i=!0}else if(h===_.ENTER||h===_.TAB){if(c.popup.visible()&&e.preventDefault(),a=c._focus(),t=c.dataItem(),c.popup.visible()||t&&c.text()===c._text(t)||(a=null),r=c.filterInput&&c.filterInput[0]===v(),a){if(t=d.dataItemByIndex(d.getElementIndex(a)),o=!0,t&&(o=c._value(t)!==Q.unifyType(c.value(),typeof c._value(t))),o&&c.trigger(B,{dataItem:t,item:a}))return;l=c._select(a)}else c.input&&((c._syncValueAndText()||c._isSelect)&&c._accessor(c.input.val()),c.listView.value(c.input.val()));c._focusElement&&c._focusElement(c.wrapper),r&&h===_.TAB?c.wrapper.focusout():l&&"function"==typeof l.done?l.done(function(){c._blur()}):c._blur(),c.close(),i=!0}else h===_.ESC?(c.popup.visible()&&e.preventDefault(),c.close(),i=!0):!c.popup.visible()||h!==_.PAGEDOWN&&h!==_.PAGEUP||(e.preventDefault(),u=h===_.PAGEDOWN?1:-1,d.scrollWith(u*d.screenHeight()),i=!0);return i},_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,a){var s,r,l,o,u=this,c=u.element,d=c[0],h=e.length,f="",p=0;for(i&&(f=i);p<h;p++)s="<option",r=e[p],l=u._text(r),o=u._value(r),o!==t&&(o+="",o.indexOf('"')!==-1&&(o=o.replace(j,""")),s+=' value="'+o+'"'),s+=">",l!==t&&(s+=m(l)),s+="</option>",f+=s;c.html(f),a!==t&&(d.value=a,d.value&&!a&&(d.selectedIndex=-1)),d.selectedIndex!==-1&&(s=n(d),s&&s.setAttribute(E,E))},_reset:function(){var t=this,i=t.element,a=i.attr("form"),n=a?e("#"+a):i.closest("form");n[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(t._initial)})},t._form=n.on("reset",t._resetHandler))},_parentWidget:function(){var t,i,a,n=this.options.name;if(this.options.cascadeFrom){if(t=e("#"+this.options.cascadeFrom),i=t.data("kendo"+n),!i)for(a=0;a<$[n].length&&!(i=t.data("kendo"+$[n][a]));a+=1);return i}},_cascade:function(){var e,t=this,i=t.options,a=i.cascadeFrom;if(a){if(e=t._parentWidget(),!e)return;t._cascadeHandlerProxy=N(t._cascadeHandler,t),t._cascadeFilterRequests=[],i.autoBind=!1,e.bind("set",function(){t.one("set",function(e){t._selectedValue=e.value||t._accessor()})}),e.first(H,t._cascadeHandlerProxy),e.listView.bound()?(t._toggleCascadeOnFocus(),t._cascadeSelect(e)):(e.one("dataBound",function(){t._toggleCascadeOnFocus(),e.popup.visible()&&e._focused.trigger("focus")}),e.value()||t.enable(!1))}},_toggleCascadeOnFocus:function(){var e=this,t=e._parentWidget(),i=U&&t instanceof d.DropDownList?A:G;t._focused.add(t.filterInput).on(q,function(){t.unbind(H,e._cascadeHandlerProxy),t.first(y,e._cascadeHandlerProxy)}),t._focused.add(t.filterInput).on(i,function(){t.unbind(y,e._cascadeHandlerProxy),t.first(H,e._cascadeHandlerProxy)})},_cascadeHandler:function(e){var t=this._parentWidget(),i=this.value();this._userTriggered=e.userTriggered||t._userTriggered,this.listView.bound()&&this._clearSelection(t,!0),this._cascadeSelect(t,i)},_cascadeChange:function(e){var t=this,a=t._accessor()||t._selectedValue;t._cascadeFilterRequests.length||(t._selectedValue=null),t._userTriggered?t._clearSelection(e,!0):a?(a!==i(t.listView.value()[0],typeof a)&&t.value(a),t.dataSource.view()[0]&&t.selectedIndex!==-1||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 a,n,s=this,r=e.dataItem(),o=r?r[s.options.cascadeFromParentField]||e._value(r):null,u=s.options.cascadeFromField||e.options.dataValueField;s._valueBeforeCascade=i!==t?i:s.value(),o||0===o?(a=s.dataSource.filter()||{},l(a,u),n=function(){var t=s._cascadeFilterRequests.shift();t&&s.unbind("dataBound",t),t=s._cascadeFilterRequests[0],t&&s.first("dataBound",t),s._cascadeChange(e)},s._cascadeFilterRequests.push(n),1===s._cascadeFilterRequests.length&&s.first("dataBound",n),s._cascading=!0,s._filterSource({field:u,operator:"eq",value:o}),s._cascading=!1):(s.enable(!1),s._clearSelection(e),s._triggerCascade(),s._triggerChange(),s._userTriggered=!1)}}),o=".StaticList",u=c.ui.DataBoundWidget.extend({init:function(t,i){p.fn.init.call(this,t,i),this.element.attr("role","listbox").on("click"+o,"li",N(this._click,this)).on("mouseenter"+o,"li",function(){e(this).addClass(S)}).on("mouseleave"+o,"li",function(){e(this).removeClass(S)}),i&&i.ariaLabel?this.element.attr("aria-label",i.ariaLabel):i&&i.ariaLabelledBy&&this.element.attr("aria-labelledby",i.ariaLabelledBy),g.touch&&this._touchHandlers(),"multiple"===this.options.selectable&&this.element.attr("aria-multiselectable",!0),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=c.guid(),this._selectedIndices=[],this._view=[],this._dataItems=[],this._values=[];var a=this.options.value;a&&(this._values=Array.isArray(a)?a.slice(0):[a]),this._getter(),this._templates(),this.setDataSource(this.options.dataSource),this._onScroll=N(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,ariaLabel:null,ariaLabelledBy:null},events:["click",y,"activate","deactivate","dataBinding","dataBound","selectedItemChange"],setDataSource:function(e){var t,i=this,a=e||{};a=Array.isArray(a)?{data:a}:a,a=c.data.DataSource.create(a),i.dataSource?(i.dataSource.unbind(y,i._refreshHandler),t=i.value(),i.value([]),i.bound(!1),i.value(t)):i._refreshHandler=N(i.refresh,i),i.setDSFilter(a.filter()),i.dataSource=a.bind(y,i._refreshHandler),i._fixedHeader()},_touchHandlers:function(){var t,i,a=this,n=function(e){return(e.originalEvent||e).changedTouches[0].pageY};a.element.on("touchstart"+o,function(e){t=n(e)}),a.element.on("touchend"+o,function(s){s.isDefaultPrevented()||(i=n(s),Math.abs(i-t)<10&&(a._touchTriggered=!0,a._triggerClick(e(s.target).closest(V).get(0))))})},skip:function(){return this.dataSource.skip()},setOptions:function(e){p.fn.setOptions.call(this,e),this._getter(),this._templates(),this._render()},destroy:function(){this.element.off(o),this._refreshHandler&&this.dataSource.unbind(y,this._refreshHandler),clearTimeout(this._scrollId),p.fn.destroy.call(this)},dataItemByIndex:function(e){return this.dataSource.flatView()[e]},screenHeight:function(){return this.content[0].clientHeight},scrollToIndex:function(e){var t=this.element[0].children[e];t&&this.scroll(t)},scrollWith:function(e){this.content.scrollTop(this.content.scrollTop()+e)},scroll:function(e){if(e){e[0]&&(e=e[0]);var t=this.content[0],i=e.offsetTop,a=e.offsetHeight,n=t.scrollTop,s=t.clientHeight,r=i+a;n>i?n=i:r>n+s&&(n=r-s),t.scrollTop=n}},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(a(this.element[0].children))},focus:function(i){var n,s=this,r=s._optionID;return i===t?s._current:(i=a(s._get(i)),i=e(this.element[0].children[i]),s._current&&(s._current.removeClass(w).removeAttr(I),s.trigger("deactivate")),n=!!i[0],n&&(i.addClass(w),s.scroll(i),i.attr("id",r)),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,r,l=this,o=l.options.selectable,u="multiple"!==o&&o!==!1,c=l._selectedIndices,d=[this.element.find(".k-state-selected").index()],h=[],f=[];return i===t?c.slice():(i=l._get(i),1===i.length&&i[0]===-1&&(i=[]),s=e.Deferred().resolve(),r=l.isFiltered(),r&&!u&&l._deselectFiltered(i)?s:u&&!r&&e.inArray(a(i),c)!==-1&&e.inArray(a(i),d)!==-1?(l._dataItems.length&&l._view.length&&(l._dataItems=[l._view[c[0]].item]),s):(n=l._deselect(i),f=n.removed,i=n.indices,i.length&&(u&&(i=[a(i)]),h=l._select(i)),(h.length||f.length)&&(l._valueComparer=null,l.trigger(y,{added:h,removed:f})),s))},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(e){e=Array.isArray(e)||e instanceof x?e.slice(0):[e],this._values=e,this._valueComparer=null},value:function(i){var a,n=this,s=n._valueDeferred;return i===t?n._values.slice():(n.setValue(i),s&&"resolved"!==s.state()||(n._valueDeferred=s=e.Deferred()),n.bound()&&(a=n._valueIndices(n._values),"multiple"===n.options.selectable&&n.select(-1),n.select(a),s.resolve()),n._skipUpdate=!1,s)},items:function(){return this.element.children(V)},_click:function(e){return this._touchTriggered?(this._touchTriggered=!1,t):(e.isDefaultPrevented()||this._triggerClick(e.currentTarget),t)},_triggerClick:function(t){this.trigger("click",{item:e(t)})||this.select(t)},_valueExpr:function(e,t){var a,n,s=this,r=0,l=[];if(!s._valueComparer||s._valueType!==e){for(s._valueType=e;r<t.length;r++)l.push(i(t[r],e));a="for (var idx = 0; idx < "+l.length+"; idx++) { if (current === values[idx]) { return idx; }} return -1;",n=Function("current","values",a),s._valueComparer=function(e){return n(e,l)}}return s._valueComparer},_dataItemPosition:function(e,t){var i=this._valueGetter(e),a=this._valueExpr(typeof i,t);return a(i)},_getter:function(){this._valueGetter=c.getter(this.options.dataValueField)},_deselect:function(t){var i,a,n,s,r,l=this,o=l.element[0].children,u=l.options.selectable,c=l._selectedIndices,d=l._dataItems,h=l._values,f=[],p=0,_=0;if(t=t.slice(),u!==!0&&t.length){if("multiple"===u)for(;p<t.length;p++)if(a=t[p],e(o[a]).hasClass("k-state-selected"))for(i=0;i<c.length;i++)if(n=c[i],n===a){e(o[n]).removeClass("k-state-selected").attr("aria-selected",!1),s=this._view[a].item,r=this._dataItemPosition(s,this._values),f.push({position:r,dataItem:s}),d.splice(i,1),c.splice(i,1),t.splice(p,1),h.splice(i,1),_+=1,p-=1,i-=1;break}}else{for(;p<c.length;p++)e(o[c[p]]).removeClass("k-state-selected").attr("aria-selected",!1),f.push({position:p,dataItem:d[p]});l._values=[],l._dataItems=[],l._selectedIndices=[]}return{indices:t,removed:f}},_deselectFiltered:function(t){for(var i,a,n,s=this.element[0].children,r=[],l=0;l<t.length;l++)a=t[l],i=this._view[a].item,n=this._dataItemPosition(i,this._values),n>-1&&(r.push(this.removeAt(n)),e(s[a]).removeClass("k-state-selected"));return!!r.length&&(this.trigger(y,{added:[],removed:r}),!0)},_select:function(t){var i,n,s=this,r=s.element[0].children,l=s._view,o=[],u=0;for(a(t)!==-1&&s.focus(t);u<t.length;u++)n=t[u],i=l[n],n!==-1&&i&&(i=i.item,s._selectedIndices.push(n),s._dataItems.push(i),s._values.push(s._valueGetter(i)),e(r[n]).addClass("k-state-selected").attr("aria-selected",!0),o.push({dataItem:i}));return o},getElementIndex:function(t){return e(t).data("offset-index")},_get:function(e){return"number"==typeof e?e=[e]:O(e)||(e=this.getElementIndex(e),e=[e!==t?e:-1]),e},_template:function(){var e=this,t=e.options,i=t.template;return i?(i=c.template(i),i=function(e){return'<li tabindex="-1" role="option" unselectable="on" class="k-item">'+i(e)+"</li>"}):i=c.template('<li tabindex="-1" role="option" unselectable="on" class="k-item">${'+c.expr(t.dataTextField,"data")+"}</li>",{useWithBlock:!1
}),i},_templates:function(){var e,t,i,a,n,s=this.options,r={template:s.template,groupTemplate:s.groupTemplate,fixedGroupTemplate:s.fixedGroupTemplate};if(s.columns)for(t=0;t<s.columns.length;t++)i=s.columns[t],a=i.field?""+i.field:"text",r["column"+t]=i.template||"#: "+a+"#";for(n in r)e=r[n],e&&"function"!=typeof e&&(r[n]=c.template(e));this.templates=r},_normalizeIndices:function(e){for(var i=[],a=0;a<e.length;a++)e[a]!==t&&i.push(e[a]);return i},_valueIndices:function(e,t){var i,a=this._view,n=0;if(t=t?t.slice():[],!e.length)return[];for(;n<a.length;n++)i=this._dataItemPosition(a[n].item,e),i!==-1&&(t[i]=n);return this._normalizeIndices(t)},_firstVisibleItem:function(){for(var t=this.element[0],i=this.content[0],a=i.scrollTop,n=e(t.children[0]).height(),s=Math.floor(a/n)||0,r=t.children[s]||t.lastChild,l=r.offsetTop<a;r;)if(l){if(r.offsetTop+n>a||!r.nextSibling)break;r=r.nextSibling}else{if(r.offsetTop<=a||!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&&(""+e.group).length&&this.header.html(t(e.group)))},_renderItem:function(e){var t='<li tabindex="-1" role="option" unselectable="on" class="k-item',i=e.item,a=0!==e.index,n=e.selected,s=this.isGrouped(),r=this.options.columns&&this.options.columns.length;return a&&e.newGroup&&(t+=" k-first"),e.isLastGroupedItem&&r&&(t+=" k-last"),n&&(t+=" k-state-selected"),t+='" aria-selected="'+(n?"true":"false")+'" data-offset-index="'+e.index+'">',t+=r?this._renderColumns(i):this.templates.template(i),a&&e.newGroup?t+=r?'<div class="k-cell k-group-cell"><span>'+this.templates.groupTemplate(e.group)+"</span></div>":'<div class="k-group">'+this.templates.groupTemplate(e.group)+"</div>":s&&r&&(t+="<div class='k-cell k-spacer-cell'></div>"),t+"</li>"},_renderColumns:function(e){var t,i,a,n,s="";for(t=0;t<this.options.columns.length;t++)i=this.options.columns[t].width,a=parseInt(i,10),n="",i&&!isNaN(a)&&(n+="style='width:",n+=a,n+=f.test(i)?"%":"px",n+=";'"),s+="<span class='k-cell' "+n+">",s+=this.templates["column"+t](e),s+="</span>";return s},_render:function(){var e,t,i,a,n="",s=0,r=0,l=[],o=this.dataSource.view(),u=this.value(),c=this.isGrouped();if(c)for(s=0;s<o.length;s++)for(t=o[s],i=!0,a=0;a<t.items.length;a++)e={selected:this._selected(t.items[a],u),item:t.items[a],group:t.value,newGroup:i,isLastGroupedItem:a===t.items.length-1,index:r},l[r]=e,r+=1,n+=this._renderItem(e),i=!1;else for(s=0;s<o.length;s++)e={selected:this._selected(o[s],u),item:o[s],index:s},l[s]=e,n+=this._renderItem(e);this._view=l,this.element[0].innerHTML=n,c&&l.length&&this._renderHeader()},_selected:function(e,t){var i=!this.isFiltered()||"multiple"===this.options.selectable;return i&&this._dataItemPosition(e,t)!==-1},setDSFilter:function(e){this._lastDSFilter=W({},e)},isFiltered:function(){return this._lastDSFilter||this.setDSFilter(this.dataSource.filter()),!c.data.Query.compareFilters(this.dataSource.filter(),this._lastDSFilter)},refresh:function(e){var t,i=this,a=e&&e.action,n=i.options.skipUpdateOnBind,r="itemchange"===a;i.trigger("dataBinding"),i._angularItems("cleanup"),i._fixedHeader(),i._render(),i.bound(!0),r||"remove"===a?(t=s(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._emptySearch?(i.focus(0),i._skipUpdate&&(i._skipUpdate=!1,i._selectedIndices=i._valueIndices(i._values,i._selectedIndices))):n||a&&"add"!==a||i.value(i._values),i._valueDeferred&&i._valueDeferred.resolve(),i._angularItems("compile"),i.trigger("dataBound")},bound:function(e){return e===t?this._bound:(this._bound=e,t)},isGrouped:function(){return(this.dataSource.group()||[]).length}}),d.plugin(u)}(window.kendo.jQuery),window.kendo},i(3))}});