@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
59 lines (58 loc) • 2.06 kB
TypeScript
import * as React from "react";
import { Execution } from "@gooddata/typings";
import { IDrillConfig } from "../../../interfaces/DrillEvents";
import { IGeoConfig, IGeoData, IGeoLngLat } from "../../../interfaces/GeoChart";
import { IHeaderPredicate } from "../../../interfaces/HeaderPredicate";
import "../../../../styles/css/geoChart.css";
import { IColorStrategy } from "../../visualizations/chart/colorFactory";
export interface IGeoChartRendererProps {
config: IGeoConfig;
drillableItems: IHeaderPredicate[];
drillConfig: IDrillConfig;
execution: Execution.IExecutionResponses;
geoData: IGeoData;
colorStrategy: IColorStrategy;
afterRender(): void;
onCenterPositionChanged(center: IGeoLngLat): void;
onZoomChanged(zoom: number): void;
}
export default class GeoChartRenderer extends React.Component<IGeoChartRendererProps> {
static defaultProps: Partial<IGeoChartRendererProps>;
private chart;
private tooltip;
private chartRef;
private navigationControlButton;
constructor(props: IGeoChartRendererProps);
componentDidUpdate(prevProps: IGeoChartRendererProps): void;
componentDidMount(): void;
componentWillUnmount(): void;
setChartRef: (ref: HTMLElement) => void;
createMap: () => void;
render(): JSX.Element;
private updateMapWithConfig;
private resetMap;
private shouldResetMap;
private isViewportFrozen;
private createMapControls;
private removeMapControls;
private addMapControls;
private toggleMapControls;
private toggleInteractionEvents;
private updatePanAndZoom;
private updateViewport;
private setFilterMap;
private handleMapEvent;
private handleMapIdle;
private setupMap;
private adjustChartHeight;
private handleLayerLoaded;
private createTooltip;
private cleanupMap;
private removeLayer;
private removeMap;
private handlePushpinMoveEnd;
private handlePushpinZoomEnd;
private handleMapClick;
private handlePushpinMouseEnter;
private handlePushpinMouseLeave;
}