UNPKG

@devexperts/dxcharts-lite

Version:
91 lines (90 loc) 4.21 kB
/* * Copyright (C) 2019 - 2026 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 { config: YAxisConfig; 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(config: YAxisConfig, 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, precision?: 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;