UNPKG

matrix-react-sdk

Version:
82 lines (81 loc) 2.64 kB
import * as React from "react"; import { ReactComponentElement } from "react"; import { Room } from "matrix-js-sdk/src/models/room"; import { TagID } from "../../../stores/room-list/models"; import { ResizeNotifier } from "../../../utils/ResizeNotifier"; import ExtraTile from "./ExtraTile"; export declare const HEADER_HEIGHT = 32; interface IProps { forRooms: boolean; startAsHidden: boolean; label: string; onAddRoom?: () => void; addRoomContextMenu?: (onFinished: () => void) => React.ReactNode; addRoomLabel: string; isMinimized: boolean; tagId: TagID; onResize: () => void; showSkeleton?: boolean; alwaysVisible?: boolean; resizeNotifier: ResizeNotifier; extraTiles?: ReactComponentElement<typeof ExtraTile>[]; } declare type PartialDOMRect = Pick<DOMRect, "left" | "top" | "height">; interface IState { contextMenuPosition: PartialDOMRect; addRoomContextMenuPosition: PartialDOMRect; isResizing: boolean; isExpanded: boolean; height: number; rooms: Room[]; filteredExtraTiles?: ReactComponentElement<typeof ExtraTile>[]; } export default class RoomSublist extends React.Component<IProps, IState> { private headerButton; private sublistRef; private dispatcherRef; private layout; private heightAtStart; private isBeingFiltered; private notificationState; constructor(props: IProps); private calculateInitialHeight; private get padding(); private get extraTiles(); private get numTiles(); private static calcNumTiles; private get numVisibleTiles(); componentDidUpdate(prevProps: Readonly<IProps>, prevState: Readonly<IState>): void; shouldComponentUpdate(nextProps: Readonly<IProps>, nextState: Readonly<IState>): boolean; componentDidMount(): void; componentWillUnmount(): void; private onListsUpdated; private onAction; private onAddRoom; private applyHeightChange; private onResize; private onResizeStart; private onResizeStop; private onShowAllClick; private onShowLessClick; private focusRoomTile; private onOpenMenuClick; private onContextMenu; private onAddRoomContextMenu; private onCloseMenu; private onCloseAddRoomMenu; private onUnreadFirstChanged; private onTagSortChanged; private onMessagePreviewChanged; private onBadgeClick; private onHeaderClick; private toggleCollapsed; private onHeaderKeyDown; private onKeyDown; private renderVisibleTiles; private renderMenu; private renderHeader; private onScrollPrevent; render(): React.ReactElement; } export {};