UNPKG

ketcher-core

Version:
95 lines (94 loc) 3.78 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"; interface ICoreEditorConstructorParams { theme: any; canvas: SVGSVGElement; mode?: BaseMode; monomersLibraryUpdate?: string | JSON; } export declare class CoreEditor { events: IEditorEvents; _type: EditorType; renderersContainer: RenderersManager; 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; sequenceTypeEnterMode: SequenceType; private micromoleculesEditor; private hotKeyEventHandler; private copyEventHandler; private pasteEventHandler; private keydownEventHandler; constructor({ theme, canvas, mode, monomersLibraryUpdate, }: ICoreEditorConstructorParams); 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 onTurnOnSequenceEditInRNABuilderMode; private onTurnOffSequenceEditInRNABuilderMode; private onChangeSequenceTypeEnterMode; 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 switchToMacromolecules; private rerenderSequenceMode; isCurrentModeWithAutozoom(): boolean; zoomToStructuresIfNeeded(): void; scrollToTopLeftCorner(): void; } export {};