From 6879c44a12899ef71b61897dcbe35abe06248894 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 20 May 2022 22:58:36 +0200 Subject: [PATCH] chore(resize-rotate-node): cleanup unused refs --- .../resize-rotate-node/example/elements.ts | 7 +- .../src/node/ResizeRotateNode.vue | 74 ++++--------------- 2 files changed, 18 insertions(+), 63 deletions(-) diff --git a/packages/resize-rotate-node/example/elements.ts b/packages/resize-rotate-node/example/elements.ts index ea5060eb..c2ee9153 100644 --- a/packages/resize-rotate-node/example/elements.ts +++ b/packages/resize-rotate-node/example/elements.ts @@ -1,7 +1,4 @@ import type { Elements } from '@braks/vue-flow' -// import { MarkerType } from '@braks/vue-flow' - -// const markerEnd = MarkerType.Arrow export default [ { @@ -14,6 +11,10 @@ export default [ x: 0, y: 0, }, + dragHandle: `[data-moveable-id='1']`, + style: { + cursor: 'default', + }, data: { style: { background: 'rgb(255, 0, 114) none repeat scroll 0% 0%', diff --git a/packages/resize-rotate-node/src/node/ResizeRotateNode.vue b/packages/resize-rotate-node/src/node/ResizeRotateNode.vue index 35515dfa..ea91338f 100644 --- a/packages/resize-rotate-node/src/node/ResizeRotateNode.vue +++ b/packages/resize-rotate-node/src/node/ResizeRotateNode.vue @@ -13,72 +13,20 @@ const props = defineProps<{ data: any }>() -const { viewport, updateNodeDimensions, onPaneClick, onPaneScroll, onPaneContextMenu } = useVueFlow() +const { viewport, updateNodeDimensions, onPaneClick, onPaneScroll, onPaneContextMenu, getNode } = useVueFlow() const el = ref() const visible = ref(false) -const frame = ref({ - translate: [0, 0], - rotate: 0, -}) - -const onResizeStart = (e: MoveableEvents['resizeStart']) => { - e.setOrigin(['0', '0']) - e.dragStart && e.dragStart.set(frame.value.translate) -} - const onResize = (e: MoveableEvents['resize']) => { - const beforeTranslate = e.drag.beforeTranslate - - frame.value.translate = beforeTranslate e.target.style.width = `${e.width}px` e.target.style.height = `${e.height}px` - - let nextTranslation = String(props.nodeElement.style.transform) - const translateX = `translateX(${beforeTranslate[0]}px)` - const translateY = `translateY(${beforeTranslate[1]}px)` - - const hasTranslateX = nextTranslation.match(/translateX\((-?\d+(?:\.\d+)?px)\)/) - const hasTranslateY = nextTranslation.match(/translateY\((-?\d+(?:\.\d+)?px)\)/) - - if (!nextTranslation) return (e.target.style.transform = `${translateX} ${translateY}`) - - if (hasTranslateX) { - nextTranslation = nextTranslation.replace(hasTranslateX[0], translateX) - } else { - nextTranslation += ` ${translateX}` - } - - if (hasTranslateY) { - nextTranslation = nextTranslation.replace(hasTranslateY[0], translateY) - } else { - nextTranslation += ` ${translateY}` - } - - // eslint-disable-next-line vue/no-mutating-props - props.nodeElement.style.transform = nextTranslation -} - -const onRotateStart = (e: MoveableEvents['rotateStart']) => { - e.set(frame.value.rotate) + e.target.style.left = `${e.drag.left}px` + e.target.style.top = `${e.drag.top}px` } const onRotate = (e: MoveableEvents['rotate']) => { - frame.value.rotate = e.beforeRotate - - const rotation = ` rotate(${e.beforeRotate}deg)` - - if (!e.target.style.transform) { - e.target.style.transform = rotation - } else { - const hasRotation = e.target.style.transform.match(/rotate\(-?\d+(\.\d+)?deg\)/) - if (hasRotation) { - e.target.style.transform = e.target.style.transform.replace(hasRotation[0], rotation) - } else { - e.target.style.transform += ` ${rotation}` - } - } + e.target.style.transform = e.transform updateNodeDimensions([{ id: props.id, nodeElement: props.nodeElement, forceUpdate: true }]) } @@ -103,7 +51,16 @@ export default {