react-dagre-map-v2
Version:
okr align map, many-to-many relationship
58 lines (57 loc) • 1.31 kB
TypeScript
import React from 'react';
import { ARROW_DIR } from './enum';
declare type TArrow = ARROW_DIR.UP | ARROW_DIR.DOWN | ARROW_DIR.ROOT;
export interface ICard {
id: number | string;
up?: ICard[];
down?: ICard[];
upLength: number;
downLength: number;
[propName: string]: any;
}
export interface INode extends ICard {
uuid: number;
rank: number;
rootUUID: number;
parentID: number | null;
visible?: boolean;
hideUp?: boolean;
hideDown?: boolean;
[propName: string]: any;
}
export interface IEdge {
d: string;
source: ICard;
target: ICard;
direction: TArrow;
[propName: string]: any;
}
export interface IFieldNames {
id: string;
up: string;
down: string;
upLength: string;
downLength: string;
}
export interface IMapProps {
data?: ICard[];
offset?: {
left?: number;
top?: number;
right?: number;
};
nodeStyle?: {
offsetY?: number;
offsetX?: number;
width?: number;
height?: number;
circleWidth?: number;
};
fieldNames?: Partial<IFieldNames>;
renderChild?: (info: INode) => React.ReactNode;
fetchMoreData: (info: INode, direction: TArrow) => Promise<{
data: ICard[];
}>;
[propName: string]: any;
}
export {};