@visactor/vrender-kits 0.18.11 → 0.19.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -14,9 +14,9 @@ class DragNDrop {
|
|
|
14
14
|
if (dragstartTriggered || (moveEvent.type = "dragstart", null == target || target.dispatchEvent(moveEvent),
|
|
15
15
|
dragstartTriggered = !0), moveEvent.type = "drag", null == target || target.dispatchEvent(moveEvent),
|
|
16
16
|
!isRoot) {
|
|
17
|
-
target.
|
|
17
|
+
target.pickable = !1;
|
|
18
18
|
const elemBelow = (null == rootNode ? void 0 : rootNode.pick(moveEvent.global.x, moveEvent.global.y)).graphic;
|
|
19
|
-
target.
|
|
19
|
+
target.pickable = !0, currentDroppable !== elemBelow && (currentDroppable && (moveEvent.type = "dragleave",
|
|
20
20
|
moveEvent.target = currentDroppable, currentDroppable.dispatchEvent(moveEvent)),
|
|
21
21
|
elemBelow && (moveEvent.type = "dragenter", moveEvent.target = elemBelow, elemBelow.dispatchEvent(moveEvent)),
|
|
22
22
|
currentDroppable = elemBelow, currentDroppable && (moveEvent.type = "dragover",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/extension/drag.ts"],"names":[],"mappings":";;;AAKA,MAAa,SAAS;IAGpB,YAAY,QAAsB;QAkB1B,kBAAa,GAAG,CAAC,KAA4B,EAAE,EAAE;YACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC;YAEnC,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE;gBACrB,IAAI,kBAAkB,GAAG,KAAK,CAAC;gBAE/B,IAAI,gBAA8B,CAAC;gBAInC,SAAS,iBAAiB,CAAC,SAAgC;oBACzD,IAAI,CAAC,kBAAkB,EAAE;wBACvB,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;wBAE7B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,SAAS,CAAC,CAAC;wBACjC,kBAAkB,GAAG,IAAI,CAAC;qBAC3B;oBAED,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;oBACxB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,SAAS,CAAC,CAAC;oBAEjC,IAAI,CAAC,MAAM,EAAE;wBAEV,MAAuB,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/event/extension/drag.ts"],"names":[],"mappings":"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","file":"drag.js","sourcesContent":["/**\n * @description drag and drop event\n */\nimport type { IEventTarget, IEventExtension, FederatedPointerEvent } from '@visactor/vrender-core';\n\nexport class DragNDrop implements IEventExtension {\n rootNode!: IEventTarget | null;\n\n constructor(rootNode: IEventTarget) {\n this.rootNode = rootNode;\n this.initEvents();\n }\n\n initEvents() {\n this.rootNode?.addEventListener('pointerdown', this.onPointerDown);\n }\n\n removeEvents() {\n this.rootNode?.removeEventListener('pointerdown', this.onPointerDown);\n }\n\n release() {\n this.removeEvents();\n this.rootNode = null;\n }\n\n private onPointerDown = (event: FederatedPointerEvent) => {\n const target = event.target;\n const rootNode = this.rootNode;\n const isRoot = target === rootNode;\n\n if (target && !isRoot) {\n let dragstartTriggered = false;\n\n let currentDroppable: IEventTarget;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-inner-declarations\n function handlePointerMove(moveEvent: FederatedPointerEvent) {\n if (!dragstartTriggered) {\n moveEvent.type = 'dragstart';\n\n target?.dispatchEvent(moveEvent);\n dragstartTriggered = true;\n }\n\n moveEvent.type = 'drag';\n target?.dispatchEvent(moveEvent);\n\n if (!isRoot) {\n // 获取当前坐标系的元素,目前认为所有的元素都是可以 dropable 的\n (target as IEventTarget).pickable = false;\n // @ts-ignore\n const clickResult = rootNode?.pick(moveEvent.global.x, moveEvent.global.y);\n const elemBelow = clickResult.graphic;\n (target as IEventTarget).pickable = true;\n\n if (currentDroppable !== elemBelow) {\n if (currentDroppable) {\n moveEvent.type = 'dragleave';\n moveEvent.target = currentDroppable;\n currentDroppable.dispatchEvent(moveEvent);\n }\n\n if (elemBelow) {\n moveEvent.type = 'dragenter';\n moveEvent.target = elemBelow;\n elemBelow.dispatchEvent(moveEvent);\n }\n\n currentDroppable = elemBelow;\n if (currentDroppable) {\n moveEvent.type = 'dragover';\n moveEvent.target = currentDroppable;\n currentDroppable.dispatchEvent(moveEvent);\n }\n }\n }\n }\n\n rootNode?.addEventListener('pointermove', handlePointerMove);\n\n const stopDragging = function () {\n if (dragstartTriggered) {\n if (currentDroppable) {\n event.type = 'drop';\n event.target = currentDroppable;\n currentDroppable.dispatchEvent(event);\n }\n\n event.type = 'dragend';\n target.dispatchEvent(event);\n\n dragstartTriggered = false;\n }\n\n rootNode?.removeEventListener('pointermove', handlePointerMove);\n };\n\n target.addEventListener('pointerup', stopDragging, { once: true });\n target.addEventListener('pointerupoutside', stopDragging, { once: true });\n }\n };\n}\n"]}
|
|
@@ -8,9 +8,9 @@ export class DragNDrop {
|
|
|
8
8
|
if (dragstartTriggered || (moveEvent.type = "dragstart", null == target || target.dispatchEvent(moveEvent),
|
|
9
9
|
dragstartTriggered = !0), moveEvent.type = "drag", null == target || target.dispatchEvent(moveEvent),
|
|
10
10
|
!isRoot) {
|
|
11
|
-
target.
|
|
11
|
+
target.pickable = !1;
|
|
12
12
|
const elemBelow = (null == rootNode ? void 0 : rootNode.pick(moveEvent.global.x, moveEvent.global.y)).graphic;
|
|
13
|
-
target.
|
|
13
|
+
target.pickable = !0, currentDroppable !== elemBelow && (currentDroppable && (moveEvent.type = "dragleave",
|
|
14
14
|
moveEvent.target = currentDroppable, currentDroppable.dispatchEvent(moveEvent)),
|
|
15
15
|
elemBelow && (moveEvent.type = "dragenter", moveEvent.target = elemBelow, elemBelow.dispatchEvent(moveEvent)),
|
|
16
16
|
currentDroppable = elemBelow, currentDroppable && (moveEvent.type = "dragover",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/extension/drag.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,SAAS;IAGpB,YAAY,QAAsB;QAkB1B,kBAAa,GAAG,CAAC,KAA4B,EAAE,EAAE;YACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC;YAEnC,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE;gBACrB,IAAI,kBAAkB,GAAG,KAAK,CAAC;gBAE/B,IAAI,gBAA8B,CAAC;gBAInC,SAAS,iBAAiB,CAAC,SAAgC;oBACzD,IAAI,CAAC,kBAAkB,EAAE;wBACvB,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;wBAE7B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,SAAS,CAAC,CAAC;wBACjC,kBAAkB,GAAG,IAAI,CAAC;qBAC3B;oBAED,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;oBACxB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,SAAS,CAAC,CAAC;oBAEjC,IAAI,CAAC,MAAM,EAAE;wBAEV,MAAuB,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/event/extension/drag.ts"],"names":[],"mappings":"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","file":"drag.js","sourcesContent":["/**\n * @description drag and drop event\n */\nimport type { IEventTarget, IEventExtension, FederatedPointerEvent } from '@visactor/vrender-core';\n\nexport class DragNDrop implements IEventExtension {\n rootNode!: IEventTarget | null;\n\n constructor(rootNode: IEventTarget) {\n this.rootNode = rootNode;\n this.initEvents();\n }\n\n initEvents() {\n this.rootNode?.addEventListener('pointerdown', this.onPointerDown);\n }\n\n removeEvents() {\n this.rootNode?.removeEventListener('pointerdown', this.onPointerDown);\n }\n\n release() {\n this.removeEvents();\n this.rootNode = null;\n }\n\n private onPointerDown = (event: FederatedPointerEvent) => {\n const target = event.target;\n const rootNode = this.rootNode;\n const isRoot = target === rootNode;\n\n if (target && !isRoot) {\n let dragstartTriggered = false;\n\n let currentDroppable: IEventTarget;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-inner-declarations\n function handlePointerMove(moveEvent: FederatedPointerEvent) {\n if (!dragstartTriggered) {\n moveEvent.type = 'dragstart';\n\n target?.dispatchEvent(moveEvent);\n dragstartTriggered = true;\n }\n\n moveEvent.type = 'drag';\n target?.dispatchEvent(moveEvent);\n\n if (!isRoot) {\n // 获取当前坐标系的元素,目前认为所有的元素都是可以 dropable 的\n (target as IEventTarget).pickable = false;\n // @ts-ignore\n const clickResult = rootNode?.pick(moveEvent.global.x, moveEvent.global.y);\n const elemBelow = clickResult.graphic;\n (target as IEventTarget).pickable = true;\n\n if (currentDroppable !== elemBelow) {\n if (currentDroppable) {\n moveEvent.type = 'dragleave';\n moveEvent.target = currentDroppable;\n currentDroppable.dispatchEvent(moveEvent);\n }\n\n if (elemBelow) {\n moveEvent.type = 'dragenter';\n moveEvent.target = elemBelow;\n elemBelow.dispatchEvent(moveEvent);\n }\n\n currentDroppable = elemBelow;\n if (currentDroppable) {\n moveEvent.type = 'dragover';\n moveEvent.target = currentDroppable;\n currentDroppable.dispatchEvent(moveEvent);\n }\n }\n }\n }\n\n rootNode?.addEventListener('pointermove', handlePointerMove);\n\n const stopDragging = function () {\n if (dragstartTriggered) {\n if (currentDroppable) {\n event.type = 'drop';\n event.target = currentDroppable;\n currentDroppable.dispatchEvent(event);\n }\n\n event.type = 'dragend';\n target.dispatchEvent(event);\n\n dragstartTriggered = false;\n }\n\n rootNode?.removeEventListener('pointermove', handlePointerMove);\n };\n\n target.addEventListener('pointerup', stopDragging, { once: true });\n target.addEventListener('pointerupoutside', stopDragging, { once: true });\n }\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vrender-kits",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0-alpha.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "cjs/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@visactor/vrender-core": "0.
|
|
15
|
+
"@visactor/vrender-core": "0.19.0-alpha.0",
|
|
16
16
|
"@visactor/vutils": "~0.18.1",
|
|
17
17
|
"@resvg/resvg-js": "2.4.1",
|
|
18
18
|
"roughjs": "4.5.2"
|