@tencentcloud/roomkit-web-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
40 lines (34 loc) • 1.03 kB
text/typescript
import { IRoomService } from '../types';
type NotificationProps = {
appendTo?: string | undefined;
customClass?: string;
message: object;
onConfirm?: () => Promise<void>;
onCancel?: () => Promise<void>;
confirmButtonText?: string;
cancelButtonText?: string;
duration?: number;
};
export class WidgetsManager {
static instance?: WidgetsManager;
private service: IRoomService;
public notification: {
openInviteNotification: (options: NotificationProps) => void;
} | null = null;
constructor(service: IRoomService) {
this.service = service;
}
static getInstance(ctx: IRoomService): WidgetsManager {
if (!WidgetsManager.instance) {
WidgetsManager.instance = new WidgetsManager(ctx);
}
return WidgetsManager.instance;
}
static destroyInstance(): void {
if (!WidgetsManager.instance) return;
WidgetsManager.instance = undefined;
}
public registerNotificationProvider(provider: { notification: any }): void {
this.notification = provider.notification;
}
}