UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

161 lines (160 loc) 6.96 kB
import { RangeCopy } from './model/manipulators/range/create-range-copy-operation'; import { DomEventHandlersHolder } from '@devexpress/utils/lib/class/event-handlers-holder'; import { IEventManager } from './interfaces/i-event-manager'; import { IRichEditControl } from './interfaces/i-rich-edit-core'; import { HtmlBuilder } from './formats/html/export/html-builder'; export declare const INPUT_CLASS_NAME = "dxreInputTarget"; declare enum IMEState { None = 0, Start = 1, Process = 2 } export declare abstract class InputEditorBase<TInpElement extends HTMLElement> { private newLineRegexp; eventManager: IEventManager; control: IRichEditControl; inputElement: TInpElement; previousText: string; canInsertTextOnInputEvent: boolean; needProcessShortcut: boolean; initializedIfNotReadOnly: boolean; prevKeyCode: number; IMEState: IMEState; private inputWithAlt; private processTextOnKeyPress; protected evtHandlersHolder: DomEventHandlersHolder; private keyPressTimerId; private imeTimerId; private onInputTimerId; private onBlurTimerId; private onKeyUpTimerId; constructor(control: IRichEditControl, eventManager: IEventManager, parent: HTMLElement); dispose(): void; initialize(): void; initializeIfNotReadOnly(): void; initializeIfNotReadOnlyCore(): void; initEvents(): void; createHierarchy(parent: HTMLElement): void; createHierarchyCore(): void; createInputElement(): TInpElement; onInput(evt: InputEvent): void; onBlur(_evt: FocusEvent): void; onFocus(): void; onKeyDown(evt: KeyboardEvent): void; protected isProcessShortcut(keyCode: number): boolean; onKeyUp(evt: KeyboardEvent): void; onKeyPress(evt: KeyboardEvent): void; onContextMenu(evt: MouseEvent): void; onShortcut(evt: KeyboardEvent): boolean; onShortcutCore(evt: KeyboardEvent, shortcutCode: number): void; onText(text: string, currentText: string, isUpdated: boolean): void; onTextReplace(_text: string, currentText: string): void; onTextInput(_data: string | undefined): void; tryObtainCodeFromChar(char: string): number; captureFocus(): void; canUseInputEvent(): boolean; getEditableDocumentText(keepLineBreakes?: boolean): string; getEditableTextOwner(): HTMLElement; setPosition(left: number, top: number): void; clearInputElement(): void; setEditableDocumentContent(_content: string | NodeListOf<ChildNode>): void; setEditableDocumentCursorPosition(_cursorPosition: number): void; selectEditableDocumentContent(): void; getEditableDocumentContent(): string | NodeListOf<ChildNode>; abstract getEditableDocument(): HTMLElement | Document; getNormalizedEvent(evt: Event): any; recreateIfNeeded(): void; private getShortcutCode; } export declare class DivInputEditor extends InputEditorBase<HTMLElement> { private canSkipInputEvent; private canSkipFocusAndBlur; private handled; private cursorWasSetOnLastPosition; private clearInputTimerId; private lastCursorPosition; private composUpdateTimerId; private composEndTimerId; private onTextInputTimerId; constructor(control: IRichEditControl, eventManager: IEventManager, parent: HTMLElement); dispose(): void; initializeIfNotReadOnlyCore(): void; setPosition(left: number, top: number): void; createInputElement(): HTMLElement; initEvents(): void; onKeyDown(evt: KeyboardEvent): void; onKeyUp(evt: KeyboardEvent): void; onInput(evt: InputEvent): void; onFocus(): void; onBlur(evt: FocusEvent): void; onShortcutCore(evt: KeyboardEvent, shortcutCode: number): void; onTextReplace(text: string, currentText: string): void; onTextInput(data: string): void; private tryHandleShortcutByInputString; getEditableTextOwner(): HTMLElement; captureFocus(): void; getEditableDocument(): HTMLElement | Document; clearInputElement(): void; setEditableDocumentContent(content: string | NodeListOf<ChildNode>): void; setEditableDocumentCursorPosition(cursorPosition: number): void; getEditableDocumentText(): string; getEditableDocumentFullText(): string; getEditableDocumentContent(): string | NodeListOf<ChildNode>; getEditableDocumentCursorPosition(): number; selectEditableDocumentContent(): void; onCompositionStart(_evt: KeyboardEvent): void; onCompositionUpdate(_evt: KeyboardEvent): void; onCompositionEnd(_evt: KeyboardEvent): void; } export declare class IFrameInputEditor extends InputEditorBase<HTMLIFrameElement> { editableDocument: Document; private onTextInputTimerId; private composUpdateTimerId; private composEndTimerId; constructor(control: IRichEditControl, eventManager: IEventManager, parent: HTMLElement); dispose(): void; createHierarchyCore(): void; initializeIfNotReadOnlyCore(): void; createInputElement(): HTMLIFrameElement; initEvents(): void; private isModifyEnabled; captureFocus(): void; setPosition(left: number, top: number, force?: boolean): void; clearInputElement(): void; setEditableDocumentContent(content: string | NodeListOf<ChildNode>): void; getEditableDocumentContent(): string | NodeListOf<ChildNode>; selectEditableDocumentContent(): void; getEditableDocument(): HTMLElement | Document; getEditableTextOwner(): HTMLElement; onBlur(evt: FocusEvent): void; onShortcutCore(evt: KeyboardEvent, shortcutCode: number): void; onTextInput(data: string): void; onTextReplace(text: string, currentText: string): void; recreateIfNeeded(): void; onCompositionStart(_evt: KeyboardEvent): void; onCompositionUpdate(_evt: KeyboardEvent): void; onCompositionEnd(_evt: KeyboardEvent): void; startInputIME(): any; updateInputIME(): any; endInputIME(): void; } export declare class InputController { control: IRichEditControl; inputEditor: InputEditorBase<HTMLElement>; private exporter; constructor(control: IRichEditControl, eventManager: IEventManager, parent: HTMLElement); initExporter(): void; dispose(): void; private createInputEditor; getEditableDocument(): HTMLElement | Document; getExportedRangeCopy(): RangeCopy; captureFocus(): void; setPosition(left: number, top: number): void; renderSelectionToEditableDocument(): void; static getCopyPasteHtmlContentForEditable(html: string | HtmlBuilder, guidLabel: string): HTMLElement; setEditableDocumentContent(content: string | NodeListOf<ChildNode>): void; setEditableDocumentCursorPosition(cursorPosition: number): void; getEditableDocumentContent(): string | NodeListOf<ChildNode>; selectEditableDocumentContent(): void; } export {};