@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 4.39 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.DraggableCmnChunk={}))}(this,(function(e){var t=function(e,t){return function(n){return t(e(n))}},n=function(e,t,n){return e.addEventListener&&e.addEventListener(t,n)},o=function(e,t,n){return e&&e.removeEventListener&&e.removeEventListener(t,n)},i=function(){},r=function(e){return e.preventDefault()},u=/touch/;function s(e){return e.type.match(u)?{pageX:e.changedTouches[0].pageX,pageY:e.changedTouches[0].pageY,clientX:e.changedTouches[0].clientX,clientY:e.changedTouches[0].clientY,type:e.type,originalEvent:e,isTouch:!0}:{pageX:e.pageX,pageY:e.pageY,clientX:e.clientX,clientY:e.clientY,offsetX:e.offsetX,offsetY:e.offsetY,type:e.type,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,originalEvent:e}}var c=function(e){var u=this,c=e.press;void 0===c&&(c=i);var d=e.drag;void 0===d&&(d=i);var h=e.release;void 0===h&&(h=i);var p=e.mouseOnly;void 0===p&&(p=!1),this._pressHandler=t(s,c),this._dragHandler=t(s,d),this._releaseHandler=t(s,h),this._ignoreMouse=!1,this._mouseOnly=p,this._touchstart=function(e){1===e.touches.length&&u._pressHandler(e)},this._touchmove=function(e){1===e.touches.length&&u._dragHandler(e)},this._touchend=function(e){0===e.touches.length&&1===e.changedTouches.length&&(u._releaseHandler(e),u._ignoreMouse=!0,setTimeout(u._restoreMouse,2e3))},this._restoreMouse=function(){u._ignoreMouse=!1},this._mousedown=function(e){var t=e.which;t&&t>1||u._ignoreMouse||(n(u.document,"mousemove",u._mousemove),n(u.document,"mouseup",u._mouseup),u._pressHandler(e))},this._mousemove=function(e){u._dragHandler(e)},this._mouseup=function(e){o(u.document,"mousemove",u._mousemove),o(u.document,"mouseup",u._mouseup),u._releaseHandler(e)},this._pointerdown=function(e){e.isPrimary&&0===e.button&&(n(u.document,"pointermove",u._pointermove),n(u.document,"pointerup",u._pointerup),n(u.document,"pointercancel",u._pointerup),n(u.document,"contextmenu",r),u._pressHandler(e))},this._pointermove=function(e){e.isPrimary&&u._dragHandler(e)},this._pointerup=function(e){e.isPrimary&&(o(u.document,"pointermove",u._pointermove),o(u.document,"pointerup",u._pointerup),o(u.document,"pointercancel",u._pointerup),o(u.document,"contextmenu",r),u._releaseHandler(e))}},d={document:{configurable:!0}};c.supportPointerEvent=function(){return"undefined"!=typeof window&&window.PointerEvent},d.document.get=function(){return this._element?this._element.ownerDocument:document},c.prototype.cancelDrag=function(){o(this.document,"pointermove",this._pointermove),o(this.document,"pointerup",this._pointerup),o(this.document,"pointercancel",this._pointerup)},c.prototype.bindTo=function(e){e!==this._element&&(this._element&&this._unbindFromCurrent(),this._element=e,this._bindToCurrent())},c.prototype._bindToCurrent=function(){var e=this._element;this._usePointers()?n(e,"pointerdown",this._pointerdown):(n(e,"mousedown",this._mousedown),this._mouseOnly||(n(e,"touchstart",this._touchstart),n(e,"touchmove",this._touchmove),n(e,"touchend",this._touchend)))},c.prototype._unbindFromCurrent=function(){var e=this._element;if(this._usePointers())return o(e,"pointerdown",this._pointerdown),o(this.document,"pointermove",this._pointermove),o(this.document,"pointerup",this._pointerup),o(this.document,"contextmenu",r),void o(this.document,"pointercancel",this._pointerup);o(e,"mousedown",this._mousedown),this._mouseOnly||(o(e,"touchstart",this._touchstart),o(e,"touchmove",this._touchmove),o(e,"touchend",this._touchend))},c.prototype._usePointers=function(){return!this._mouseOnly&&c.supportPointerEvent()},c.prototype.update=function(e){var n=e.press;void 0===n&&(n=i);var o=e.drag;void 0===o&&(o=i);var r=e.release;void 0===r&&(r=i);var u=e.mouseOnly;void 0===u&&(u=!1),this._pressHandler=t(s,n),this._dragHandler=t(s,o),this._releaseHandler=t(s,r),this._mouseOnly=u},c.prototype.destroy=function(){this._unbindFromCurrent(),this._element=null},Object.defineProperties(c.prototype,d),c.default=c,e.D=c,e.__meta__={id:"draggable.cmn.chunk",name:"DraggableCmnChunk",category:"web",description:"A reusable outputed chunk of code",depends:[],hidden:!0,chunk:!0}}));
//# sourceMappingURL=kendo.draggable.cmn.chunk.min.js.map