@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.attribute.pickable = !1;
17
+ target.pickable = !1;
18
18
  const elemBelow = (null == rootNode ? void 0 : rootNode.pick(moveEvent.global.x, moveEvent.global.y)).graphic;
19
- target.attribute.pickable = !0, currentDroppable !== elemBelow && (currentDroppable && (moveEvent.type = "dragleave",
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":"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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).attribute.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).attribute.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"]}
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.attribute.pickable = !1;
11
+ target.pickable = !1;
12
12
  const elemBelow = (null == rootNode ? void 0 : rootNode.pick(moveEvent.global.x, moveEvent.global.y)).graphic;
13
- target.attribute.pickable = !0, currentDroppable !== elemBelow && (currentDroppable && (moveEvent.type = "dragleave",
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":"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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).attribute.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).attribute.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"]}
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.18.11",
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.18.11",
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"