UNPKG

2.03 kBTypeScriptView Raw
1/**
2 * @fileOverview random layout
3 * @author shiwu.wyy@antfin.com
4 */
5import { Edge, OutNode } from './types';
6import { Base } from './base';
7/**
8 * 层次布局
9 */
10export declare class DagreLayout extends Base {
11 /** layout 方向, 可选 TB, BT, LR, RL */
12 rankdir: 'TB' | 'BT' | 'LR' | 'RL';
13 /** 节点对齐方式,可选 UL, UR, DL, DR */
14 align: undefined | 'UL' | 'UR' | 'DL' | 'DR';
15 /** 节点大小 */
16 nodeSize: number | number[] | undefined;
17 /** 节点水平间距(px) */
18 nodesepFunc: ((d?: any) => number) | undefined;
19 /** 每一层节点之间间距 */
20 ranksepFunc: ((d?: any) => number) | undefined;
21 /** 节点水平间距(px) */
22 nodesep: number;
23 /** 每一层节点之间间距 */
24 ranksep: number;
25 /** 是否保留布局连线的控制点 */
26 controlPoints: boolean;
27 /** 每层节点是否根据节点数据中的 comboId 进行排序,以放置同层 combo 重叠 */
28 sortByCombo: boolean;
29 nodes: OutNode[];
30 edges: Edge[];
31 constructor(options?: DagreLayout.DagreLayoutOptions);
32 getDefaultCfg(): {
33 rankdir: string;
34 align: undefined;
35 nodeSize: undefined;
36 nodesepFunc: undefined;
37 ranksepFunc: undefined;
38 nodesep: number;
39 ranksep: number;
40 controlPoints: boolean;
41 };
42 /**
43 * 执行布局
44 */
45 execute(): {
46 nodes: OutNode[];
47 edges: any[];
48 } | undefined;
49 sortLevel(propertyName: string): void;
50 getType(): string;
51}
52export declare namespace DagreLayout {
53 interface DagreLayoutOptions {
54 type: 'dagre';
55 rankdir?: 'TB' | 'BT' | 'LR' | 'RL';
56 align?: 'UL' | 'UR' | 'DL' | 'DR';
57 nodeSize?: number | number[] | undefined;
58 nodesep?: number;
59 ranksep?: number;
60 nodesepFunc?: ((d?: any) => number) | undefined;
61 ranksepFunc?: ((d?: any) => number) | undefined;
62 controlPoints?: boolean;
63 sortByCombo?: boolean;
64 workerEnabled?: boolean;
65 }
66}
67
\No newline at end of file