11 lines
12 KiB
JavaScript
11 lines
12 KiB
JavaScript
/*
|
|
* Kendo UI Complete v2013.3.1324 (http://kendoui.com)
|
|
* Copyright 2014 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI Complete commercial licenses may be obtained at
|
|
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
*/
|
|
!function(define){return define(["./kendo.data.min","./kendo.popup.min"],function(){!function(e,t){function i(t,n){t.filters&&(t.filters=e.grep(t.filters,function(e){return i(e,n),e.filters?e.filters.length:e.field!=n}))}var n=window.kendo,a=n.ui,r=a.Widget,o=n.keys,l=n.support,s=n.htmlEncode,u=n._activeElement,d="id",c="li",f="change",_="character",h="k-state-focused",p="k-state-hover",v="k-loading",g="open",m="close",b="select",x="selected",S="progress",y="requestEnd",T="width",w=e.extend,C=e.proxy,F=l.browser,k=F.msie&&F.version<9,D=/"/g,H={ComboBox:"DropDownList",DropDownList:"ComboBox"},I=r.extend({init:function(t,i){var n,a=this,o=a.ns;r.fn.init.call(a,t,i),t=a.element,a._isSelect=t.is(b),a._template(),a.ul=e('<ul unselectable="on" class="k-list k-reset"/>').css({overflow:l.kineticScrollNeeded?"":"auto"}).on("mouseenter"+o,c,function(){e(this).addClass(p)}).on("mouseleave"+o,c,function(){e(this).removeClass(p)}).on("click"+o,c,C(a._click,a)).attr({tabIndex:-1,role:"listbox","aria-hidden":!0}),a.list=e("<div class='k-list-container'/>").append(a.ul).on("mousedown"+o,function(e){e.preventDefault()}),n=t.attr(d),n&&(a.list.attr(d,n+"-list"),a.ul.attr(d,n+"_listbox"),a._optionID=n+"_option_selected"),a._header(),a._accessors(),a._initValue()},options:{valuePrimitive:!1,headerTemplate:""},setOptions:function(e){r.fn.setOptions.call(this,e),e&&e.enable!==t&&(e.enabled=e.enable)},focus:function(){this._focused.focus()},readonly:function(e){this._editable({readonly:e===t?!0:e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t?!0:e)})},_filterSource:function(e){var t=this,n=t.options,a=t.dataSource,r=a.filter()||{};i(r,n.dataTextField),e&&(r=r.filters||[],r.push(e)),a.filter(r)},_header:function(){var t,i=this.options.headerTemplate;e.isFunction(i)&&(i=i({})),i&&(this.list.prepend(i),t=this.ul.prev(),this.header=t[0]?t:null)},_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))},items:function(){return this.ul[0].children},current:function(e){var i=this,n=i._optionID;return e===t?i._current:(i._current&&(i._current.removeClass(h).removeAttr("aria-selected").removeAttr(d),i._focused.removeAttr("aria-activedescendant")),e&&(e.addClass(h),i._scroll(e),n&&(e.attr("id",n),i._focused.attr("aria-activedescendant",n))),i._current=e,t)},destroy:function(){var e=this,t=e.ns;r.fn.destroy.call(e),e._unbindDataSource(),e.ul.off(t),e.list.off(t),e._touchScroller&&e._touchScroller.destroy(),e.popup.destroy(),e._form&&e._form.off("reset",e._resetHandler)},dataItem:function(e){var i=this;return e===t&&(e=i.selectedIndex),i._data()[e]},_accessors:function(){var e=this,t=e.element,i=e.options,a=n.getter,r=t.attr(n.attr("text-field")),o=t.attr(n.attr("value-field"));r&&(i.dataTextField=r),o&&(i.dataValueField=o),e._text=a(i.dataTextField),e._value=a(i.dataValueField)},_aria:function(e){var i=this,n=i.options,a=i._focused;n.suggest!==t&&a.attr("aria-autocomplete",n.suggest?"both":"list"),e=e?e+" "+i.ul[0].id:i.ul[0].id,a.attr("aria-owns",e),i.ul.attr("aria-live",n.filter&&"none"!==n.filter?"polite":"off")},_blur:function(){var e=this;e._change(),e.close()},_change:function(){var e,i=this,n=i.selectedIndex,a=i.options.value,r=i.value();i._isSelect&&!i._bound&&a&&(r=a),r!==i._old?e=!0:n!==t&&n!==i._oldIndex&&(e=!0),e&&(i._old=r,i._oldIndex=n,i.trigger(f),i.element.trigger(f))},_click:function(t){t.isDefaultPrevented()||this._accept(e(t.currentTarget))},_data:function(){return this.dataSource.view()},_enable:function(){var e=this,i=e.options,n=e.element.is("[disabled]");i.enable!==t&&(i.enabled=i.enable),!i.enabled||n?e.enable(!1):e.readonly(e.element.is("[readonly]"))},_focus:function(e){var i=this,n=!0;return i.popup.visible()&&e&&i.trigger(b,{item:e})?(i.close(),t):(i._select(e),i._triggerCascade(n),i._blur(),t)},_index:function(e){var t,i,n=this,a=n._data();for(t=0,i=a.length;i>t;t++)if(n._dataValue(a[t])==e)return t;return-1},_dataValue:function(e){var i=this._value(e);return i===t&&(i=this._text(e)),i},_height:function(e){if(e){var t,i=this,n=i.list,a=i.popup.visible(),r=i.options.height,o=i.header;t=n.add(n.parent(".k-animation-container")).show(),r=i.ul[0].scrollHeight>r?r:"auto",t.height(r),o&&i.ul.height("auto"==r?r:n.height()-o.height()),a||t.hide()}},_adjustListWidth:function(){var e,t,i=this.list,n=i[0].style.width,a=this.wrapper;if(i.data(T)||!n)return e=window.getComputedStyle?window.getComputedStyle(a[0],null):0,t=e?parseFloat(e.width):a.outerWidth(),e&&(F.mozilla||F.msie)&&(t+=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth)),n="border-box"!==i.css("box-sizing")?t-(i.outerWidth()-i.width()):t,i.css({fontFamily:a.css("font-family"),width:n}).data(T,n),!0},_popup:function(){var e=this,t=e.list,i=e._focused,r=e.options,o=e.wrapper;e.popup=new a.Popup(t,w({},r.popup,{anchor:o,open:function(t){e._adjustListWidth(),e.trigger(g)?t.preventDefault():(i.attr("aria-expanded",!0),e.ul.attr("aria-hidden",!1))},close:function(t){e.trigger(m)?t.preventDefault():(i.attr("aria-expanded",!1),e.ul.attr("aria-hidden",!0))},animation:r.animation,isRtl:l.isRtl(o)})),e.popup.one(g,function(){e._height(e._data().length)}),e._touchScroller=n.touchScroller(e.popup.element)},_makeUnselectable:function(){k&&this.list.find("*").attr("unselectable","on")},_toggleHover:function(t){e(t.currentTarget).toggleClass(p,"mouseenter"===t.type)},_toggle:function(e){var i=this,n=l.touch&&l.MSPointers&&l.pointers;e=e!==t?e:!i.popup.visible(),n||i._focused[0]===u()||i._focused.focus(),i[e?g:m]()},_scroll:function(e){if(e){e[0]&&(e=e[0]);var t,i,n=this.ul[0],a=e.offsetTop,r=e.offsetHeight,o=n.scrollTop,l=n.clientHeight,s=a+r,u=this._touchScroller;u?(t=u.dimensions.y,t.enabled&&a>t.size&&(a=a-t.size+r+4,u.scrollTo(0,-a))):(i=this.header?this.header.outerHeight():0,n.scrollTop=o>a?a-i:s>o+l?s-l-i:o)}},_template:function(){var e=this,t=e.options,i=t.template,a=t.dataSource;e._isSelect&&e.element[0].length&&(a||(t.dataTextField=t.dataTextField||"text",t.dataValueField=t.dataValueField||"value")),i?(i=n.template(i),e.template=function(e){return'<li tabindex="-1" role="option" unselectable="on" class="k-item">'+i(e)+"</li>"}):e.template=n.template('<li tabindex="-1" role="option" unselectable="on" class="k-item">${'+n.expr(t.dataTextField,"data")+"}</li>",{useWithBlock:!1})},_triggerCascade:function(e){var t=this,i=t.value();(!t._bound&&i||t._old!==i)&&t.trigger("cascade",{userTriggered:e})},_unbindDataSource:function(){var e=this;e.dataSource.unbind(f,e._refreshHandler).unbind(S,e._progressHandler).unbind(y,e._requestEndHandler).unbind("error",e._errorHandler)}});w(I,{caret:function(e){var t,i=e.ownerDocument.selection;return t=i?Math.abs(i.createRange().moveStart(_,-e.value.length)):e.selectionStart},selectText:function(e,t,i){try{if(e.createTextRange){e.focus();var n=e.createTextRange();n.collapse(!0),n.moveStart(_,t),n.moveEnd(_,i-t),n.select()}else e.setSelectionRange(t,i)}catch(a){}},inArray:function(e,t){var i,n,a=t.children;if(!e||e.parentNode!==t)return-1;for(i=0,n=a.length;n>i;i++)if(e===a[i])return i;return-1}}),n.ui.List=I,a.Select=I.extend({init:function(e,t){I.fn.init.call(this,e,t),this._initial=this.element.val()},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this._bound=!1,this.options.autoBind&&this.dataSource.fetch()},close:function(){this.popup.close()},select:function(e){var i=this;return e===t?i.selectedIndex:(i._select(e),i._triggerCascade(),i._old=i._accessor(),i._oldIndex=i.selectedIndex,t)},_accessor:function(e,i){var n,a=this.element[0],r=this._isSelect,o=a.selectedIndex;return e===t?(r?o>-1&&(n=a.options[o],n&&(e=n.value)):e=a.value,e):(r?(o>-1&&a.options[o].removeAttribute(x),a.selectedIndex=i,n=a.options[i],n&&n.setAttribute(x,x)):a.value=e,t)},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrow.removeClass(v),e._focused.attr("aria-busy",!1),e._busy=null},_showBusy:function(){var e=this;e._request=!0,e._busy||(e._busy=setTimeout(function(){e._focused.attr("aria-busy",!0),e._arrow.addClass(v)},100))},_requestEnd:function(){this._request=!1},_dataSource:function(){var t,i=this,a=i.element,r=i.options,o=r.dataSource||{};o=e.isArray(o)?{data:o}:o,i._isSelect&&(t=a[0].selectedIndex,t>-1&&(r.index=t),o.select=a,o.fields=[{field:r.dataTextField},{field:r.dataValueField}]),i.dataSource&&i._refreshHandler?i._unbindDataSource():(i._refreshHandler=C(i.refresh,i),i._progressHandler=C(i._showBusy,i),i._requestEndHandler=C(i._requestEnd,i),i._errorHandler=C(i._hideBusy,i)),i.dataSource=n.data.DataSource.create(o).bind(f,i._refreshHandler).bind(S,i._progressHandler).bind(y,i._requestEndHandler).bind("error",i._errorHandler)},_get:function(t){var i,n,a=this,r=a._data();if("function"==typeof t)for(i=0,n=r.length;n>i;i++)if(t(r[i])){t=i;break}if("number"==typeof t){if(0>t)return e();t=e(a.ul[0].children[t])}return t&&t.nodeType&&(t=e(t)),t},_move:function(e){var t,i,n=this,a=e.keyCode,r=n.ul[0],l=n.popup.visible()?"_select":"_accept",s=n._current,u=a===o.DOWN;if(a===o.UP||u){if(e.altKey)n.toggle(u);else{if(t=r.firstChild,!t&&!n._accessor()&&"filter"!==n._state)return n._fetch||(n.dataSource.one(f,function(){n._move(e),n._fetch=!1}),n._fetch=!0,n._filterSource()),e.preventDefault(),!0;u?(!s||-1===n.selectedIndex&&!n.value()&&s[0]===t?s=t:(s=s[0].nextSibling,s||t!==r.lastChild||(s=t)),n[l](s)):(s=s?s[0].previousSibling:r.lastChild,s||t!==r.lastChild||(s=t),n[l](s))}e.preventDefault(),i=!0}else a===o.ENTER||a===o.TAB?(n.popup.visible()&&e.preventDefault(),(n._typing||!n.popup.visible()&&-1===n.selectedIndex)&&(s=null),n._accept(s),i=!0):a===o.ESC&&(n.popup.visible()&&e.preventDefault(),n.close(),i=!0);return i},_selectItem:function(){var e,i,n=this,a=n.options;e=n._isSelect&&!n._initial&&!a.value&&a.index&&!n._bound,e||(i=n._selectedValue||a.value||n._accessor()),i?n.value(i):n._bound===t&&n.select(a.index)},_fetchItems:function(e){var i=this,n=i.ul[0].firstChild;return i._request?!0:i._fetch||n?t:i.options.cascadeFrom?!n:(i.dataSource.one(f,function(){i.value(e),i._fetch=!1}),i._fetch=!0,i.dataSource.fetch(),!0)},_options:function(e,i){var n,a,r,o,l=this,u=l.element,d=e.length,c="",f=0;for(i&&(f=1,c=i);d>f;f++)n="<option",a=e[f],r=l._text(a),o=l._value(a),o!==t&&(o+="",-1!==o.indexOf('"')&&(o=o.replace(D,""")),n+=' value="'+o+'"'),n+=">",r!==t&&(n+=s(r)),n+="</option>",c+=n;u.html(c)},_reset:function(){var t=this,i=t.element,n=i.attr("form"),a=n?e("#"+n):i.closest("form");a[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(t._initial)})},t._form=a.on("reset",t._resetHandler))},_cascade:function(){var t,n,a,r,o,l=this,s=l.options,u=s.cascadeFrom;if(u){if(l._selectedValue=s.value||l._accessor(),n=e("#"+u),t=n.data("kendo"+s.name),t||(t=n.data("kendo"+H[s.name])),!t)return;s.autoBind=!1,r=s.cascadeFromField||t.options.dataValueField,o=function(){var e=l._selectedValue||l.value();l._userTriggered?l._clearSelection(t,!0):e?(l.value(e),l.dataSource.view()[0]&&-1!==l.selectedIndex||l._clearSelection(t,!0)):l.select(s.index),l.enable(),l._triggerCascade(l._userTriggered),l._userTriggered=!1},a=function(){var e,n,a=t.dataItem(),s=a?t._value(a):null;s||0===s?(e=l.dataSource.filter()||{},i(e,r),n=e.filters||[],n.push({field:r,operator:"eq",value:s}),l.dataSource.one(f,o).filter(n)):(l.enable(!1),l._clearSelection(t),l._triggerCascade(l._userTriggered),l._userTriggered=!1)},t.bind("cascade",function(e){l._userTriggered=e.userTriggered,a()}),t._bound?a():t.value()||l.enable(!1)}}})}(window.kendo.jQuery)})}("function"==typeof define&&define.amd?define:function(e,t){return t()});/*
|
|
//@ sourceMappingURL=kendo.list.min.js.map
|
|
*/ |