feat: 拖拽时节点重排
This commit is contained in:
@@ -1,18 +1,17 @@
|
|||||||
import type { GraphLayoutConfig } from '../types/graph';
|
import type { GraphLayoutConfig } from '../types/graph';
|
||||||
|
|
||||||
// 支持的布局类型(仅保留 force 力导向布局)
|
// 支持的布局类型(保留 d3-force 力导向布局)
|
||||||
export const SUPPORTED_LAYOUTS = ['force'] as const;
|
export const SUPPORTED_LAYOUTS = ['d3-force'] as const;
|
||||||
|
|
||||||
// 力导向布局默认配置
|
// 力导向布局默认配置
|
||||||
export const FORCE_LAYOUT_CONFIG = {
|
export const FORCE_LAYOUT_CONFIG = {
|
||||||
type: 'force' as const,
|
type: 'd3-force' as const,
|
||||||
nodeSize: 60,
|
collide: { radius: 60 } as const,
|
||||||
preventOverlap: true,
|
link: { distance: 150 } as const,
|
||||||
linkDistance: 150,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 默认布局配置
|
// 默认布局配置
|
||||||
export const DEFAULT_LAYOUT: GraphLayoutConfig = FORCE_LAYOUT_CONFIG;
|
export const DEFAULT_LAYOUT: GraphLayoutConfig = FORCE_LAYOUT_CONFIG;
|
||||||
|
|
||||||
// 图谱交互行为配置
|
// 图谱交互行为配置
|
||||||
export const GRAPH_BEHAVIORS = ['drag-canvas', 'zoom-canvas', 'drag-element'];
|
export const GRAPH_BEHAVIORS = ['drag-canvas', 'zoom-canvas', 'drag-element-force'];
|
||||||
|
|||||||
@@ -50,13 +50,14 @@ export interface GraphData {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 图谱布局配置
|
* 图谱布局配置
|
||||||
* 目前仅支持 force 力导向布局
|
* 支持 force 力导向布局和 d3-force 力导向布局
|
||||||
*/
|
*/
|
||||||
export interface GraphLayoutConfig {
|
export interface GraphLayoutConfig {
|
||||||
type: 'force';
|
type: 'force' | 'd3-force';
|
||||||
nodeSize?: number;
|
nodeSize?: number;
|
||||||
linkDistance?: number;
|
linkDistance?: number;
|
||||||
center?: [number, number];
|
center?: [number, number];
|
||||||
|
collide?: { radius: number; strength?: number };
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user