ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
31 lines (30 loc) • 1.46 kB
TypeScript
import type { DeepRequired, RequireOptional } from 'ag-charts-core';
import type { AgChartInstance, AgSelectionChangeEvent, AgTouchOptions } from 'ag-charts-types';
import { Group } from '../scene/group';
import type { CaptionLike } from './captionLike';
import type { ChartHighlight } from './chartHighlight';
import type { ChartMode } from './chartMode';
import type { ChartType } from './chartType';
import type { SeriesProperties } from './series/seriesProperties';
import type { DatumIndexType, ISeries, SeriesNodeDatum } from './series/seriesTypes';
export type ChartServiceEvent = RequireOptional<Omit<AgSelectionChangeEvent<unknown, unknown>, 'context'>>;
export type ChartServiceEventType = ChartServiceEvent['type'];
type BaseSeries = ISeries<DatumIndexType, SeriesNodeDatum<DatumIndexType>, SeriesProperties<object>>;
export interface ChartService {
readonly id: string;
readonly mode: ChartMode;
readonly styleNonce?: string;
readonly title: CaptionLike;
readonly series: BaseSeries[];
readonly seriesRoot: Group;
readonly selectionRoot: Group;
readonly publicApi?: AgChartInstance;
readonly touch: DeepRequired<AgTouchOptions>;
readonly context?: unknown;
readonly highlight?: ChartHighlight;
getChartType(): ChartType;
overrideFocusVisible(visible: boolean | undefined): void;
hasListener(type: ChartServiceEventType): boolean;
callListener(event: ChartServiceEvent): void;
}
export {};