ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
108 lines (107 loc) • 4.62 kB
TypeScript
import { type ChartModuleDefinition, type CloneOptions, type DeepPartial } from 'ag-charts-core';
import { type AgChartOptions, type AgChartThemeParams } from 'ag-charts-types';
import { ChartTheme } from '../chart/themes/chartTheme';
import { type OptionsGraphAccessor } from './optionsGraph';
export interface ChartSpecialOverrides {
document: Document;
window: Window;
styleContainer?: HTMLElement;
skipCss?: boolean;
}
export interface ChartInternalOptionMetadata {
presetType?: 'price-volume' | 'gauge-preset' | 'sparkline';
pool?: boolean;
domMode?: 'normal' | 'minimal';
withDragInterpretation?: boolean;
}
export declare class ChartOptions<T extends AgChartOptions = AgChartOptions> {
static readonly OPTIONS_CLONE_OPTS_SLOW: CloneOptions;
static readonly OPTIONS_CLONE_OPTS_FAST: CloneOptions;
static readonly JSON_DIFF_OPTS: Set<any>;
private static readonly perfDebug;
private static readonly FAST_PATH_OPTIONS;
private static isFastPathDelta;
activeTheme: ChartTheme;
processedOptions: T;
userOptions: Partial<T>;
processedOverrides: Partial<T>;
specialOverrides: ChartSpecialOverrides;
optionMetadata: ChartInternalOptionMetadata;
themeParameters: AgChartThemeParams;
annotationThemes: any;
googleFonts?: Set<string>;
fastDelta?: DeepPartial<T>;
chartDef?: ChartModuleDefinition<any>;
optionsProcessingTime?: number;
optionsGraph?: OptionsGraphAccessor;
seriesWithUserVisibility?: {
identifiers: Set<string>;
indices: Set<number>;
};
userDeltaKeys?: Set<string>;
private static readonly debug;
constructor(currentUserOptions: T | ChartOptions<T> | undefined, newUserOptions: T, processedOverrides: Partial<T>, specialOverrides: Partial<ChartSpecialOverrides>, metadata: ChartInternalOptionMetadata, deltaOptions?: DeepPartial<T> | null, stripSymbols?: boolean, apiStartTime?: number);
private findSeriesWithUserVisiblity;
private fastSetup;
private fastSeriesSetup;
private slowSetup;
private validatePluginOptions;
private validateSeriesOptions;
private validateAxesOptions;
diffOptions(other?: ChartOptions): Partial<T>;
private optionsType;
private processSeriesOptions;
/**
* Collates axis keys from the axis and series options to determine the full set of axis keys, defaults series to
* the primary axes and renames the primary axes to the internal direction-based names.
*/
private processAxesOptions;
/**
* These keys are used to map a series to an axis for each direction. They are retrieved per-series to allow a
* mixture of flipped and non-flipped series within the same chart.
*/
private getSeriesDirectionAxisKey;
/**
* Check if any of the series' axis keys have values that do not match the expected value, i.e. the direction.
*/
private countNonDefaultSeriesAxisKeys;
/**
* The primary axes are defined, for each direction, as those first in the `axes` object or referenced by a series.
* This is irregardless of the specific key of the axis, e.g. an axis with the key `y` may have the position `top`,
* and would therefore be classified as the primary `x` axis.
*/
private getPrimaryAxisKeys;
private getRemappedAxisKeys;
/**
* Update each series' axis keys to match the name used internally, such as the direction or a constant suffixed by
* the index for secondary axes.
*/
private remapSeriesAxisKeys;
/**
* Attempt to predict the axes for each direction based on a subset of the data. Each series has its own prediction
* algorithm.
*/
private predictAxes;
private cloneDefaultAxes;
private predictAxesMissingTypesAndPositions;
private predictAxisMissingTypeFromPosition;
private predictAxisMissingTypeAndPositionFromSeries;
/**
* If the first secondary axis in either direction does not have a specified position, it will be placed in the
* alternate position to the primary axis (i.e. right or top).
*/
private alternateSecondaryAxisPositions;
private processMiniChartSeriesOptions;
private getSeriesGroupingOptions;
private setSeriesGroupingOptions;
private getSeriesGroupId;
private getSeriesGrouping;
private soloSeriesIntegrity;
private static processFontOptions;
private processFonts;
private static removeDisabledOptionJson;
private removeDisabledOptions;
private static removeLeftoverSymbolsJson;
private removeLeftoverSymbols;
private specialOverridesDefaults;
}