UNPKG

matrix-react-sdk

Version:
64 lines (63 loc) 2.21 kB
import React from "react"; import { Room } from "matrix-js-sdk/src/matrix"; import type { Call } from "../../../models/Call"; import { MenuProps } from "../../structures/ContextMenu"; import { TagID } from "../../../stores/room-list/models"; import { MessagePreview } from "../../../stores/room-list/MessagePreviewStore"; interface Props { room: Room; showMessagePreview: boolean; isMinimized: boolean; tag: TagID; } interface ClassProps extends Props { hasLiveVoiceBroadcast: boolean; } type PartialDOMRect = Pick<DOMRect, "left" | "bottom">; interface State { selected: boolean; notificationsMenuPosition: PartialDOMRect | null; generalMenuPosition: PartialDOMRect | null; call: Call | null; messagePreview: MessagePreview | null; } export declare const contextMenuBelow: (elementRect: PartialDOMRect) => MenuProps; export declare class RoomTile extends React.PureComponent<ClassProps, State> { private dispatcherRef?; private roomTileRef; private notificationState; private roomProps; constructor(props: ClassProps); private onRoomNameUpdate; private onNotificationUpdate; private onRoomPropertyUpdate; private get showContextMenu(); private get showMessagePreview(); componentDidUpdate(prevProps: Readonly<Props>, prevState: Readonly<State>): void; componentDidMount(): void; componentWillUnmount(): void; private onAction; private onRoomPreviewChanged; private onCallChanged; private generatePreview; private scrollIntoView; private onTileClick; private onActiveRoomUpdate; private onNotificationsMenuOpenClick; private onCloseNotificationsMenu; private onGeneralMenuOpenClick; private onContextMenu; private onCloseGeneralMenu; private renderNotificationsMenu; private renderGeneralMenu; /** * RoomTile has a subtile if one of the following applies: * - there is a call * - there is a live voice broadcast * - message previews are enabled and there is a previewable message */ private get shouldRenderSubtitle(); render(): React.ReactElement; } declare const RoomTileHOC: React.FC<Props>; export default RoomTileHOC;