@antv/g-plugin-dragndrop
Advanced tools
Comparing version 1.0.5-alpha.1 to 1.0.5
@@ -418,11 +418,14 @@ import { Syringe, inject, SceneGraphService, RenderingContext, singleton, RenderingPluginContribution, Module } from '@antv/g'; | ||
_proto.apply = function apply(renderingService) { | ||
var _this = this; | ||
var document = this.renderingContext.root.ownerDocument; // TODO: should we add an option like `draggable` to Canvas | ||
var document = this.renderingContext.root.ownerDocument; | ||
var overlap = this.dragndropPluginOptions.overlap; | ||
var canvas = document.defaultView; | ||
var _this$dragndropPlugin = this.dragndropPluginOptions, | ||
overlap = _this$dragndropPlugin.overlap, | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable; | ||
var handlePointerdown = function handlePointerdown(event) { | ||
var target = event.target; | ||
var isDocument = target === document; | ||
if (target.getAttribute('draggable')) { | ||
if (isDocument && isDocumentDraggable || target.getAttribute && target.getAttribute('draggable')) { | ||
// @ts-ignore | ||
@@ -438,22 +441,19 @@ var onMouseMove = /*#__PURE__*/function () { | ||
event.type = 'drag'; | ||
target.dispatchEvent(event); // prevent from picking the dragging element | ||
target.dispatchEvent(event); | ||
if (isDocument) { | ||
_context.next = 12; | ||
break; | ||
} | ||
// prevent from picking the dragging element | ||
pointerEventsOldValue = target.style.pointerEvents; | ||
target.style.pointerEvents = 'none'; | ||
point = overlap === 'pointer' ? [event.canvasX, event.canvasY] : target.getBounds().center; | ||
_context.next = 7; | ||
_context.next = 8; | ||
return document.elementFromPoint(point[0], point[1]); | ||
case 7: | ||
case 8: | ||
elemBelow = _context.sent; | ||
target.style.pointerEvents = pointerEventsOldValue; | ||
if (elemBelow) { | ||
_context.next = 11; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 11: | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || null; | ||
@@ -488,3 +488,3 @@ | ||
case 13: | ||
case 12: | ||
case "end": | ||
@@ -506,8 +506,6 @@ return _context.stop(); | ||
var currentDroppable = null; | ||
document.addEventListener('pointermove', onMouseMove); | ||
canvas.addEventListener('pointermove', onMouseMove); | ||
target.addEventListener('pointerup', function () { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
@@ -518,5 +516,8 @@ // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
currentDroppable.dispatchEvent(event); | ||
} | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
document.removeEventListener('pointermove', onMouseMove); | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
canvas.removeEventListener('pointermove', onMouseMove); | ||
}, { | ||
@@ -533,3 +534,3 @@ once: true | ||
case 0: | ||
_this.renderingContext.root.addEventListener('pointerdown', handlePointerdown); | ||
canvas.addEventListener('pointerdown', handlePointerdown); | ||
@@ -544,3 +545,3 @@ case 1: | ||
renderingService.hooks.destroy.tap(DragndropPlugin_1.tag, function () { | ||
_this.renderingContext.root.removeEventListener('pointerdown', handlePointerdown); | ||
canvas.removeEventListener('pointerdown', handlePointerdown); | ||
}); | ||
@@ -581,3 +582,4 @@ }; | ||
useValue: _extends({ | ||
overlap: 'pointer' | ||
overlap: 'pointer', | ||
isDocumentDraggable: false | ||
}, this.options) | ||
@@ -584,0 +586,0 @@ }); |
@@ -422,11 +422,14 @@ 'use strict'; | ||
_proto.apply = function apply(renderingService) { | ||
var _this = this; | ||
var document = this.renderingContext.root.ownerDocument; // TODO: should we add an option like `draggable` to Canvas | ||
var document = this.renderingContext.root.ownerDocument; | ||
var overlap = this.dragndropPluginOptions.overlap; | ||
var canvas = document.defaultView; | ||
var _this$dragndropPlugin = this.dragndropPluginOptions, | ||
overlap = _this$dragndropPlugin.overlap, | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable; | ||
var handlePointerdown = function handlePointerdown(event) { | ||
var target = event.target; | ||
var isDocument = target === document; | ||
if (target.getAttribute('draggable')) { | ||
if (isDocument && isDocumentDraggable || target.getAttribute && target.getAttribute('draggable')) { | ||
// @ts-ignore | ||
@@ -442,22 +445,19 @@ var onMouseMove = /*#__PURE__*/function () { | ||
event.type = 'drag'; | ||
target.dispatchEvent(event); // prevent from picking the dragging element | ||
target.dispatchEvent(event); | ||
if (isDocument) { | ||
_context.next = 12; | ||
break; | ||
} | ||
// prevent from picking the dragging element | ||
pointerEventsOldValue = target.style.pointerEvents; | ||
target.style.pointerEvents = 'none'; | ||
point = overlap === 'pointer' ? [event.canvasX, event.canvasY] : target.getBounds().center; | ||
_context.next = 7; | ||
_context.next = 8; | ||
return document.elementFromPoint(point[0], point[1]); | ||
case 7: | ||
case 8: | ||
elemBelow = _context.sent; | ||
target.style.pointerEvents = pointerEventsOldValue; | ||
if (elemBelow) { | ||
_context.next = 11; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 11: | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || null; | ||
@@ -492,3 +492,3 @@ | ||
case 13: | ||
case 12: | ||
case "end": | ||
@@ -510,8 +510,6 @@ return _context.stop(); | ||
var currentDroppable = null; | ||
document.addEventListener('pointermove', onMouseMove); | ||
canvas.addEventListener('pointermove', onMouseMove); | ||
target.addEventListener('pointerup', function () { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
@@ -522,5 +520,8 @@ // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
currentDroppable.dispatchEvent(event); | ||
} | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
document.removeEventListener('pointermove', onMouseMove); | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
canvas.removeEventListener('pointermove', onMouseMove); | ||
}, { | ||
@@ -537,3 +538,3 @@ once: true | ||
case 0: | ||
_this.renderingContext.root.addEventListener('pointerdown', handlePointerdown); | ||
canvas.addEventListener('pointerdown', handlePointerdown); | ||
@@ -548,3 +549,3 @@ case 1: | ||
renderingService.hooks.destroy.tap(DragndropPlugin_1.tag, function () { | ||
_this.renderingContext.root.removeEventListener('pointerdown', handlePointerdown); | ||
canvas.removeEventListener('pointerdown', handlePointerdown); | ||
}); | ||
@@ -585,3 +586,4 @@ }; | ||
useValue: _extends({ | ||
overlap: 'pointer' | ||
overlap: 'pointer', | ||
isDocumentDraggable: false | ||
}, this.options) | ||
@@ -588,0 +590,0 @@ }); |
@@ -447,11 +447,14 @@ (function (global, factory) { | ||
_proto.apply = function apply(renderingService) { | ||
var _this = this; | ||
var document = this.renderingContext.root.ownerDocument; // TODO: should we add an option like `draggable` to Canvas | ||
var document = this.renderingContext.root.ownerDocument; | ||
var overlap = this.dragndropPluginOptions.overlap; | ||
var canvas = document.defaultView; | ||
var _this$dragndropPlugin = this.dragndropPluginOptions, | ||
overlap = _this$dragndropPlugin.overlap, | ||
isDocumentDraggable = _this$dragndropPlugin.isDocumentDraggable; | ||
var handlePointerdown = function handlePointerdown(event) { | ||
var target = event.target; | ||
var isDocument = target === document; | ||
if (target.getAttribute('draggable')) { | ||
if (isDocument && isDocumentDraggable || target.getAttribute && target.getAttribute('draggable')) { | ||
// @ts-ignore | ||
@@ -467,22 +470,19 @@ var onMouseMove = /*#__PURE__*/function () { | ||
event.type = 'drag'; | ||
target.dispatchEvent(event); // prevent from picking the dragging element | ||
target.dispatchEvent(event); | ||
if (isDocument) { | ||
_context.next = 12; | ||
break; | ||
} | ||
// prevent from picking the dragging element | ||
pointerEventsOldValue = target.style.pointerEvents; | ||
target.style.pointerEvents = 'none'; | ||
point = overlap === 'pointer' ? [event.canvasX, event.canvasY] : target.getBounds().center; | ||
_context.next = 7; | ||
_context.next = 8; | ||
return document.elementFromPoint(point[0], point[1]); | ||
case 7: | ||
case 8: | ||
elemBelow = _context.sent; | ||
target.style.pointerEvents = pointerEventsOldValue; | ||
if (elemBelow) { | ||
_context.next = 11; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 11: | ||
droppableBelow = (elemBelow === null || elemBelow === void 0 ? void 0 : elemBelow.closest('[droppable=true]')) || null; | ||
@@ -517,3 +517,3 @@ | ||
case 13: | ||
case 12: | ||
case "end": | ||
@@ -535,8 +535,6 @@ return _context.stop(); | ||
var currentDroppable = null; | ||
document.addEventListener('pointermove', onMouseMove); | ||
canvas.addEventListener('pointermove', onMouseMove); | ||
target.addEventListener('pointerup', function () { | ||
// @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
// drop should fire before dragend | ||
// @see https://javascript.tutorialink.com/is-there-a-defined-ordering-between-dragend-and-drop-events/ | ||
if (currentDroppable) { | ||
@@ -547,5 +545,8 @@ // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drop_event | ||
currentDroppable.dispatchEvent(event); | ||
} | ||
} // @see https://developer.mozilla.org/zh-CN/docs/Web/API/Document/dragend_event | ||
document.removeEventListener('pointermove', onMouseMove); | ||
event.type = 'dragend'; | ||
target.dispatchEvent(event); | ||
canvas.removeEventListener('pointermove', onMouseMove); | ||
}, { | ||
@@ -562,3 +563,3 @@ once: true | ||
case 0: | ||
_this.renderingContext.root.addEventListener('pointerdown', handlePointerdown); | ||
canvas.addEventListener('pointerdown', handlePointerdown); | ||
@@ -573,3 +574,3 @@ case 1: | ||
renderingService.hooks.destroy.tap(DragndropPlugin_1.tag, function () { | ||
_this.renderingContext.root.removeEventListener('pointerdown', handlePointerdown); | ||
canvas.removeEventListener('pointerdown', handlePointerdown); | ||
}); | ||
@@ -610,3 +611,4 @@ }; | ||
useValue: _extends({ | ||
overlap: 'pointer' | ||
overlap: 'pointer', | ||
isDocumentDraggable: false | ||
}, this.options) | ||
@@ -613,0 +615,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,n=this.renderingContext.root.ownerDocument,i=this.dragndropPluginOptions.overlap,a=function(t){var e=t.target;if(e.getAttribute("draggable")){var a=function(){var t=o(r().mark((function t(o){var a,u,s,f;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o.type="drag",e.dispatchEvent(o),a=e.style.pointerEvents,e.style.pointerEvents="none",u="pointer"===i?[o.canvasX,o.canvasY]:e.getBounds().center,t.next=7,n.elementFromPoint(u[0],u[1]);case 7:if(s=t.sent,e.style.pointerEvents=a,s){t.next=11;break}return t.abrupt("return");case 11:f=(null==s?void 0:s.closest("[droppable=true]"))||null,c!==f&&(c&&(o.type="dragleave",o.target=c,c.dispatchEvent(o)),f&&(o.type="dragenter",o.target=f,f.dispatchEvent(o)),(c=f)&&(o.type="dragover",o.target=c,c.dispatchEvent(o)));case 13:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();t.type="dragstart",e.dispatchEvent(t);var c=null;n.addEventListener("pointermove",a),e.addEventListener("pointerup",(function(){t.type="dragend",e.dispatchEvent(t),c&&(t.type="drop",t.target=c,c.dispatchEvent(t)),n.removeEventListener("pointermove",a)}),{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:e.renderingContext.root.addEventListener("pointerdown",a);case 1:case"end":return t.stop()}}),t)})))),t.hooks.destroy.tap(s.tag,(function(){e.renderingContext.root.removeEventListener("pointerdown",a)}))},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"},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=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})})); |
@@ -11,3 +11,8 @@ import { Syringe } from '@antv/g'; | ||
overlap: 'pointer' | 'center'; | ||
/** | ||
* Since Canvas & Document don't have `draggable` attribute, | ||
* we need to add an extra option. | ||
*/ | ||
isDocumentDraggable: boolean; | ||
} | ||
//# sourceMappingURL=tokens.d.ts.map |
{ | ||
"name": "@antv/g-plugin-dragndrop", | ||
"version": "1.0.5-alpha.1", | ||
"version": "1.0.5", | ||
"description": "A G plugin for Drag n Drop implemented with PointerEvents", | ||
@@ -41,3 +41,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "a57232cfdc74aaf0a9812feea28d5b7c8ca243a8" | ||
"gitHead": "837340c2bd89a9b40f94602485647b0ee798ff43" | ||
} |
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
84243
1591
1