matrix-react-sdk
Version:
SDK for matrix.org using React
76 lines (75 loc) • 2.35 kB
TypeScript
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 {};