@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 14.7 kB
JavaScript
module.exports=function(e){function t(s){if(i[s])return i[s].exports;var n=i[s]={exports:{},id:s,loaded:!1};return e[s].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(1046)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1023:function(e,t){e.exports=require("./kendo.list")},1024:function(e,t){e.exports=require("./kendo.mobile.scroller")},1025:function(e,t){e.exports=require("./kendo.virtuallist")},1046:function(e,t,i){var s,n,o;!function(l,define){n=[i(1023),i(1024),i(1025)],s=l,o="function"==typeof s?s.apply(t,n):s,!(void 0!==o&&(e.exports=o))}(function(){return function(e,t){var i=window.kendo,s=i.ui,n=s.List,o=s.Select,l=i.caret,a=i.support,r=a.placeholder,u=i._activeElement,c=i.keys,d=".kendoComboBox",p=d+"FocusEvent",_="click"+d,h="mousedown"+d,f="disabled",g="readonly",v="change",m="k-i-loading",x="k-state-default",w="k-state-focused",y="k-state-disabled",V="aria-disabled",b=a.browser.chrome?"disabled":"off",I="filter",C="accept",T="rebind",k="mouseenter"+d+" mouseleave"+d,F=e.proxy,S=/(\r\n|\n|\r)/gm,B=o.extend({init:function(t,s){var n,l,a=this;a.ns=d,s=e.isArray(s)?{dataSource:s}:s,o.fn.init.call(a,t,s),s=a.options,t=a.element.on("focus"+d,F(a._focusHandler,a)),s.placeholder=s.placeholder||t.attr("placeholder"),a._reset(),a._wrapper(),a._input(),a._clearButton(),a._tabindex(a.input),a._popup(),a._dataSource(),a._ignoreCase(),a._enable(),a._attachFocusEvents(),a._oldIndex=a.selectedIndex=-1,a._aria(),a._initialIndex=s.index,a.requireValueMapper(a.options),a._initList(),a._cascade(),s.autoBind?a._filterSource():(n=s.text,!n&&a._isSelect&&(n=t.children(":selected").text()),n&&a._setText(n)),n||a._placeholder(),l=e(a.element).parents("fieldset").is(":disabled"),l&&a.enable(!1),i.notify(a),a._toggleCloseVisibility()},options:{name:"ComboBox",enabled:!0,index:-1,text:null,value:null,autoBind:!0,delay:200,dataTextField:"",dataValueField:"",minLength:1,enforceMinLength:!1,height:200,highlightFirst:!0,filter:"none",placeholder:"",suggest:!1,cascadeFrom:"",cascadeFromField:"",cascadeFromParentField:"",ignoreCase:!0,animation:{},virtual:!1,template:null,groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",clearButton:!0,syncValueAndText:!0,autoWidth:!1,popup:null},events:["open","close",v,"select","filtering","dataBinding","dataBound","cascade","set"],setOptions:function(e){var t=this._listOptions(e);o.fn.setOptions.call(this,e),this.listView.setOptions(t),this._accessors(),this._aria(),this._clearButton()},destroy:function(){var e=this;e.input.off(d),e.input.off(p),e.element.off(d),e._inputWrapper.off(d),clearTimeout(e._pasteTimeout),e._arrow.off(_+" "+h),e._clear.off(_+" "+h),o.fn.destroy.call(e)},_change:function(){var e=this,i=e.text(),s=i&&i!==e._oldText&&i!==e.options.placeholder,n=e.selectedIndex,l=n===-1;return!e.options.syncValueAndText&&!e.value()&&l&&s?(e._old="",e._oldIndex=n,e._oldText=i,e._typing||e.element.trigger(v),e.trigger(v),e._typing=!1,t):(o.fn._change.call(e),e._toggleCloseVisibility(),t)},_attachFocusEvents:function(){var e=this;e.input.on("focus"+p,F(e._inputFocus,e)).on("focusout"+p,F(e._inputFocusout,e))},_focusHandler:function(){this.input.focus()},_arrowClick:function(){this._toggle()},_inputFocus:function(){this._inputWrapper.addClass(w),this._placeholder(!1)},_inputFocusout:function(){var e,i,s=this,n=s.value();return s._userTriggered=!0,s._inputWrapper.removeClass(w),clearTimeout(s._typingTimeout),s._typingTimeout=null,s.text(s.text()),e=s._focus(),i=this.listView.dataItemByIndex(this.listView.getElementIndex(e)),n!==s.value()&&s.trigger("select",{dataItem:i,item:e})?(s.value(n),t):(s._placeholder(),s._blur(),s.element.blur(),t)},_inputPaste:function(){var e=this;clearTimeout(e._pasteTimeout),e._pasteTimeout=null,e._pasteTimeout=setTimeout(function(){e.search()})},_editable:function(e){var t=this,i=e.disable,s=e.readonly,n=t._inputWrapper.off(d),o=t.element.add(t.input.off(d)),l=t._arrow.off(_+" "+h),a=t._clear;s||i?(n.addClass(i?y:x).removeClass(i?x:y),o.attr(f,i).attr(g,s).attr(V,i)):(n.addClass(x).removeClass(y).on(k,t._toggleHover),o.removeAttr(f).removeAttr(g).attr(V,!1),l.on(_,F(t._arrowClick,t)).on(h,function(e){e.preventDefault()}),a.on(_+" touchend"+d,F(t._clearValue,t)).on(h,function(e){e.preventDefault()}),t.input.on("keydown"+d,F(t._keydown,t)).on("input"+d,F(t._search,t)).on("paste"+d,F(t._inputPaste,t))),t._toggleCloseVisibility()},open:function(){var e=this,t=e._state,i=!!e.dataSource.filter()&&e.dataSource.filter().filters.length>0,s=!e.ul.find(e.listView.focus()).length;e.popup.visible()||(!e.listView.bound()&&t!==I||t===C?(e._open=!0,e._state=T,1!==e.options.minLength&&!i||i&&e.value()&&e.selectedIndex===-1?(e.refresh(),e._openPopup(),this.options.virtual||e.listView.bound(!1)):e._filterSource()):e._allowOpening()&&(e.popup._hovered=!0,e._openPopup(),e.options.virtual?e._focusItem():s&&e.options.highlightFirst&&e.listView.focus(0)))},_scrollToFocusedItem:function(){var e=this.listView;e.scrollToIndex(e.getElementIndex(e.focus()))},_openPopup:function(){this.popup.one("activate",F(this._scrollToFocusedItem,this)),this.popup.open()},_updateSelectionState:function(){var e=this,i=e.options.text,s=e.options.value;e.listView.isFiltered()||(e.selectedIndex===-1?(i!==t&&null!==i||(i=s),e._accessor(s),e.input.val(i||e.input.val()),e._placeholder()):e._oldIndex===-1&&(e._oldIndex=e.selectedIndex))},_buildOptions:function(e){var i,s=this;s._isSelect&&(i=s._customOption,s._state===T&&(s._state=""),s._customOption=t,s._options(e,"",s.value()),i&&i[0].selected&&!s.listView._emptySearch&&s._custom(i.val()))},_updateSelection:function(){var i,s=this,n=s.listView,o=s._initialIndex,l=null!==o&&o>-1,a=s._state===I;return a?(e(n.focus()).removeClass("k-state-selected"),t):(s._fetch||(n.value().length||(l?s.select(o):s._accessor()&&n.value(s._accessor())),s._initialIndex=null,i=n.selectedDataItems()[0],i&&(s._value(i)!==s.value()?s._custom(s._value(i)):s._value(i)!==s.element[0].value&&s._accessor(s._value(i)),s.text()&&s.text()!==s._text(i)&&s._selectValue(i))),t)},_updateItemFocus:function(){var e=this.listView;this.options.highlightFirst?e.focus()||e.focusIndex()||e.focus(0):e.focus(-1)},_listBound:function(){var e=this,i=e.input[0]===u(),s=e.dataSource.flatView(),n=e.listView.skip(),o=s.length,l=e.dataSource._group?e.dataSource._group.length:0,a=n===t||0===n;e._presetValue=!1,e._renderFooter(),e._renderNoData(),e._toggleNoData(!o),e._toggleHeader(!!l&&!!o),e._resizePopup(),e.popup.position(),e._buildOptions(s),e._makeUnselectable(),e._updateSelection(),s.length&&a&&(e._updateItemFocus(),e.options.suggest&&i&&e.input.val()&&e.suggest(s[0])),e._open&&(e._open=!1,e._typingTimeout&&!i?e.popup.close():e.toggle(e._allowOpening()),e._typingTimeout=null),e._hideBusy(),e.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]),this._presetValue&&(this._oldIndex=this.selectedIndex)},_get:function(e){var t,i,s;if("function"==typeof e){for(t=this.dataSource.flatView(),s=0;s<t.length;s++)if(e(t[s])){e=s,i=!0;break}i||(e=-1)}return e},_select:function(e,t){var i=this;return e=i._get(e),e===-1&&(i.input[0].value="",i._accessor("")),i.listView.select(e).done(function(){t||i._state!==I||(i._state=C),i._toggleCloseVisibility()})},_selectValue:function(e){var i=this.listView.select(),s="",n="";i=i[i.length-1],i===t&&(i=-1),this.selectedIndex=i,this.listView.isFiltered()&&i!==-1&&(this._valueBeforeCascade=this._old),i!==-1||e?((e||0===e)&&(s=this._dataValue(e),n=this._text(e)),null===s&&(s="")):(this.options.syncValueAndText?(n=this.options.dataTextField===this.options.dataValueField?this._accessor():this.input[0].value,s=n):n=this.text(),this.listView.focus(-1)),this._setDomInputValue(n),this._accessor(s!==t?s:n,i),this._placeholder(),this._triggerCascade()},_setDomInputValue:function(e){var t,i,s=this,n=l(this.input);n&&n.length&&(t=n[0]),this._prev=this.input[0].value=e,t&&this.selectedIndex===-1&&(i=a.mobileOS,i.wp||i.android?setTimeout(function(){s.input[0].setSelectionRange(t,t)},0):this.input[0].setSelectionRange(t,t))},refresh:function(){this.listView.refresh()},_toggleCloseVisibility:function(){var e=this.element.is(":disabled")||this.element.is("[readonly]");this.text()&&!e?this._showClear():this._hideClear()},suggest:function(e){var i,s=this,o=s.input[0],a=s.text(),r=l(o)[0],d=s._last,p=s.dataSource.options.accentFoldingFiltering;return d==c.BACKSPACE||d==c.DELETE?(s._last=t,t):(e=e||"","string"!=typeof e&&(e[0]&&(e=s.dataSource.view()[n.inArray(e[0],s.ul[0])]),e=e?s._text(e):""),r<=0&&(r=(p?a.toLocaleLowerCase(p):a.toLowerCase()).indexOf(p?e.toLocaleLowerCase(p):e.toLowerCase())+1),e?(e=""+e,i=(p?e.toLocaleLowerCase(p):e.toLowerCase()).indexOf(p?a.toLocaleLowerCase(p):a.toLowerCase()),i>-1&&(a+=e.substring(i+a.length))):a=a.substring(0,r),a.length===r&&e||(o.value=a,o===u()&&l(o,r,a.length)),t)},text:function(e){var i,s,o,l,a,r;return e=null===e?"":e,i=this,s=i.input[0],o=i.options.ignoreCase,l=e,e===t?s.value:i.options.autoBind!==!1||i.listView.bound()?(a=i.dataItem(),a&&i._text(a).replace&&i._text(a).replace(S,"")===e&&(r=i._value(a),r===n.unifyType(i._old,typeof r))?(i._triggerCascade(),t):(o&&(l=l.toLowerCase()),i.dataItem()&&i._text(i.dataItem())===e||(i._select(function(e){return e=i._text(e),o&&(e=(e+"").toLowerCase()),e===l}).done(function(){i.selectedIndex<0&&(s.value=e,i.options.syncValueAndText&&i._accessor(e),i._cascadeTriggered=!0,i._triggerCascade()),i._prev=s.value}),i._toggleCloseVisibility()),t)):(i._setText(e),t)},toggle:function(e){this._toggle(e,!0)},value:function(e){var i=this,s=i.options,n=i.listView;return e===t?(e=i._accessor()||i.listView.value()[0],e===t||null===e?"":e):(i.requireValueMapper(i.options,e),i.trigger("set",{value:e}),e===s.value&&i.input.val()===s.text||(i._accessor(e),i._isFilterEnabled()&&n.bound()&&n.isFiltered()?i._clearFilter():i._fetchData(),n.value(e).done(function(){i.selectedIndex!==-1||n._selectedDataItems&&n._selectedDataItems.length||(i._accessor(e),i.input.val(e),i._placeholder(!0)),i._old=i._valueBeforeCascade=i._accessor(),i._oldIndex=i.selectedIndex,i._prev=i.input.val(),i._state===I&&(i._state=C),i._toggleCloseVisibility()})),t)},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrowIcon.removeClass(m),e._focused.attr("aria-busy",!1),e._busy=null,e._toggleCloseVisibility()},_click:function(e){var i=this,s=e.item,o=i.listView.dataItemByIndex(i.listView.getElementIndex(s)),l=!0;return e.preventDefault(),o&&(l=i._value(o)!==n.unifyType(i.value(),typeof i._value(o)),l||i.input.val(i._text(o))),l&&i.trigger("select",{dataItem:o,item:s})?(i.close(),t):(i._userTriggered=!0,i._select(s).done(function(){i._blur()}),t)},_syncValueAndText:function(){return this.options.syncValueAndText},_inputValue:function(){return this.text()},_searchByWord:function(e){var i,s=this,n=s.options,o=s.dataSource,l=n.ignoreCase,a=function(i){var n=s._text(i);if(n!==t)return n+="",(""===n||""!==e)&&(l&&(n=n.toLowerCase()),0===n.indexOf(e))};return l&&(e=e.toLowerCase()),s.ul[0].firstChild?(this.listView.focus(this._get(a)),i=this.listView.focus(),i&&(n.suggest&&s.suggest(i),this.open()),this.options.highlightFirst&&!e&&this.listView.focusFirst(),t):(o.one(v,function(){o.view()[0]&&s.search(e)}).fetch(),t)},_input:function(){var t,i,s=this,n=s.element.removeClass("k-input")[0],o=n.accessKey,l=s.wrapper,a="input.k-input",u=n.name||"";u&&(u='name="'+u+'_input" '),t=l.find(a),t[0]||(l.append('<span tabindex="-1" unselectable="on" class="k-dropdown-wrap k-state-default"><input '+u+'class="k-input" type="text" autocomplete="'+b+'"/><span unselectable="on" class="k-select" aria-label="select"><span class="k-icon k-i-arrow-60-down"></span></span></span>').append(s.element),t=l.find(a)),t[0].style.cssText=n.style.cssText,t[0].title=n.title,i=parseInt(this.element.prop("maxlength")||this.element.attr("maxlength"),10),i>-1&&(t[0].maxLength=i),t.addClass(n.className).css({width:"",height:n.style.height}).attr({role:"combobox","aria-expanded":!1}).show(),r&&t.attr("placeholder",s.options.placeholder),o&&(n.accessKey="",t[0].accessKey=o),s._focused=s.input=t,s._inputWrapper=e(l[0].firstChild),s._arrow=l.find(".k-select").attr({role:"button",tabIndex:-1}),s._arrowIcon=s._arrow.find(".k-icon"),n.id&&s._arrow.attr("aria-controls",s.ul[0].id)},_clearButton:function(){n.fn._clearButton.call(this),this.options.clearButton&&(this._clear.insertAfter(this.input),this.wrapper.addClass("k-combobox-clearable"))},_keydown:function(e){var t,i,s,o=this,l=e.keyCode;if(o._last=l,clearTimeout(o._typingTimeout),o._typingTimeout=null,l===c.HOME)o._firstItem();else if(l===c.END)o._lastItem();else if(l===c.ENTER||l===c.TAB&&o.popup.visible())if(t=o.listView.focus(),i=o.dataItem(),s=!0,o.popup.visible()||i&&o.text()===o._text(i)||(t=null),t){if(o.popup.visible()&&e.preventDefault(),i=o.listView.dataItemByIndex(o.listView.getElementIndex(t)),i&&(s=o._value(i)!==n.unifyType(o.value(),typeof o._value(i))),s&&o.trigger("select",{dataItem:i,item:t}))return;o._userTriggered=!0,o._select(t).done(function(){o._blur(),o._valueBeforeCascade=o._old=o.value()})}else(o._syncValueAndText()||o._isSelect)&&o._accessor(o.input.val()),o.listView.value(o.input.val()),o._blur();else l==c.TAB||o._move(e)?l===c.ESC&&!o.popup.visible()&&o.text()&&o._clearValue():o._search()},_placeholder:function(e){if(!r){var i,s=this,n=s.input,o=s.options.placeholder;if(o){if(i=s.value(),e===t&&(e=!i),n.toggleClass("k-readonly",e),!e){if(i)return;o=""}n.val(o),o||n[0]!==u()||l(n[0],0,0)}}},_search:function(){var e=this;clearTimeout(e._typingTimeout),e._typingTimeout=setTimeout(function(){var t=e.text();e._prev!==t&&(e._prev=t,"none"===e.options.filter&&e.options.virtual&&e.listView.select(-1),e.search(t),e._toggleCloseVisibility()),e._typingTimeout=null},e.options.delay)},_setText:function(e){this.input.val(e),this._prev=e},_wrapper:function(){var e=this,t=e.element,i=t.parent();i.is("span.k-widget")||(i=t.hide().wrap("<span />").parent(),i[0].style.cssText=t[0].style.cssText),e.wrapper=i.addClass("k-widget k-combobox").addClass(t[0].className).css("display","")},_clearSelection:function(e,t){var i=this,s=e.value(),n=s&&e.selectedIndex===-1;this.selectedIndex==-1&&this.value()||(t||!s||n)&&(i.options.value="",i.value(""),i._selectedValue=null)},_preselect:function(e,t){this.input.val(t),this._accessor(e),this._old=this._accessor(),this._oldIndex=this.selectedIndex,this.listView.setValue(e),this._placeholder(),this._initialIndex=null,this._presetValue=!0,this._toggleCloseVisibility()}});s.plugin(B)}(window.kendo.jQuery),window.kendo},i(3))}});