@deltares/fews-web-oc-charts
Version:
FEWS Chart Library
76 lines (75 loc) • 3.09 kB
TypeScript
import { Axes, AxesOptions } from './axes.js';
import { ZoomOptions } from '../Scale/scaleOptions.js';
import { Grid } from '../Grid/grid.js';
import { CartesianAxisOptions } from '../Axis/cartesianAxisOptions.js';
import { XAxis } from '../Axis/xAxis.js';
import { YAxis } from '../Axis/yAxis.js';
export type CartesianAxesIndex = {
x: {
axisIndex: number;
};
y: {
axisIndex: number;
};
};
export interface CartesianAxesOptions extends AxesOptions {
x: CartesianAxisOptions[];
y: CartesianAxisOptions[];
}
export interface DomainChangeEvent {
axisIndex: 0 | 1;
old: [number, number] | [Date, Date];
new: [number, number] | [Date, Date];
fromZoomReset: boolean;
}
export type CartesianAxesEventType = 'update:x-domain';
export type DomainChangeCallback = (event: DomainChangeEvent) => void;
export declare class CartesianAxes extends Axes {
gridHandles: Record<string, Grid>;
axisHandles: Record<string, XAxis | YAxis>;
layers: any;
xScales: Array<any>;
yScales: Array<any>;
xInitialExtent: Array<any>;
yInitialExtent: Array<any>;
clipPathId: string;
xDomainCallbacks: DomainChangeCallback[];
options: CartesianAxesOptions;
private isDomainChangeFromZoomReset;
constructor(container: HTMLElement, width: number | null, height: number | null, options: CartesianAxesOptions);
get xScalesDomains(): Array<Array<number>>;
get yScalesDomains(): Array<Array<number>>;
addEventListener(_event: CartesianAxesEventType, callback: DomainChangeCallback): void;
removeEventListener(_event: CartesianAxesEventType, callback: DomainChangeCallback): void;
setDefaultAxisOptions(axisOptions: CartesianAxisOptions[], defaultOptions: CartesianAxisOptions): void;
setOptions(options: Partial<CartesianAxesOptions>): void;
createCanvas(): void;
createMouseLayer(): void;
updateCanvas(): void;
updateMouseLayer(): void;
setClipPath(): void;
updateAxisScales(options: ZoomOptions, axisKey: keyof CartesianAxesOptions): void;
chartsExtent(axisKey: keyof CartesianAxesOptions, axisIndex: number, options: ZoomOptions): any[];
redraw(options?: {
x?: ZoomOptions;
y?: ZoomOptions;
}): void;
removeInitialExtent(): void;
resetZoom(): void;
atInitialExtent(domain: any, initialExtent: any): boolean;
resize(): void;
zoom(): void;
update(): void;
redrawAxes(): boolean;
updateLabels(): void;
getScale(axisKey: keyof CartesianAxesOptions, axisIndex: 0 | 1): any;
setDomain(axisKey: keyof CartesianAxesOptions, axisIndex: 0 | 1, newDomain: [number, number] | [Date, Date]): void;
protected initXScales(options: CartesianAxisOptions[]): void;
protected initYScales(options: CartesianAxisOptions[]): void;
protected setRange(): void;
protected setRangeX(options: any): void;
protected setRangeY(options: any): void;
protected initAxisX(options: CartesianAxisOptions[]): void;
protected initAxisY(options: CartesianAxisOptions[]): void;
protected initLabels(): void;
}