matrix-react-sdk
Version:
SDK for matrix.org using React
56 lines (55 loc) • 1.96 kB
TypeScript
import React from "react";
import { MatrixEvent, RoomMember } from "matrix-js-sdk/src/matrix";
import { SDKContext } from "../../../contexts/SDKContext";
interface IProps {
roomId: string;
searchQuery: string;
onClose(): void;
onSearchQueryChanged: (query: string) => void;
}
interface IState {
loading: boolean;
filteredJoinedMembers: Array<RoomMember>;
filteredInvitedMembers: Array<RoomMember | MatrixEvent>;
canInvite: boolean;
truncateAtJoined: number;
truncateAtInvited: number;
}
export default class MemberList extends React.Component<IProps, IState> {
private readonly showPresence;
private mounted;
static contextType: React.Context<import("../../../contexts/SDKContext").SdkContextClass>;
context: React.ContextType<typeof SDKContext>;
private tiles;
constructor(props: IProps, context: React.ContextType<typeof SDKContext>);
private listenForMembersChanges;
componentDidMount(): void;
componentWillUnmount(): void;
private get canInvite();
private getMembersState;
private onUserPresenceChange;
private onRoom;
private onMyMembership;
private onRoomStateUpdate;
private onRoomMemberName;
private onRoomStateEvent;
private updateList;
updateListNow(showLoadingSpinner?: boolean): Promise<void>;
private createOverflowTileJoined;
private createOverflowTileInvited;
private createOverflowTile;
private showMoreJoinedMemberList;
private showMoreInvitedMemberList;
componentDidUpdate(prevProps: Readonly<IProps>, prevState: Readonly<IState>, snapshot?: any): void;
private onSearchQueryChanged;
private onPending3pidInviteClick;
private getPending3PidInvites;
private makeMemberTiles;
private getChildrenJoined;
private getChildCountJoined;
private getChildrenInvited;
private getChildCountInvited;
render(): React.ReactNode;
private onInviteButtonClick;
}
export {};