UNPKG

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.

90 lines (89 loc) 5.61 kB
import { OnInit, OnChanges, SimpleChanges } from '@angular/core'; import { Participant, ShowAlert } from '../../../@types/types'; import { Socket } from 'socket.io-client'; import { UpdateParticipantPermission, PermissionLevel } from '../../../methods/permissions-methods/update-participant-permission.service'; import { BulkUpdateParticipantPermissions } from '../../../methods/permissions-methods/bulk-update-participant-permissions.service'; import { UpdatePermissionConfig, PermissionConfig, PermissionCapabilities } from '../../../methods/permissions-methods/update-permission-config.service'; import * as i0 from "@angular/core"; export interface PermissionsModalParameters { participants: Participant[]; member: string; islevel: string; socket: Socket; roomName: string; showAlert?: ShowAlert; permissionConfig?: PermissionConfig; updatePermissionConfig?: (config: PermissionConfig) => void; getUpdatedAllParams: () => PermissionsModalParameters; audioSetting?: string; videoSetting?: string; screenshareSetting?: string; chatSetting?: string; } type PermissionValue = PermissionCapabilities[keyof PermissionCapabilities]; export declare class PermissionsModalComponent implements OnInit, OnChanges { private updateParticipantPermissionService; private bulkUpdateParticipantPermissionsService; private updatePermissionConfigService; isPermissionsModalVisible: boolean; onPermissionsClose: () => void; parameters: PermissionsModalParameters; backgroundColor: string; position: string; faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition; faUserShield: import("@fortawesome/fontawesome-common-types").IconDefinition; faUsers: import("@fortawesome/fontawesome-common-types").IconDefinition; faCog: import("@fortawesome/fontawesome-common-types").IconDefinition; faChevronUp: import("@fortawesome/fontawesome-common-types").IconDefinition; faChevronDown: import("@fortawesome/fontawesome-common-types").IconDefinition; faCheck: import("@fortawesome/fontawesome-common-types").IconDefinition; faClock: import("@fortawesome/fontawesome-common-types").IconDefinition; faBan: import("@fortawesome/fontawesome-common-types").IconDefinition; faMicrophone: import("@fortawesome/fontawesome-common-types").IconDefinition; faVideo: import("@fortawesome/fontawesome-common-types").IconDefinition; faDesktop: import("@fortawesome/fontawesome-common-types").IconDefinition; faComment: import("@fortawesome/fontawesome-common-types").IconDefinition; activeTab: 'users' | 'config'; searchFilter: string; selectedParticipants: Set<string>; expandedLevel: 'level0' | 'level1' | null; localConfig: PermissionConfig; participantsState: Participant[]; constructor(updateParticipantPermissionService: UpdateParticipantPermission, bulkUpdateParticipantPermissionsService: BulkUpdateParticipantPermissions, updatePermissionConfigService: UpdatePermissionConfig); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; computeInitialConfig(): PermissionConfig; updateStateFromParams(): void; get isHost(): boolean; get filteredParticipants(): Participant[]; get participantsByLevel(): { '1': Participant[]; '0': Participant[]; }; getLevelLabel(level: '1' | '0'): string; getLevelColor(level: '1' | '0'): string; hasSelected(participantName: string): boolean; handleParticipantSelect(participantName: string): void; handleSelectAll(): void; handleBulkUpdate(newLevel: PermissionLevel): Promise<void>; handleSingleUpdate(participant: Participant, newLevel: PermissionLevel): Promise<void>; handleConfigChange(level: 'level0' | 'level1', capability: keyof PermissionCapabilities, value: PermissionValue): void; handleSaveConfig(): Promise<void>; toggleLevelConfig(level: 'level0' | 'level1'): void; levels: ('1' | '0')[]; configLevels: ('level0' | 'level1')[]; capabilities: (keyof PermissionCapabilities)[]; readonly chatOptions: PermissionCapabilities['useChat'][]; readonly standardOptions: PermissionCapabilities['useMic'][]; getParticipantsForLevel(level: '1' | '0'): Participant[]; getConfigValue(level: 'level0' | 'level1', capability: keyof PermissionCapabilities): PermissionValue; isSelectedConfigOption(level: 'level0' | 'level1', capability: keyof PermissionCapabilities, value: PermissionValue): boolean; getCapabilityIcon(capability: keyof PermissionCapabilities): import("@fortawesome/fontawesome-common-types").IconDefinition; getCapabilityName(capability: keyof PermissionCapabilities): "Chat" | "Screen Share" | "Microphone" | "Camera"; getStatusIcon(status: string): import("@fortawesome/fontawesome-common-types").IconDefinition; getStatusColor(status: string): "#ef4444" | "#f59e0b" | "#22c55e"; getOptionsForCapability(capability: keyof PermissionCapabilities): readonly PermissionValue[]; static ɵfac: i0.ɵɵFactoryDeclaration<PermissionsModalComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<PermissionsModalComponent, "app-permissions-modal", never, { "isPermissionsModalVisible": { "alias": "isPermissionsModalVisible"; "required": false; }; "onPermissionsClose": { "alias": "onPermissionsClose"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, never, never, true, never>; } export {};