@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 5.84 kB
JavaScript
module.exports=function(e){function t(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return e[i].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1307)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1006:function(e,t){e.exports=require("./kendo.core")},1040:function(e,t){e.exports=require("./kendo.userevents")},1307:function(e,t,n){var i,s,l;!function(o,define){s=[n(1006),n(1040)],i=o,l="function"==typeof i?i.apply(t,s):i,!(void 0!==l&&(e.exports=l))}(function(){return function(e,t){function n(e,t){if(!e.is(":visible"))return!1;var n=s.getOffset(e),i=t.left+t.width,l=t.top+t.height;return n.right=n.left+s._outerWidth(e),n.bottom=n.top+s._outerHeight(e),!(n.left>i||n.right<t.left||n.top>l||n.bottom<t.top)}var i,s=window.kendo,l=s.ui.Widget,o=e.proxy,a=Math.abs,r="aria-selected",c="k-state-selected",u="k-state-selecting",d="k-selectable",f="change",p=".kendoSelectable",v="unselect",m="k-state-unselecting",h="input,a,textarea,.k-multiselect-wrap,select,button,.k-button>span,.k-button>img,span.k-icon.k-i-arrow-60-down,span.k-icon.k-i-arrow-60-up,label.k-checkbox-label.k-no-text,.k-icon.k-i-collapse,.k-icon.k-i-expand",_=s.support.browser.msie,g=!1;!function(e){!function(){e('<div class="parent"><span /></div>').on("click",">*",function(){g=!0}).find("span").trigger("click").end().off()}()}(e),i=l.extend({init:function(t,n){var i,a=this;l.fn.init.call(a,t,n),a._marquee=e("<div class='k-marquee'><div class='k-marquee-color'></div></div>"),a._lastActive=null,a.element.addClass(d),a.relatedTarget=a.options.relatedTarget,i=a.options.multiple,this.options.aria&&i&&a.element.attr("aria-multiselectable",!0),a.userEvents=new s.UserEvents(a.element,{global:!0,allowSelection:!0,filter:(g?"":"."+d+" ")+a.options.filter,tap:o(a._tap,a),touchAction:i?"none":"pan-x pan-y"}),i&&a.userEvents.bind("start",o(a._start,a)).bind("move",o(a._move,a)).bind("end",o(a._end,a)).bind("select",o(a._select,a))},events:[f,v],options:{name:"Selectable",filter:">*",inputSelectors:h,multiple:!1,relatedTarget:e.noop},_isElement:function(e){var t,n=this.element,i=n.length,s=!1;for(e=e[0],t=0;t<i;t++)if(n[t]===e){s=!0;break}return s},_tap:function(t){var n,i=e(t.target),s=this,l=t.event.ctrlKey||t.event.metaKey,o=s.options.multiple,a=o&&t.event.shiftKey,r=t.event.which,u=t.event.button;!s._isElement(i.closest("."+d))||r&&3==r||u&&2==u||this._allowSelection(t.event.target)&&(n=i.hasClass(c),o&&l||s.clear(),i=i.add(s.relatedTarget(i)),a?s.selectRange(s._firstSelectee(),i,t):(n&&l?(s._unselect(i),s._notify(f,t)):s.value(i,t),s._lastActive=s._downTarget=i))},_start:function(n){var i,s=this,l=e(n.target),o=l.hasClass(c),a=n.event.ctrlKey||n.event.metaKey;if(this._allowSelection(n.event.target)){if(s._downTarget=l,!s._isElement(l.closest("."+d)))return s.userEvents.cancel(),t;s.options.useAllItems?s._items=s.element.find(s.options.filter):(i=l.closest(s.element),s._items=i.find(s.options.filter)),n.sender.capture(),s._marquee.appendTo(document.body).css({left:n.x.client+1,top:n.y.client+1,width:0,height:0}),a||s.clear(),l=l.add(s.relatedTarget(l)),o&&(s._selectElement(l,!0),a&&l.addClass(m))}},_move:function(e){var t=this,n={left:e.x.startLocation>e.x.location?e.x.location:e.x.startLocation,top:e.y.startLocation>e.y.location?e.y.location:e.y.startLocation,width:a(e.x.initialDelta),height:a(e.y.initialDelta)};t._marquee.css(n),t._invalidateSelectables(n,e.event.ctrlKey||e.event.metaKey),e.preventDefault()},_end:function(e){var t,n=this;n._marquee.remove(),n._unselect(n.element.find(n.options.filter+"."+m)).removeClass(m),t=n.element.find(n.options.filter+"."+u),t=t.add(n.relatedTarget(t)),n.value(t,e),n._lastActive=n._downTarget,n._items=null},_invalidateSelectables:function(e,t){var i,s,l,o,a=this._downTarget[0],r=this._items;for(i=0,s=r.length;i<s;i++)o=r.eq(i),l=o.add(this.relatedTarget(o)),n(o,e)?o.hasClass(c)?t&&a!==o[0]&&l.removeClass(c).addClass(m):o.hasClass(u)||o.hasClass(m)||l.addClass(u):o.hasClass(u)?l.removeClass(u):t&&o.hasClass(m)&&l.removeClass(m).addClass(c)},value:function(e,n){var i=this,s=o(i._selectElement,i);return e?(e.each(function(){s(this)}),i._notify(f,n),t):i.element.find(i.options.filter+"."+c)},_firstSelectee:function(){var e,t=this;return null!==t._lastActive?t._lastActive:(e=t.value(),e.length>0?e[0]:t.element.find(t.options.filter)[0])},_selectElement:function(t,n){var i=e(t),s=!n&&this._notify("select",{element:t});i.removeClass(u),s||(i.addClass(c),this.options.aria&&i.attr(r,!0))},_notify:function(e,t){return t=t||{},this.trigger(e,t)},_unselect:function(e){if(!this.trigger(v,{element:e}))return e.removeClass(c),this.options.aria&&e.attr(r,!1),e},_select:function(t){this._allowSelection(t.event.target)&&(!_||_&&!e(s._activeElement()).is(this.options.inputSelectors))&&t.preventDefault()},_allowSelection:function(t){return!e(t).is(this.options.inputSelectors)||(this.userEvents.cancel(),this._downTarget=null,!1)},resetTouchEvents:function(){this.userEvents.cancel()},clear:function(){var e=this.element.find(this.options.filter+"."+c);this._unselect(e)},selectRange:function(t,n,i){var s,l,o,a=this;for(a.clear(),a.element.length>1&&(o=a.options.continuousItems()),o&&o.length||(o=a.element.find(a.options.filter)),t=e.inArray(e(t)[0],o),n=e.inArray(e(n)[0],o),t>n&&(l=t,t=n,n=l),a.options.useAllItems||(n+=a.element.length-1),s=t;s<=n;s++)a._selectElement(o[s]);a._notify(f,i)},destroy:function(){var e=this;l.fn.destroy.call(e),e.element.off(p),e.userEvents.destroy(),e._marquee=e._lastActive=e.element=e.userEvents=null}}),i.parseOptions=function(e){var t="string"==typeof e&&e.toLowerCase();return{multiple:t&&t.indexOf("multiple")>-1,cell:t&&t.indexOf("cell")>-1}},s.ui.plugin(i)}(window.kendo.jQuery),window.kendo},n(3))}});