UNPKG

topola

Version:

Topola – online genealogy visualization

38 lines (37 loc) 1.21 kB
import { ChartColors } from '.'; import { Chart, ChartInfo, ChartOptions, FamInfo, IndiInfo, Renderer, RendererOptions } from './api'; import { FamDetails, IndiDetails, JsonGedcomData } from './data'; export interface ChartType { new (options: ChartOptions): Chart; } export interface RendererType { new (options: RendererOptions<IndiDetails, FamDetails>): Renderer; } /** Options when rendering or rerendering a chart. */ export interface RenderOptions { startIndi?: string; startFam?: string; baseGeneration?: number; } /** Options when initializing a chart. */ export interface SimpleChartOptions { json: JsonGedcomData; indiUrl?: string; famUrl?: string; indiCallback?: (id: IndiInfo) => void; famCallback?: (id: FamInfo) => void; svgSelector?: string; chartType: ChartType; renderer: RendererType; horizontal?: boolean; colors?: ChartColors; animate?: boolean; updateSvgSize?: boolean; locale?: string; expanders?: boolean; } export interface ChartHandle { render(data?: RenderOptions): ChartInfo; setData(json: JsonGedcomData): void; } export declare function createChart(options: SimpleChartOptions): ChartHandle;