scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
78 lines (77 loc) • 3.52 kB
TypeScript
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>>;
};
}