From 80ad6f1677803f334b517c61ec8668e23fb8cdc5 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Wed, 14 Jun 2023 20:52:37 +0200 Subject: [PATCH] refactor(core): use sfc for base edge and bind template refs --- .../core/src/components/Edges/BaseEdge.ts | 81 ------------------- .../core/src/components/Edges/BaseEdge.vue | 66 +++++++++++++++ 2 files changed, 66 insertions(+), 81 deletions(-) delete mode 100644 packages/core/src/components/Edges/BaseEdge.ts create mode 100644 packages/core/src/components/Edges/BaseEdge.vue diff --git a/packages/core/src/components/Edges/BaseEdge.ts b/packages/core/src/components/Edges/BaseEdge.ts deleted file mode 100644 index d28addc9..00000000 --- a/packages/core/src/components/Edges/BaseEdge.ts +++ /dev/null @@ -1,81 +0,0 @@ -import type { Component, FunctionalComponent } from 'vue' -import { h } from 'vue' -import EdgeText from './EdgeText.vue' -import type { BaseEdgeProps } from '~/types' -import { isNumber } from '~/utils' - -/** - * The base edge is a simple wrapper for svg path - * You can use the base edge in your custom edges and just pass down the necessary props - */ -const BaseEdge: FunctionalComponent = function ( - { - id, - path, - label, - labelX, - labelY, - labelBgBorderRadius, - labelBgPadding, - labelBgStyle, - labelShowBg = true, - labelStyle, - markerStart, - markerEnd, - interactionWidth = 20, - }, - { attrs }, -) { - return [ - h('path', { - 'id': id, - 'style': attrs.style, - 'class': ['vue-flow__edge-path', attrs.class].join(' '), - 'd': path, - 'marker-end': markerEnd, - 'marker-start': markerStart, - }), - interactionWidth - ? h('path', { - 'd': path, - 'fill': 'none', - 'stroke-opacity': 0, - 'stroke-width': interactionWidth, - 'class': 'vue-flow__edge-interaction', - }) - : null, - label && isNumber(labelX) && isNumber(labelY) - ? h(EdgeText as Component, { - x: labelX, - y: labelY, - label, - labelStyle, - labelShowBg, - labelBgStyle, - labelBgPadding, - labelBgBorderRadius, - }) - : null, - ] -} - -BaseEdge.props = [ - 'id', - 'path', - 'labelX', - 'labelY', - 'label', - 'labelBgBorderRadius', - 'labelBgPadding', - 'labelBgStyle', - 'labelShowBg', - 'labelStyle', - 'markerStart', - 'markerEnd', - 'interactionWidth', -] - -BaseEdge.inheritAttrs = false -BaseEdge.compatConfig = { MODE: 3 } - -export default BaseEdge diff --git a/packages/core/src/components/Edges/BaseEdge.vue b/packages/core/src/components/Edges/BaseEdge.vue new file mode 100644 index 00000000..dd51a26a --- /dev/null +++ b/packages/core/src/components/Edges/BaseEdge.vue @@ -0,0 +1,66 @@ + + + + +