UNPKG

fybdp-d3-kg

Version:

Knowledge Graph using React and D3.js

131 lines (130 loc) 3.95 kB
import React, { Component } from 'react'; import { Placement } from 'rdk'; import { Node, Link, Axis } from './types'; interface NodeEventData { nativeEvent: any; node: Node; links: Link[]; } interface LinkEventData { nativeEvent: any; link: Link; } export interface HivePlotProps { axis: Axis[]; nodes: Node[]; links: Link[]; activeIds?: string[]; disabled?: boolean; label: { show: boolean; padding?: number; }; width?: number; height?: number; innerRadius: number; className?: any; onNodeClick: (data: NodeEventData) => void; onNodeMouseOver: (data: NodeEventData) => void; onLinkMouseOver: (data: LinkEventData) => void; onNodeMouseOut: (data: NodeEventData) => void; onLinkMouseOut: (data: LinkEventData) => void; tooltip: { show: boolean; placement: Placement; formatter: (axis: Axis[], nodes: Node[], link?: Link, node?: Node) => React.ReactNode; }; colorScheme: { axis: string[]; domain: string[]; }; } interface HivePlotState { tooltipReference?: EventTarget | null; nodeTooltipData?: Node; linkTooltipData?: Link; active?: { [k: string]: boolean; }; height?: number; width?: number; } export declare class HivePlot extends Component<HivePlotProps, HivePlotState> { static defaultProps: { innerRadius: number; disabled: boolean; axis: never[]; nodes: never[]; links: never[]; label: { show: boolean; padding: number; }; activeIds: never[]; onNodeClick: () => undefined; onNodeMouseOver: () => undefined; onNodeMouseOut: () => undefined; onLinkMouseOver: () => undefined; onLinkMouseOut: () => undefined; tooltip: { show: boolean; placement: string; formatter: (attr: any) => any; }; colorScheme: { axis: string[]; domain: string[]; }; }; state: HivePlotState; onNodeMouseOver(node: Node, event: MouseEvent): void; onLinkMouseOver(link: Link, event: MouseEvent): void; activateLink(link: Link): void; activateAdjacentLinks(links: Link[], target: Node, accumulator: {}): any[]; onNodeMouseOut(node: Node, event: MouseEvent): void; onLinkMouseOut(link: Link, event: MouseEvent): void; onNodeClick(node: Node, event: MouseEvent): void; getLinksForNode(node: Node): Link[]; resetActive(): void; prepareData({ dimension, innerRadius, colorScheme, axis, label }: { dimension: any; innerRadius: any; colorScheme: any; axis: any; label: any; }): { angle: import("d3-scale").ScalePoint<string>; radius: import("d3-scale").ScaleLinear<number, number>; axisColor: import("d3-scale").ScaleOrdinal<string, unknown>; domainColor: import("d3-scale").ScaleOrdinal<string, unknown>; outerRadius: number; }; onSize({ height, width }: { height: any; width: any; }): void; getDimensions(): { height: number; width: number; }; renderAxis({ angle, radius, axisColor, outerRadius }: { angle: any; radius: any; axisColor: any; outerRadius: any; }): JSX.Element; isActive(nodeOrLink: Node | Link, index: number, type: 'node' | 'link'): boolean; renderLinks({ angle, radius, domainColor }: { angle: any; radius: any; domainColor: any; }): JSX.Element; renderNodes({ angle, radius, domainColor }: { angle: any; radius: any; domainColor: any; }): JSX.Element; renderTooltip(): JSX.Element; render(): JSX.Element; } export {};