kendo.autocomplete.min.js 14 KB

1234567891011121314151617181920212223242526
  1. /**
  2. * Kendo UI v2019.2.619 (http://www.telerik.com/kendo-ui)
  3. * Copyright 2019 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.
  4. *
  5. * Kendo UI commercial licenses may be obtained at
  6. * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
  7. * If you do not own a commercial license, this file shall be governed by the trial license terms.
  8. */
  9. !function(e,define){define("kendo.autocomplete.min",["kendo.list.min","kendo.mobile.scroller.min","kendo.virtuallist.min"],e)}(function(){return function(e,t){function s(e,t,s){return s?t.substring(0,e).split(s).length-1:0}function i(e,t,i){return t.split(i)[s(e,t,i)]}function o(e,t,i,o,a){var n=t.split(o);return n.splice(s(e,t,o),1,i),o&&""!==n[n.length-1]&&n.push(""),n.join(a)}var a=window.kendo,n=a.support,r=a.caret,l=a._activeElement,c=n.placeholder,u=a.ui,d=u.List,p=a.keys,_=a.data.DataSource,h="aria-disabled",f="aria-readonly",g="change",v="k-state-default",m="disabled",y="readonly",w="k-state-focused",C="k-state-selected",b="k-state-disabled",x=n.browser.chrome?"disabled":"off",k="k-state-hover",T=".kendoAutoComplete",V="mouseenter"+T+" mouseleave"+T,S=e.proxy,L=d.extend({init:function(t,s){var i,o,n=this;n.ns=T,s=e.isArray(s)?{dataSource:s}:s,d.fn.init.call(n,t,s),t=n.element,s=n.options,s.placeholder=s.placeholder||t.attr("placeholder"),c&&t.attr("placeholder",s.placeholder),n._wrapper(),n._loader(),n._clearButton(),n._dataSource(),n._ignoreCase(),t[0].type="text",i=n.wrapper,n._popup(),t.addClass("k-input").on("keydown"+T,S(n._keydown,n)).on("keypress"+T,S(n._keypress,n)).on("input"+T,S(n._search,n)).on("paste"+T,S(n._search,n)).on("focus"+T,function(){n._prev=n._accessor(),n._oldText=n._prev,n._placeholder(!1),i.addClass(w)}).on("focusout"+T,function(){n._change(),n._placeholder(),n.close(),i.removeClass(w)}).attr({autocomplete:x,role:"textbox","aria-haspopup":!0}),n._clear.on("click"+T+" touchend"+T,S(n._clearValue,n)),n._enable(),n._old=n._accessor(),t[0].id&&t.attr("aria-owns",n.ul[0].id),n._aria(),n._placeholder(),n._initList(),o=e(n.element).parents("fieldset").is(":disabled"),o&&n.enable(!1),n.listView.bind("click",function(e){e.preventDefault()}),n._resetFocusItemHandler=e.proxy(n._resetFocusItem,n),a.notify(n),n._toggleCloseVisibility()},options:{name:"AutoComplete",enabled:!0,suggest:!1,template:"",groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",dataTextField:"",minLength:1,enforceMinLength:!1,delay:200,height:200,filter:"startswith",ignoreCase:!0,highlightFirst:!1,separator:null,placeholder:"",animation:{},virtual:!1,value:null,clearButton:!0,autoWidth:!1,popup:null},_dataSource:function(){var e=this;e.dataSource&&e._refreshHandler?e._unbindDataSource():(e._progressHandler=S(e._showBusy,e),e._errorHandler=S(e._hideBusy,e)),e.dataSource=_.create(e.options.dataSource).bind("progress",e._progressHandler).bind("error",e._errorHandler)},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.listView.setDataSource(this.dataSource)},events:["open","close",g,"select","filtering","dataBinding","dataBound"],setOptions:function(e){var t=this._listOptions(e);d.fn.setOptions.call(this,e),this.listView.setOptions(t),this._accessors(),this._aria(),this._clearButton()},_listOptions:function(t){var s=d.fn._listOptions.call(this,e.extend(t,{skipUpdateOnBind:!0}));return s.dataValueField=s.dataTextField,s.selectedItemChange=null,s},_editable:function(e){var t=this,s=t.element,i=t.wrapper.off(T),o=e.readonly,a=e.disable;o||a?(i.addClass(a?b:v).removeClass(a?v:b),s.attr(m,a).attr(y,o).attr(h,a).attr(f,o)):(i.addClass(v).removeClass(b).on(V,t._toggleHover),s.removeAttr(m).removeAttr(y).attr(h,!1).attr(f,!1))},close:function(){var e=this,t=e.listView.focus();t&&t.removeClass(C),e.popup.close()},destroy:function(){var e=this;e.element.off(T),e._clear.off(T),e.wrapper.off(T),d.fn.destroy.call(e)},refresh:function(){this.listView.refresh()},select:function(e){this._select(e)},search:function(t){var s,o=this,a=o.options,n=a.ignoreCase,l=o._separator(),c=o.dataSource.options.accentFoldingFiltering;t=t||o._accessor(),clearTimeout(o._typingTimeout),l&&(t=i(r(o.element)[0],t,l)),s=t.length,(!a.enforceMinLength&&!s||s>=a.minLength)&&(o._open=!0,o._mute(function(){this.listView.value([])}),o._filterSource({value:n?c?t.toLocaleLowerCase(c):t.toLowerCase():t,operator:a.filter,field:a.dataTextField,ignoreCase:n}),o.one("close",e.proxy(o._unifySeparators,o))),o._toggleCloseVisibility()},suggest:function(e){var i,o=this,a=o._last,n=o._accessor(),c=o.element[0],u=r(c)[0],_=o._separator(),h=n.split(_),f=s(u,n,_),g=u,v=o.dataSource.options.accentFoldingFiltering;return a==p.BACKSPACE||a==p.DELETE?(o._last=t,t):(e=e||"","string"!=typeof e&&(e[0]&&(e=o.dataSource.view()[d.inArray(e[0],o.ul[0])]),e=e?o._text(e):""),u<=0&&(u=(v?n.toLocaleLowerCase(v):n.toLowerCase()).indexOf(v?e.toLocaleLowerCase(v):e.toLowerCase())+1),i=n.substring(0,u).lastIndexOf(_),i=i>-1?u-(i+_.length):u,n=h[f].substring(0,i),e&&(e=""+e,i=(v?e.toLocaleLowerCase(v):e.toLowerCase()).indexOf(v?n.toLocaleLowerCase(v):n.toLowerCase()),i>-1&&(e=e.substring(i+n.length),g=u+e.length,n+=e),_&&""!==h[h.length-1]&&h.push("")),h[f]=n,o._accessor(h.join(_||"")),c===l()&&r(c,u,g),t)},value:function(e){return e===t?this._accessor():(this.listView.value(e),this._accessor(e),this._old=this._accessor(),this._oldText=this._accessor(),this._toggleCloseVisibility(),t)},_click:function(e){var s=e.item,i=this,o=i.element,a=i.listView.dataItemByIndex(i.listView.getElementIndex(s));return e.preventDefault(),i._active=!0,i.trigger("select",{dataItem:a,item:s})?(i.close(),t):(i._oldText=o.val(),i._select(s).done(function(){i._blur(),r(o,o.val().length)}),t)},_clearText:e.noop,_resetFocusItem:function(){var e=this.options.highlightFirst?0:-1;this.options.virtual&&this.listView.scrollTo(0),this.listView.focus(e)},_listBound:function(){var e,s=this,i=s.popup,o=s.options,a=s.dataSource.flatView(),n=a.length,r=s.dataSource._group.length,c=s.element[0]===l();s._renderFooter(),s._renderNoData(),s._toggleNoData(!n),s._toggleHeader(!!r&&!!n),s._resizePopup(),i.position(),n&&o.suggest&&c&&s.suggest(a[0]),s._open&&(s._open=!1,e=s._allowOpening()?"open":"close",s._typingTimeout&&!c&&(e="close"),n&&(s._resetFocusItem(),o.virtual&&s.popup.unbind("activate",s._resetFocusItemHandler).one("activate",s._resetFocusItemHandler)),i[e](),s._typingTimeout=t),s._touchScroller&&s._touchScroller.reset(),s._hideBusy(),s._makeUnselectable(),s.trigger("dataBound")},_mute:function(e){this._muted=!0,e.call(this),this._muted=!1},_listChange:function(){var e=this._active||this.element[0]===l();e&&!this._muted&&this._selectValue(this.listView.selectedDataItems()[0])},_selectValue:function(e){var t=this._separator(),s="";e&&(s=this._text(e)),null===s&&(s=""),t&&(s=o(r(this.element)[0],this._accessor(),s,t,this._defaultSeparator())),this._prev=s,this._accessor(s),this._placeholder()},_unifySeparators:function(){return this._accessor(this.value().split(this._separator()).join(this._defaultSeparator())),this},_preselect:function(e,t){this._inputValue(t),this._accessor(e),this._old=this.oldText=this._accessor(),this.listView.setValue(e),this._placeholder()},_change:function(){var e=this,t=e._unifySeparators().value(),s=t!==d.unifyType(e._old,typeof t),i=s&&!e._typing,o=e._oldText!==t;e._old=t,e._oldText=t,(i||o)&&e.element.trigger(g),s&&e.trigger(g),e.typing=!1,e._toggleCloseVisibility()},_accessor:function(e){var s=this,i=s.element[0];return e===t?(e=i.value,i.className.indexOf("k-readonly")>-1&&e===s.options.placeholder?"":e):(i.value=null===e?"":e,s._placeholder(),t)},_keydown:function(e){var t,s,i=this,o=e.keyCode,a=i.listView,n=i.popup.visible(),r=a.focus();if(i._last=o,o===p.DOWN)n?this._move(r?"focusNext":"focusFirst"):i.value()&&i._filterSource({value:i.ignoreCase?i.value().toLowerCase():i.value(),operator:i.options.filter,field:i.options.dataTextField,ignoreCase:i.ignoreCase}).done(function(){i._allowOpening()&&(i._resetFocusItem(),i.popup.open())}),e.preventDefault();else if(o===p.UP)n&&this._move(r?"focusPrev":"focusLast"),e.preventDefault();else if(o===p.HOME)this._move("focusFirst");else if(o===p.END)this._move("focusLast");else if(o===p.ENTER||o===p.TAB){if(o===p.ENTER&&n&&e.preventDefault(),n&&r){if(t=a.dataItemByIndex(a.getElementIndex(r)),i.trigger("select",{dataItem:t,item:r}))return;this._select(r)}this._blur()}else o===p.ESC?(n?e.preventDefault():i._clearValue(),i.close()):!i.popup.visible()||o!==p.PAGEDOWN&&o!==p.PAGEUP?(i.popup._hovered=!0,i._search()):(e.preventDefault(),s=o===p.PAGEDOWN?1:-1,a.scrollWith(s*a.screenHeight()))},_keypress:function(){this._oldText=this.element.val(),this._typing=!0},_move:function(e){this.listView[e](),this.options.suggest&&this.suggest(this.listView.focus())},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._loading.hide(),e.element.attr("aria-busy",!1),e._busy=null,e._showClear()},_showBusy:function(){var e=this;e._busy||(e._busy=setTimeout(function(){e.element.attr("aria-busy",!0),e._loading.show(),e._hideClear()},100))},_placeholder:function(e){if(!c){var s,i=this,o=i.element,a=i.options.placeholder;if(a){if(s=o.val(),e===t&&(e=!s),e||(a=s!==a?s:""),s===i._old&&!e)return;o.toggleClass("k-readonly",e).val(a),a||o[0]!==document.activeElement||r(o[0],0,0)}}},_separator:function(){var e=this.options.separator;return e instanceof Array?RegExp(e.join("|"),"gi"):e},_defaultSeparator:function(){var e=this.options.separator;return e instanceof Array?e[0]:e},_inputValue:function(){return this.element.val()},_search:function(){var e=this;clearTimeout(e._typingTimeout),e._typingTimeout=setTimeout(function(){e._prev!==e._accessor()&&(e._prev=e._accessor(),e.search())},e.options.delay)},_select:function(e){var t=this;return t._active=!0,t.listView.select(e).done(function(){t._active=!1})},_loader:function(){this._loading=e('<span class="k-icon k-i-loading" style="display:none"></span>').insertAfter(this.element)},_clearButton:function(){d.fn._clearButton.call(this),this.options.clearButton&&(this._clear.insertAfter(this.element),this.wrapper.addClass("k-autocomplete-clearable"))},_toggleHover:function(t){e(t.currentTarget).toggleClass(k,"mouseenter"===t.type)},_toggleCloseVisibility:function(){this.value()?this._showClear():this._hideClear()},_wrapper:function(){var t,s=this,i=s.element,o=i[0];t=i.parent(),t.is("span.k-widget")||(t=i.wrap("<span />").parent()),t.attr("tabindex",-1),t.attr("role","presentation"),t[0].style.cssText=o.style.cssText,i.css({width:"",height:o.style.height}),s._focused=s.element,s.wrapper=t.addClass("k-widget k-autocomplete").addClass(o.className),s._inputWrapper=e(t[0])}});u.plugin(L)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,s){(s||t)()});
  10. //# sourceMappingURL=kendo.autocomplete.min.js.map