UNPKG

virool-pivot

Version:

A web-based exploratory visualization UI for Druid.io

3 lines 25.6 kB
/*! drag-drop-webkit-mobile 2.0.0 | Copyright (c) 2015 Tim Ruffles | BSD 2 License */ var MobileDragAndDropPolyfill;!function(a){a.Initialize=function(a){c.Initialize(a)};var b,c=function(){function a(){}return a.Initialize=function(b){h.Merge(a.config,b);var c={};a.IsDragAndDropSupportedNatively(c)||(a.config.log("Applying mobile drag and drop polyfill."),window.document.addEventListener("touchstart",a.OnTouchstart))},a.IsDragAndDropSupportedNatively=function(b){return b.draggable="draggable"in window.document.documentElement,b.dragEvents="ondragstart"in window.document.documentElement,b.touchEvents="ontouchstart"in window.document.documentElement,b.mouseEventConstructor="MouseEvent"in window,b.dragEventConstructor="DragEvent"in window,b.customEventConstructor="CustomEvent"in window,b.isBlinkEngine=!!window.chrome||/chrome/i.test(navigator.userAgent),b.isGeckoEngine=/firefox/i.test(navigator.userAgent),b.userAgentNotSupportingNativeDnD=/iPad|iPhone|iPod|Android/.test(navigator.userAgent)||b.touchEvents&&b.isBlinkEngine,h.ForIn(b,function(b,c){a.config.log("feature '"+c+"' is '"+b+"'")}),b.userAgentNotSupportingNativeDnD===!1&&b.draggable&&b.dragEvents},a.OnTouchstart=function(c){if(a.config.log("global touchstart"),a.dragOperationActive)return void a.config.log("drag operation already active");var d=a.TryFindDraggableTarget(c,a.config);if(d){c.preventDefault(),a.dragOperationActive=!0;try{new e(a.config,d,c,a.DragOperationEnded)}catch(f){a.config.log(f),a.DragOperationEnded(c,b.CANCELLED)}}},a.TryFindDraggableTarget=function(a,b){var c=a.target;do if(c.draggable!==!1&&c.getAttribute&&"true"===c.getAttribute("draggable"))return c;while((c=c.parentNode)&&c!==window.document.body)},a.DragOperationEnded=function(c,d){if(a.dragOperationActive=!1,d===b.POTENTIAL){var e,f=c.target,g=f.tagName;switch(g){case"SELECT":e="mousedown";break;case"INPUT":case"TEXTAREA":f.focus();default:e="click"}a.config.log("No movement on draggable. Dispatching "+e+" on "+g+" ..");var i=h.CreateMouseEventFromTouch(f,c,e);f.dispatchEvent(i)}},a.dragOperationActive=!1,a.config={log:function(){},dragImageClass:null,iterationInterval:150,scrollThreshold:50,scrollVelocity:10,debug:!1},a}();!function(a){a[a.POTENTIAL=0]="POTENTIAL",a[a.STARTED=1]="STARTED",a[a.ENDED=2]="ENDED",a[a.CANCELLED=3]="CANCELLED"}(b||(b={}));var d,e=function(){function a(a,c,d,e){this.config=a,this.sourceNode=c,this.dragOperationEndedCb=e,this.doc=window.document,this.dragImage=null,this.transformStyleMixins={},this.currentHotspotCoordinates=null,this.immediateUserSelection=null,this.currentDropTarget=null,this.dragDataStore=null,this.dataTransfer=null,this.currentDragOperation="none",this.iterationLock=!1,this.intervalId=null,this.lastTouchEvent=null,this.initialDragTouchIdentifier=null,this.dragOperationState=b.POTENTIAL,a.log("setting up potential drag operation.."),this.touchMoveHandler=this.onTouchMove.bind(this),this.touchEndOrCancelHandler=this.onTouchEndOrCancel.bind(this),this.lastTouchEvent=d,this.initialDragTouchIdentifier=this.lastTouchEvent.changedTouches[0].identifier,document.addEventListener("touchmove",this.touchMoveHandler),document.addEventListener("touchend",this.touchEndOrCancelHandler),document.addEventListener("touchcancel",this.touchEndOrCancelHandler)}return a.prototype.setupDragAndDropOperation=function(){var a=this;return this.config.log("starting drag and drop operation"),this.dragOperationState=b.STARTED,this.dragDataStore=new g,this.dataTransfer=new f(this.dragDataStore),this.currentHotspotCoordinates={x:null,y:null},this.createDragImage(this.lastTouchEvent),this.dragstart(this.sourceNode)?(this.config.log("dragstart cancelled"),this.dragOperationState=b.CANCELLED,void this.cleanup()):(this.snapbackEndedCb=this.snapbackTransitionEnded.bind(this),void(this.intervalId=setInterval(function(){return a.iterationLock?void a.config.log("iteration skipped because previous iteration hast not yet finished."):(a.iterationLock=!0,a.dragAndDropProcessModelIteration(),void(a.iterationLock=!1))},this.config.iterationInterval)))},a.prototype.cleanup=function(){this.config.log("cleanup"),this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),document.removeEventListener("touchmove",this.touchMoveHandler),document.removeEventListener("touchend",this.touchEndOrCancelHandler),document.removeEventListener("touchcancel",this.touchEndOrCancelHandler),null!=this.dragImage&&(this.dragImage.parentNode.removeChild(this.dragImage),this.dragImage=null),this.currentHotspotCoordinates=null,this.dataTransfer=null,this.dragDataStore=null,this.immediateUserSelection=null,this.currentDropTarget=null,this.touchEndOrCancelHandler=null,this.touchMoveHandler=null,this.snapbackEndedCb=null,this.dragOperationEndedCb(this.lastTouchEvent,this.dragOperationState),this.lastTouchEvent=null},a.prototype.onTouchMove=function(c){if(h.IsTouchIdentifierContainedInTouchEvent(c,this.initialDragTouchIdentifier)!==!1){if(this.dragOperationState===b.POTENTIAL)return void this.setupDragAndDropOperation();c.preventDefault(),c.stopImmediatePropagation(),this.lastTouchEvent=c,h.SetCentroidCoordinatesOfTouchesInViewport(c,this.currentHotspotCoordinates),h.SetCentroidCoordinatesOfTouchesInPage(c,this.dragImagePageCoordinates),this.calculateViewportScrollFactor(this.currentHotspotCoordinates.x,this.currentHotspotCoordinates.y),a.HorizontalScrollEndReach(this.scrollIntention)===!1||a.VerticalScrollEndReach(this.scrollIntention)===!1?this.setupScrollAnimation():this.teardownScrollAnimation(),this.scrollAnimationFrameId||this.translateDragImage(this.dragImagePageCoordinates.x,this.dragImagePageCoordinates.y)}},a.prototype.onTouchEndOrCancel=function(a){if(h.IsTouchIdentifierContainedInTouchEvent(a,this.initialDragTouchIdentifier)!==!1){if(this.teardownScrollAnimation(),this.dragOperationState===b.POTENTIAL)return void this.cleanup();a.preventDefault(),a.stopImmediatePropagation(),this.lastTouchEvent=a,this.dragOperationState="touchcancel"===a.type?b.CANCELLED:b.ENDED}},a.prototype.calculateViewportScrollFactor=function(a,b){this.scrollIntention||(this.scrollIntention={}),a<this.config.scrollThreshold?this.scrollIntention.x=-1:this.doc.documentElement.clientWidth-a<this.config.scrollThreshold?this.scrollIntention.x=1:this.scrollIntention.x=0,b<this.config.scrollThreshold?this.scrollIntention.y=-1:this.doc.documentElement.clientHeight-b<this.config.scrollThreshold?this.scrollIntention.y=1:this.scrollIntention.y=0},a.prototype.setupScrollAnimation=function(){this.scrollAnimationFrameId||(this.config.log("setting up scroll animation"),this.scrollAnimationCb=this.performScroll.bind(this),this.scrollAnimationFrameId=window.requestAnimationFrame(this.scrollAnimationCb))},a.prototype.teardownScrollAnimation=function(){this.scrollAnimationFrameId&&(this.config.log("tearing down scroll animation"),window.cancelAnimationFrame(this.scrollAnimationFrameId),this.scrollAnimationFrameId=null,this.scrollAnimationCb=null)},a.prototype.performScroll=function(b){if(this.scrollAnimationCb&&this.scrollAnimationFrameId){var c=a.HorizontalScrollEndReach(this.scrollIntention),d=a.VerticalScrollEndReach(this.scrollIntention);if(c&&d)return this.config.log("scroll end reached"),void this.teardownScrollAnimation();if(!c){var e=this.scrollIntention.x*this.config.scrollVelocity;a.GetSetHorizontalScroll(this.doc,e),this.dragImagePageCoordinates.x+=e}if(!d){var f=this.scrollIntention.y*this.config.scrollVelocity;a.GetSetVerticalScroll(this.doc,f),this.dragImagePageCoordinates.y+=f}this.translateDragImage(this.dragImagePageCoordinates.x,this.dragImagePageCoordinates.y),this.scrollAnimationFrameId=window.requestAnimationFrame(this.scrollAnimationCb)}},a.GetSetHorizontalScroll=function(a,b){return 1===arguments.length?a.documentElement.scrollLeft||a.body.scrollLeft:(a.documentElement.scrollLeft+=b,void(a.body.scrollLeft+=b))},a.GetSetVerticalScroll=function(a,b){return 1===arguments.length?a.documentElement.scrollTop||a.body.scrollTop:(a.documentElement.scrollTop+=b,void(a.body.scrollTop+=b))},a.HorizontalScrollEndReach=function(b){var c=a.GetSetHorizontalScroll(document);if(b.x>0){var d=document.documentElement.scrollWidth||document.body.scrollWidth;return c+document.documentElement.clientWidth>=d}return b.x<0?0>=c:!0},a.VerticalScrollEndReach=function(b){var c=a.GetSetVerticalScroll(document);if(b.y>0){var d=document.documentElement.scrollHeight||document.body.scrollHeight;return c+document.documentElement.clientHeight>=d}return b.y<0?0>=c:!0},a.PrepareNodeCopyAsDragImage=function(b,c){if(1===b.nodeType){c.removeAttribute("id"),c.removeAttribute("class"),c.removeAttribute("style"),c.removeAttribute("draggable");for(var d=window.getComputedStyle(b),e=0;e<d.length;e++){var f=d[e];c.style.setProperty(f,d.getPropertyValue(f),d.getPropertyPriority(f))}c.style["pointer-events"]="none"}if(b.hasChildNodes())for(var e=0;e<b.childNodes.length;e++)a.PrepareNodeCopyAsDragImage(b.childNodes[e],c.childNodes[e])},a.prototype.createDragImage=function(b){var c=this;this.dragImage=this.sourceNode.cloneNode(!0),a.PrepareNodeCopyAsDragImage(this.sourceNode,this.dragImage),this.dragImage.style.position="absolute",this.dragImage.style.left="0px",this.dragImage.style.top="0px",this.dragImage.style["z-index"]="999999",a.transform_css_vendor_prefixes.forEach(function(b){var d=b+"transform",e=c.dragImage.style[d];"undefined"!=typeof e&&("none"!==e?c.transformStyleMixins[d]=e.replace(a.transform_css_regex,""):c.transformStyleMixins[d]="")}),this.dragImage.classList.add(a.class_drag_image),this.dragImage.classList.add(a.class_drag_operation_icon),this.config.dragImageClass&&this.dragImage.classList.add(this.config.dragImageClass),this.dragImagePageCoordinates={x:null,y:null},h.SetCentroidCoordinatesOfTouchesInPage(b,this.dragImagePageCoordinates),this.translateDragImage(this.dragImagePageCoordinates.x,this.dragImagePageCoordinates.y),this.doc.body.appendChild(this.dragImage)},a.prototype.translateDragImage=function(a,b,c){var d=this;void 0===c&&(c=!0),c&&(a-=parseInt(this.dragImage.offsetWidth,10)/2,b-=parseInt(this.dragImage.offsetHeight,10)/2);var e=" translate3d("+a+"px,"+b+"px, 0)";h.ForIn(this.transformStyleMixins,function(a,b){d.dragImage.style[b]=a+e})},a.prototype.snapbackDragImage=function(){var b=this.sourceNode,c=window.getComputedStyle(b,null).getPropertyValue("visibility"),d=window.getComputedStyle(b,null).getPropertyValue("display");if("hidden"===c||"none"===d)return this.config.log("source node is not visible. skipping snapback transition."),void this.snapbackTransitionEnded();this.config.log("starting dragimage snap back"),this.dragImage.addEventListener("transitionend",this.snapbackEndedCb),this.dragImage.addEventListener("webkitTransitionEnd",this.snapbackEndedCb),this.dragImage.classList.add(a.class_drag_image_snapback);var e,f,g=b.getBoundingClientRect(),h=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,i=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;f=g.top+h,e=g.left+i;var j=window.getComputedStyle(this.sourceNode,null),k=parseInt(j.getPropertyValue("padding-left"),10),l=parseInt(j.getPropertyValue("padding-top"),10);e-=k,f-=l,this.translateDragImage(e,f,!1)},a.prototype.snapbackTransitionEnded=function(){this.config.log("dragimage snap back transition ended"),this.dragImage.removeEventListener("transitionend",this.snapbackEndedCb),this.dragImage.removeEventListener("webkitTransitionEnd",this.snapbackEndedCb),this.dragend(this.sourceNode),this.dragOperationState=b.ENDED,this.cleanup()},a.prototype.dragAndDropProcessModelIteration=function(){var c=this.drag(this.sourceNode);if(c&&(this.config.log("drag event cancelled."),this.currentDragOperation="none"),c||this.dragOperationState===b.ENDED||this.dragOperationState===b.CANCELLED){var d=this.DragOperationEnded(this.dragOperationState);return d?void this.snapbackDragImage():(this.dragend(this.sourceNode),this.dragOperationState=b.ENDED,void this.cleanup())}var e=this.doc.elementFromPoint(this.currentHotspotCoordinates.x,this.currentHotspotCoordinates.y),g=this.currentDropTarget;if(e!==this.immediateUserSelection&&e!==this.currentDropTarget)if(this.config.debug&&this.immediateUserSelection&&this.immediateUserSelection.classList.remove(a.debug_class_user_selection),this.immediateUserSelection=e,this.config.debug&&this.immediateUserSelection&&(this.immediateUserSelection.classList.add(a.debug_class),this.immediateUserSelection.classList.add(a.debug_class_user_selection)),null!==this.currentDropTarget&&this.dragexit(this.currentDropTarget),null===this.immediateUserSelection)this.currentDropTarget=this.immediateUserSelection,this.config.log("current drop target changed to null");else if(this.dragenter(this.immediateUserSelection))this.config.log("dragenter default prevented"),this.currentDropTarget=this.immediateUserSelection,this.currentDragOperation=a.DetermineDragOperation(this.dataTransfer);else{this.config.log("dragenter not prevented, searching for dropzone..");var i=a.FindDropzoneElement(this.immediateUserSelection);i===this.immediateUserSelection&&"none"!==a.GetOperationForMatchingDropzone(this.immediateUserSelection,this.dragDataStore)?this.currentDropTarget=this.immediateUserSelection:null!==i&&a.GetOperationForMatchingDropzone(i,this.dragDataStore)?(this.dragenter(i,this.currentDropTarget),this.currentDropTarget=i):this.immediateUserSelection===this.doc.body||(this.currentDropTarget=this.doc.body)}g!==this.currentDropTarget&&h.IsDOMElement(g)&&(this.config.debug&&g.classList.remove(a.debug_class_drop_target),this.config.log("current drop target changed."),this.dragleave(g,this.currentDropTarget)),h.IsDOMElement(this.currentDropTarget)&&(this.config.debug&&(this.currentDropTarget.classList.add(a.debug_class),this.currentDropTarget.classList.add(a.debug_class_drop_target)),this.dragover(this.currentDropTarget)===!1?(this.config.log("dragover not prevented. checking for dom element with dropzone-attr"),this.currentDragOperation=a.GetOperationForMatchingDropzone(this.currentDropTarget,this.dragDataStore)):(this.config.log("dragover prevented -> valid drop target?"),this.currentDragOperation=a.DetermineDragOperation(this.dataTransfer),this.config.log("current drag operation after dragover: "+this.currentDragOperation))),this.config.log("d'n'd iteration ended. current drag operation: "+this.currentDragOperation);for(var j=0;j<f.DropEffects.length;j++)this.dragImage.classList.remove(a.class_prefix+f.DropEffects[j]);this.dragImage.classList.add(a.class_prefix+this.currentDragOperation)},a.prototype.DragOperationEnded=function(c){this.config.log("drag operation end detected. state: "+b[c]),this.config.debug&&this.currentDropTarget&&this.currentDropTarget.classList.remove(a.debug_class_drop_target),this.config.debug&&this.immediateUserSelection&&this.immediateUserSelection.classList.remove(a.debug_class_user_selection);var d="none"===this.currentDragOperation||null===this.currentDropTarget||c===b.CANCELLED;return d?h.IsDOMElement(this.currentDropTarget)&&this.dragleave(this.currentDropTarget):h.IsDOMElement(this.currentDropTarget)&&(this.drop(this.currentDropTarget)===!0?this.currentDragOperation=this.dataTransfer.dropEffect:this.currentDragOperation="none"),d},a.DetermineDragOperation=function(a){if("uninitialized"===a.effectAllowed||"all"===a.effectAllowed)return a.dropEffect;if("copy"===a.dropEffect){if(0===a.effectAllowed.indexOf("copy"))return"copy"}else if("link"===a.dropEffect){if(0===a.effectAllowed.indexOf("link")||a.effectAllowed.indexOf("Link")>-1)return"link"}else if("move"===a.dropEffect&&(0===a.effectAllowed.indexOf("move")||a.effectAllowed.indexOf("Move")>-1))return"move";return"none"},a.DetermineDropEffect=function(a,b){return"none"===a?"none":0===a.indexOf("copy")||"all"===a?"copy":0===a.indexOf("link")?"link":"move"===a?"move":"uninitialized"===a&&3===b.nodeType&&"A"===b.tagName?"link":"copy"},a.FindDropzoneElement=function(b){return b&&b.hasAttribute&&"function"==typeof b.hasAttribute?b.hasAttribute("dropzone")?b:b===window.document.body?null:a.FindDropzoneElement(b.parentElement):null},a.GetOperationForMatchingDropzone=function(a,b){var c=a.getAttribute("dropzone");if(!c)return"none";for(var d,e=!1,f=c.split(" "),g=0;g<f.length;g++){var h=f[g];if("copy"!==h&&"move"!==h&&"link"!==h){if(!(h.length<3||":"!==h[1])){var i=h.split(":"),j=(i[0].toLowerCase(),i[1].toLowerCase());b.types.indexOf(j)>-1&&(e=!0)}}else d||(d=h)}return e?d?d:"copy":"none"},a.prototype.dragstart=function(b){this.config.log("dragstart"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target)),this.dragDataStore.mode=d.READWRITE,this.dataTransfer.dropEffect="none";var c=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"dragstart",!0,this.doc.defaultView,this.dataTransfer,null),e=!b.dispatchEvent(c);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&b.classList.remove(a.debug_class_event_target),e},a.prototype.drag=function(b){this.config.log("drag"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target)),this.dragDataStore.mode=d.PROTECTED,this.dataTransfer.dropEffect="none";var c=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"drag",!0,this.doc.defaultView,this.dataTransfer,null),e=!b.dispatchEvent(c);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&b.classList.remove(a.debug_class_event_target),e},a.prototype.dragenter=function(b,c){void 0===c&&(c=null),this.config.log("dragenter"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target),c&&c.classList.add(a.debug_class_event_related_target)),this.dragDataStore.mode=d.PROTECTED,this.dataTransfer.dropEffect=a.DetermineDropEffect(this.dragDataStore.effectAllowed,this.sourceNode);var e=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"dragenter",!0,this.doc.defaultView,this.dataTransfer,c),f=!b.dispatchEvent(e);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&(b.classList.remove(a.debug_class_event_target),c&&c.classList.remove(a.debug_class_event_related_target)),f},a.prototype.dragover=function(b){this.config.log("dragover"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target)),this.dragDataStore.mode=d.PROTECTED,this.dataTransfer.dropEffect=a.DetermineDropEffect(this.dragDataStore.effectAllowed,this.sourceNode);var c=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"dragover",!0,this.doc.defaultView,this.dataTransfer,null),e=!b.dispatchEvent(c);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&b.classList.remove(a.debug_class_event_target),e},a.prototype.dragexit=function(b){this.config.log("dragexit"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target)),this.dragDataStore.mode=d.PROTECTED,this.dataTransfer.dropEffect="none";var c=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"dragexit",!1,this.doc.defaultView,this.dataTransfer,null),e=!b.dispatchEvent(c);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&b.classList.remove(a.debug_class_event_target),e},a.prototype.dragleave=function(b,c){void 0===c&&(c=null),this.config.log("dragleave"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target),c&&(c.classList.add(a.debug_class),c.classList.add(a.debug_class_event_related_target))),this.dragDataStore.mode=d.PROTECTED,this.dataTransfer.dropEffect="none";var e=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"dragleave",!1,this.doc.defaultView,this.dataTransfer,c),f=!b.dispatchEvent(e);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&(b.classList.remove(a.debug_class_event_target),c&&c.classList.remove(a.debug_class_event_related_target)),f},a.prototype.dragend=function(b){this.config.log("dragend"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target)),this.dragDataStore.mode=d.PROTECTED,this.dataTransfer.dropEffect=this.currentDragOperation;var c=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"dragend",!1,this.doc.defaultView,this.dataTransfer,null),e=!b.dispatchEvent(c);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&b.classList.remove(a.debug_class_event_target),e},a.prototype.drop=function(b){this.config.log("drop"),this.config.debug&&(b.classList.add(a.debug_class),b.classList.add(a.debug_class_event_target)),this.dragDataStore.mode=d.READONLY,this.dataTransfer.dropEffect=this.currentDragOperation;var c=h.CreateDragEventFromTouch(b,this.lastTouchEvent,"drop",!1,this.doc.defaultView,this.dataTransfer,null),e=!b.dispatchEvent(c);return this.dragDataStore.mode=d._DISCONNECTED,this.config.debug&&b.classList.remove(a.debug_class_event_target),e},a.class_prefix="dnd-poly-",a.class_drag_image=a.class_prefix+"drag-image",a.class_drag_image_snapback=a.class_prefix+"snapback",a.class_drag_operation_icon=a.class_prefix+"icon",a.debug_class=a.class_prefix+"debug",a.debug_class_user_selection=a.class_prefix+"immediate-user-selection",a.debug_class_drop_target=a.class_prefix+"current-drop-target",a.debug_class_event_target=a.class_prefix+"event-target",a.debug_class_event_related_target=a.class_prefix+"event-related-target",a.transform_css_vendor_prefixes=["","-webkit-"],a.transform_css_regex=/translate\(\D*\d+[^,]*,\D*\d+[^,]*\)\s*/g,a}(),f=function(){function a(a){this.dataStore=a,this._dropEffect="none"}return Object.defineProperty(a.prototype,"files",{get:function(){return this.dataStore.mode===d._DISCONNECTED,null},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"items",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"types",{get:function(){return this.dataStore.mode===d._DISCONNECTED?null:Object.freeze(this.dataStore.types)},enumerable:!0,configurable:!0}),a.prototype.setData=function(a,b){if(this.dataStore.mode!==d._DISCONNECTED&&this.dataStore.mode===d.READWRITE){if(a.indexOf(" ")>-1)throw new Error("Space character not allowed in drag data item type string");this.dataStore.data[a]=b;var c=this.dataStore.types.indexOf(a);-1===c&&this.dataStore.types.push(a)}},a.prototype.getData=function(a){return this.dataStore.mode===d._DISCONNECTED?null:this.dataStore.mode===d.PROTECTED?null:this.dataStore.data[a]||""},a.prototype.clearData=function(a){if(this.dataStore.mode!==d._DISCONNECTED){if(a&&this.dataStore.data[a]){delete this.dataStore.data[a];var b=this.dataStore.types.indexOf(a);return void(b>-1&&this.dataStore.types.splice(b,1))}this.dataStore.data={},this.dataStore.types=[]}},a.prototype.setDragImage=function(a,b,c){return this.dataStore.mode===d._DISCONNECTED?null:void 0},Object.defineProperty(a.prototype,"effectAllowed",{get:function(){return this.dataStore.effectAllowed},set:function(b){this.dataStore.mode!==d._DISCONNECTED&&-1!==a.AllowedEffects.indexOf(b)&&(this.dataStore.effectAllowed=b)},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"dropEffect",{get:function(){return this._dropEffect},set:function(b){this.dataStore.mode!==d._DISCONNECTED&&-1!==a.DropEffects.indexOf(b)&&(this._dropEffect=b)},enumerable:!0,configurable:!0}),a.AllowedEffects=["none","copy","copyLink","copyMove","link","linkMove","move","all"],a.DropEffects=["none","copy","move","link"],a}();!function(a){a[a._DISCONNECTED=0]="_DISCONNECTED",a[a.READONLY=1]="READONLY",a[a.READWRITE=2]="READWRITE",a[a.PROTECTED=3]="PROTECTED"}(d||(d={}));var g=function(){function a(){this.mode=d.PROTECTED,this.data={},this.types=[],this.effectAllowed="uninitialized"}return a}(),h=function(){function a(){}return a.ForIn=function(a,b){for(var c in a)a.hasOwnProperty(c)!==!1&&b(a[c],c)},a.Merge=function(a,b){if(b)for(var c in b)b.hasOwnProperty(c)!==!1&&(a[c]=b[c])},a.Average=function(a){return 0===a.length?0:a.reduce(function(a,b){return b+a},0)/a.length},a.IsDOMElement=function(a){return a&&a.tagName},a.IsTouchIdentifierContainedInTouchEvent=function(a,b){for(var c=0;c<a.changedTouches.length;c++){var d=a.changedTouches[c];if(d.identifier===b)return!0}return!1},a.GetTouchContainedInTouchEventByIdentifier=function(a,b){for(var c=0;c<a.changedTouches.length;c++){var d=a.changedTouches[c];if(d.identifier===b)return d}return null},a.CreateMouseEventFromTouch=function(a,b,c,d,e,f){void 0===d&&(d=!0),void 0===e&&(e=document.defaultView),void 0===f&&(f=null);var g=document.createEvent("MouseEvents"),h=b.changedTouches[0];g.initMouseEvent(c,!0,d,e,1,h.screenX,h.screenY,h.clientX,h.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,0,f);var i=a.getBoundingClientRect();return g.offsetX=g.clientX-i.left,g.offsetY=g.clientY-i.top,g},a.CreateDragEventFromTouch=function(a,b,c,d,e,f,g){void 0===g&&(g=null);var h=b.changedTouches[0],i=document.createEvent("Event");i.initEvent(c,!0,d),i.dataTransfer=f,i.relatedTarget=g,i.screenX=h.screenX,i.screenY=h.screenY,i.clientX=h.clientX,i.clientY=h.clientY;var j=a.getBoundingClientRect();return i.offsetX=i.clientX-j.left,i.offsetY=i.clientY-j.top,i},a.ElementFromTouch=function(a,b){var c=a.elementFromPoint(b.clientX,b.clientY);return c},a.SetCentroidCoordinatesOfTouchesInPage=function(b,c){var d=[],e=[];[].forEach.call(b.touches,function(a){d.push(a.pageX),e.push(a.pageY)}),c.x=a.Average(d),c.y=a.Average(e)},a.SetCentroidCoordinatesOfTouchesInViewport=function(b,c){var d=[],e=[];[].forEach.call(b.touches,function(a){d.push(a.clientX),e.push(a.clientY)}),c.x=a.Average(d),c.y=a.Average(e)},a}()}(MobileDragAndDropPolyfill||(MobileDragAndDropPolyfill={})); //# sourceMappingURL=mobile-drag-and-drop-polyfill.min.map