UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

78 lines (77 loc) 3.52 kB
import { ChartModifierBase } from "../../Charting/ChartModifiers/ChartModifierBase"; import { IncludedItems } from "../../Core/IncludedItems"; import { EChart3DModifierType } from "../../types/ChartModifierType"; import { TModifierExecuteCondition } from "../../types/ChartModifiers/TModifierExecuteCondition"; import { EModifierType } from "../../types/ModifierType"; import { IRenderableSeries3D } from "../Visuals/RenderableSeries/BaseRenderableSeries3D"; import { SciChart3DSurface } from "../Visuals/SciChart3DSurface"; export interface IChartModifierBase3DOptions { /** * A unique Id for the {@link ChartModifierBase3D} */ id?: string; /** * The primary action execute condition that modifier should respond to */ executeCondition?: TModifierExecuteCondition; /** * A list of 3D renderable series to include to this modifier * @remarks Also see {@link ChartModifierBase3D.includedSeries} which has methods to include or exclude a series by instance */ includedSeriesIds?: string[]; /** * A list of 3D renderable series to exclude from this modifier * @remarks Also see {@link ChartModifierBase3D.includedSeries} which has methods to include or exclude a series by instance */ excludedSeriesIds?: string[]; } /** * Defines a base class to a ChartModifier3D - a class which provides Zoom, Pan, Tooltip or interaction behavior * to SciChart - High Performance Realtime {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts} */ export declare abstract class ChartModifierBase3D extends ChartModifierBase<SciChart3DSurface> { /** * The type of chartmodifier. See {@link EChart3DModifierType} for available options */ abstract readonly type: EChart3DModifierType | string; protected typeMap: Map<string, string>; /** * The helper property to get and set the list of included renderable series */ includedSeries: IncludedItems; /** * Creates an instance of a {@link ChartModifierBase3D} * @param options Optional parameters of type {@link IChartModifierBase3DOptions} used to configure the modifier */ constructor(options?: IChartModifierBase3DOptions); /** * @inheritDoc */ get modifierType(): EModifierType; /** * Gets all series on the parent surface. * @remarks This function allows mocking in tests */ getAllSeries(): IRenderableSeries3D[]; /** * Tests if the series is included or excluded, by default it must also be visible to be included. * To ignore the visibility check, override this with * ```return this.includedSeries.testIsIncluded(series.id);``` * @param series * @private */ protected testIsIncludedSeries(series: IRenderableSeries3D): boolean; /** * Includes renderable series. Returns True if the included items list has changed after the operation. */ includeSeries(series: IRenderableSeries3D, isIncluded: boolean): boolean; /** * Returns all visible and included renderable series. The list also contains included visible stacked renderable series * This calls this.testIsIncludedSeries so it is best to customise the including check behaviour there. */ getIncludedRenderableSeries(): IRenderableSeries3D[]; toJSON(): { type: string; options: Required<Omit<IChartModifierBase3DOptions, never>>; }; }