Files
lan-manager/web/node_modules/@antv/g6-pc/lib/graph/tree-graph.d.ts
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

126 lines
4.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { GraphData, Item, ShapeStyle, TreeGraphData, GraphOptions, IPoint } from '@antv/g6-core';
import { ITreeGraph } from '../interface/graph';
import Graph from './graph';
export default class TreeGraph extends Graph implements ITreeGraph {
private layoutAnimating;
constructor(cfg: GraphOptions);
/**
* 通过 Layout 配置获取布局配置
*/
private getLayout;
/**
* 返回指定节点在树图数据中的索引
* @param children 树图数据
* @param child 树图中某一个 Item 的数据
*/
private static indexOfChild;
getDefaultCfg(): any;
/**
* 向🌲树中添加数据
* @param treeData 树图数据
* @param parent 父节点实例
* @param animate 是否开启动画
*/
private innerAddChild;
/**
* 将数据上的变更转换到视图上
* @param data
* @param parent
* @param animate
*/
private innerUpdateChild;
/**
* 删除子节点Item对象
* @param id
* @param to
* @param animate
*/
private innerRemoveChild;
/**
* 更新数据模型,差量更新并重新渲染
* @param {object} data 数据模型
*/
changeData(data?: GraphData | TreeGraphData, stack?: boolean): any;
/**
* 已更名为 updateLayout为保持兼容暂且保留。
* 更改并应用树布局算法
* @param {object} layout 布局算法
*/
changeLayout(layout: any): void;
/**
* 更改并应用树布局算法
* @param {object} layout 布局算法
*/
updateLayout(layout: any, align?: 'center' | 'begin', alignPoint?: IPoint, stack?: boolean): void;
/**
* 已更名为 layout为保持兼容暂且保留。
* 根据目前的 data 刷新布局,更新到画布上。用于变更数据之后刷新视图。
* @param {boolean} fitView 更新布局时是否需要适应窗口
*/
refreshLayout(fitView?: boolean): void;
/**
* 根据目前的 data 刷新布局,更新到画布上。用于变更数据之后刷新视图。
* @param {boolean} fitView 更新布局时是否需要适应窗口
*/
layout(fitView?: boolean): void;
/**
* 添加子树到对应 id 的节点
* @param {TreeGraphData} data 子树数据模型
* @param {string} parent 子树的父节点id
*/
addChild(data: TreeGraphData, parent: string | Item, stack?: boolean): void;
/**
* 更新某个节点下的所有子节点
* @param {TreeGraphData[]} data 子树数据模型集合
* @param {string} parent 子树的父节点id
*/
updateChildren(data: TreeGraphData[], parentId: string, stack?: boolean): void;
/**
* 更新源数据,差量更新子树
* @param {TreeGraphData} data 子树数据模型
* @param {string} parentId 子树的父节点id
*/
updateChild(data: TreeGraphData, parentId?: string, stack?: boolean): void;
/**
* 删除子树
* @param {string} id 子树根节点id
*/
removeChild(id: string, stack?: boolean): void;
/**
* 根据id获取对应的源数据
* @param {string} id 元素id
* @param {TreeGraphData | undefined} parent 从哪个节点开始寻找,为空时从根节点开始查找
* @return {TreeGraphData} 对应源数据
*/
findDataById(id: string, parent?: TreeGraphData | undefined): TreeGraphData | null;
/**
* 布局动画接口,用于数据更新时做节点位置更新的动画
* @param {TreeGraphData} data 更新的数据
* @param {function} onFrame 定义节点位置更新时如何移动
*/
layoutAnimate(data: TreeGraphData, onFrame?: (item: Item, ratio: number, originAttrs?: ShapeStyle, data?: TreeGraphData) => unknown): void;
/**
* 立即停止布局动画
*/
stopLayoutAnimate(): void;
/**
* 是否在布局动画
* @return {boolean} 是否有布局动画
*/
isLayoutAnimating(): boolean;
/**
* 根据data接口的数据渲染视图
*/
render(clearStack?: boolean): void;
/**
* 导出图数据
* @return {object} data
*/
save(): TreeGraphData;
/**
* 设置视图初始化数据
* @param {TreeGraphData} data 初始化数据
*/
data(data?: GraphData | TreeGraphData): void;
}