UNPKG

react-d3-tree

Version:

React component to create interactive D3 tree hierarchies

43 lines (42 loc) 1.77 kB
import React, { SyntheticEvent } from 'react'; import { HierarchyPointNode } from 'd3-hierarchy'; import { Orientation, TreeLinkDatum, PathFunctionOption, PathFunction, TreeNodeDatum, PathClassFunction } from '../types/common.js'; type LinkEventHandler = (source: HierarchyPointNode<TreeNodeDatum>, target: HierarchyPointNode<TreeNodeDatum>, evt: SyntheticEvent) => void; interface LinkProps { linkData: TreeLinkDatum; orientation: Orientation; pathFunc: PathFunctionOption | PathFunction; pathClassFunc?: PathClassFunction; enableLegacyTransitions: boolean; transitionDuration: number; onClick: LinkEventHandler; onMouseOver: LinkEventHandler; onMouseOut: LinkEventHandler; } type LinkState = { initialStyle: { opacity: number; }; }; export default class Link extends React.PureComponent<LinkProps, LinkState> { private linkRef; state: { initialStyle: { opacity: number; }; }; componentDidMount(): void; componentWillLeave(done: any): void; applyOpacity(opacity: number, transitionDuration: LinkProps['transitionDuration'], done?: () => void): void; drawStepPath(linkData: LinkProps['linkData'], orientation: LinkProps['orientation']): string; drawDiagonalPath(linkData: LinkProps['linkData'], orientation: LinkProps['orientation']): string; drawStraightPath(linkData: LinkProps['linkData'], orientation: LinkProps['orientation']): string; drawElbowPath(linkData: LinkProps['linkData'], orientation: LinkProps['orientation']): string; drawPath(): string; getClassNames(): string; handleOnClick: (evt: any) => void; handleOnMouseOver: (evt: any) => void; handleOnMouseOut: (evt: any) => void; render(): JSX.Element; } export {};