@antv/g-plugin-dragndrop
Advanced tools
Comparing version 1.0.5 to 1.1.0
@@ -423,3 +423,6 @@ import { Syringe, inject, SceneGraphService, RenderingContext, singleton, RenderingPluginContribution, Module } from '@antv/g'; | ||
overlap = _this$dragndropPlugin.overlap, | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable; | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable, | ||
isDocumentDroppable = _this$dragndropPlugin.isDocumentDroppable, | ||
dragstartDistanceThreshold = _this$dragndropPlugin.dragstartDistanceThreshold, | ||
dragstartTimeThreshold = _this$dragndropPlugin.dragstartTimeThreshold; | ||
@@ -434,3 +437,3 @@ var handlePointerdown = function handlePointerdown(event) { | ||
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) { | ||
var pointerEventsOldValue, point, elemBelow, droppableBelow; | ||
var timeElapsed, distanceMoved, pointerEventsOldValue, point, elemBelow, droppableBelow; | ||
return _regeneratorRuntime().wrap(function _callee$(_context) { | ||
@@ -440,2 +443,24 @@ while (1) { | ||
case 0: | ||
if (dragstartTriggered) { | ||
_context.next = 8; | ||
break; | ||
} | ||
timeElapsed = event.timeStamp - dragstartTimeStamp; | ||
distanceMoved = Math.sqrt(Math.pow(event.canvasX - dragstartCanvasCoordinates[0], 2) + Math.pow(event.canvasY - dragstartCanvasCoordinates[1], 2)); // check thresholds | ||
if (!(timeElapsed <= dragstartTimeThreshold || distanceMoved <= dragstartDistanceThreshold)) { | ||
_context.next = 5; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 5: | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragstart_event | ||
event.type = 'dragstart'; | ||
target.dispatchEvent(event); | ||
dragstartTriggered = true; | ||
case 8: | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drag_event | ||
@@ -446,3 +471,3 @@ event.type = 'drag'; | ||
if (isDocument) { | ||
_context.next = 12; | ||
_context.next = 20; | ||
break; | ||
@@ -455,9 +480,9 @@ } | ||
point = overlap === 'pointer' ? [event.canvasX, event.canvasY] : target.getBounds().center; | ||
_context.next = 8; | ||
_context.next = 16; | ||
return document.elementFromPoint(point[0], point[1]); | ||
case 8: | ||
case 16: | ||
elemBelow = _context.sent; | ||
target.style.pointerEvents = pointerEventsOldValue; | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || null; | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || (isDocumentDroppable ? document : null); | ||
@@ -491,3 +516,3 @@ if (currentDroppable !== droppableBelow) { | ||
case 12: | ||
case 20: | ||
case "end": | ||
@@ -505,24 +530,35 @@ return _context.stop(); | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragstart_event | ||
event.type = 'dragstart'; | ||
target.dispatchEvent(event); | ||
// delay triggering dragstart event | ||
var dragstartTriggered = false; | ||
var dragstartTimeStamp = event.timeStamp; | ||
var dragstartCanvasCoordinates = [event.canvasX, event.canvasY]; | ||
var currentDroppable = null; | ||
canvas.addEventListener('pointermove', onMouseMove); | ||
target.addEventListener('pointerup', function () { | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
event.type = 'drop'; | ||
event.target = currentDroppable; | ||
currentDroppable.dispatchEvent(event); | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
var stopDragging = function stopDragging() { | ||
if (dragstartTriggered) { | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
event.type = 'drop'; | ||
event.target = currentDroppable; | ||
currentDroppable.dispatchEvent(event); | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
dragstartTriggered = false; | ||
} | ||
canvas.removeEventListener('pointermove', onMouseMove); | ||
}, { | ||
}; | ||
target.addEventListener('pointerup', stopDragging, { | ||
once: true | ||
}); | ||
target.addEventListener('pointerupoutside', stopDragging, { | ||
once: true | ||
}); | ||
} | ||
@@ -583,3 +619,6 @@ }; | ||
overlap: 'pointer', | ||
isDocumentDraggable: false | ||
isDocumentDraggable: false, | ||
isDocumentDroppable: false, | ||
dragstartDistanceThreshold: 0, | ||
dragstartTimeThreshold: 0 | ||
}, this.options) | ||
@@ -586,0 +625,0 @@ }); |
@@ -427,3 +427,6 @@ 'use strict'; | ||
overlap = _this$dragndropPlugin.overlap, | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable; | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable, | ||
isDocumentDroppable = _this$dragndropPlugin.isDocumentDroppable, | ||
dragstartDistanceThreshold = _this$dragndropPlugin.dragstartDistanceThreshold, | ||
dragstartTimeThreshold = _this$dragndropPlugin.dragstartTimeThreshold; | ||
@@ -438,3 +441,3 @@ var handlePointerdown = function handlePointerdown(event) { | ||
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) { | ||
var pointerEventsOldValue, point, elemBelow, droppableBelow; | ||
var timeElapsed, distanceMoved, pointerEventsOldValue, point, elemBelow, droppableBelow; | ||
return _regeneratorRuntime().wrap(function _callee$(_context) { | ||
@@ -444,2 +447,24 @@ while (1) { | ||
case 0: | ||
if (dragstartTriggered) { | ||
_context.next = 8; | ||
break; | ||
} | ||
timeElapsed = event.timeStamp - dragstartTimeStamp; | ||
distanceMoved = Math.sqrt(Math.pow(event.canvasX - dragstartCanvasCoordinates[0], 2) + Math.pow(event.canvasY - dragstartCanvasCoordinates[1], 2)); // check thresholds | ||
if (!(timeElapsed <= dragstartTimeThreshold || distanceMoved <= dragstartDistanceThreshold)) { | ||
_context.next = 5; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 5: | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragstart_event | ||
event.type = 'dragstart'; | ||
target.dispatchEvent(event); | ||
dragstartTriggered = true; | ||
case 8: | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drag_event | ||
@@ -450,3 +475,3 @@ event.type = 'drag'; | ||
if (isDocument) { | ||
_context.next = 12; | ||
_context.next = 20; | ||
break; | ||
@@ -459,9 +484,9 @@ } | ||
point = overlap === 'pointer' ? [event.canvasX, event.canvasY] : target.getBounds().center; | ||
_context.next = 8; | ||
_context.next = 16; | ||
return document.elementFromPoint(point[0], point[1]); | ||
case 8: | ||
case 16: | ||
elemBelow = _context.sent; | ||
target.style.pointerEvents = pointerEventsOldValue; | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || null; | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || (isDocumentDroppable ? document : null); | ||
@@ -495,3 +520,3 @@ if (currentDroppable !== droppableBelow) { | ||
case 12: | ||
case 20: | ||
case "end": | ||
@@ -509,24 +534,35 @@ return _context.stop(); | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragstart_event | ||
event.type = 'dragstart'; | ||
target.dispatchEvent(event); | ||
// delay triggering dragstart event | ||
var dragstartTriggered = false; | ||
var dragstartTimeStamp = event.timeStamp; | ||
var dragstartCanvasCoordinates = [event.canvasX, event.canvasY]; | ||
var currentDroppable = null; | ||
canvas.addEventListener('pointermove', onMouseMove); | ||
target.addEventListener('pointerup', function () { | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
event.type = 'drop'; | ||
event.target = currentDroppable; | ||
currentDroppable.dispatchEvent(event); | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
var stopDragging = function stopDragging() { | ||
if (dragstartTriggered) { | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
event.type = 'drop'; | ||
event.target = currentDroppable; | ||
currentDroppable.dispatchEvent(event); | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
dragstartTriggered = false; | ||
} | ||
canvas.removeEventListener('pointermove', onMouseMove); | ||
}, { | ||
}; | ||
target.addEventListener('pointerup', stopDragging, { | ||
once: true | ||
}); | ||
target.addEventListener('pointerupoutside', stopDragging, { | ||
once: true | ||
}); | ||
} | ||
@@ -587,3 +623,6 @@ }; | ||
overlap: 'pointer', | ||
isDocumentDraggable: false | ||
isDocumentDraggable: false, | ||
isDocumentDroppable: false, | ||
dragstartDistanceThreshold: 0, | ||
dragstartTimeThreshold: 0 | ||
}, this.options) | ||
@@ -590,0 +629,0 @@ }); |
@@ -452,3 +452,6 @@ (function (global, factory) { | ||
overlap = _this$dragndropPlugin.overlap, | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable; | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable, | ||
isDocumentDroppable = _this$dragndropPlugin.isDocumentDroppable, | ||
dragstartDistanceThreshold = _this$dragndropPlugin.dragstartDistanceThreshold, | ||
dragstartTimeThreshold = _this$dragndropPlugin.dragstartTimeThreshold; | ||
@@ -463,3 +466,3 @@ var handlePointerdown = function handlePointerdown(event) { | ||
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) { | ||
var pointerEventsOldValue, point, elemBelow, droppableBelow; | ||
var timeElapsed, distanceMoved, pointerEventsOldValue, point, elemBelow, droppableBelow; | ||
return _regeneratorRuntime().wrap(function _callee$(_context) { | ||
@@ -469,2 +472,24 @@ while (1) { | ||
case 0: | ||
if (dragstartTriggered) { | ||
_context.next = 8; | ||
break; | ||
} | ||
timeElapsed = event.timeStamp - dragstartTimeStamp; | ||
distanceMoved = Math.sqrt(Math.pow(event.canvasX - dragstartCanvasCoordinates[0], 2) + Math.pow(event.canvasY - dragstartCanvasCoordinates[1], 2)); // check thresholds | ||
if (!(timeElapsed <= dragstartTimeThreshold || distanceMoved <= dragstartDistanceThreshold)) { | ||
_context.next = 5; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 5: | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragstart_event | ||
event.type = 'dragstart'; | ||
target.dispatchEvent(event); | ||
dragstartTriggered = true; | ||
case 8: | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drag_event | ||
@@ -475,3 +500,3 @@ event.type = 'drag'; | ||
if (isDocument) { | ||
_context.next = 12; | ||
_context.next = 20; | ||
break; | ||
@@ -484,9 +509,9 @@ } | ||
point = overlap === 'pointer' ? [event.canvasX, event.canvasY] : target.getBounds().center; | ||
_context.next = 8; | ||
_context.next = 16; | ||
return document.elementFromPoint(point[0], point[1]); | ||
case 8: | ||
case 16: | ||
elemBelow = _context.sent; | ||
target.style.pointerEvents = pointerEventsOldValue; | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || null; | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || (isDocumentDroppable ? document : null); | ||
@@ -520,3 +545,3 @@ if (currentDroppable !== droppableBelow) { | ||
case 12: | ||
case 20: | ||
case "end": | ||
@@ -534,24 +559,35 @@ return _context.stop(); | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragstart_event | ||
event.type = 'dragstart'; | ||
target.dispatchEvent(event); | ||
// delay triggering dragstart event | ||
var dragstartTriggered = false; | ||
var dragstartTimeStamp = event.timeStamp; | ||
var dragstartCanvasCoordinates = [event.canvasX, event.canvasY]; | ||
var currentDroppable = null; | ||
canvas.addEventListener('pointermove', onMouseMove); | ||
target.addEventListener('pointerup', function () { | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
event.type = 'drop'; | ||
event.target = currentDroppable; | ||
currentDroppable.dispatchEvent(event); | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
var stopDragging = function stopDragging() { | ||
if (dragstartTriggered) { | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
event.type = 'drop'; | ||
event.target = currentDroppable; | ||
currentDroppable.dispatchEvent(event); | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
dragstartTriggered = false; | ||
} | ||
canvas.removeEventListener('pointermove', onMouseMove); | ||
}, { | ||
}; | ||
target.addEventListener('pointerup', stopDragging, { | ||
once: true | ||
}); | ||
target.addEventListener('pointerupoutside', stopDragging, { | ||
once: true | ||
}); | ||
} | ||
@@ -612,3 +648,6 @@ }; | ||
overlap: 'pointer', | ||
isDocumentDraggable: false | ||
isDocumentDraggable: false, | ||
isDocumentDroppable: false, | ||
dragstartDistanceThreshold: 0, | ||
dragstartTimeThreshold: 0 | ||
}, this.options) | ||
@@ -615,0 +654,0 @@ }); |
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@antv/g")):"function"==typeof define&&define.amd?define(["exports","@antv/g"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).G=t.G||{},t.G.Dragndrop={}),t.window.G)}(this,(function(t,e){"use strict";function r(){ | ||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ | ||
r=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=Object.create((e&&e.prototype instanceof l?e:l).prototype),i=new O(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===p)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,i),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var p={};function l(){}function h(){}function d(){}var v={};u(v,i,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(j([])));g&&g!==e&&n.call(g,i)&&(v=g);var m=d.prototype=l.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,p=s.value;return p&&"object"==typeof p&&n.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(p).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function x(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=f(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function j(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return h.prototype=d,u(m,"constructor",d),u(d,"constructor",h),h.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},w(b.prototype),u(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new b(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(m),u(m,c,"Generator"),u(m,i,(function(){return this})),u(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=j,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(L),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(this.prev>=i.tryLoc){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(i.catchLoc>this.prev)return r(i.catchLoc,!0);if(i.finallyLoc>this.prev)return r(i.finallyLoc)}else if(c){if(i.catchLoc>this.prev)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(i.finallyLoc>this.prev)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(this.prev>=o.tryLoc&&n.call(o,"finallyLoc")&&o.finallyLoc>this.prev){var i=o;break}}i&&("break"===t||"continue"===t)&&e>=i.tryLoc&&i.finallyLoc>=e&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function n(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function c(t){n(a,o,i,c,u,"next",t)}function u(t){n(a,o,i,c,u,"throw",t)}c(void 0)}))}}function i(){return i=Object.assign||function(t){for(var e=1;arguments.length>e;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},i.apply(this,arguments)}function a(t,e,r,n){var o,i=arguments.length,a=3>i?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,n);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(a=(3>i?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function c(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var u,s,f=e.Syringe.defineToken("DragndropPluginOptions"),p=(u=function(){function t(){this.sceneGraphService=void 0,this.renderingContext=void 0,this.dragndropPluginOptions=void 0}return t.prototype.apply=function(t){var e=this.renderingContext.root.ownerDocument,n=e.defaultView,i=this.dragndropPluginOptions,a=i.overlap,c=i.isDocumentDraggable,u=function(t){var i=t.target,u=i===e;if(u&&c||i.getAttribute&&i.getAttribute("draggable")){var s=function(){var t=o(r().mark((function t(n){var o,c,s,p;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.type="drag",i.dispatchEvent(n),u){t.next=12;break}return o=i.style.pointerEvents,i.style.pointerEvents="none",c="pointer"===a?[n.canvasX,n.canvasY]:i.getBounds().center,t.next=8,e.elementFromPoint(c[0],c[1]);case 8:s=t.sent,i.style.pointerEvents=o,p=(null==s?void 0:s.closest("[droppable=true]"))||null,f!==p&&(f&&(n.type="dragleave",n.target=f,f.dispatchEvent(n)),p&&(n.type="dragenter",n.target=p,p.dispatchEvent(n)),(f=p)&&(n.type="dragover",n.target=f,f.dispatchEvent(n)));case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();t.type="dragstart",i.dispatchEvent(t);var f=null;n.addEventListener("pointermove",s),i.addEventListener("pointerup",(function(){f&&(t.type="drop",t.target=f,f.dispatchEvent(t)),t.type="dragend",i.dispatchEvent(t),n.removeEventListener("pointermove",s)}),{once:!0})}};t.hooks.init.tapPromise(s.tag,o(r().mark((function t(){return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n.addEventListener("pointerdown",u);case 1:case"end":return t.stop()}}),t)})))),t.hooks.destroy.tap(s.tag,(function(){n.removeEventListener("pointerdown",u)}))},t}(),u.tag="Dragndrop",s=u);a([e.inject(e.SceneGraphService),c("design:type",Object)],p.prototype,"sceneGraphService",void 0),a([e.inject(e.RenderingContext),c("design:type",Object)],p.prototype,"renderingContext",void 0),a([e.inject(f),c("design:type",Object)],p.prototype,"dragndropPluginOptions",void 0),p=s=a([e.singleton({contrib:e.RenderingPluginContribution})],p);var l=e.Module((function(t){t(p)}));t.Plugin=function(){function t(t){void 0===t&&(t={}),this.options=void 0,this.name="dragndrop",this.options=t}var e=t.prototype;return e.init=function(t){t.register(f,{useValue:i({overlap:"pointer",isDocumentDraggable:!1},this.options)}),t.load(l,!0)},e.destroy=function(t){t.remove(f),t.unload(l)},t}(),Object.defineProperty(t,"__esModule",{value:!0})})); | ||
r=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=Object.create((e&&e.prototype instanceof l?e:l).prototype),i=new O(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===p)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,i),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var p={};function l(){}function h(){}function d(){}var v={};u(v,i,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(j([])));g&&g!==e&&n.call(g,i)&&(v=g);var m=d.prototype=l.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,p=s.value;return p&&"object"==typeof p&&n.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(p).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function x(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=f(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function j(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return h.prototype=d,u(m,"constructor",d),u(d,"constructor",h),h.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},w(b.prototype),u(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new b(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(m),u(m,c,"Generator"),u(m,i,(function(){return this})),u(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=j,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(L),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(this.prev>=i.tryLoc){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(i.catchLoc>this.prev)return r(i.catchLoc,!0);if(i.finallyLoc>this.prev)return r(i.finallyLoc)}else if(c){if(i.catchLoc>this.prev)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(i.finallyLoc>this.prev)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(this.prev>=o.tryLoc&&n.call(o,"finallyLoc")&&o.finallyLoc>this.prev){var i=o;break}}i&&("break"===t||"continue"===t)&&e>=i.tryLoc&&i.finallyLoc>=e&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function n(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function c(t){n(a,o,i,c,u,"next",t)}function u(t){n(a,o,i,c,u,"throw",t)}c(void 0)}))}}function i(){return i=Object.assign||function(t){for(var e=1;arguments.length>e;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},i.apply(this,arguments)}function a(t,e,r,n){var o,i=arguments.length,a=3>i?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,n);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(a=(3>i?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function c(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var u,s,f=e.Syringe.defineToken("DragndropPluginOptions"),p=(u=function(){function t(){this.sceneGraphService=void 0,this.renderingContext=void 0,this.dragndropPluginOptions=void 0}return t.prototype.apply=function(t){var e=this.renderingContext.root.ownerDocument,n=e.defaultView,i=this.dragndropPluginOptions,a=i.overlap,c=i.isDocumentDraggable,u=i.isDocumentDroppable,f=i.dragstartDistanceThreshold,p=i.dragstartTimeThreshold,l=function(t){var i=t.target,s=i===e;if(s&&c||i.getAttribute&&i.getAttribute("draggable")){var l=function(){var t=o(r().mark((function t(n){var o,c,l,g,m,w;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(h){t.next=8;break}if(o=n.timeStamp-d,c=Math.sqrt(Math.pow(n.canvasX-v[0],2)+Math.pow(n.canvasY-v[1],2)),o>p&&c>f){t.next=5;break}return t.abrupt("return");case 5:n.type="dragstart",i.dispatchEvent(n),h=!0;case 8:if(n.type="drag",i.dispatchEvent(n),s){t.next=20;break}return l=i.style.pointerEvents,i.style.pointerEvents="none",g="pointer"===a?[n.canvasX,n.canvasY]:i.getBounds().center,t.next=16,e.elementFromPoint(g[0],g[1]);case 16:m=t.sent,i.style.pointerEvents=l,w=(null==m?void 0:m.closest("[droppable=true]"))||(u?e:null),y!==w&&(y&&(n.type="dragleave",n.target=y,y.dispatchEvent(n)),w&&(n.type="dragenter",n.target=w,w.dispatchEvent(n)),(y=w)&&(n.type="dragover",n.target=y,y.dispatchEvent(n)));case 20:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),h=!1,d=t.timeStamp,v=[t.canvasX,t.canvasY],y=null;n.addEventListener("pointermove",l);var g=function(){h&&(y&&(t.type="drop",t.target=y,y.dispatchEvent(t)),t.type="dragend",i.dispatchEvent(t),h=!1),n.removeEventListener("pointermove",l)};i.addEventListener("pointerup",g,{once:!0}),i.addEventListener("pointerupoutside",g,{once:!0})}};t.hooks.init.tapPromise(s.tag,o(r().mark((function t(){return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n.addEventListener("pointerdown",l);case 1:case"end":return t.stop()}}),t)})))),t.hooks.destroy.tap(s.tag,(function(){n.removeEventListener("pointerdown",l)}))},t}(),u.tag="Dragndrop",s=u);a([e.inject(e.SceneGraphService),c("design:type",Object)],p.prototype,"sceneGraphService",void 0),a([e.inject(e.RenderingContext),c("design:type",Object)],p.prototype,"renderingContext",void 0),a([e.inject(f),c("design:type",Object)],p.prototype,"dragndropPluginOptions",void 0),p=s=a([e.singleton({contrib:e.RenderingPluginContribution})],p);var l=e.Module((function(t){t(p)}));t.Plugin=function(){function t(t){void 0===t&&(t={}),this.options=void 0,this.name="dragndrop",this.options=t}var e=t.prototype;return e.init=function(t){t.register(f,{useValue:i({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)}),t.load(l,!0)},e.destroy=function(t){t.remove(f),t.unload(l)},t}(),Object.defineProperty(t,"__esModule",{value:!0})})); |
@@ -16,3 +16,16 @@ import { Syringe } from '@antv/g'; | ||
isDocumentDraggable: boolean; | ||
/** | ||
* Since Canvas & Document don't have `droppable` attribute, | ||
* we need to add an extra option. | ||
*/ | ||
isDocumentDroppable: boolean; | ||
/** | ||
* Threshold for triggering `dragstart` event in milliseconds. | ||
*/ | ||
dragstartTimeThreshold: number; | ||
/** | ||
* Threshold for triggering `dragstart` event in pixels. | ||
*/ | ||
dragstartDistanceThreshold: number; | ||
} | ||
//# sourceMappingURL=tokens.d.ts.map |
{ | ||
"name": "@antv/g-plugin-dragndrop", | ||
"version": "1.0.5", | ||
"version": "1.1.0", | ||
"description": "A G plugin for Drag n Drop implemented with PointerEvents", | ||
@@ -41,3 +41,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "837340c2bd89a9b40f94602485647b0ee798ff43" | ||
"gitHead": "bf0d57ef10d56f48d6258906281b9edb34bffb48" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
90335
1699