matrix-react-sdk
Version:
SDK for matrix.org using React
59 lines (58 loc) • 1.97 kB
TypeScript
import React from "react";
import { MatrixEvent, Relations } from "matrix-js-sdk/src/matrix";
import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks";
import { MenuProps } from "../../structures/ContextMenu";
import RoomContext from "../../../contexts/RoomContext";
import { GetRelationsForEvent, IEventTileOps } from "../rooms/EventTile";
interface IProps extends MenuProps {
mxEvent: MatrixEvent;
eventTileOps?: IEventTileOps;
permalinkCreator?: RoomPermalinkCreator;
collapseReplyChain?(): void;
onFinished(): void;
onCloseDialog?(): void;
rightClick?: boolean;
reactions?: Relations | null;
link?: string;
getRelationsForEvent?: GetRelationsForEvent;
}
interface IState {
canRedact: boolean;
canPin: boolean;
reactionPickerDisplayed: boolean;
}
export default class MessageContextMenu extends React.Component<IProps, IState> {
static contextType: React.Context<import("../../structures/RoomView.tsx").IRoomState & {
threadId?: string;
}>;
context: React.ContextType<typeof RoomContext>;
private reactButtonRef;
constructor(props: IProps, context: React.ContextType<typeof RoomContext>);
componentDidMount(): void;
componentWillUnmount(): void;
private checkPermissions;
private canEndPoll;
private onResendReactionsClick;
private onJumpToRelatedEventClick;
private onReportEventClick;
private onViewSourceClick;
private onRedactClick;
private onForwardClick;
private onPinClick;
private closeMenu;
private onUnhidePreviewClick;
private onShareClick;
private onCopyLinkClick;
private onCollapseReplyChainClick;
private onCopyClick;
private onEditClick;
private onReplyClick;
private onReactClick;
private onCloseReactionPicker;
private onEndPollClick;
private getReactions;
private getUnsentReactions;
private viewInRoom;
render(): React.ReactNode;
}
export {};