eurostat-map
Version:
Reusable library to quickly create and customise web maps showing Eurostat data directly retrieved from Eurostat database.
75 lines (69 loc) • 2.65 kB
TypeScript
import type { MapConfig } from '../../core/MapConfig'
import type { SparklineLegendConfig } from '../../legend/composition/SparklineLegendConfig'
export interface SparkSettings {
type?: 'line' | 'area' | 'bar'
lineOffsets?: { x: number; y: number }
lineWidth?: number
lineHeight?: number
lineStrokeWidth?: number
lineOpacity?: number
lineColor?: string | ((value: number, index: number, data: any[]) => string)
areaColor?: string | ((value: number, index: number, data: any[]) => string)
lineCircleRadius?: number
tooltipChart?: {
width: number
height: number
margin: { left: number; right: number; top: number; bottom: number }
circleRadius: number
}
lineChartFunction?: (node: any, data: any[], width: number, height: number, isForTooltip?: boolean) => void
}
/**
* Configuration for sparkline maps.
*/
export interface SparkMapConfig extends MapConfig {
/** Grouped sparkline rendering settings. */
sparkSettings?: SparkSettings
/** Spark type. */
sparkType?: 'line' | 'area' | 'bar'
/** Object-form stat configuration for temporal sparkline datasets. */
dates?: string[]
labels?: string[]
eurostatDatasetCode?: string
customData?: Record<string, Record<string, number>>
filters?: Record<string, any>
unitText?: string
transform?: (value: any) => any
sparkLineColor?: string | ((value: number, index: number, data: any[]) => string)
sparkAreaColor?: string | ((value: number, index: number, data: any[]) => string)
/** Spark line width. */
sparkLineWidth?: number
/** Spark line height. */
sparkLineHeight?: number
/** Spark line stroke width. */
sparkLineStrokeWidth?: number
/** Spark line opacity. */
sparkLineOpacity?: number
/** Spark line circle radius. */
sparkLineCircleRadius?: number
/** Spark tooltip chart. */
sparkTooltipChart?: {
/** Width. */
width: number
/** Height. */
height: number
/** Margin. */
margin: { left: number; right: number; top: number; bottom: number }
/** Circle radius. */
circleRadius: number
}
/** Spark line offsets. */
sparkLineOffsets?: { x: number; y: number }
/** Show only when complete. */
showOnlyWhenComplete?: boolean
sparkLineChartFunction?: (node: any, data: any[], width: number, height: number, isForTooltip?: boolean) => void
/** Spark yscale. */
sparkYScale?: any
/** Legend. */
legend?: SparklineLegendConfig | false
}