UNPKG

ketcher-core

Version:
107 lines (106 loc) 4.31 kB
import { EditorType } from "./editor.types"; import { IEditorEvents } from "./editorEvents"; import { BaseMode } from "./modes/internal"; import { BaseTool, Tool, ToolEventHandlerName } from "./tools/Tool"; import { IKetMacromoleculesContent, IKetMonomerGroupTemplate } from "../formatters"; import { RenderersManager } from "../render/renderers/RenderersManager"; import { SequenceType, Vec2 } from "../../domain/entities"; import { DrawingEntitiesManager } from "../../domain/entities/DrawingEntitiesManager"; import { MonomerItemType } from "../../domain/types"; import { HistoryOperationType } from './EditorHistory'; import ZoomTool from './tools/Zoom'; import { ViewModel } from "../render/view-model/ViewModel"; import { ToolName } from "./tools/types"; import { TransientDrawingView } from "../render/renderers/TransientView/TransientDrawingView"; interface ICoreEditorConstructorParams { theme: any; canvas: SVGSVGElement; mode?: BaseMode; monomersLibraryUpdate?: string | JSON; } export declare class CoreEditor { events: IEditorEvents; _type: EditorType; renderersContainer: RenderersManager; transientDrawingView: TransientDrawingView; drawingEntitiesManager: DrawingEntitiesManager; viewModel: ViewModel; lastCursorPosition: Vec2; lastCursorPositionOfCanvas: Vec2; private _monomersLibraryParsedJson; private _monomersLibrary; canvas: SVGSVGElement; drawnStructuresWrapperElement: SVGGElement; canvasOffset: DOMRect; theme: any; zoomTool: ZoomTool; private tool?; get selectedTool(): Tool | BaseTool | undefined; mode: BaseMode; private previousModes; sequenceTypeEnterMode: SequenceType; private micromoleculesEditor; private hotKeyEventHandler; private copyEventHandler; private pasteEventHandler; private keydownEventHandler; constructor({ theme, canvas, monomersLibraryUpdate, mode, }: ICoreEditorConstructorParams); private resetCanvasOffset; private initializeEventListeners; private handleVisibilityChange; private handleWindowBlur; private cancelActiveDrag; static provideEditorInstance(): CoreEditor; private setMonomersLibrary; updateMonomersLibrary(monomersDataRaw: string | JSON): void; get monomersLibraryParsedJson(): IKetMacromoleculesContent | null; get monomersLibrary(): MonomerItemType[]; get defaultRnaPresetsLibraryItems(): IKetMonomerGroupTemplate[]; private handleHotKeyEvents; private setupKeyboardEvents; private setupCopyPasteEvent; private setupHotKeysEvents; private setupContextMenuEvents; private subscribeEvents; private onEditSequence; private onEstablishHydrogenBondSequenceMode; private onDeleteHydrogenBondSequenceMode; private onTurnOnSequenceEditInRNABuilderMode; private onTurnOffSequenceEditInRNABuilderMode; private onChangeSequenceTypeEnterMode; private onChangeToggleIsSequenceSyncEditMode; private onResetSequenceSyncEditMode; private onCreateAntisenseChain; private onSelectMonomer; private onSelectRNAPreset; onSelectTool(tool: ToolName, options?: object): void; private onCreateBond; private onCancelBondCreation; private onSelectMode; setMode(mode: BaseMode): void; get isSequenceMode(): boolean; get isSequenceEditMode(): boolean | undefined; get isSequenceEditInRNABuilderMode(): boolean | undefined; get isSequenceAnyEditMode(): boolean | undefined; onSelectHistory(name: HistoryOperationType): void; selectTool(name: ToolName, options?: any): void; get isHandToolSelected(): boolean; unsubscribeEvents(): void; get trackedDomEvents(): { target: Element | Document; eventName: string; toolEventHandler: ToolEventHandlerName; }[]; private isMouseMainButtonPressed; private domEventSetup; private updateLastCursorPosition; private useToolIfNeeded; private useModeIfNeeded; switchToMicromolecules(): void; private resetModeIfNeeded; switchToMacromolecules(): void; isCurrentModeWithAutozoom(): boolean; zoomToStructuresIfNeeded(): void; scrollToTopLeftCorner(): void; } export {};