matrix-react-sdk
Version:
SDK for matrix.org using React
48 lines (47 loc) • 1.6 kB
TypeScript
import React from "react";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks";
import { Layout } from "../../../settings/enums/Layout";
import RoomContext from "../../../contexts/RoomContext";
import { GetRelationsForEvent } from "../rooms/EventTile";
interface IProps {
parentEv: MatrixEvent;
onHeightChanged?: () => void;
permalinkCreator?: RoomPermalinkCreator;
layout?: Layout;
alwaysShowTimestamps?: boolean;
forExport?: boolean;
isQuoteExpanded?: boolean;
setQuoteExpanded: (isExpanded: boolean) => void;
getRelationsForEvent?: GetRelationsForEvent;
}
interface IState {
events: MatrixEvent[];
loadedEv: MatrixEvent | null;
loading: boolean;
err: boolean;
}
export default class ReplyChain extends React.Component<IProps, IState> {
static contextType: React.Context<import("../../structures/RoomView").IRoomState & {
threadId?: string;
}>;
context: React.ContextType<typeof RoomContext>;
private unmounted;
private room;
private blockquoteRef;
constructor(props: IProps, context: React.ContextType<typeof RoomContext>);
private get matrixClient();
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
private trySetExpandableQuotes;
private initialize;
private getNextEvent;
private getEvent;
canCollapse: () => boolean;
collapse: () => void;
private onQuoteClick;
private getReplyChainColorClass;
render(): React.ReactNode;
}
export {};