UNPKG

@antv/g6

Version:

A Graph Visualization Framework in JavaScript

222 lines (218 loc) 4.28 kB
import type { ID, State } from '../types'; import type { ComboStyle } from './element/combo'; import type { EdgeStyle } from './element/edge'; import type { NodeStyle } from './element/node'; /** * <zh/> 图数据 * * <en/> Graph data * @remarks * <zh/> 图数据(GraphData)是 Graph 接收的数据类型之一,包含节点、边、组合的集合。 * * <zh/> 一个图数据的示例如下: * * <en/> Graph data is one of the data types received by Graph, which contains a collection of nodes, edges, and combos. * * <en/> An example of a graph data is as follows: * * ```json * { * "nodes": [ * { "id": "node1", "combo": "combo-1", "style": { "x": 100, "y": 100 } }, * { "id": "node2", "style": { "x": 200, "y": 200 } } * ], * "edges": [{ "source": "node1", "target": "node2" }], * "combos": [{ "id": "combo-1", "style": { "x": 100, "y": 100 } }] * } * ``` */ export interface GraphData { /** * <zh/> 节点数据 * * <en/> node data */ nodes?: NodeData[]; /** * <zh/> 边数据 * * <en/> edge data */ edges?: EdgeData[]; /** * <zh/> Combo 数据 * * <en/> combo data */ combos?: ComboData[]; } /** * <zh/> 节点数据 * * <en/> Node data */ export interface NodeData { /** * <zh/> 节点 ID * * <en/> Node ID */ id: ID; /** * <zh/> 节点类型 * * <en/> Node type */ type?: string; /** * <zh/> 节点数据 * * <en/> Node data * @remarks * <zh/> 用于存储节点的自定义数据,可以在样式映射中通过回调函数获取 * * <en/> Used to store custom data of the node, which can be obtained through callback functions in the style mapping */ data?: Record<string, unknown>; /** * <zh/> 节点样式 * * <en/> Node style */ style?: NodeStyle; /** * <zh/> 节点初始状态 * * <en/> Initial state of the node */ states?: State[]; /** * <zh/> 所属组合 ID * * <en/> ID of the combo to which the node belongs */ combo?: ID | null; /** * <zh/> 子节点 ID * * <en/> Child node ID * @remarks * <zh/> 适用于树图结构 * * <en/> Suitable for tree graph structure */ children?: ID[]; /** * <zh/> 节点深度 * * <en/> Node depth * @remarks * <zh/> 适用于树图结构 * * <en/> Suitable for tree graph structure */ depth?: number; [key: string]: unknown; } /** * <zh/> 组合数据 * * <en/> Combo data */ export interface ComboData { /** * <zh/> Combo ID * * <en/> Combo ID */ id: ID; /** * <zh/> Combo 类型 * * <en/> Combo type */ type?: string; /** * <zh/> Combo 数据 * * <en/> Combo data * @remarks * <zh/> 用于存储 Combo 的自定义数据,可以在样式映射中通过回调函数获取 * * <en/> Used to store custom data of the Combo, which can be obtained through callback functions in the style mapping */ data?: Record<string, unknown>; /** * <zh/> Combo 样式 * * <en/> Combo style */ style?: ComboStyle; /** * <zh/> 组合初始状态 * * <en/> Initial state of the combo */ states?: State[]; /** * <zh/> 所属组合 ID * * <en/> ID of the combo to which the combo belongs */ combo?: ID | null; [key: string]: unknown; } /** * <zh/> 边数据 * * <en/> Edge data */ export interface EdgeData { /** * <zh/> 边 ID * * <en/> Edge ID */ id?: ID; /** * <zh/> 边起始节点 ID * * <en/> Source node ID */ source: ID; /** * <zh/> 边目标节点 ID * * <en/> Target node ID */ target: ID; /** * <zh/> 边类型 * * <en/> Edge type */ type?: string; /** * <zh/> 边数据 * * <en/> Edge data * @remarks * <zh/> 用于存储边的自定义数据,可以在样式映射中通过回调函数获取 * * <en/> Used to store custom data of the edge, which can be obtained through callback functions in the style mapping */ data?: Record<string, unknown>; /** * <zh/> 边样式 * * <en/> Edge style */ style?: EdgeStyle; /** * <zh/> 边初始状态 * * <en/> Initial state of the edge */ states?: State[]; [key: string]: unknown; }