From f8728f0d6e8b764a61ec7aeee4e12343ed3c1080 Mon Sep 17 00:00:00 2001
From: Braks <78412429+bcakmakoglu@users.noreply.github.com>
Date: Fri, 15 Oct 2021 21:05:47 +0200
Subject: [PATCH] feat: script setup style
* Add Node.vue
---
src/components/Node.vue | 192 +++++++++++++++++++++++++++++++++
src/components/Nodes/utils.ts | 26 ++---
src/composables/useZoom.ts | 2 +-
src/container/NodeRenderer.vue | 76 ++++++++++---
4 files changed, 266 insertions(+), 30 deletions(-)
create mode 100644 src/components/Node.vue
diff --git a/src/components/Node.vue b/src/components/Node.vue
new file mode 100644
index 00000000..5274c044
--- /dev/null
+++ b/src/components/Node.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Nodes/utils.ts b/src/components/Nodes/utils.ts
index 9ecdd5bb..163bbde6 100644
--- a/src/components/Nodes/utils.ts
+++ b/src/components/Nodes/utils.ts
@@ -1,20 +1,11 @@
-import { HandleElement, Position } from '../../types'
-import { getDimensions } from '../../utils'
-
-export const getHandleBounds = (nodeElement: HTMLDivElement, scale: number) => {
- const bounds = nodeElement.getBoundingClientRect()
-
- return {
- source: getHandleBoundsByHandleType('.source', nodeElement, bounds, scale),
- target: getHandleBoundsByHandleType('.target', nodeElement, bounds, scale)
- }
-}
+import { HandleElement, Position } from '~/types'
+import { getDimensions } from '~/utils'
export const getHandleBoundsByHandleType = (
selector: string,
nodeElement: HTMLDivElement,
parentBounds: ClientRect | DOMRect,
- k: number
+ k: number,
): HandleElement[] | null => {
const handles = nodeElement.querySelectorAll(selector)
@@ -35,7 +26,16 @@ export const getHandleBoundsByHandleType = (
position: handlePosition,
x: (bounds.left - parentBounds.left) / k,
y: (bounds.top - parentBounds.top) / k,
- ...dimensions
+ ...dimensions,
}
})
}
+
+export const getHandleBounds = (nodeElement: HTMLDivElement, scale: number) => {
+ const bounds = nodeElement.getBoundingClientRect()
+
+ return {
+ source: getHandleBoundsByHandleType('.source', nodeElement, bounds, scale),
+ target: getHandleBoundsByHandleType('.target', nodeElement, bounds, scale),
+ }
+}
diff --git a/src/composables/useZoom.ts b/src/composables/useZoom.ts
index fbac3b5d..442c66b2 100644
--- a/src/composables/useZoom.ts
+++ b/src/composables/useZoom.ts
@@ -6,7 +6,7 @@ import { RevueFlowHooks } from '~/hooks/RevueFlowHooks'
import { clamp } from '~/utils'
import useKeyPress from '~/hooks/useKeyPress'
import useZoomPanHelper from '~/hooks/useZoomPanHelper'
-import { onLoadGetElements, onLoadProject, onLoadToObject } from '~/utils/graph'
+// import { onLoadGetElements, onLoadProject, onLoadToObject } from '~/utils/graph'
const viewChanged = (prevTransform: FlowTransform, eventTransform: ZoomTransform): boolean =>
prevTransform.x !== eventTransform.x || prevTransform.y !== eventTransform.y || prevTransform.zoom !== eventTransform.k
diff --git a/src/container/NodeRenderer.vue b/src/container/NodeRenderer.vue
index cdfe31b3..e6ad9057 100644
--- a/src/container/NodeRenderer.vue
+++ b/src/container/NodeRenderer.vue
@@ -1,7 +1,9 @@
@@ -60,15 +88,31 @@ const type = (node: TNode) => {
:style="{ transform: `translate(${props.transform[0]}px,${props.transform[1]}px) scale(${props.transform[2]})` }"
>
- Node
+ :scale="props.transform[2]"
+ @updateNodeDimensions="updateNodeDimensions"
+ >
+
+
+
+