UNPKG

matrix-react-sdk

Version:
76 lines (75 loc) 2.35 kB
import React, { ClipboardEvent } from 'react'; import { Room } from 'matrix-js-sdk/src/models/room'; import EditorModel from '../../../editor/model'; import DocumentOffset from "../../../editor/offset"; import AutocompleteWrapperModel from "../../../editor/autocomplete"; interface IProps { model: EditorModel; room: Room; placeholder?: string; label?: string; initialCaret?: DocumentOffset; disabled?: boolean; onChange?(): any; onPaste?(event: ClipboardEvent<HTMLDivElement>, model: EditorModel): boolean; } interface IState { showPillAvatar: boolean; query?: string; showVisualBell?: boolean; autoComplete?: AutocompleteWrapperModel; completionIndex?: number; } export default class BasicMessageEditor extends React.Component<IProps, IState> { private editorRef; private autocompleteRef; private formatBarRef; private modifiedFlag; private isIMEComposing; private hasTextSelected; private _isCaretAtEnd; private lastCaret; private lastSelection; private readonly emoticonSettingHandle; private readonly shouldShowPillAvatarSettingHandle; private readonly historyManager; constructor(props: any); componentDidUpdate(prevProps: IProps): void; private replaceEmoticon; private updateEditorState; private showPlaceholder; private hidePlaceholder; private onCompositionStart; private onCompositionEnd; isComposing(event: React.KeyboardEvent): boolean; private onCutCopy; private onCopy; private onCut; private onPaste; private onInput; private insertText; private setLastCaretFromPosition; private refreshLastCaretIfNeeded; clearUndoHistory(): void; getCaret(): DocumentOffset; isSelectionCollapsed(): boolean; isCaretAtStart(): boolean; isCaretAtEnd(): boolean; private onBlur; private onFocus; private onSelectionChange; private onKeyDown; private tabCompleteName; isModified(): boolean; private onAutoCompleteConfirm; private onAutoCompleteSelectionChange; private configureEmoticonAutoReplace; private configureShouldShowPillAvatar; componentWillUnmount(): void; componentDidMount(): void; private getInitialCaretPosition; private onFormatAction; render(): JSX.Element; focus(): void; } export {};