@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
108 lines (107 loc) • 3.22 kB
TypeScript
/// <reference types="mapbox-gl" />
import { ISeparators } from "@gooddata/numberjs";
import { VisualizationInput, VisualizationObject } from "@gooddata/typings";
import { ILegendConfig, IColorPalette, IColorMapping } from "./Config";
import { ICommonChartProps } from "../components/core/base/BaseChart";
export interface IGeoLngLat {
lat: number;
lng: number;
}
export interface IGeoLngLatBounds {
northEast: IGeoLngLat;
southWest: IGeoLngLat;
}
export interface IGeoTooltipItem {
title: string;
value: string | number;
format?: string;
}
export interface IObjectMapping {
[property: string]: string | number | object | null;
}
export interface IPushpinColor {
border: string;
background: string;
}
export interface IGeoDataItem {
name: string;
index: number;
}
export interface IGeoAttributeItem extends IGeoDataItem {
data: string[];
}
export interface IGeoSegmentItem extends IGeoAttributeItem {
uris: string[];
}
export interface IGeoLocationItem extends IGeoDataItem {
data: IGeoLngLat[];
}
export interface IGeoMeasureItem extends IGeoDataItem {
format: string;
data: number[];
}
export interface IGeoData {
location?: IGeoLocationItem;
size?: IGeoMeasureItem;
color?: IGeoMeasureItem;
segment?: IGeoSegmentItem;
tooltipText?: IGeoAttributeItem;
}
export declare type IGeoConfigViewportArea = "auto" | "continent_af" | "continent_as" | "continent_au" | "continent_eu" | "continent_na" | "continent_sa" | "world";
export interface IGeoConfigViewport {
area?: IGeoConfigViewportArea;
frozen?: boolean;
}
export interface IGeoViewports {
[key: string]: mapboxgl.LngLatBoundsLike;
}
export declare type PushpinSizeOption = "0.5x" | "0.75x" | "normal" | "1.25x" | "1.5x";
export interface IGeoPointsConfig {
minSize?: PushpinSizeOption;
maxSize?: PushpinSizeOption;
groupNearbyPoints?: boolean;
}
export interface IGeoConfig {
center?: IGeoLngLat;
isExportMode?: boolean;
legend?: ILegendConfig;
limit?: number;
mdObject?: VisualizationObject.IVisualizationObjectContent;
selectedSegmentItems?: string[];
tooltipText?: VisualizationInput.IAttribute;
zoom?: number;
mapboxToken: string;
separators?: ISeparators;
viewport?: IGeoConfigViewport;
points?: IGeoPointsConfig;
colors?: string[];
colorPalette?: IColorPalette;
colorMapping?: IColorMapping[];
showLabels?: boolean;
}
export interface IGeoPushpinChartProps extends ICommonChartProps {
config?: IGeoConfig;
projectId: string;
exportTitle?: string;
location: VisualizationInput.IAttribute;
size?: VisualizationInput.AttributeOrMeasure;
color?: VisualizationInput.AttributeOrMeasure;
segmentBy?: VisualizationInput.IAttribute;
filters?: VisualizationInput.IFilter[];
sortBy?: VisualizationInput.ISort[];
}
export interface IPushpinCategoryLegendItem {
name: string;
uri: string;
color?: string;
legendIndex: number;
isVisible?: boolean;
}
export interface IValidationResult {
isDataTooLarge: boolean;
}
export interface IAvailableLegends {
hasCategoryLegend: boolean;
hasColorLegend: boolean;
hasSizeLegend: boolean;
}