mediasfu-angular
Version:
mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.
74 lines (73 loc) • 3.95 kB
TypeScript
import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { Participant, ShowAlert } from '../../../@types/types';
import { Socket } from 'socket.io-client';
import { AddPanelist } from '../../../methods/panelists-methods/add-panelist.service';
import { RemovePanelist } from '../../../methods/panelists-methods/remove-panelist.service';
import { FocusPanelists } from '../../../methods/panelists-methods/focus-panelists.service';
import * as i0 from "@angular/core";
export interface PanelistsModalParameters {
participants: Participant[];
panelists: Participant[];
member: string;
islevel: string;
socket: Socket;
roomName: string;
showAlert?: ShowAlert;
itemPageLimit: number;
panelistsFocused?: boolean;
updatePanelists?: (panelists: Participant[]) => void;
updatePanelistsFocused?: (focused: boolean) => void;
getUpdatedAllParams: () => PanelistsModalParameters;
}
export interface PanelistsModalOptions {
isPanelistsModalVisible: boolean;
onPanelistsClose: () => void;
parameters: PanelistsModalParameters;
backgroundColor?: string;
position?: string;
}
export declare class PanelistsModalComponent implements OnInit, OnChanges {
private addPanelistService;
private removePanelistService;
private focusPanelistsService;
isPanelistsModalVisible: boolean;
onPanelistsClose: () => void;
parameters: PanelistsModalParameters;
backgroundColor: string;
position: string;
faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
faUserTie: import("@fortawesome/fontawesome-common-types").IconDefinition;
faEye: import("@fortawesome/fontawesome-common-types").IconDefinition;
faEyeSlash: import("@fortawesome/fontawesome-common-types").IconDefinition;
faCheck: import("@fortawesome/fontawesome-common-types").IconDefinition;
faMicrophone: import("@fortawesome/fontawesome-common-types").IconDefinition;
faMicrophoneSlash: import("@fortawesome/fontawesome-common-types").IconDefinition;
faVideo: import("@fortawesome/fontawesome-common-types").IconDefinition;
faVideoSlash: import("@fortawesome/fontawesome-common-types").IconDefinition;
faStar: import("@fortawesome/fontawesome-common-types").IconDefinition;
faMinus: import("@fortawesome/fontawesome-common-types").IconDefinition;
faUsers: import("@fortawesome/fontawesome-common-types").IconDefinition;
faSearch: import("@fortawesome/fontawesome-common-types").IconDefinition;
faPlus: import("@fortawesome/fontawesome-common-types").IconDefinition;
searchFilter: string;
localPanelists: Participant[];
isFocused: boolean;
muteOthersMic: boolean;
muteOthersCamera: boolean;
participantsState: Participant[];
availableParticipants: Participant[];
isHost: boolean;
constructor(addPanelistService: AddPanelist, removePanelistService: RemovePanelist, focusPanelistsService: FocusPanelists);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
updateStateFromParams(): void;
handleSearch(event: Event): void;
updateAvailableParticipants(): void;
handleAddPanelist(participant: Participant): Promise<void>;
handleRemovePanelist(participant: Participant): Promise<void>;
handleToggleFocus(): Promise<void>;
toggleMuteOthersMic(): void;
toggleMuteOthersCamera(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PanelistsModalComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PanelistsModalComponent, "app-panelists-modal", never, { "isPanelistsModalVisible": { "alias": "isPanelistsModalVisible"; "required": false; }; "onPanelistsClose": { "alias": "onPanelistsClose"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, never, never, true, never>;
}