UNPKG

matrix-react-sdk

Version:
60 lines (59 loc) 1.99 kB
import React from "react"; import { Thread, Room, MatrixEvent } from "matrix-js-sdk/src/matrix"; import ResizeNotifier from "../../utils/ResizeNotifier"; import { RoomPermalinkCreator } from "../../utils/permalinks/Permalinks"; import { Layout } from "../../settings/enums/Layout"; import { E2EStatus } from "../../utils/ShieldUtils"; import EditorStateTransfer from "../../utils/EditorStateTransfer"; import RoomContext from "../../contexts/RoomContext"; interface IProps { room: Room; onClose: () => void; resizeNotifier: ResizeNotifier; mxEvent: MatrixEvent; permalinkCreator?: RoomPermalinkCreator; e2eStatus?: E2EStatus; initialEvent?: MatrixEvent; isInitialEventHighlighted?: boolean; initialEventScrollIntoView?: boolean; } interface IState { thread?: Thread; lastReply?: MatrixEvent | null; layout: Layout; editState?: EditorStateTransfer; replyToEvent?: MatrixEvent; narrow: boolean; } export default class ThreadView extends React.Component<IProps, IState> { static contextType: React.Context<import("./RoomView").IRoomState & { threadId?: string; }>; context: React.ContextType<typeof RoomContext>; private dispatcherRef; private readonly layoutWatcherRef; private timelinePanel; private card; private eventId; constructor(props: IProps, context: React.ContextType<typeof RoomContext>); componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: IProps): void; private setEventId; private onAction; private setupThread; private onNewThread; private updateThreadRelation; private get threadLastReply(); private updateThread; private postThreadUpdate; private setupThreadListeners; private resetJumpToEvent; private onMeasurement; private onKeyDown; private onFileDrop; private get threadRelation(); private renderThreadViewHeader; render(): React.ReactNode; } export {};