feat(types): Add GraphEdge type
* GraphEdges are edges that have been parsed and have a sourceTargetNode property Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { Component, CSSProperties, DefineComponent } from 'vue'
|
import { Component, CSSProperties, DefineComponent } from 'vue'
|
||||||
import { ArrowHeadType, ElementId, Position } from './flow'
|
import { ArrowHeadType, ElementId, Position } from './flow'
|
||||||
import { EdgeTextProps } from './components'
|
import { EdgeTextProps } from './components'
|
||||||
|
import { SourceTargetNode } from './node'
|
||||||
|
|
||||||
export interface Edge<T = any> {
|
export interface Edge<T = any> {
|
||||||
id: ElementId
|
id: ElementId
|
||||||
@@ -32,6 +33,10 @@ export interface Edge<T = any> {
|
|||||||
isHidden?: boolean
|
isHidden?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface GraphEdge<T = any> extends Edge<T> {
|
||||||
|
sourceTargetNodes: SourceTargetNode
|
||||||
|
}
|
||||||
|
|
||||||
export interface EdgeProps<T = any> extends Edge<T> {
|
export interface EdgeProps<T = any> extends Edge<T> {
|
||||||
sourceX: number
|
sourceX: number
|
||||||
sourceY: number
|
sourceY: number
|
||||||
|
|||||||
+3
-3
@@ -1,17 +1,17 @@
|
|||||||
import { CSSProperties } from 'vue'
|
import { CSSProperties } from 'vue'
|
||||||
import { Edge, EdgeTypes } from './edge'
|
import { Edge, EdgeTypes, GraphEdge } from './edge'
|
||||||
import { NodeExtent, GraphNode, NodeTypes, TranslateExtent, Node } from './node'
|
import { NodeExtent, GraphNode, NodeTypes, TranslateExtent, Node } from './node'
|
||||||
import { ConnectionLineType, ConnectionMode } from './connection'
|
import { ConnectionLineType, ConnectionMode } from './connection'
|
||||||
import { KeyCode, PanOnScrollMode } from './zoom'
|
import { KeyCode, PanOnScrollMode } from './zoom'
|
||||||
import { FlowStore } from './store'
|
import { FlowStore } from './store'
|
||||||
|
|
||||||
export type ElementId = string
|
export type ElementId = string
|
||||||
export type FlowElement<T = any> = GraphNode<T> | Edge<T>
|
export type FlowElement<T = any> = GraphNode<T> | GraphEdge<T>
|
||||||
export type FlowElements<T = any> = FlowElement<T>[]
|
export type FlowElements<T = any> = FlowElement<T>[]
|
||||||
export type Elements<T = any> = (Node<T> | Edge<T>)[]
|
export type Elements<T = any> = (Node<T> | Edge<T>)[]
|
||||||
export type NextElements = {
|
export type NextElements = {
|
||||||
nextNodes: GraphNode[]
|
nextNodes: GraphNode[]
|
||||||
nextEdges: Edge[]
|
nextEdges: GraphEdge[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Transform = [number, number, number]
|
export type Transform = [number, number, number]
|
||||||
|
|||||||
+10
-10
@@ -1,13 +1,13 @@
|
|||||||
import { EventHook } from '@vueuse/core'
|
import { EventHook } from '@vueuse/core'
|
||||||
import { FlowTransform, FlowInstance, FlowElements } from './flow'
|
import { FlowTransform, FlowInstance, FlowElements } from './flow'
|
||||||
import { Edge } from './edge'
|
import { GraphEdge } from './edge'
|
||||||
import { Node } from './node'
|
import { Node } from './node'
|
||||||
import { Connection, OnConnectStartParams } from './connection'
|
import { Connection, OnConnectStartParams } from './connection'
|
||||||
|
|
||||||
export type FlowHook<T = any> = EventHook<T>
|
export type FlowHook<T = any> = EventHook<T>
|
||||||
|
|
||||||
export interface FlowEvents {
|
export interface FlowEvents {
|
||||||
elementClick: { event: MouseEvent; element: Node | Edge }
|
elementClick: { event: MouseEvent; element: Node | GraphEdge }
|
||||||
elementsRemove: FlowElements
|
elementsRemove: FlowElements
|
||||||
nodeDoubleClick: { event: MouseEvent; node: Node }
|
nodeDoubleClick: { event: MouseEvent; node: Node }
|
||||||
nodeClick: { event: MouseEvent; node: Node }
|
nodeClick: { event: MouseEvent; node: Node }
|
||||||
@@ -37,14 +37,14 @@ export interface FlowEvents {
|
|||||||
paneScroll: WheelEvent | undefined
|
paneScroll: WheelEvent | undefined
|
||||||
paneClick: MouseEvent
|
paneClick: MouseEvent
|
||||||
paneContextMenu: MouseEvent
|
paneContextMenu: MouseEvent
|
||||||
edgeUpdate: { edge: Edge; connection: Connection }
|
edgeUpdate: { edge: GraphEdge; connection: Connection }
|
||||||
edgeContextMenu: { event: MouseEvent; edge: Edge }
|
edgeContextMenu: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeMouseEnter: { event: MouseEvent; edge: Edge }
|
edgeMouseEnter: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeMouseMove: { event: MouseEvent; edge: Edge }
|
edgeMouseMove: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeMouseLeave: { event: MouseEvent; edge: Edge }
|
edgeMouseLeave: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeDoubleClick: { event: MouseEvent; edge: Edge }
|
edgeDoubleClick: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeClick: { event: MouseEvent; edge: Edge }
|
edgeClick: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeUpdateStart: { event: MouseEvent; edge: Edge }
|
edgeUpdateStart: { event: MouseEvent; edge: GraphEdge }
|
||||||
edgeUpdateEnd: MouseEvent
|
edgeUpdateEnd: MouseEvent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -21,7 +21,7 @@ import {
|
|||||||
OnConnectStopFunc,
|
OnConnectStopFunc,
|
||||||
SetConnectionId,
|
SetConnectionId,
|
||||||
} from './connection'
|
} from './connection'
|
||||||
import { Edge, EdgeComponent } from './edge'
|
import { EdgeComponent, GraphEdge } from './edge'
|
||||||
import { NodeComponent, NodeDiffUpdate, NodeDimensionUpdate, NodeExtent, GraphNode, NodePosUpdate, TranslateExtent } from './node'
|
import { NodeComponent, NodeDiffUpdate, NodeDimensionUpdate, NodeExtent, GraphNode, NodePosUpdate, TranslateExtent } from './node'
|
||||||
import { D3Selection, D3Zoom, D3ZoomHandler, InitD3ZoomPayload } from './zoom'
|
import { D3Selection, D3Zoom, D3ZoomHandler, InitD3ZoomPayload } from './zoom'
|
||||||
import { FlowHooks } from './hooks'
|
import { FlowHooks } from './hooks'
|
||||||
@@ -29,7 +29,7 @@ import { FlowHooks } from './hooks'
|
|||||||
export interface FlowState extends FlowOptions {
|
export interface FlowState extends FlowOptions {
|
||||||
elements: FlowElements
|
elements: FlowElements
|
||||||
nodes: GraphNode[]
|
nodes: GraphNode[]
|
||||||
edges: Edge[]
|
edges: GraphEdge[]
|
||||||
selectedElements?: FlowElements
|
selectedElements?: FlowElements
|
||||||
selectedNodesBbox: Rect
|
selectedNodesBbox: Rect
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ export interface FlowGetters {
|
|||||||
getEdgeTypes: () => Record<string, EdgeComponent>
|
getEdgeTypes: () => Record<string, EdgeComponent>
|
||||||
getNodeTypes: () => Record<string, NodeComponent>
|
getNodeTypes: () => Record<string, NodeComponent>
|
||||||
getNodes: () => GraphNode[]
|
getNodes: () => GraphNode[]
|
||||||
getEdges: () => Edge[]
|
getEdges: () => GraphEdge[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export type FlowStore = Store<string, FlowState, FlowGetters, FlowActions>
|
export type FlowStore = Store<string, FlowState, FlowGetters, FlowActions>
|
||||||
|
|||||||
Reference in New Issue
Block a user