From 0a2a467e563b29194141bc85cff1af1c54f1f35a Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Wed, 4 May 2022 21:17:59 +0200 Subject: [PATCH] refactor: use reactivity transform in edge-texts --- .../src/components/Edges/EdgeText.vue | 55 +++++++++---------- packages/vue-flow/src/types/components.ts | 2 +- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/packages/vue-flow/src/components/Edges/EdgeText.vue b/packages/vue-flow/src/components/Edges/EdgeText.vue index 78ef5027..a8cf3feb 100644 --- a/packages/vue-flow/src/components/Edges/EdgeText.vue +++ b/packages/vue-flow/src/components/Edges/EdgeText.vue @@ -2,22 +2,21 @@ import type { EdgeTextProps } from '../../types/components' import type { Rect } from '../../types' -const props = withDefaults(defineProps(), { - labelStyle: () => ({}), - labelShowBg: true, - labelBgStyle: () => ({}), - labelBgPadding: () => [2, 4], - labelBgBorderRadius: 2, -}) +const { + x, + y, + label, + labelStyle = {}, + labelShowBg = true, + labelBgStyle = {}, + labelBgPadding = [2, 4], + labelBgBorderRadius = 2, +} = defineProps() -const edgeRef = templateRef('edge-text', null) +const el = templateRef('el', null) +const box = $(useElementBounding(el)) -let edgeRefBbox = $ref({ x: 0, y: 0, width: 0, height: 0 }) - -onMounted(() => { - edgeRefBbox = edgeRef.value.getBBox() -}) -const transform = computed(() => `translate(${props.x - edgeRefBbox.width / 2} ${props.y - edgeRefBbox.height / 2})`) +const transform = computed(() => `translate(${x - box.width / 2} ${y - box.height / 2})`)