matrix-react-sdk
Version:
SDK for matrix.org using React
35 lines (34 loc) • 1.52 kB
TypeScript
import React from "react";
import { IMediaBody } from "./IMediaBody";
import { MediaEventHelper } from "../../../utils/MediaEventHelper";
import { IBodyProps } from "./IBodyProps";
import MatrixClientContext from "../../../contexts/MatrixClientContext";
import { GetRelationsForEvent, IEventTileOps } from "../rooms/EventTile";
interface IProps extends Omit<IBodyProps, "onMessageAllowed" | "mediaEventHelper"> {
overrideBodyTypes?: Record<string, typeof React.Component>;
overrideEventTypes?: Record<string, typeof React.Component>;
getRelationsForEvent?: GetRelationsForEvent;
isSeeingThroughMessageHiddenForModeration?: boolean;
}
export interface IOperableEventTile {
getEventTileOps(): IEventTileOps | null;
}
export default class MessageEvent extends React.Component<IProps> implements IMediaBody, IOperableEventTile {
private body;
private mediaHelper?;
private bodyTypes;
private evTypes;
static contextType: React.Context<import("matrix-js-sdk/src/client").MatrixClient>;
context: React.ContextType<typeof MatrixClientContext>;
constructor(props: IProps, context: React.ContextType<typeof MatrixClientContext>);
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: Readonly<IProps>): void;
private updateComponentMaps;
getEventTileOps: () => IEventTileOps | null;
getMediaHelper(): MediaEventHelper | undefined;
private onDecrypted;
private onTileUpdate;
render(): React.ReactNode;
}
export {};