agora-edu-core
Version:
Core APIs for building an online classroom
123 lines (122 loc) • 3.67 kB
TypeScript
import { AgoraWidgetController } from './controller';
import { EduStoreBase } from '../base';
import { AgoraWidgetStateListener } from './type';
/**
* `WidgetStore` 提供活跃插件的数据和状态的访问;提供 WidgetController 实例的直接访问;提供插件相关 API,用于激活、停用和更新插件的状态。
*/
/** @en
* The `WidgetStore` class provides access to data and status of active plug-ins; Provides direct access to the WidgetController instance; Provides plugin-related apis for activating, deactivating, and updating the status of plugins.
*/
export declare class WidgetStore extends EduStoreBase {
private _disposers;
private _stateListeners;
private _dataStore;
get widgetController(): AgoraWidgetController | undefined;
/**
*
* 设置组件为可用状态
* @param widgetId widget ID
* @param widgetProps widget 属性
* @param ownerUserUuid
*
**/
/** @en
* Set widget state to active
* @param widgetId widget ID
* @param widgetProps widget props
* @param ownerUserUuid
*
*/
setActive(widgetId: string, widgetProps?: any, ownerUserUuid?: string): void;
/**
*
* 设置组件为不可用状态
* @param widgetId widget ID
* @param widgetProps widget 属性
**/
/** @en
* Set widget state to inactive
* @param widgetId widget ID
* @param widgetProps widget props
*/
setInactive(widgetId: string, widgetProps?: any): void;
/**
* 更新组件全局属性,属性更新将同步至该组件在所有客户端上的实例
* @param widgetId
* @param widgetProps
* @returns
*/
/** @en
*
* @param widgetId
* @param widgetProps
* @returns
*/
updateWidgetProperties(widgetId: string, widgetProps?: any): Promise<{
data: any;
}> | undefined;
/**
* 更新组件用户属性,属性更新将同步至当前用户私有属性中
* @param widgetId
* @param widgetProps
* @returns
*/
updateWidgetUserProperties(widgetId: string, widgetProps?: any): void | undefined;
/**
*
* 删除当前房间中的此组件实例
* @param widgetId widget ID
*
**/
/** @en
* delete the widget
* @param widgetId widget ID
*/
deleteWidget(widgetId: string): Promise<{
data: any;
}> | undefined;
/**
* 删除组件用户属性
* @param widgetId
* @param keys
* @returns
*/
/** @en
* delete user private properties of the widget
* @param widgetId widget ID
*/
removeWidgetUserProperties(widgetId: string, keys?: string[]): Promise<{
data: any;
}> | undefined;
/**
* 删除组件扩展属性
* @param widgetId
* @param propKeys
*/
/** @en
* delete the extra properties of the widget
* @param widgetId widget ID
*/
removeWidgetExtra(widgetId: string, keys?: string[]): Promise<{
data: any;
}> | undefined;
/**
* @deprecated since v2.9.0, please use AgoraWidgetController.addWidgetStateListener
* 添加一个组件状态监听器
* @param listener
*/
/** @en
*
* @param listener
*/
addWidgetStateListener(listener: AgoraWidgetStateListener): void;
/**
* @deprecated since v2.9.0, please use AgoraWidgetController.removeWidgetStateListener
* 移除一个组件状态监听器
* @param listener
*/
removeWidgetStateListener(listener: AgoraWidgetStateListener): void;
private _setEventHandler;
onInstall(): void;
onDestroy(): void;
}