UNPKG

ag-charts-community

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

108 lines (107 loc) 4.62 kB
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; }