/** * DevExtreme (viz/chart_components/base_chart.d.ts) * Version: 21.1.7 * Build date: Thu Aug 07 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { UserDefinedElement, DxElement, } from '../../core/element'; import { PaletteType, PaletteExtensionModeType, } from '../palette'; import { template, } from '../../core/templates/template'; import DataSource, { DataSourceOptions, } from '../../data/data_source'; import Store from '../../data/abstract_store'; import { EventInfo, NativeEventInfo, } from '../../events/index'; import { format, } from '../../ui/widget/ui.widget'; import { basePointObject, baseSeriesObject, chartSeriesObject, dxChartAnnotationConfig, dxChartSeriesTypesCommonSeriesLabel, dxChartSeriesTypesCommonSeriesPoint, } from '../chart'; import { BaseLegend, BaseLegendItem, } from '../common'; import BaseWidget, { BaseWidgetOptions, BaseWidgetTooltip, BaseWidgetAnnotationConfig, } from '../core/base_widget'; export interface PointInteractionInfo { readonly target: basePointObject; } export interface TooltipInfo { target?: basePointObject | dxChartAnnotationConfig | any; } /** @namespace DevExpress.viz */ export interface BaseChartOptions extends BaseWidgetOptions { /** * @docid * @type object * @public */ adaptiveLayout?: BaseChartAdaptiveLayout; /** * @docid * @public */ animation?: { /** * @docid * @default 1000 */ duration?: number; /** * @docid * @type Enums.VizAnimationEasing * @default 'easeOutCubic' */ easing?: 'easeOutCubic' | 'linear'; /** * @docid * @default true */ enabled?: boolean; /** * @docid * @default 300 */ maxPointCountSupported?: number; } | boolean; /** * @docid * @type_function_param1 pointInfo:object * @type_function_return dxChartSeriesTypes.CommonSeries.label * @public */ customizeLabel?: ((pointInfo: any) => dxChartSeriesTypesCommonSeriesLabel); /** * @docid * @type_function_param1 pointInfo:object * @type_function_return dxChartSeriesTypes.CommonSeries.point * @public */ customizePoint?: ((pointInfo: any) => dxChartSeriesTypesCommonSeriesPoint); /** * @docid BaseChartOptions.dataSource * @notUsedInTheme * @public */ dataSource?: Array | Store | DataSource | DataSourceOptions | string; /** * @docid * @inherits BaseLegend * @type object * @public */ legend?: BaseChartLegend; /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @notUsedInTheme * @action * @public */ onDone?: ((e: EventInfo) => void); /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 event:event * @type_function_param1_field5 target:basePointObject * @notUsedInTheme * @action * @public */ onPointClick?: ((e: NativeEventInfo & PointInteractionInfo) => void) | string; /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:object * @type_function_param1_field2 element:object * @type_function_param1_field3 target:basePointObject * @notUsedInTheme * @action * @public */ onPointHoverChanged?: ((e: EventInfo & PointInteractionInfo) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:object * @type_function_param1_field2 element:object * @type_function_param1_field3 target:basePointObject * @notUsedInTheme * @action * @public */ onPointSelectionChanged?: ((e: EventInfo & PointInteractionInfo) => void); /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 target:basePointObject|dxChartAnnotationConfig|any * @notUsedInTheme * @action * @public */ onTooltipHidden?: ((e: EventInfo & TooltipInfo) => void); /** * @docid * @default null * @type_function_param1 e:object * @type_function_param1_field1 component:this * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 target:basePointObject|dxChartAnnotationConfig|any * @notUsedInTheme * @action * @public */ onTooltipShown?: ((e: EventInfo & TooltipInfo) => void); /** * @docid * @default "Material" * @type Array|Enums.VizPalette * @public */ palette?: Array | PaletteType; /** * @docid * @type Enums.VizPaletteExtensionMode * @default 'blend' * @public */ paletteExtensionMode?: PaletteExtensionModeType; /** * @docid * @type Enums.ChartElementSelectionMode * @default 'single' * @public */ pointSelectionMode?: 'multiple' | 'single'; /** * @docid * @default undefined * @notUsedInTheme * @hideDefaults true * @public */ series?: any | Array; /** * @docid * @type object * @public */ tooltip?: BaseChartTooltip; } /** @namespace DevExpress.viz */ export interface BaseChartAdaptiveLayout { /** * @docid BaseChartOptions.adaptiveLayout.height * @default 80 * @public */ height?: number; /** * @docid BaseChartOptions.adaptiveLayout.keepLabels * @default true * @public */ keepLabels?: boolean; /** * @docid BaseChartOptions.adaptiveLayout.width * @default 80 * @public */ width?: number; } /** @namespace DevExpress.viz */ export interface BaseChartLegend extends BaseLegend { /** * @docid BaseChartOptions.legend.customizeItems * @public */ customizeItems?: ((items: Array) => Array); /** * @docid BaseChartOptions.legend.markerTemplate * @default undefined * @type_function_return string|SVGElement|jQuery * @public */ markerTemplate?: template | ((legendItem: BaseChartLegendItem, element: SVGGElement) => string | UserDefinedElement); } /** @namespace DevExpress.viz */ export interface BaseChartTooltip extends BaseWidgetTooltip { /** * @docid BaseChartOptions.tooltip.argumentFormat * @default undefined * @public */ argumentFormat?: format; /** * @docid BaseChartOptions.tooltip.contentTemplate * @type_function_param1 pointInfo:object * @type_function_return string|Element|jQuery * @default undefined * @public */ contentTemplate?: template | ((pointInfo: any, element: DxElement) => string | UserDefinedElement); /** * @docid BaseChartOptions.tooltip.customizeTooltip * @type_function_param1 pointInfo:object * @type_function_return object * @default undefined * @notUsedInTheme * @public */ customizeTooltip?: ((pointInfo: any) => any); /** * @docid BaseChartOptions.tooltip.shared * @default false * @public */ shared?: boolean; /** * @docid BaseChartOptions.tooltip.interactive * @default false * @public */ interactive?: boolean; } /** * @docid * @hidden * @inherits BaseWidget, DataHelperMixin * @namespace DevExpress.viz */ export class BaseChart extends BaseWidget { constructor(element: UserDefinedElement, options?: BaseChartOptions) /** * @docid * @publicName clearSelection() * @public */ clearSelection(): void; /** * @docid * @publicName getAllSeries() * @public */ getAllSeries(): Array; getDataSource(): DataSource; /** * @docid * @publicName getSeriesByName(seriesName) * @public */ getSeriesByName(seriesName: any): chartSeriesObject; /** * @docid * @publicName getSeriesByPos(seriesIndex) * @public */ getSeriesByPos(seriesIndex: number): chartSeriesObject; /** * @docid * @publicName hideTooltip() * @public */ hideTooltip(): void; /** * @docid * @publicName refresh() * @public */ refresh(): void; render(): void; /** * @docid * @publicName render(renderOptions) * @param1 renderOptions:object * @public */ render(renderOptions: any): void; } /** * @docid * @type object * @inherits BaseLegendItem * @namespace DevExpress.viz */ export interface BaseChartLegendItem extends BaseLegendItem { /** * @docid * @public */ series?: baseSeriesObject; } /** * @docid * @type object * @inherits BaseWidgetAnnotationConfig * @namespace DevExpress.viz */ export interface BaseChartAnnotationConfig extends BaseWidgetAnnotationConfig { /** * @docid * @default undefined * @public */ argument?: number | Date | string; /** * @docid * @default undefined * @public */ series?: string; /** * @docid * @default undefined * @public */ value?: number | Date | string; }