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.
64 lines (63 loc) • 4.13 kB
TypeScript
import { OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { Socket } from 'socket.io-client';
import { CoHostResponsibility, Participant, ShowAlert } from '../../@types/types';
import { ModifyCoHostSettings, ModifyCoHostSettingsOptions } from '../../methods/co-host-methods/modify-co-host-settings.service';
import { ModernRenderMode } from '../utils/render-mode.utils';
import * as i0 from "@angular/core";
interface ResponsibilityKey {
dedicateKey: string;
label: string;
manageKey: string;
}
export declare class ModernCoHostModalComponent implements OnChanges, OnInit {
private readonly modifyCoHostSettingsService;
isCoHostModalVisible: boolean;
currentCohost: string;
participants: Participant[];
coHostResponsibility: CoHostResponsibility[];
position: string;
backgroundColor: string;
roomName: string;
showAlert: ShowAlert;
updateCoHostResponsibility: (coHostResponsibility: CoHostResponsibility[]) => void;
updateCoHost: (coHost: string) => void;
updateIsCoHostModalVisible: (isCoHostModalVisible: boolean) => void;
socket: Socket;
onCoHostClose: () => void;
onModifyCoHost?: (settings: ModifyCoHostSettingsOptions) => void;
overlayStyle?: Partial<CSSStyleDeclaration>;
contentStyle?: Partial<CSSStyleDeclaration>;
customTemplate?: TemplateRef<unknown>;
parameters?: unknown;
renderMode: ModernRenderMode;
showHeader: boolean;
readonly faCheck: import("@fortawesome/fontawesome-common-types").IconDefinition;
readonly faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
selectedCohost: string;
responsibilityKeys: ResponsibilityKey[];
responsibilities: Record<string, boolean>;
private coHostResponsibilityCopy;
private modalWidth;
constructor(modifyCoHostSettingsService: ModifyCoHostSettings);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
isVisible(): boolean;
isEmbedded(): boolean;
get filteredParticipants(): Participant[];
handleToggleSwitch(key: string): void;
handleSave(): Promise<void>;
handleClose(): void;
hasAssignedCohost(): boolean;
displayCurrentCohost(): string;
resolvedOverlayStyle(): Record<string, string | number>;
resolvedContentStyle(): Record<string, string | number>;
private calculateModalWidth;
private findResponsibility;
private formatLabel;
private initializeResponsibilities;
private resolvePositionStyle;
private normalizeStyle;
static ɵfac: i0.ɵɵFactoryDeclaration<ModernCoHostModalComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ModernCoHostModalComponent, "app-co-host-modal", never, { "isCoHostModalVisible": { "alias": "isCoHostModalVisible"; "required": false; }; "currentCohost": { "alias": "currentCohost"; "required": false; }; "participants": { "alias": "participants"; "required": false; }; "coHostResponsibility": { "alias": "coHostResponsibility"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "roomName": { "alias": "roomName"; "required": false; }; "showAlert": { "alias": "showAlert"; "required": false; }; "updateCoHostResponsibility": { "alias": "updateCoHostResponsibility"; "required": false; }; "updateCoHost": { "alias": "updateCoHost"; "required": false; }; "updateIsCoHostModalVisible": { "alias": "updateIsCoHostModalVisible"; "required": false; }; "socket": { "alias": "socket"; "required": false; }; "onCoHostClose": { "alias": "onCoHostClose"; "required": false; }; "onModifyCoHost": { "alias": "onModifyCoHost"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "renderMode": { "alias": "renderMode"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; }, {}, never, never, true, never>;
}
export {};