@deltares/fews-web-oc-charts
Version:
FEWS Chart Library
73 lines (72 loc) • 1.93 kB
TypeScript
import { Chart } from '../Charts/chart.js';
import { Visitor } from '../Visitors/visitor.js';
import { Tooltip } from '../Tooltip/tooltip.js';
import { AxisOptions } from '../Axis/axisOptions.js';
import { D3Selection } from '../Utils';
export interface Margin {
top?: number;
right?: number;
bottom?: number;
left?: number;
}
export interface AxesOptions {
transitionTime?: number;
margin?: Margin;
automargin?: boolean;
}
interface AxisIndexItem {
key: string;
axisIndex: number;
}
export interface AxisIndex {
x?: AxisIndexItem;
x1?: {
key: string;
};
y?: AxisIndexItem;
radial?: AxisIndexItem;
angular?: AxisIndexItem;
value?: {
key: string;
};
color?: {
key: string;
};
}
export declare abstract class Axes {
container: HTMLElement;
svg: D3Selection<SVGSVGElement>;
chartGroup: D3Selection<SVGGElement>;
canvas: D3Selection<SVGGElement>;
defs: D3Selection<SVGDefsElement>;
tooltip: Tooltip;
observer: ResizeObserver;
private themeObserver;
width: number;
height: number;
margin: {
top: number;
right: number;
bottom: number;
left: number;
};
axesId: string;
options: AxesOptions;
charts: Chart[];
visitors: Visitor[];
constructor(container: HTMLElement, width: number | null, height: number | null, options: AxesOptions, defaultOptions: any);
setDefaultTimeOptions(axisOptions: AxisOptions | AxisOptions[]): void;
setOptions(options: AxesOptions): void;
setSize(height?: number, width?: number): void;
resize(): void;
abstract redraw(options?: any): void;
resetZoom(): void;
abstract update(): void;
removeChart(id: string): void;
removeAllCharts(): void;
accept(v: Visitor): void;
get extent(): any;
createChartGroup(): void;
protected abstract setRange(): void;
}
export {};