From f1bbed1751f2d41ce742b343ca99e06612eafae2 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Thu, 21 Apr 2022 16:39:17 +0200 Subject: [PATCH] refactor(edges): Change base edge to functional component # What's changed? * Change base edge into a functional component (doesn't need a state) * Export base edge for convenience --- package/src/components/Edges/BaseEdge.ts | 41 ++++++++++++++++++++ package/src/components/Edges/BaseEdge.vue | 46 ----------------------- package/src/index.ts | 1 + 3 files changed, 42 insertions(+), 46 deletions(-) create mode 100644 package/src/components/Edges/BaseEdge.ts delete mode 100644 package/src/components/Edges/BaseEdge.vue diff --git a/package/src/components/Edges/BaseEdge.ts b/package/src/components/Edges/BaseEdge.ts new file mode 100644 index 00000000..8163881a --- /dev/null +++ b/package/src/components/Edges/BaseEdge.ts @@ -0,0 +1,41 @@ +import { CSSProperties, FunctionalComponent } from 'vue' +import EdgeText from './EdgeText.vue' + +interface Props { + centerX: number + centerY: number + path: string + label?: any + style?: CSSProperties + labelStyle?: any + labelShowBg?: boolean + labelBgStyle?: any + labelBgPadding?: [number, number] + labelBgBorderRadius?: number + markerStart?: string + markerEnd?: string +} + +export default (function BaseEdge(props: Props, { attrs }) { + return [ + h('path', { + style: attrs.style, + d: props.path, + class: 'vue-flow__edge-path', + markerEnd: props.markerEnd, + markerStart: props.markerStart, + }), + props.label + ? h(EdgeText, { + x: props.centerX, + y: props.centerY, + label: props.label, + labelStyle: props.labelStyle, + labelShowBg: props.labelShowBg, + labelBgStyle: props.labelBgStyle, + labelBgPadding: props.labelBgPadding, + labelBgBorderRadius: props.labelBgBorderRadius, + }) + : null, + ] +} as FunctionalComponent) diff --git a/package/src/components/Edges/BaseEdge.vue b/package/src/components/Edges/BaseEdge.vue deleted file mode 100644 index c77c3d79..00000000 --- a/package/src/components/Edges/BaseEdge.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - diff --git a/package/src/index.ts b/package/src/index.ts index a5c3c020..b5c82641 100644 --- a/package/src/index.ts +++ b/package/src/index.ts @@ -6,6 +6,7 @@ export { default as StepEdge } from './components/Edges/StepEdge.vue' export { default as BezierEdge } from './components/Edges/BezierEdge.vue' export { default as SimpleBezierEdge } from './components/Edges/SimpleBezierEdge.vue' export { default as SmoothStepEdge } from './components/Edges/SmoothStepEdge.vue' +export { default as BaseEdge } from './components/Edges/BaseEdge' export { getBezierPath,