UNPKG

kendo-ui-core

Version:
3 lines (2 loc) 2.43 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("kendo.core.js"),require("kendo.userevents.js")):"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.userevents.min"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).kendotouch=e.kendotouch||{},e.kendotouch.js=t())}(this,(function(){return function(e,t){var n=window.kendo,i=n.ui.Widget,o=Math.abs,a=i.extend({init:function(e,t){var o=this;function a(e){return function(t){o._triggerTouch(e,t)}}function r(e){return function(t){o.trigger(e,{touches:t.touches,distance:t.distance,center:t.center,event:t.event})}}i.fn.init.call(o,e,t),t=o.options,e=o.element,o.wrapper=e,o.events=new n.UserEvents(e,{filter:t.filter,surface:t.surface,minHold:t.minHold,multiTouch:t.multiTouch,allowSelection:!0,fastTap:t.fastTap,press:a("touchstart"),hold:a("hold"),tap:o._tap.bind(o),gesturestart:r("gesturestart"),gesturechange:r("gesturechange"),gestureend:r("gestureend")}),t.enableSwipe?(o.events.bind("start",o._swipestart.bind(o)),o.events.bind("move",o._swipemove.bind(o))):(o.events.bind("start",o._dragstart.bind(o)),o.events.bind("move",a("drag")),o.events.bind("end",a("dragend"))),n.notify(o)},events:["touchstart","dragstart","drag","dragend","tap","doubletap","hold","swipe","gesturestart","gesturechange","gestureend"],options:{name:"Touch",surface:null,global:!1,fastTap:!1,filter:null,multiTouch:!1,enableSwipe:!1,minXDelta:30,maxYDelta:20,maxDuration:1e3,minHold:800,doubleTapTimeout:800},cancel:function(){this.events.cancel()},destroy:function(){i.fn.destroy.call(this),this.events.destroy()},_triggerTouch:function(e,t){this.trigger(e,{touch:t.touch,event:t.event})&&t.preventDefault()},_tap:function(e){var t=this,i=t.lastTap,o=e.touch;i&&o.endTime-i.endTime<t.options.doubleTapTimeout&&n.touchDelta(o,i).distance<20?(t._triggerTouch("doubletap",e),t.lastTap=null):(t._triggerTouch("tap",e),t.lastTap=o)},_dragstart:function(e){this._triggerTouch("dragstart",e)},_swipestart:function(e){2*o(e.x.velocity)>=o(e.y.velocity)&&e.sender.capture()},_swipemove:function(e){var t=this.options,n=e.touch,i=e.event.timeStamp-n.startTime,a=n.x.initialDelta>0?"right":"left";o(n.x.initialDelta)>=t.minXDelta&&o(n.y.initialDelta)<t.maxYDelta&&i<t.maxDuration&&(this.trigger("swipe",{direction:a,touch:e.touch}),n.cancel())}});n.ui.plugin(a)}(window.kendo.jQuery),kendo})); //# sourceMappingURL=kendo.touch.min.js.map