@devexperts/dxcharts-lite
Version:
90 lines (89 loc) • 4.14 kB
TypeScript
/*
* Copyright (C) 2019 - 2025 Devexperts Solutions IE Limited
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { CanvasBoundsContainer } from '../../../canvas/canvas-bounds-container';
import { YAxisConfig } from '../../../chart.config';
import { Bounds } from '../../../model/bounds.model';
import { CanvasModel } from '../../../model/canvas.model';
import { ChartBaseElement } from '../../../model/chart-base-element';
import { DataSeriesModel } from '../../../model/data-series.model';
import { ScaleModel } from '../../../model/scale.model';
import { HighLowProvider } from '../../../model/scaling/auto-scale.model';
import { Pixel, Price, Unit } from '../../../model/scaling/viewport.model';
import { ChartBaseModel } from '../../chart/chart-base.model';
import { DragNDropYComponent } from '../../dran-n-drop_helper/drag-n-drop-y.component';
import { YAxisComponent } from '../../y_axis/y-axis.component';
import { PaneHitTestController } from '../pane-hit-test.controller';
import { PaneComponent, YExtentFormatters } from '../pane.component';
export interface YExtentCreationOptions {
scale: ScaleModel;
order: number;
useDefaultHighLow: boolean;
cursor: string;
paneFormatters: YExtentFormatters;
increment: number | null;
initialYAxisState: YAxisConfig;
inverse: boolean;
lockToPriceRatio: boolean;
}
export declare class YExtentComponent extends ChartBaseElement {
paneUUID: string;
idx: number;
paneComponent: PaneComponent;
private chartBaseModel;
private canvasBoundsContainer;
private hitTestController;
dynamicObjectsCanvasModel: CanvasModel;
readonly scale: ScaleModel;
readonly dragNDrop: DragNDropYComponent;
dataSeries: Set<DataSeriesModel>;
formatters: YExtentFormatters;
yAxis: YAxisComponent;
mainDataSeries?: DataSeriesModel;
constructor(paneUUID: string, idx: number, paneComponent: PaneComponent, chartBaseModel: ChartBaseModel<'candle'>, canvasBoundsContainer: CanvasBoundsContainer, hitTestController: PaneHitTestController, dynamicObjectsCanvasModel: CanvasModel, scale: ScaleModel, createYAxisComponent: (formatter: (value: number) => string, dataSeriesProvider: () => DataSeriesModel | undefined) => YAxisComponent, dragNDrop: DragNDropYComponent, dataSeries?: Set<DataSeriesModel>, formatters?: YExtentFormatters);
protected doDeactivate(): void;
getYAxisBounds: () => Bounds;
yAxisHT: import("../../../canvas/canvas-bounds-container").HitBoundsTest;
/**
* Returns the bounds of the scale model.
* @returns {Bounds} The bounds of the scale model.
*/
getBounds(): Bounds;
getBaseline(): number;
private toVisualPoints;
/**
* Creates a new DataSeriesModel object.
* @returns {DataSeriesModel} - The newly created DataSeriesModel object.
*/
createDataSeries(): DataSeriesModel;
/**
* Adds a new data series to the chart.
* @param {DataSeriesModel} series - The data series to be added.
* @returns {void}
*/
addDataSeries(series: DataSeriesModel): void;
toY: (value: Price) => Pixel;
/**
* Removes a data series from the chart.
*
* @param {DataSeriesModel} series - The data series to be removed.
* @returns {void}
*/
removeDataSeries(series: DataSeriesModel): void;
valueFormatter: (value: Unit, dataSeries?: DataSeriesModel) => string;
get regularFormatter(): (value: number) => string;
/**
* Sets the pane value formatters for the current instance.
* @param {YExtentFormatters} formatters - The pane value formatters to be set.
*/
setValueFormatters(formatters: YExtentFormatters): void;
/**
* Returns the regular value from Y coordinate.
* @param {number} y - The Y coordinate.
* @returns {number} - The regular value.
*/
regularValueFromY(y: number): number;
}
export declare const createDefaultYExtentHighLowProvider: (extent: YExtentComponent) => HighLowProvider;