feat(resize-rotate-node): show moveable when dragging

This commit is contained in:
bcakmakoglu
2022-06-01 19:10:30 +02:00
committed by Braks
parent 4f506b6e56
commit 4866e26cd6
@@ -13,11 +13,16 @@ const props = defineProps<{
data: any data: any
}>() }>()
const { viewport, updateNodeDimensions, onPaneClick, onPaneScroll, onPaneContextMenu, getNode } = useVueFlow() const { viewport, updateNodeDimensions, onPaneClick, onPaneScroll, onPaneContextMenu, getNode, onNodeClick, onNodeDragStart } =
useVueFlow()
const el = ref() const el = ref()
const visible = ref(false) const visible = ref(false)
const frame = {
rotate: 0,
}
const onResize = (e: MoveableEvents['resize']) => { const onResize = (e: MoveableEvents['resize']) => {
e.target.style.width = `${e.width}px` e.target.style.width = `${e.width}px`
e.target.style.height = `${e.height}px` e.target.style.height = `${e.height}px`
@@ -25,8 +30,13 @@ const onResize = (e: MoveableEvents['resize']) => {
e.target.style.top = `${e.drag.top}px` e.target.style.top = `${e.drag.top}px`
} }
const onRotateStart = (e: MoveableEvents['rotateStart']) => {
e.set(frame.rotate)
}
const onRotate = (e: MoveableEvents['rotate']) => { const onRotate = (e: MoveableEvents['rotate']) => {
e.target.style.transform = e.transform frame.rotate = e.beforeRotate
e.target.style.transform = `rotate(${e.beforeRotate}deg)`
updateNodeDimensions([{ id: props.id, nodeElement: props.nodeElement, forceUpdate: true }]) updateNodeDimensions([{ id: props.id, nodeElement: props.nodeElement, forceUpdate: true }])
} }
@@ -34,11 +44,18 @@ const onClick = () => {
visible.value = true visible.value = true
} }
onNodeClick(({ node }) => {
if (node.id === props.id) onClick()
})
onNodeDragStart(({ node }) => {
if (node.id === props.id) onClick()
})
const hideMoveable = () => { const hideMoveable = () => {
visible.value = false visible.value = false
} }
onClickOutside(el, hideMoveable)
onPaneClick(hideMoveable) onPaneClick(hideMoveable)
onPaneScroll(hideMoveable) onPaneScroll(hideMoveable)
onPaneContextMenu(hideMoveable) onPaneContextMenu(hideMoveable)