UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

67 lines (66 loc) 2.43 kB
import * as React from "react"; import { IChartProps } from "./Chart"; import { ILegendProps } from "./legend/Legend"; import { OnLegendReady } from "../../../interfaces/Events"; import { IChartConfig } from "../../../interfaces/Config"; import { ILegendOptions } from "../typings/legend"; import Highcharts from "./highcharts/highchartsEntryPoint"; export interface IChartHTMLElement extends HTMLElement { getChart(): Highcharts.Chart; getHighchartRef(): HTMLElement; } export interface IHighChartsRendererProps { chartOptions: any; hcOptions: any; documentObj?: Document; height: number; width: number; legend: ILegendOptions; locale: string; onLegendReady: OnLegendReady; legendRenderer(legendProps: ILegendProps): any; chartRenderer(chartProps: IChartProps): any; afterRender(): void; } export interface IHighChartsRendererState { legendItemsEnabled: boolean[]; showFluidLegend: boolean; } export declare function renderChart(props: IChartProps): JSX.Element; export declare function renderLegend(props: ILegendProps): JSX.Element; export default class HighChartsRenderer extends React.PureComponent<IHighChartsRendererProps, IHighChartsRendererState> { static defaultProps: { afterRender: (...args: any[]) => void; height: number; legend: { enabled: boolean; responsive: boolean; position: string; }; chartRenderer: typeof renderChart; legendRenderer: typeof renderLegend; onLegendReady: (...args: any[]) => void; documentObj: Document; }; private highchartsRendererRef; private chartRef; private throttledOnWindowResize; constructor(props: IHighChartsRendererProps); onWindowResize(): void; componentWillMount(): void; componentDidMount(): void; componentWillUnmount(): void; componentWillReceiveProps(nextProps: IHighChartsRendererProps): void; onLegendItemClick(item: any): void; setChartRef(chartRef: IChartHTMLElement): void; getFlexDirection(): "column" | "row"; getItems(items: any): any; resetLegendState(props: any): void; createChartConfig(chartConfig: IChartConfig, legendItemsEnabled: any): IChartConfig; renderLegend(): any; renderHighcharts(): any; render(): JSX.Element; private validateOverHeight; private realignPieOrDonutChart; private isBottomLegend; }