kendo-ui-core
Version:
Kendo UI is everything you need to build sites and apps with HTML5 & JavaScript. Kendo UI Core is the free and open-source version of Kendo UI that provides access to the web's best UI widgets and key framework features, essential for developing great exp
2 lines • 17.9 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`./dist-AH6B3-_t.js`),require(`./core-R4j5Vh3b.js`),require(`./kendo.html.button.js`),require(`./filter-expression-no-eval--xfq8dEO.js`),require(`./dropdowns-loader-il0OSuIC.js`),require(`./kendo.list.js`),require(`./kendo.mobile.scroller.js`),require(`./valueMapper-Uh7LN1Sg.js`),require(`./kendo.virtuallist.js`);const e=require(`./prefix-suffix-containers-jkpf3zwv.js`),t={id:`combobox`,name:`ComboBox`,category:`web`,description:`The ComboBox widget allows the selection from pre-defined values or entering a new value.`,depends:[`list`,`html.button`],features:[{id:`mobile-scroller`,name:`Mobile scroller`,description:`Support for kinetic scrolling in mobile device`,depends:[`mobile.scroller`]},{id:`virtualization`,name:`VirtualList`,description:`Support for virtualization`,depends:[`virtuallist`]}]};(function(t,n){var r=window.kendo,i=r.htmlEncode,a=r.ui,o=r.html,s=a.List,c=a.Select,l=r.caret,u=r.support,d=r._activeElement,f=r.keys,p=`.kendoComboBox`,m=p+`FocusEvent`,h=`click`+p,g=`mousedown`+p,_=`disabled`,v=`readonly`,y=`change`,b=`k-focus`,x=`k-disabled`,S=`aria-disabled`,C=`aria-readonly`,w=`off`,T=`filter`,E=`accept`,D=`rebind`,O=`mouseenter`+p+` mouseleave`+p,k=/(\r\n|\n|\r)/gm,A=[16,17,18,19,20,33,34,37,39,45,91,92,144,145],j=c.extend({init:function(n,i){var a=this,o,s;a.ns=p,i=Array.isArray(i)?{dataSource:i}:i,c.fn.init.call(a,n,i),i=a.options,n=a.element.on(`focus`+p,a._focusHandler.bind(a)),!r.isPresent(i.readonly)&&n.attr(`readonly`)?i.readonly=!0:r.isPresent(i.readonly)||(i.readonly=!1),i.placeholder=i.placeholder||n.attr(`placeholder`),i.inputMode=i.inputMode||n.attr(`inputmode`)||`text`,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._initialIndex=i.index,a.requireValueMapper(a.options),a._initList(),a.options.virtual&&a.listView.one(`listBound`,function(){a._aria()}),a.listView.bind(`dataBound`,function(){a._aria()}),a._cascade(),i.autoBind?a._filterSource():(o=i.text,!o&&a._isSelect&&(o=n.children(`:selected`).text()),o&&a._setText(o)),s=t(a.element).parents(`fieldset`).is(`:disabled`),s&&a.enable(!1),e.t({widget:a,wrapper:a.wrapper,options:a.options,prefixInsertBefore:a.input,suffixInsertAfter:a._clear.parent().length?a._clear:a.input}),r.notify(a),a._toggleCloseVisibility(),a._applyCssClasses(),i.label&&a._label(),a._aria()},options:{name:`ComboBox`,enabled:!0,index:-1,text:null,value:null,autoBind:!0,delay:200,dataTextField:``,dataValueField:``,readonly:null,minLength:1,enforceMinLength:!1,height:200,highlightFirst:!0,filter:`none`,placeholder:``,suggest:!1,cascadeFrom:``,cascadeFromField:``,cascadeFromParentField:``,cascadeOnCustomValue:!1,ignoreCase:!0,animation:{},virtual:!1,template:null,groupTemplate:e=>i(e),fixedGroupTemplate:e=>i(e),prefixOptions:{separator:!0},suffixOptions:{separator:!0},clearButton:!0,syncValueAndText:!0,autoWidth:!1,popup:null,size:n,fillMode:n,rounded:n,label:null,adaptiveTitle:null,adaptiveSubtitle:null,clearOnEscape:!0,_removeDataItems:!0,_shouldRefresh:!0},events:[`open`,`close`,y,`select`,`filtering`,`dataBinding`,`dataBound`,`cascade`,`set`],setOptions:function(e){var t=this._listOptions(e);c.fn.setOptions.call(this,e),this.listView.setOptions(t),this._accessors(),this._aria(),this._clearButton()},destroy:function(){var e=this;e.input.off(p),e.input.off(m),e.element.off(p),e.wrapper.off(p),clearTimeout(e._pasteTimeout),e.filterInput&&e.filterInput.off(p),e._arrow.off(h+` `+g),e._clear.off(h+` `+g),c.fn.destroy.call(e)},_isEnabled:function(){let e=this,t=e.element,n=t.prop(v)||!!e.element.attr(`readonly`);return!(t.prop(_)||e.element.attr(`disabled`))&&!n},_popup:function(){let e=this;c.fn._popup.call(this),e.popup.element.addClass(`k-combobox-popup`)},_onActionSheetCreate:function(){var e=this;e._unboundClick=!0,e.input.on(`click`,e._arrowClick.bind(e)),e.filterInput&&(e.filterInput.on(`keydown`+p,e._keydown.bind(e)).on(`input`+p,e._search.bind(e)).on(`paste`+p,e._inputPaste.bind(e)).attr({role:`combobox`,"aria-expanded":!1}),e.popup.bind(`activate`,()=>{e.filterInput.val(e.input.val()),e.filterInput.trigger(`focus`)}),e.popup.bind(`deactivate`,()=>{e.input.trigger(`focus`)}))},_onCloseButtonPressed:function(){var e=this,t=e.options.dataTextField||`text`;if(!e.listView.focus()){if((e._syncValueAndText()||e._isSelect)&&(!e.dataItem()||e.dataItem()[t]!==e.input.val())){var n=e.filterInput&&d()===e.filterInput[0]?e.filterInput:e.input;e._accessor(n.val())}e.options.highlightFirst?(e.listView.value(e.input.val()),e._blur()):e._oldText=e.text()}},_isValueChanged:function(e){return e!==s.unifyType(this._old,typeof e)&&e!==s.unifyType(this._oldText,typeof e)},_change:function(){var e=this,t=e.text(),n=t&&t!==e._oldText&&t!==e.options.placeholder,r=e.selectedIndex,i=r===-1;if(e.filterInput&&d()===e.filterInput[0]&&i&&n&&e.input.val(e.filterInput.val()),!e.options.syncValueAndText&&!e.value()&&i&&n){e._old=``,e._oldIndex=r,e._oldText=t,e._typing||e.element.trigger(y),e.trigger(y),e._typing=!1;return}c.fn._change.call(e),e._oldText=e.text&&e.text(),e._toggleCloseVisibility()},_attachFocusEvents:function(){var e=this;e.input.on(`focus`+m,e._inputFocus.bind(e)).on(`focusout`+m,e._inputFocusout.bind(e))},_focusHandler:function(e){e.target===this.element[0]&&this.input.trigger(`focus`)},_arrowClick:function(){let e=this;e._isEnabled()?e._toggle():e._toggle(!1)},_inputFocus:function(){this.wrapper.addClass(b)},_inputFocusout:function(e){var n=this,r=n.value();let i=!t(e.relatedTarget).closest(`.k-clear-value`).length||!t(e.relatedTarget).is(n._clear)&&t(e.relatedTarget).hasClass(`k-clear-value`);if(!(n.filterInput&&e.relatedTarget===n.filterInput[0])){n._userTriggered=!0,n.wrapper.removeClass(b),clearTimeout(n._typingTimeout),n._typingTimeout=null,i&&n.text(n.text());var a=n._focus(),o=this.listView.dataItemByIndex(this.listView.getElementIndex(a)),s=n.select();if(r!==n.value()&&s!==-1&&n.trigger(`select`,{dataItem:o,item:a})){n.value(r);return}n._valueBeforeCascade=n._old,i&&(n._blur(),n.element.trigger(`blur`))}},_inputPaste:function(){var e=this;clearTimeout(e._pasteTimeout),e._pasteTimeout=null,e._pasteTimeout=setTimeout(function(){e.search()})},_editable:function(e){var t=this,n=e.disable,r=e.readonly,i=t.wrapper.off(p),a=t.element.add(t.input.off(p)),o=t._arrow.off(h+` `+g),s=t._clear;!r&&!n?(i.removeClass(x).on(O,t._toggleHover),a.prop(_,!1).prop(v,!1).attr(S,!1).attr(C,!1),o.on(h,t._arrowClick.bind(t)).on(g,function(e){e.preventDefault()}),s.on(h+` touchend`+p,t._clearValue.bind(t)),t.input.on(`keydown`+p,t._keydown.bind(t)).on(`input`+p,t._search.bind(t)).on(`paste`+p,t._inputPaste.bind(t)),t.wrapper.on(h+p,t._focusHandler.bind(t))):(i.addClass(n?x:``).removeClass(n?``:x),a.attr(_,n).attr(v,r).attr(S,n).attr(C,r)),t._toggleCloseVisibility()},open:function(){var e=this,t=e._state,n=e.dataSource.filter()?e.dataSource.filter().filters.length>0:!1,r=!e._getUlElement().find(e.listView.focus()).length;e.popup.visible()||(!e.listView.bound()&&t!==T||t===E?(e._open=!0,e._state=D,e.options.minLength!==1&&!n||n&&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():r&&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`,this._scrollToFocusedItem.bind(this)),this.popup.open()},_updateSelectionState:function(){var e=this,t=e.options.text,r=e.options.value;e.listView.isFiltered()||(e.selectedIndex===-1?((t===n||t===null)&&(t=r),e._accessor(r),e.input.val(t||e.input.val())):e._oldIndex===-1&&(e._oldIndex=e.selectedIndex))},_buildOptions:function(e){var t=this;if(t._isSelect){var r=t._customOption;t._state===D&&(t._state=``),t._customOption=n,t._options(e,``,t.value()),r&&r[0].selected&&!t.listView._emptySearch&&t._custom(r.val())}},_updateSelection:function(){var e=this,n=e.listView,r=e._initialIndex,i=r!==null&&r>-1;if(e._state===T){t(n.focus()).removeClass(`k-selected`);return}if(!e._fetch){n.value().length||(i?e.select(r):e._accessor()&&n.value(e._accessor())),e._initialIndex=null;var a=n.selectedDataItems()[0];a&&(e._value(a)===e.value()?e._value(a)!==e.element[0].value&&e._accessor(e._value(a)):e._custom(e._value(a)),e.text()&&e.text()!==e._text(a)&&e._selectValue(a))}},_updateItemFocus:function(){var e=this.listView;this.options.highlightFirst?!e.focus()&&!e.focusIndex()&&e.focus(0):e.focus(-1)},_listBound:function(){var e=this,t=e.input[0]===d()||e.filterInput&&e.filterInput[0]===d(),r=e.dataSource.flatView(),i=e.listView.skip(),a=r.length,o=e.dataSource._group?e.dataSource._group.length:0,s=i===n||i===0;e._presetValue=!1,e._renderFooter(),e._renderNoData(),e._toggleNoData(!a),e._toggleHeader(!!o&&!!a),e._resizePopup(),e.popup.position(),e._buildOptions(r),e._updateSelection(),r.length&&s&&(e._updateItemFocus(),e.options.suggest&&t&&e.input.val()&&e.suggest(r[0])),e._open&&(e._open=!1,e._typingTimeout&&!t?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,n,r;if(typeof e==`function`){for(t=this.dataSource.flatView(),r=0;r<t.length;r++)if(e(t[r])){e=r,n=!0;break}n||(e=-1)}return!this.dataSource.total()&&!e&&(e=-1),e},_select:function(e,t){var n=this;return e=n._get(e),e===-1&&(n.input[0].value=``,n._accessor(``)),n.listView.select(e).done(function(){!t&&n._state===T&&(n._state=E),n._toggleCloseVisibility()})},_selectValue:function(e){var t=this.listView.select(),r=``,i=``;t=t[t.length-1],t===n&&(t=-1),this.selectedIndex=t,this.listView.isFiltered()&&t!==-1&&(this._valueBeforeCascade=this._old),t===-1&&!e?(this.options.syncValueAndText?(i=this.options.dataTextField===this.options.dataValueField?this._accessor():this.input[0].value,r=i):i=this.text(),this.listView.focus(-1)):((e||e===0)&&(r=this._dataValue(e),i=this._text(e)),r===null&&(r=``)),this._setDomInputValue(i),this._accessor(r===n?i:r,t),this._triggerCascade()},_setDomInputValue:function(e){var t=this,n=l(this.input),r;if(n&&n.length&&(r=n[0]),this._prev=this.input[0].value=e,r&&this.selectedIndex===-1){var i=u.mobileOS;i.wp||i.android?setTimeout(function(){t.input[0].setSelectionRange(r,r)},0):this.input[0].setSelectionRange(r,r)}},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 t=this,r=t.input[0],i=t.text(),a=l(r)[0],o=t._last,c,u=t.dataSource.options.accentFoldingFiltering;if(o==f.BACKSPACE||o==f.DELETE){t._last=n;return}e||=``,typeof e!=`string`&&(e[0]&&(e=t.dataSource.view()[s.inArray(e[0],t._getUlElement()[0])]),e=e?t._text(e):``),a<=0&&(a=(u?i.toLocaleLowerCase(u):i.toLowerCase()).indexOf(u?e.toLocaleLowerCase(u):e.toLowerCase())+1),e?(e=e.toString(),c=(u?e.toLocaleLowerCase(u):e.toLowerCase()).indexOf(u?i.toLocaleLowerCase(u):i.toLowerCase()),c>-1&&(i+=e.substring(c+i.length))):i=i.substring(0,a),(i.length!==a||!e)&&(r.value=i,r===d()&&l(r,a,i.length))},text:function(e){e=e===null?``:e;var t=this,r=t.filterInput&&t.filterInput[0]===d()?t.filterInput[0]:t.input[0],i=t.options.ignoreCase,a=e,o,c;if(e===n)return r.value;if(t.options.autoBind===!1&&!t.listView.bound()){t._setText(e);return}if(o=t.dataItem(),o&&t._text(o).replace&&t._text(o).replace(k,``)===e&&(c=t._value(o),c===s.unifyType(t._old,typeof c))){t._triggerCascade();return}i&&(a=a.toLowerCase()),!(t.dataItem()&&t._text(t.dataItem())===e)&&(t._select(function(e){return e=t._text(e),i&&(e=(e+``).toLowerCase()),e===a}).done(function(){t.selectedIndex<0&&(r.value=e,t.options.syncValueAndText&&t._accessor(e),t._isValueChanged(e)&&(t._cascadeTriggered=!0,t._triggerCascade()),t._refreshFloatingLabel()),t._prev=r.value}),t._toggleCloseVisibility())},toggle:function(e){this._toggle(e,!0)},value:function(e){var t=this,r=t.options,i=t.listView;if(e===n)return e=t._accessor()||t.listView.value()[0],e===n||e===null?``:e;t.requireValueMapper(t.options,e),t.trigger(`set`,{value:e}),!(e===r.value&&t.input.val()===r.text&&!t.options.cascadeFrom)&&(t._accessor(e),t._isFilterEnabled()&&i.bound()&&i.isFiltered()?t._clearFilter():t._fetchData(),i.value(e).done(function(){t.selectedIndex===-1&&(!i._selectedDataItems||!i._selectedDataItems.length)&&(t._accessor(e),t.input.val(e)),t._userTriggered?t._old=t._accessor():t._old=t._valueBeforeCascade=t._accessor(),t._oldIndex=t.selectedIndex,t._prev=t._oldText=t.input.val(),t._state===T&&(t._state=E),t._toggleCloseVisibility(),t._refreshFloatingLabel()}))},_click:function(e){var t=this,n=e.item,r=t.listView.dataItemByIndex(t.listView.getElementIndex(n)),i=!0;if(e.preventDefault(),r&&(i=t._value(r)!==s.unifyType(t.value(),typeof t._value(r)),i||t.input.val(t._text(r))),i&&t.trigger(`select`,{dataItem:r,item:n})){t.close();return}t._userTriggered=!0,t._select(n).done(function(){t._blur()})},_syncValueAndText:function(){return this.options.syncValueAndText},_inputValue:function(){return this.text()},_searchByWord:function(e){var t=this,r=t.options,i=t.dataSource,a=r.ignoreCase,o=function(r){var i=t._text(r);if(i!==n)return i+=``,i!==``&&e===``?!1:(a&&(i=i.toLowerCase()),i.indexOf(e)===0)};a&&(e=e.toLowerCase());let s=t._getUlElement();if(!s.length||!s[0].firstChild){i.one(y,function(){i.view()[0]&&t.search(e)}).fetch();return}this.listView.focus(this._get(o));var c=this.listView.focus();c&&(r.suggest&&t.suggest(c),this.open()),this.options.highlightFirst&&!e&&this.listView.focusFirst()},_input:function(){var e=this,t=e.element.removeClass(`k-input-inner`)[0],n=t.accessKey,i=e.wrapper,a=`input.k-input-inner`,s=t.name||``,c=e.options,l,u,d;s&&=`name="`+s+`_input" `,l=i.find(a),l[0]||(d=o.renderButton(`<button type="button" class="k-input-button" aria-label="expand combobox"></button>`,{icon:`caret-alt-down`,size:c.size,fillMode:c.fillMode,shape:`none`}),i.append(`<input `+s+`class="k-input-inner" type="text" autocomplete="`+w+`"/>`).append(d).append(e.element),l=i.find(a)),l[0].style.cssText=t.style.cssText,l[0].title=t.title,u=parseInt(this.element.prop(`maxlength`)||this.element.attr(`maxlength`),10),u>-1&&(!r.isPresent(j._isServerRendered)||!j._isServerRendered)&&(l[0].maxLength=u),l.addClass(t.className).css({width:``,height:t.style.height,position:``}).attr({role:`combobox`,"aria-expanded":!1,inputmode:c.inputMode}).show(),l.attr(r.attr(`skip`),!0),l.attr(`placeholder`,e.options.placeholder),n&&(t.accessKey=``,l[0].accessKey=n),e._focused=e.input=l,e._arrow=i.find(`.k-input-button`).attr({role:`button`,tabIndex:-1}),e._arrowIcon=e._arrow.find(`.k-icon, .k-svg-icon`)},_clearButton:function(){s.fn._clearButton.call(this),this.options.clearButton&&this._clear.insertAfter(this.input)},_keydown:function(e){var t=this,n=e.keyCode,r=t.options.dataTextField||`text`,i=n>=112&&n<=135,a=A.indexOf(n)>-1;if(t._last=n,clearTimeout(t._typingTimeout),t._typingTimeout=null,n===f.HOME)t._firstItem();else if(n===f.END)t._lastItem();else if(n===f.ENTER||n===f.TAB&&t.popup.visible()){var o=t.listView.focus(),c=t.dataItem(),l=!0;if(!t.popup.visible()&&(!c||t.text()!==t._text(c))&&(o=null),o){if(t.popup.visible()&&e.preventDefault(),c=t.listView.dataItemByIndex(t.listView.getElementIndex(o)),c&&(l=t._value(c)!==s.unifyType(t.value(),typeof t._value(c))),l&&t.trigger(`select`,{dataItem:c,item:o}))return;t._userTriggered=!0,t._select(o).done(function(){t._blur(),t._valueBeforeCascade=t._old=t.value()})}else{if((t._syncValueAndText()||t._isSelect)&&(!t.dataItem()||t.dataItem()[r]!==t.input.val())){var u=t.filterInput&&d()===t.filterInput[0]?t.filterInput:t.input;t._accessor(u.val())}t.options.highlightFirst?(t.listView.value(t.input.val()),t._blur()):t._oldText=t.text()}}else n!=f.TAB&&!t._move(e)&&!a&&!i&&!e.ctrlKey?t._search():t.options.clearOnEscape&&n===f.ESC&&!t.popup.visible()&&t.text()&&t._clearValue()},_search:function(){var e=this;clearTimeout(e._typingTimeout),e._typingTimeout=setTimeout(function(){var t=e.text();t!==``&&e._prev!==t?(e._prev=t,e.options.filter===`none`&&e.options.virtual&&e.listView.select(-1),e.search(t),e._toggleCloseVisibility()):t===``&&e._prev!==``&&e._prev!==n&&(e._clearValue(),e._open=!0,e._state=D),e._typingTimeout=null},e.options.delay)},_setText:function(e){this.input.val(e),this._prev=e},_wrapper:function(){var e=this,t=e.element,n=t.parent();n.is(`span.k-input`)||(n=t.hide().wrap(`<span />`).parent(),n[0].style.cssText=t[0].style.cssText),e.wrapper=n.addClass(`k-input k-combobox`).addClass(t[0].className).removeClass(`input-validation-error`).css(`display`,``)},_clearSelection:function(e,t){var n=this,r=e.value(),i=r&&e.selectedIndex===-1;this.selectedIndex==-1&&this.value()||(t||!r||i)&&(n.options.value=``,n.value(``))},_preselect:function(e,t){this.input.val(t),this._accessor(e),this._old=this._accessor(),this._oldIndex=this.selectedIndex,this.listView.setValue(e),this._initialIndex=null,this._presetValue=!0,this._toggleCloseVisibility()},_clearText:function(){this._old=this.value(),this.text(``)},_clearValue:function(){var e=this,t=e.filterInput&&e.filterInput[0]===d()?e.filterInput:e.input;c.fn._clearValue.call(this),t.trigger(`focus`)}});a.plugin(j),r.cssProperties.registerPrefix(`ComboBox`,`k-input-`),r.cssProperties.registerValues(`ComboBox`,[{prop:`rounded`,values:r.cssProperties.roundedValues.concat([[`full`,`full`]])}])})(window.kendo.jQuery);var n=kendo;exports.__meta__=t,exports.default=n;
//# sourceMappingURL=kendo.combobox.js.map