Files
vue-flow/src/types/edge.ts
T
Braks 4630f3efc1 refactor(edges): Make edge updating optional
* add an option to enable edge updating globally
* pass an option to an edge to enable updating for a single edge

Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
2021-11-26 11:08:12 +01:00

65 lines
1.5 KiB
TypeScript

import { CSSProperties } from 'vue'
import { ArrowHeadType, ElementId, Position } from './flow'
import { EdgeTextProps, EdgeTypes } from './components'
import { GraphNode } from './node'
export interface Edge<T = any> {
id: ElementId
type?: EdgeTypes[number]
source: ElementId
target: ElementId
sourceHandle?: ElementId
targetHandle?: ElementId
selected?: boolean
sourcePosition?: Position
targetPosition?: Position
label?:
| string
| {
component: any
props?: Record<string, any> & Partial<EdgeTextProps>
}
labelStyle?: any
labelShowBg?: boolean
labelBgStyle?: any
labelBgPadding?: [number, number]
labelBgBorderRadius?: number
style?: CSSProperties | unknown
animated?: boolean
arrowHeadType?: ArrowHeadType
markerEndId?: string
data?: T
class?: string
isHidden?: boolean
updatable?: boolean
}
export interface GraphEdge<T = any> extends Edge<T> {
sourceNode: GraphNode
targetNode: GraphNode
}
export interface EdgeProps<T = any> extends GraphEdge<T> {
sourceX: number
sourceY: number
targetX: number
targetY: number
selected?: boolean
sourcePosition: Position
targetPosition: Position
markerEndId?: string
sourceHandleId?: ElementId | null
targetHandleId?: ElementId | null
}
export interface EdgeSmoothStepProps<T = any> extends EdgeProps<T> {
borderRadius?: number
}
export interface EdgePositions {
sourceX: number
sourceY: number
targetX: number
targetY: number
}