ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
38 lines (37 loc) • 1.48 kB
TypeScript
import type { PlainObject } from 'ag-charts-core';
import { IrregularBandScale } from '../../scale/irregularBandScale';
export type SeriesGrouping = {
groupIndex: number;
groupCount: number;
stackIndex: number;
stackCount: number;
};
type SeriesGroupingResult = {
visibleGroupCount: number;
visibleSameStackCount: number;
index: number;
};
type SeriesIdLike = {
internalId: string;
type: string;
};
type SeriesLike = SeriesIdLike & {
seriesGrouping?: SeriesGrouping;
width?: number;
visible: boolean;
};
export declare class SeriesStateManager {
private readonly groups;
private readonly groupScales;
registerSeries({ internalId, seriesGrouping, visible, width, type }: SeriesLike): void;
updateSeries({ internalId, seriesGrouping, visible, width, type }: SeriesLike): void;
deregisterSeries({ internalId, type }: SeriesIdLike): void;
getVisiblePeerGroupIndex({ type, seriesGrouping, visible }: SeriesLike): SeriesGroupingResult;
updateGroupScale({ type }: SeriesLike, bandwidth: number, axis: PlainObject): void;
getGroupScale({ type }: SeriesLike): IrregularBandScale | undefined;
getGroupBandWidth(series: SeriesLike): number;
getGroupOffset(series: SeriesLike): number;
getStackOffset(series: SeriesLike, barWidth: number): number;
getDatumOffset(series: SeriesLike, invalidData: Map<string, boolean[]>, missingData: Map<string, boolean[]>, datumIndex: number): number;
}
export {};