Загрузка данных


import { DrawingsManagerSnapshot } from '../core/DrawingsManager';
import { ChartSeriesType, DateFormat, IndicatorsIds, Intervals, Timeframes } from '..';
import { Direction } from '../types/chart';
import { SymbolInfo, SymbolInfoInput } from '../types/symbol';
import { TimeFormat } from '../types/timeScale';
import { SettingsValues } from './settings';
import type { PriceScaleMode } from 'lightweight-charts';
export type PriceScaleSide = Direction.Left | Direction.Right;
export interface ISerializable<T extends object> {
    getSnapshot: () => T;
}
export interface InitialSnapshot extends SymbolInfoInput {
    timeframe: Timeframes;
    chartSeriesType: ChartSeriesType;
}
export interface MoexChartSnapshotInput {
    charts: ChartSnapshotInput[];
}
export interface MoexChartSnapshot {
    charts: ChartSnapshot[];
}
interface ChartSnapshotBase {
    timeframe: Timeframes;
    chartSeriesType: ChartSeriesType;
    timeFormat?: TimeFormat;
    dateFormat?: DateFormat;
    interval?: Intervals | null;
    panes: PaneSnapshot[];
}
export interface ChartSnapshotInput extends ChartSnapshotBase, SymbolInfoInput {
}
export interface ChartSnapshot extends ChartSnapshotBase, SymbolInfo {
}
export interface PriceScaleSnapshot {
    side: PriceScaleSide;
    mode: PriceScaleMode;
}
export interface PaneSnapshot {
    isMain: boolean;
    id: number;
    indicators: (IndicatorSnapshot | CompareSnapshot)[];
    drawings: DrawingsManagerSnapshot;
    priceScales?: PriceScaleSnapshot[];
}
export interface CompareSnapshot extends Partial<DOMObjectSnapshot> {
    symbolInfo: SymbolInfoInput;
    seriesName: ChartSeriesType;
    scale: Direction;
}
export interface IndicatorSnapshot extends Partial<DOMObjectSnapshot> {
    indicatorType: IndicatorsIds;
    settings?: SettingsValues;
}
export interface DOMObjectSnapshot {
    id: string;
    name: string;
    zIndex: number;
    hidden: boolean;
    paneId: number;
}
export {};



import { IChartApi } from 'lightweight-charts';
import { Observable } from 'rxjs';
import { EventManager } from '.';
import { DOMModel } from './DOMModel';
import { Drawing } from './Drawings';
import { Hotkeys } from './Hotkeys';
import { DrawingsNames } from '../constants';
import { ModalRenderer } from '../core/ModalRenderer';
import { SeriesStrategies } from '../modules/series-strategies/SeriesFactory';
import { ActiveDrawingTool, DOMObjectSnapshot } from '../types';
import type { SettingsValues } from '../types/settings';
interface DrawingsManagerParams {
    eventManager: EventManager;
    mainSeries$: Observable<SeriesStrategies | null>;
    lwcChart: IChartApi;
    DOM: DOMModel;
    container: HTMLElement;
    modalRenderer: ModalRenderer;
    paneId: number;
    hotkeys: Hotkeys;
}
export interface DrawingSnapshotItem extends Partial<DOMObjectSnapshot> {
    id: string;
    drawingName: DrawingsNames;
    state: unknown;
    isLocked?: boolean;
    zIndex?: number;
}
export type DrawingsManagerSnapshot = DrawingSnapshotItem[];
export declare class DrawingsManager {
    private eventManager;
    private lwcChart;
    private DOM;
    private container;
    private modalRenderer;
    private paneId;
    private hotkeys;
    private mainSeries;
    private subscriptions;
    private drawings$;
    private selectedDrawing$;
    private activeTool$;
    private endlessMode$;
    private pendingSnapshot;
    private selectedDrawingSnapshot;
    private recreateScheduled;
    private copyPasteBuffer;
    private escapeUnregisterHash;
    constructor({ eventManager, mainSeries$, lwcChart, DOM, container, modalRenderer, paneId, hotkeys, }: DrawingsManagerParams);
    private handlePointerDown;
    private handlePointerUp;
    private handleClick;
    private findDrawing;
    private createDrawingSnapshot;
    private updateDrawing;
    private pushDrawingChange;
    private replaceDrawingSnapshot;
    private restoreDrawing;
    private updateActiveTool;
    private removeDrawing;
    private removeDrawingInternal;
    private removePendingDrawings;
    private removeDrawings;
    addDrawingForce: (name: DrawingsNames) => Promise<void>;
    private createDrawing;
    getSnapshot(): DrawingsManagerSnapshot;
    setSnapshot(snapshot: DrawingsManagerSnapshot): void;
    setEndlessDrawingMode: (value: boolean) => void;
    isEndlessDrawingsMode(): Observable<boolean>;
    getActiveTool(): Observable<ActiveDrawingTool>;
    activateCrosshair(): void;
    entities(): Observable<Drawing[]>;
    selectedDrawing(): Observable<Drawing | null>;
    updateSelectedDrawingSettings: (settings: SettingsValues) => void;
    openSelectedDrawingSettings(): void;
    deleteSelectedDrawing(): void;
    toggleSelectedDrawingLock(): void;
    private openSettings;
    getDrawings(): Drawing[];
    hideAll(): void;
    destroy(): void;
}
export {};