UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

110 lines (109 loc) 4.21 kB
import { EventHandler } from "../../Core/EventHandler"; import { EChart3DModifierType } from "../../types/ChartModifierType"; import { IThemeProvider } from "../../Charting/Themes/IThemeProvider"; import { ILegendOptionsBase } from "../../Charting/Visuals/Legend/SciChartLegendBase"; import { IRenderableSeries3D } from "../Visuals/RenderableSeries/BaseRenderableSeries3D"; import { ChartModifierBase3D, IChartModifierBase3DOptions } from "./ChartModifierBase3D"; import { SciChart3DLegend } from "../../Charting/Visuals/Legend/SciChart3DLegend"; /** * Optional parameters used to configure a {@link LegendModifier3D} at construct time */ export interface ILegendModifier3DOptions extends IChartModifierBase3DOptions, ILegendOptionsBase { /** * Sets whether the legend has visibility checkboxes in it or not */ showCheckboxes?: boolean; /** * Sets whether Series markers are visible or not */ showSeriesMarkers?: boolean; /** * Callback when a legend item checkbox is checked or unchecked (by default, this corresponds to {@link IRenderableSeries3D.isVisible} * @param series * @param isChecked */ isCheckedChangedCallback?: (series: IRenderableSeries3D, isChecked: boolean) => void; /** * Set this only if you need to pass in a custom legend instance. * showCheckboxes, showSeriesMarkers and isCheckedChangedCallback will be set on the instance you pass if specified in the options. */ legend?: SciChart3DLegend; } /** * Type args for the {@link LegendModifier3D.isCheckedChanged} callback */ export declare type TCheckedChangedArgs = { /** * The series which was checked or unchecked */ series: IRenderableSeries3D; /** * Whether the corresponding legend item is checked or not (by default, this corresponds to {@link IRenderableSeries3D.isVisible}) */ isChecked: boolean; }; /** * The LegendModifier3D provides interactive legend behavior on a 3D {@link SciChart3DSurface} * within SciChart - High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts} * @remarks * * To apply the LegendModifier3D to a {@link SciChart3DSurface} and add tooltip behavior, * use the following code: * * ```ts * const sciChartSurface: SciChart3DSurface; * sciChartSurface.chartModifiers.add(new LegendModifier3D()); * ``` * * --- * 📚 Docs: todo */ export declare class LegendModifier3D extends ChartModifierBase3D { private readonly _legendOptions; readonly type: EChart3DModifierType; /** * Gets the {@link SciChart3DLegend} control used to render the legend */ sciChart3DLegend: SciChart3DLegend | undefined; /** * An event handler raised when a {@link SciChart3DLegend} row checkbox is checked or unchecked */ readonly isCheckedChanged: EventHandler<TCheckedChangedArgs>; /** * Creates an instance of the LegendModifier3D * @param options Optional parameters {@link ILegendModifier3DOptions} used to configure the modifier * * --- * 📚 Docs: todo */ constructor(options?: ILegendModifier3DOptions); private applyLegendOptions; /** @inheritDoc */ applyTheme(themeProvider: IThemeProvider): void; /** @inheritDoc */ onParentSurfaceRendered(): void; /** @inheritDoc */ onAttach(): void; /** @inheritDoc */ onDetach(): void; /** @inheritDoc */ includeSeries(series: IRenderableSeries3D, isIncluded: boolean): boolean; /** * Tests if the series is included or excluded */ testIsIncludedSeries(series: IRenderableSeries3D): boolean; /** @inheritDoc */ toJSON(): { type: string; options: Required<Omit<IChartModifierBase3DOptions, never>>; }; /** @inheritDoc */ delete(): void; /** * Callback called from inner {@link SciChart3DLegend} when a checkbox is checked or unchecked * @param series * @param isChecked * @protected */ protected legendItemCheckedChanged(series: IRenderableSeries3D, isChecked: boolean): void; }