UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 18.7 kB
module.exports=function(t){function e(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}({0:function(t,e,i){t.exports=i(1187)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},1068:function(t,e){t.exports=require("./kendo.list")},1069:function(t,e){t.exports=require("./kendo.mobile.scroller")},1070:function(t,e){t.exports=require("./kendo.virtuallist")},1187:function(t,e,i){var n,o,a;!function(s,define){o=[i(1068),i(1069),i(1070)],n=s,a="function"==typeof n?n.apply(e,o):n,!(void 0!==a&&(t.exports=a))}(function(){return function(t,e){function i(t,e,i){for(var n,o=0,a=e.length-1;o<a;++o)n=e[o],n in t||(t[n]={}),t=t[n];t[e[a]]=i}function n(t,e){return t>=e&&(t-=e),t}function o(t,e){for(var i=0;i<t.length;i++)if(t.charAt(i)!==e)return!1;return!0}var a=window.kendo,s=a.ui,l=s.List,r=s.Select,p=a.support,u=a._activeElement,c=a.data.ObservableObject,d=a.keys,f=".kendoDropDownList",_=f+"FocusEvent",h="disabled",m="readonly",v="change",b="k-state-focused",w="k-state-default",I="k-state-disabled",x="aria-disabled",g="aria-readonly",L="click"+f+" touchend"+f,k="mouseenter"+f+" mouseleave"+f,y="tabindex",T="filter",V="accept",C="The `optionLabel` option is not valid due to missing fields. Define a custom optionLabel as shown here http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#configuration-optionLabel",O=t.proxy,D=r.extend({init:function(i,n){var o,s,l,p=this,u=n&&n.index;p.ns=f,n=t.isArray(n)?{dataSource:n}:n,r.fn.init.call(p,i,n),n=p.options,i=p.element.on("focus"+f,O(p._focusHandler,p)),p._focusInputHandler=t.proxy(p._focusInput,p),p.optionLabel=t(),p._optionLabel(),p._inputTemplate(),p._reset(),p._prev="",p._word="",p._wrapper(),p._tabindex(),p.wrapper.data(y,p.wrapper.attr(y)),p._span(),p._popup(),p._mobile(),p._dataSource(),p._ignoreCase(),p._filterHeader(),p._aria(),p.wrapper.attr("aria-live","polite"),p._enable(),p._attachFocusHandlers(),p._oldIndex=p.selectedIndex=-1,u!==e&&(n.index=u),p._initialIndex=n.index,p.requireValueMapper(p.options),p._initList(),p.listView.one("dataBound",O(p._attachAriaActiveDescendant,p)),p._cascade(),p.one("set",function(t){!t.sender.listView.bound()&&p.hasOptionLabel()&&p._textAccessor(p._optionLabelText())}),n.autoBind?p.dataSource.fetch():p.selectedIndex===-1&&(s=n.text||"",s||(o=n.optionLabel,o&&0===n.index?s=o:p._isSelect&&(s=i.children(":selected").text())),p._textAccessor(s)),l=t(p.element).parents("fieldset").is(":disabled"),l&&p.enable(!1),p.listView.bind("click",function(t){t.preventDefault()}),a.notify(p)},options:{name:"DropDownList",enabled:!0,autoBind:!0,index:0,text:null,value:null,delay:500,height:200,dataTextField:"",dataValueField:"",optionLabel:"",cascadeFrom:"",cascadeFromField:"",cascadeFromParentField:"",ignoreCase:!0,animation:{},filter:"none",minLength:1,enforceMinLength:!1,virtual:!1,template:null,valueTemplate:null,optionLabelTemplate:null,groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",autoWidth:!1,popup:null},events:["open","close",v,"select","filtering","dataBinding","dataBound","cascade","set","kendoKeydown"],setOptions:function(t){r.fn.setOptions.call(this,t),this.listView.setOptions(this._listOptions(t)),this._optionLabel(),this._inputTemplate(),this._accessors(),this._filterHeader(),this._enable(),this._aria(),!this.value()&&this.hasOptionLabel()&&this.select(0)},destroy:function(){var t=this;r.fn.destroy.call(t),t.wrapper.off(f),t.wrapper.off(_),t.element.off(f),t._inputWrapper.off(f),t._arrow.off(),t._arrow=null,t._arrowIcon=null,t.optionLabel.off(),t.filterInput&&t.filterInput.off(_)},open:function(){var t=this,e=!!t.dataSource.filter()&&t.dataSource.filter().filters.length>0,i=this.listView;t.popup.visible()||(t.listView.bound()&&t._state!==V?t._allowOpening()&&(t._focusFilter=!0,t.popup.one("activate",t._focusInputHandler),t.popup._hovered=!0,t.wrapper.attr("aria-activedescendant",i._optionID),t.popup.open(),t._resizeFilterInput(),t._focusItem()):(t._open=!0,t._state="rebind",t.filterInput&&(t.filterInput.val(""),t._prev=""),t.filterInput&&1!==t.options.minLength&&!e?(t.refresh(),t.popup.one("activate",t._focusInputHandler),t.wrapper.attr("aria-activedescendant",i._optionID),t.popup.open(),t._resizeFilterInput()):t._filterSource()))},close:function(){this._attachAriaActiveDescendant(),this.popup.close()},_attachAriaActiveDescendant:function(){var t=this.wrapper,e=t.find(".k-input").attr("id");t.attr("aria-activedescendant",e)},_focusInput:function(){this._focusElement(this.filterInput)},_resizeFilterInput:function(){var t,e,i=this.filterInput,n=this._prevent;i&&(t=this.filterInput[0]===u(),e=a.caret(this.filterInput[0])[0],this._prevent=!0,i.css("display","none").css("width",this.popup.element.css("width")).css("display","inline-block"),t&&(i.focus(),a.caret(i[0],e)),this._prevent=n)},_allowOpening:function(){return this.hasOptionLabel()||this.filterInput||r.fn._allowOpening.call(this)},toggle:function(t){this._toggle(t,!0)},current:function(t){var i;return t===e?(i=this.listView.focus(),!i&&0===this.selectedIndex&&this.hasOptionLabel()?this.optionLabel:i):(this._focus(t),e)},dataItem:function(i){var n=this,o=null;if(null===i)return i;if(i===e)o=n.listView.selectedDataItems()[0];else{if("number"!=typeof i){if(n.options.virtual)return n.dataSource.getByUid(t(i).data("uid"));i=i.hasClass("k-list-optionlabel")?-1:t(n.items()).index(i)}else n.hasOptionLabel()&&(i-=1);o=n.dataSource.flatView()[i]}return o||(o=n._optionLabelDataItem()),o},refresh:function(){this.listView.refresh()},text:function(t){var i,n=this,o=n.options.ignoreCase;return t=null===t?"":t,t===e?n._textAccessor():"string"!=typeof t?(n._textAccessor(t),e):(i=o?t.toLowerCase():t,n._select(function(t){return t=n._text(t),o&&(t=(t+"").toLowerCase()),t===i}).done(function(){n._textAccessor(n.dataItem()||t)}),e)},_clearFilter:function(){t(this.filterInput).val(""),r.fn._clearFilter.call(this)},value:function(t){var i=this,n=i.listView,o=i.dataSource;return t===e?(t=i._accessor()||i.listView.value()[0],t===e||null===t?"":t):(i.requireValueMapper(i.options,t),!t&&i.hasOptionLabel()||(i._initialIndex=null),this.trigger("set",{value:t}),i._request&&i.options.cascadeFrom&&i.listView.bound()?(i._valueSetter&&o.unbind(v,i._valueSetter),i._valueSetter=O(function(){i.value(t)},i),o.one(v,i._valueSetter),e):(i._isFilterEnabled()&&n.bound()&&n.isFiltered()?i._clearFilter():i._fetchData(),n.value(t).done(function(){i._old=i._valueBeforeCascade=i._accessor(),i._oldIndex=i.selectedIndex}),e))},hasOptionLabel:function(){return this.optionLabel&&!!this.optionLabel[0]},_optionLabel:function(){var i=this,n=i.options,o=n.optionLabel,s=n.optionLabelTemplate;return o?(s||(s="#:",s+="string"==typeof o?"data":a.expr(n.dataTextField,"data"),s+="#"),"function"!=typeof s&&(s=a.template(s)),i.optionLabelTemplate=s,i.hasOptionLabel()||(i.optionLabel=t('<div class="k-list-optionlabel"></div>').prependTo(i.list)),i.optionLabel.html(s(o)).off().on(L,O(i._click,i)).on(k,i._toggleHover),i.angular("compile",function(){return{elements:i.optionLabel,data:[{dataItem:i._optionLabelDataItem()}]}}),e):(i.optionLabel.off().remove(),i.optionLabel=t(),e)},_optionLabelText:function(){var t=this.options.optionLabel;return"string"==typeof t?t:this._text(t)},_optionLabelDataItem:function(){var i=this,n=i.options.optionLabel;return i.hasOptionLabel()?t.isPlainObject(n)?new c(n):i._assignInstance(i._optionLabelText(),""):e},_buildOptions:function(t){var i,n,o,a=this;a._isSelect&&(i=a.listView.value()[0],n=a._optionLabelDataItem(),o=n&&a._value(n),i!==e&&null!==i||(i=""),n&&(o!==e&&null!==o||(o=""),n='<option value="'+o+'">'+a._text(n)+"</option>"),a._options(t,n,i),i!==l.unifyType(a._accessor(),typeof i)&&(a._customOption=null,a._custom(i)))},_listBound:function(){var t,e=this,i=e._initialIndex,n=e._state===T,o=e.dataSource.flatView();e._presetValue=!1,e._renderFooter(),e._renderNoData(),e._toggleNoData(!o.length),e._resizePopup(!0),e.popup.position(),e._buildOptions(o),n||(e._open&&e.toggle(e._allowOpening()),e._open=!1,e._fetch||(o.length?(!e.listView.value().length&&i>-1&&null!==i&&e.select(i),e._initialIndex=null,t=e.listView.selectedDataItems()[0],t&&e.text()!==e._text(t)&&e._selectValue(t)):e._textAccessor()!==e._optionLabelText()&&(e.listView.value(""),e._selectValue(null),e._oldIndex=e.selectedIndex))),e._hideBusy(),e.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]),(this._presetValue||this._old&&this._oldIndex===-1)&&(this._oldIndex=this.selectedIndex)},_filterPaste:function(){this._search()},_attachFocusHandlers:function(){var t=this,e=t.wrapper;e.on("focusin"+_,O(t._focusinHandler,t)).on("focusout"+_,O(t._focusoutHandler,t)),t.filterInput&&t.filterInput.on("focusin"+_,O(t._focusinHandler,t)).on("focusout"+_,O(t._focusoutHandler,t))},_focusHandler:function(){this.wrapper.focus()},_focusinHandler:function(){this._inputWrapper.addClass(b),this._prevent=!1},_focusoutHandler:function(){var t=this,e=window.self!==window.top;t._prevent||(clearTimeout(t._typingTimeout),p.mobileOS.ios&&e?t._change():t._blur(),t._inputWrapper.removeClass(b),t._prevent=!0,t._open=!1,t.element.blur())},_wrapperMousedown:function(){this._prevent=!!this.filterInput},_wrapperClick:function(t){t.preventDefault(),this.popup.unbind("activate",this._focusInputHandler),this._focused=this.wrapper,this._prevent=!1,this._toggle()},_editable:function(t){var e=this,i=e.element,n=t.disable,o=t.readonly,s=e.wrapper.add(e.filterInput).off(f),l=e._inputWrapper.off(k);o||n?n?(s.removeAttr(y),l.addClass(I).removeClass(w)):l.addClass(w).removeClass(I):(i.removeAttr(h).removeAttr(m),l.addClass(w).removeClass(I).on(k,e._toggleHover),s.attr(y,s.data(y)).attr(x,!1).attr(g,!1).on("keydown"+f,e,O(e._keydown,e)).on(a.support.mousedown+f,O(e._wrapperMousedown,e)).on("paste"+f,O(e._filterPaste,e)),e.wrapper.on("click"+f,O(e._wrapperClick,e)),e.filterInput?s.on("input"+f,O(e._search,e)):s.on("keypress"+f,O(e._keypress,e))),i.attr(h,n).attr(m,o),s.attr(x,n).attr(g,o)},_keydown:function(t){var i,n,o,a=this,s=t.keyCode,l=t.altKey,r=a.popup.visible();if(a.filterInput&&(i=a.filterInput[0]===u()),s===d.LEFT?(s=d.UP,n=!0):s===d.RIGHT&&(s=d.DOWN,n=!0),!n||!i){if(t.keyCode=s,(l&&s===d.UP||s===d.ESC)&&a._focusElement(a.wrapper),a._state===T&&s===d.ESC&&(a._clearFilter(),a._open=!1,a._state=V),s===d.ENTER&&a._typingTimeout&&a.filterInput&&r)return t.preventDefault(),e;if(s!==d.SPACEBAR||i||(a.toggle(!r),t.preventDefault()),n=a._move(t),!n){if((!r||!a.filterInput)&&(o=a._focus(),s===d.HOME?(n=!0,a._firstItem()):s===d.END&&(n=!0,a._lastItem()),n)){if(a.trigger("select",{dataItem:a._getElementDataItem(a._focus()),item:a._focus()}))return a._focus(o),e;a._select(a._focus(),!0).done(function(){r||a._blur()}),t.preventDefault()}l||n||!a.filterInput||a._search()}}},_matchText:function(t,i){var n=this.options.ignoreCase;return t!==e&&null!==t&&(t+="",n&&(t=t.toLowerCase()),0===t.indexOf(i))},_shuffleData:function(t,e){var i=this._optionLabelDataItem();return i&&(t=[i].concat(t)),t.slice(e).concat(t.slice(0,e))},_selectNext:function(){var t,e,i,a=this,s=a.dataSource.flatView(),l=s.length+(a.hasOptionLabel()?1:0),r=o(a._word,a._last),p=a.selectedIndex;for(p===-1?p=0:(p+=r?1:0,p=n(p,l)),s=s.toJSON?s.toJSON():s.slice(),s=a._shuffleData(s,p),i=0;i<l&&(e=a._text(s[i]),!r||!a._matchText(e,a._last))&&!a._matchText(e,a._word);i++);i!==l&&(t=a._focus(),a._select(n(p+i,l)).done(function(){var e=function(){a.popup.visible()||a._change()};a.trigger("select",{dataItem:a._getElementDataItem(a._focus()),item:a._focus()})?a._select(t).done(e):e()}))},_keypress:function(t){var e,i=this;0!==t.which&&t.keyCode!==a.keys.ENTER&&(e=String.fromCharCode(t.charCode||t.keyCode),i.options.ignoreCase&&(e=e.toLowerCase())," "===e&&t.preventDefault(),i._word+=e,i._last=e,i._search())},_popupOpen:function(){var t=this.popup;t.wrapper=a.wrap(t.element),t.element.closest(".km-root")[0]&&(t.wrapper.addClass("km-popup km-widget"),this.wrapper.addClass("km-widget"))},_popup:function(){r.fn._popup.call(this),this.popup.one("open",O(this._popupOpen,this))},_getElementDataItem:function(t){return t&&t[0]?t[0]===this.optionLabel[0]?this._optionLabelDataItem():this.listView.dataItemByIndex(this.listView.getElementIndex(t)):null},_click:function(i){var n=this,o=i.item||t(i.currentTarget);return i.preventDefault(),n.trigger("select",{dataItem:n._getElementDataItem(o),item:o})?(n.close(),e):(n._userTriggered=!0,n._select(o).done(function(){n._blur(),n._focusElement(n.wrapper)}),e)},_focusElement:function(t){var e=u(),i=this.wrapper,n=this.filterInput,o=t===n?i:n,a=p.mobileOS&&(p.touch||p.MSPointers||p.pointers);n&&n[0]===t[0]&&a||n&&(o[0]===e||this._focusFilter)&&(this._focusFilter=!1,this._prevent=!0,this._focused=t.focus())},_searchByWord:function(t){var e,i;t&&(e=this,i=e.options.ignoreCase,i&&(t=t.toLowerCase()),e._select(function(i){return e._matchText(e._text(i),t)}))},_inputValue:function(){return this.text()},_search:function(){var t=this,i=t.dataSource;if(clearTimeout(t._typingTimeout),t._isFilterEnabled())t._typingTimeout=setTimeout(function(){var e=t.filterInput.val();t._prev!==e&&(t._prev=e,t.search(e),t._resizeFilterInput()),t._typingTimeout=null},t.options.delay);else{if(t._typingTimeout=setTimeout(function(){t._word=""},t.options.delay),!t.listView.bound())return i.fetch().done(function(){t._selectNext()}),e;t._selectNext()}},_get:function(e){var i,n,o,a="function"==typeof e,s=a?t():t(e);if(this.hasOptionLabel()&&("number"==typeof e?e>-1&&(e-=1):s.hasClass("k-list-optionlabel")&&(e=-1)),a){for(i=this.dataSource.flatView(),o=0;o<i.length;o++)if(e(i[o])){e=o,n=!0;break}n||(e=-1)}return e},_firstItem:function(){this.hasOptionLabel()?this._focus(this.optionLabel):this.listView.focusFirst()},_lastItem:function(){this._resetOptionLabel(),this.listView.focusLast()},_nextItem:function(){var t;return this.optionLabel.hasClass("k-state-focused")?(this._resetOptionLabel(),this.listView.focusFirst(),t=1):t=this.listView.focusNext(),t},_prevItem:function(){var t;if(!this.optionLabel.hasClass("k-state-focused"))return t=this.listView.focusPrev(),this.listView.focus()||this.options.virtual||this._focus(this.optionLabel),t},_focusItem:function(){var t=this.options,i=this.listView,n=i.focus(),o=i.select();o=o[o.length-1],o===e&&t.highlightFirst&&!n&&(o=0),o!==e?i.focus(o):!t.optionLabel||t.virtual&&"dataItem"===t.virtual.mapValueTo?i.scrollToIndex(0):(this._focus(this.optionLabel),this._select(this.optionLabel),this.listView.content.scrollTop(0))},_resetOptionLabel:function(t){this.optionLabel.removeClass("k-state-focused"+(t||"")).removeAttr("id")},_focus:function(t){var i=this.listView,n=this.optionLabel;return t===e?(t=i.focus(),!t&&n.hasClass("k-state-focused")&&(t=n),t):(this._resetOptionLabel(),t=this._get(t),i.focus(t),t===-1&&(n.addClass("k-state-focused").attr("id",i._optionID),this._focused.add(this.filterInput).removeAttr("aria-activedescendant").attr("aria-activedescendant",i._optionID)),e)},_select:function(t,e){var i=this;return t=i._get(t),i.listView.select(t).done(function(){e||i._state!==T||(i._state=V),t===-1&&i._selectValue(null)})},_selectValue:function(t){var i=this,n=i.options.optionLabel,o=i.listView.select(),a="",s="";o=o[o.length-1],o===e&&(o=-1),this._resetOptionLabel(" k-state-selected"),t||0===t?(s=t,a=i._dataValue(t),n&&(o+=1)):n&&(i._focus(i.optionLabel.addClass("k-state-selected")),s=i._optionLabelText(),a="string"==typeof n?"":i._value(n),o=0),i.selectedIndex=o,null===a&&(a=""),i._textAccessor(s),i._accessor(a,o),i._triggerCascade()},_mobile:function(){var t=this,e=t.popup,i=p.mobileOS,n=e.element.parents(".km-root").eq(0);n.length&&i&&(e.options.animation.open.effects=i.android||i.meego?"fadeIn":i.ios||i.wp?"slideIn:up":e.options.animation.open.effects)},_filterHeader:function(){var e;this.filterInput&&(this.filterInput.off(f).parent().remove(),this.filterInput=null),this._isFilterEnabled()&&(e='<span class="k-icon k-i-zoom"></span>',this.filterInput=t('<input class="k-textbox"/>').attr({placeholder:this.element.attr("placeholder"),title:this.element.attr("title"),role:"listbox","aria-haspopup":"listbox","aria-expanded":!1}),this.list.prepend(t('<span class="k-list-filter" />').append(this.filterInput.add(e))))},_span:function(){var e,i=this,n=i.wrapper,o="span.k-input",s=a.guid();e=n.find(o),e[0]||(n.append('<span unselectable="on" class="k-dropdown-wrap k-state-default"><span id="'+s+'" unselectable="on" role="option" aria-selected="true" class="k-input">&nbsp;</span><span unselectable="on" class="k-select" aria-label="select"><span class="k-icon k-i-arrow-60-down"></span></span></span>').append(i.element),e=n.find(o)),i.span=e,i._inputWrapper=t(n[0].firstChild),i._arrow=n.find(".k-select"),i._arrowIcon=i._arrow.find(".k-icon")},_wrapper:function(){var t,e=this,i=e.element,n=i[0];t=i.parent(),t.is("span.k-widget")||(t=i.wrap("<span />").parent(),t[0].style.cssText=n.style.cssText,t[0].title=n.title),e._focused=e.wrapper=t.addClass("k-widget k-dropdown").addClass(n.className).removeClass("input-validation-error").css("display","").attr({accesskey:i.attr("accesskey"),unselectable:"on",role:"listbox","aria-haspopup":"listbox","aria-expanded":!1}),i.hide().removeAttr("accesskey")},_clearSelection:function(t){this.select(t.value()?0:-1)},_inputTemplate:function(){var e=this,i=e.options.valueTemplate;if(i=i?a.template(i):t.proxy(a.template("#:this._text(data)#",{useWithBlock:!1}),e),e.valueTemplate=i,e.hasOptionLabel()&&!e.options.optionLabelTemplate)try{e.valueTemplate(e._optionLabelDataItem())}catch(n){throw Error(C)}},_textAccessor:function(i){var n,o=null,a=this.valueTemplate,s=this._optionLabelText(),l=this.span;if(i===e)return l.text();t.isPlainObject(i)||i instanceof c?o=i:s&&s===i&&(o=this.options.optionLabel),o||(o=this._assignInstance(i,this._accessor())),this.hasOptionLabel()&&(o!==s&&this._text(o)!==s||(a=this.optionLabelTemplate,"string"!=typeof this.options.optionLabel||this.options.optionLabelTemplate||(o=s))),n=function(){return{elements:l.get(),data:[{dataItem:o}]}},this.angular("cleanup",n);try{l.html(a(o))}catch(r){l.html("")}this.angular("compile",n)},_preselect:function(t,e){t||e||(e=this._optionLabelText()),this._accessor(t),this._textAccessor(e),this._old=this._accessor(),this._oldIndex=this.selectedIndex,this.listView.setValue(t),this._initialIndex=null,this._presetValue=!0},_assignInstance:function(t,e){var n=this.options.dataTextField,o={};return n?(i(o,n.split("."),t),i(o,this.options.dataValueField.split("."),e),o=new c(o)):o=t,o}});s.plugin(D)}(window.kendo.jQuery),window.kendo},i(3))}});