diff --git a/packages/core/src/components/ConnectionLine/ConnectionLine.vue b/packages/core/src/components/ConnectionLine/ConnectionLine.vue index 15f03246..21bff7c5 100644 --- a/packages/core/src/components/ConnectionLine/ConnectionLine.vue +++ b/packages/core/src/components/ConnectionLine/ConnectionLine.vue @@ -104,6 +104,7 @@ export default { markerStart: `url(#${getMarkerId(connectionLineOptions.markerStart)})`, }" /> + = function ({ sourcePosition = Position.Bottom, targetPosition = Position.Top, - label, - labelStyle = {}, - labelShowBg = true, - labelBgStyle = {}, - labelBgPadding, - labelBgBorderRadius, - sourceY, - sourceX, - targetX, - targetY, - curvature, - markerEnd, - markerStart, - style, - interactionWidth, + ...props }) { const [path, labelX, labelY] = getBezierPath({ - sourceX, - sourceY, - targetX, - targetY, sourcePosition, targetPosition, - curvature, + ...props, }) return h(BaseEdge, { path, labelX, labelY, - label, - labelStyle, - labelShowBg, - labelBgStyle, - labelBgPadding, - labelBgBorderRadius, - style, - markerEnd, - markerStart, - interactionWidth, + ...props, }) } @@ -67,7 +40,9 @@ BezierEdge.props = [ 'markerStart', 'style', 'interactionWidth', + 'ref', ] + BezierEdge.inheritAttrs = false export default BezierEdge diff --git a/packages/core/src/components/Edges/EdgeAnchor.ts b/packages/core/src/components/Edges/EdgeAnchor.ts index 1a17dfec..2b89c691 100644 --- a/packages/core/src/components/Edges/EdgeAnchor.ts +++ b/packages/core/src/components/Edges/EdgeAnchor.ts @@ -21,21 +21,24 @@ const shiftY = (y: number, shift: number, position: Position): number => { } const EdgeAnchor: FunctionalComponent = function ({ radius = 10, centerX = 0, centerY = 0, position = Position.Top }) { - const cx = computed(() => { + const cx = () => { const val = shiftX(centerX, radius, position) + if (isNaN(val)) return 0 else return val - }) - const cy = computed(() => { + } + + const cy = () => { const val = shiftY(centerY, radius, position) + if (isNaN(val)) return 0 else return val - }) + } return h('circle', { class: 'vue-flow__edgeupdater', - cx: cx.value, - cy: cy.value, + cx: cx(), + cy: cy(), r: radius, stroke: 'transparent', fill: 'transparent', diff --git a/packages/core/src/components/Edges/EdgeText.vue b/packages/core/src/components/Edges/EdgeText.vue index 89c449b2..8891196d 100644 --- a/packages/core/src/components/Edges/EdgeText.vue +++ b/packages/core/src/components/Edges/EdgeText.vue @@ -54,6 +54,7 @@ export default { :rx="labelBgBorderRadius" :ry="labelBgBorderRadius" /> + diff --git a/packages/core/src/components/Edges/Wrapper.ts b/packages/core/src/components/Edges/EdgeWrapper.ts similarity index 99% rename from packages/core/src/components/Edges/Wrapper.ts rename to packages/core/src/components/Edges/EdgeWrapper.ts index 6478871d..7a986dca 100644 --- a/packages/core/src/components/Edges/Wrapper.ts +++ b/packages/core/src/components/Edges/EdgeWrapper.ts @@ -13,7 +13,7 @@ interface Props { targetNode: GraphNode } -const Wrapper = defineComponent({ +const EdgeWrapper = defineComponent({ props: ['name', 'type', 'id', 'updatable', 'selectable', 'edge', 'sourceNode', 'targetNode'], setup(props: Props) { const { addSelectedEdges, connectionMode, edgeUpdaterRadius, emits, nodesSelectionActive, getEdges, getEdgeTypes } = @@ -239,4 +239,4 @@ const Wrapper = defineComponent({ }, }) -export default Wrapper +export default EdgeWrapper diff --git a/packages/core/src/components/Edges/SimpleBezierEdge.ts b/packages/core/src/components/Edges/SimpleBezierEdge.ts index 01c2045a..78ef1e55 100644 --- a/packages/core/src/components/Edges/SimpleBezierEdge.ts +++ b/packages/core/src/components/Edges/SimpleBezierEdge.ts @@ -6,44 +6,19 @@ import type { EdgeProps } from '~/types' const SimpleBezierEdge: FunctionalComponent = function ({ sourcePosition = Position.Bottom, targetPosition = Position.Top, - label, - labelStyle = {}, - labelShowBg = true, - labelBgStyle = {}, - labelBgPadding, - labelBgBorderRadius, - sourceY, - sourceX, - targetX, - targetY, - markerEnd, - markerStart, - style, - interactionWidth, + ...props }) { const [path, labelX, labelY] = getSimpleBezierPath({ - sourceX, - sourceY, - targetX, - targetY, sourcePosition, targetPosition, + ...props, }) return h(BaseEdge, { path, labelX, labelY, - label, - labelStyle, - labelShowBg, - labelBgStyle, - labelBgPadding, - labelBgBorderRadius, - style, - markerEnd, - markerStart, - interactionWidth, + ...props, }) } @@ -65,6 +40,7 @@ SimpleBezierEdge.props = [ 'style', 'interactionWidth', ] + SimpleBezierEdge.inheritAttrs = false export default SimpleBezierEdge diff --git a/packages/core/src/components/Edges/SmoothStepEdge.ts b/packages/core/src/components/Edges/SmoothStepEdge.ts index 29df7ae8..124eb498 100644 --- a/packages/core/src/components/Edges/SmoothStepEdge.ts +++ b/packages/core/src/components/Edges/SmoothStepEdge.ts @@ -6,48 +6,19 @@ import { Position } from '~/types' const SmoothStepEdge: FunctionalComponent = function ({ sourcePosition = Position.Bottom, targetPosition = Position.Top, - label, - labelStyle = {}, - labelShowBg = true, - labelBgStyle = {}, - labelBgPadding, - labelBgBorderRadius, - sourceY, - sourceX, - targetX, - targetY, - markerEnd, - markerStart, - borderRadius, - offset, - style, - interactionWidth, + ...props }) { const [path, labelX, labelY] = getSmoothStepPath({ - sourceX, - sourceY, - targetX, - targetY, sourcePosition, targetPosition, - borderRadius, - offset, + ...props, }) return h(BaseEdge, { path, labelX, labelY, - label, - labelStyle, - labelShowBg, - labelBgStyle, - labelBgPadding, - labelBgBorderRadius, - style, - markerEnd, - markerStart, - interactionWidth, + ...props, }) } @@ -71,6 +42,7 @@ SmoothStepEdge.props = [ 'style', 'interactionWidth', ] + SmoothStepEdge.inheritAttrs = false export default SmoothStepEdge diff --git a/packages/core/src/components/Edges/StepEdge.ts b/packages/core/src/components/Edges/StepEdge.ts index 43bf29e3..86b2b9a2 100644 --- a/packages/core/src/components/Edges/StepEdge.ts +++ b/packages/core/src/components/Edges/StepEdge.ts @@ -24,6 +24,7 @@ StepEdge.props = [ 'style', 'interactionWidth', ] + StepEdge.inheritAttrs = false export default StepEdge diff --git a/packages/core/src/components/Edges/StraightEdge.ts b/packages/core/src/components/Edges/StraightEdge.ts index a459b3d2..0db18e89 100644 --- a/packages/core/src/components/Edges/StraightEdge.ts +++ b/packages/core/src/components/Edges/StraightEdge.ts @@ -2,38 +2,14 @@ import type { FunctionalComponent } from 'vue' import BaseEdge from './BaseEdge' import type { EdgeProps } from '~/types' -const StraightEdge: FunctionalComponent = function ({ - label, - labelStyle = {}, - labelShowBg = true, - labelBgStyle = {}, - labelBgPadding, - labelBgBorderRadius, - sourceY, - sourceX, - targetX, - targetY, - markerEnd, - markerStart, - style, - interactionWidth, -}) { - const [path, labelX, labelY] = getStraightPath({ sourceX, sourceY, targetX, targetY }) +const StraightEdge: FunctionalComponent = function (props) { + const [path, labelX, labelY] = getStraightPath(props) return h(BaseEdge, { path, labelX, labelY, - label, - labelStyle, - labelShowBg, - labelBgStyle, - labelBgPadding, - labelBgBorderRadius, - style, - markerEnd, - markerStart, - interactionWidth, + ...props, }) } @@ -53,6 +29,7 @@ StraightEdge.props = [ 'style', 'interactionWidth', ] + StraightEdge.inheritAttrs = false export default StraightEdge diff --git a/packages/core/src/components/Edges/index.ts b/packages/core/src/components/Edges/index.ts index e0933537..9e04e9b8 100644 --- a/packages/core/src/components/Edges/index.ts +++ b/packages/core/src/components/Edges/index.ts @@ -6,5 +6,5 @@ export { default as SmoothStepEdge } from './SmoothStepEdge' export { default as StraightEdge } from './StraightEdge' export { default as EdgeAnchor } from './EdgeAnchor' export { default as EdgeText } from './EdgeText.vue' -export { default as EdgeWrapper } from './Wrapper' +export { default as EdgeWrapper } from './EdgeWrapper' export { default as EdgeLabelRenderer } from './EdgeLabelRenderer.vue' diff --git a/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue b/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue index c9053fc0..6f253843 100644 --- a/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue +++ b/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue @@ -1,6 +1,6 @@