fix(core): hide transformation pane to avoid flickering of graph

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
braks
2023-04-02 20:52:57 +02:00
committed by Braks
parent fd3ed23909
commit 22accaed0d
@@ -1,9 +1,12 @@
<script lang="ts" setup> <script lang="ts" setup>
import { isClient } from '@vueuse/core'
import NodeRenderer from '../NodeRenderer/NodeRenderer.vue' import NodeRenderer from '../NodeRenderer/NodeRenderer.vue'
import EdgeRenderer from '../EdgeRenderer/EdgeRenderer.vue' import EdgeRenderer from '../EdgeRenderer/EdgeRenderer.vue'
const { id, viewport, emits, d3Zoom, d3Selection, dimensions, ...rest } = useVueFlow() const { id, viewport, emits, d3Zoom, d3Selection, dimensions, ...rest } = useVueFlow()
const viewportReady = ref(!isClient)
until(() => d3Zoom.value && d3Selection.value && dimensions.value.width > 0 && dimensions.value.height > 0) until(() => d3Zoom.value && d3Selection.value && dimensions.value.width > 0 && dimensions.value.height > 0)
.toBeTruthy() .toBeTruthy()
.then(() => { .then(() => {
@@ -17,6 +20,10 @@ until(() => d3Zoom.value && d3Selection.value && dimensions.value.width > 0 && d
dimensions, dimensions,
...rest, ...rest,
}) })
setTimeout(() => {
viewportReady.value = true
}, 0)
}) })
</script> </script>
@@ -31,7 +38,10 @@ export default {
<div <div
:key="`transform-${id}`" :key="`transform-${id}`"
class="vue-flow__transformationpane vue-flow__container" class="vue-flow__transformationpane vue-flow__container"
:style="{ transform: `translate(${viewport.x}px,${viewport.y}px) scale(${viewport.zoom})` }" :style="{
transform: `translate(${viewport.x}px,${viewport.y}px) scale(${viewport.zoom})`,
opacity: viewportReady ? undefined : 0,
}"
> >
<EdgeRenderer /> <EdgeRenderer />