!!!###!!!title=数据表血缘图谱——VisActor/VGraph 教程文档!!!###!!!!!!###!!!description=DataLineageGraph 是数据血缘图谱组件,为血缘图谱场景打造的开箱即用解决方案。目前已经落地的场景有 coral 血缘图。此组件支持[表视图](/vgraph/demo/solutions/dataLineage)和[列视图](/vgraph/demo/solutions/columnLineage)两种展示形式。引用方式为```javascriptimport { DataLineageGraph } from '@visactor/react-vgraph';() => <DataLineageGraph ...options />```!!!###!!!

血缘图谱场景解决方案

DataLineageGraph 是数据血缘图谱组件,为血缘图谱场景打造的开箱即用解决方案。目前已经落地的场景有 coral 血缘图。此组件支持表视图列视图两种展示形式。引用方式为

import { DataLineageGraph } from '@visactor/react-vgraph';

() => <DataLineageGraph ...options />

配置项

字段类型描述
dataGraphStructure数据血缘组件接受 GraphStructure 类型的数据,表视图和列视图(mode = 'table' || mode = 'column') 结构略有不同。表视图组件节点数据对应 nodes,关系为 edges, 无须指定 groups。分组由 getGroupData 内部实现。列视图字段数据对应 nodes,关系为 edges,表数据对应 groups,一个表中包含若干字段。
baseTableIdstring主节点 id。表模式下是节点 id,列模式下应是对应分组的 id。
mode'table' | 'column'表视图 | 列视图
sizenumber[]图容器大小,size:[800, 600] 表示容器宽为 800px,高为 600 px
minDepthnumber血缘层级,上游为负数。-1 代表上游一层。表视图必须。用于保证筛选前后列数量不变
maxDepthnumber血缘层级,下游为正数。1 代表下游一层。表视图必须。用于保证筛选前后列数量不变
optionsIOptions个性化定制配置

IOptions 中包含的个性化定制配置如下:

字段类型描述
tableHeightnumber节点高度,有 60px, 40px, 32px 三档,对应表视图更多属性,表视图常规,列视图常规三种情况
groupGapnumber每层之间的间隔宽度,默认 50
getGroupWidth(depth: number, count: number) => number获取层宽。表视图 304,列视图 240
activeColumnstring[][列视图]主表目前勾选的字段
getGroupData(data: tableData) => string;[表视图]分组方法,给定每个节点数据,返回分组值
filter{ type: string; value: string[];}[表视图]给定筛选的类型和筛选值进行筛选。
minDepthnumber最小层级限制,上游为负数
maxDepthnumber最大层级限制,下游为正数
getEdgeStyles(sourceId: string, targetId: string) => object默认状态下边的样式。默认为:{ strokeStyle: '#D1D5DA',lineWidth: 1,hitWidth: 6, }
getEdgeHighlightStyles(sourceId: string, targetId: string) => object;高亮状态下边的样式,会 merge 默认状态样式展示。默认为:{ strokeStyle: '#3073F2'}
getGroupTitle(groupData: any) => ReactNode[表视图]获取每个层级分组头的展示内容
getGroupContent(groupData: any) => ReactNode[列视图]获取表头的展示内容
getGroupName(groupData: any) => string获取分组名称,用默认样式渲染分组头
getTableContent(tableData, group: any) => ReactNode | string获取节点内容
getEmptyContent(group: any) => ReactNode | string获取空列显示的内容,默认为 null 不做展示
getTaskTooltipContent(edgeData.taskEntity[]) => string | ReactNode获取连线 tooltip 内容。需连线数据中有 taskEntity 字段对应任务数据
onClickTable(tableData) => void点击节点事件
onClickEdge(edgeData) => void点击连线事件
highlightEdgeboolean是否开启连线 hover 和 tooltip 展示交互
highlightMode"MAIN" | "ALL"点击节点后的高亮模式, 默认为 "MAIN", 仅高亮上游或下游。 设置为 "ALL" 则高亮上游和下游
search(nodeData: any) => boolean定义如何精确搜索节点,如无满足条件的节点则将调用 onEmptySearch 方法
onEmptySearch() => voidsearch 结果为空时触发调用