chart-0714
Version:
Professional trading chart library with advanced customization for trading journal apps
68 lines (67 loc) • 2.45 kB
TypeScript
import { MainChartPanel } from '../panels/MainChartPanel';
import { ChartPanel } from './ChartPanel';
import { ChartData, Theme, ChartOptions } from '../types';
import { IndicatorManager } from './IndicatorManager';
import { DrawingManager } from './DrawingManager';
import { MarkerManager } from './MarkerManager';
import { LineSeriesManager } from './LineSeriesManager';
import { StopLossManager } from './StopLossManager';
import { WebGLRenderer } from './WebGLRenderer';
import { DataManager } from './DataManager';
export interface PanelConfig {
type: 'main' | 'volume' | 'indicator';
heightRatio: number;
minHeight?: number;
maxHeight?: number;
}
export declare class PanelManager {
private container;
private panels;
private panelContainers;
private panelConfigs;
private resizers;
private theme;
private indicatorManager;
private drawingManager;
private markerManager;
private lineSeriesManager;
private stopLossManager;
private axisRenderer;
private xAxisRenderer;
private xAxisContainer;
private isResizing;
private resizeTimeout;
private currentData;
private dataManager;
private options;
private sharedCoordinateSystem;
private currentMouseCandleIndex;
private resizerEventListeners;
constructor(container: HTMLElement, theme: Theme, indicatorManager: IndicatorManager, drawingManager: DrawingManager, stopLossManager: StopLossManager, options?: ChartOptions);
setWebGLRenderer(_renderer: WebGLRenderer): void;
setDataManager(dataManager: DataManager): void;
setMarkerManager(markerManager: MarkerManager): void;
setLineSeriesManager(lineSeriesManager: LineSeriesManager): void;
setStopLossManager(stopLossManager: StopLossManager): void;
private initPanelConfigs;
init(): Promise<void>;
private createPanelLayout;
private createResizer;
private createPanels;
render(data: ChartData): void;
private resizePanels;
private updatePanelRatios;
resize(): void;
getPanel(type: string): ChartPanel | undefined;
getMainPanel(): MainChartPanel | undefined;
updateTheme(theme: Theme, options?: Partial<ChartOptions>): void;
/**
* 마우스 위치에 해당하는 캔들 인덱스 설정
*/
setMouseCandleIndex(index: number): void;
/**
* 마우스 X 위치를 모든 패널에 전파
*/
setMouseX(x: number): void;
dispose(): void;
}