UNPKG

agora-classroom-sdk

Version:

For publishing npm package agora-classroom-sdk (Web & Electron). Get more information from https://docs.agora.io

163 lines (162 loc) 4.17 kB
import { IReactionDisposer } from 'mobx'; import { EduUIStoreBase } from '../base'; import { DeviceState, Operation, Profile } from './type'; import { BoardGrantState } from '@classroom/ui-kit'; export declare class RosterUIStore extends EduUIStoreBase { /** * width: 花名册窗口宽度 */ get uiOverrides(): { width: number; }; protected _disposers: IReactionDisposer[]; onInstall(): void; /** Observables */ /** * 检索字符串 */ searchKeyword: string; /** * 轮播参数 */ carousel: { isOpenCarousel: boolean; mode: string; randomValue: string; times: string; }; /** Methods */ /** * 开始轮播 * @param start */ private startCarousel; /** * 轮播参数事件 * @param propKey * @returns */ private updatePartial; /** * 获取主流 * @param userUuid * @returns */ protected getMainStream(userUuid: string): import("agora-edu-core").EduStream | null | undefined; /** * 是否不可点击操作 * @param deviceState * @returns */ protected shouldBlockMediaAction(deviceState: DeviceState): boolean; /** * 更新轮播参数 * @param carousel */ /** Actions */ updateCarousel(carousel: RosterUIStore['carousel']): void; /** * 设置检索字符串 * @param keyword */ setSearchKeyword(keyword: string): void; /** * 花名册功能按钮点击 * @param operation * @param profile */ clickRowAction: (operation: Operation, profile: Profile) => void; clickPodium: (profile: Profile) => void; clickGrantBoard: (profile: Profile) => void; clickCamera: (profile: Profile) => void; clickMicrophone: (profile: Profile) => void; clickStar: (profile: Profile) => void; clickKick: (profile: Profile) => void; /** Computed */ /** * 老师名称 * @returns */ get teacherName(): string; /** * 学生列表 * @returns */ get userList(): { uid: string; name: string; isOnPodium: boolean; boardGrantState: BoardGrantState; isChatMuted: boolean; cameraState: DeviceState; microphoneState: DeviceState; stars: number; operations: Partial<Record<Operation, { interactable: boolean; }>>; }[]; /** * 花名册功能列表 * @returns */ get rosterFunctions(): ("search" | "stars" | "kick" | "podium" | "grant-board" | "supervise-student" | "carousel")[]; /** * 轮播组件属性 * @returns */ get carouselProps(): { onTimesChange: (val: string, eventType?: "blur" | "change" | undefined) => void; onModeChange: (val: string, eventType?: "blur" | "change" | undefined) => void; onRandomValueChange: (val: string, eventType?: "blur" | "change" | undefined) => void; onOpenCarousel: (val: boolean, eventType?: "blur" | "change" | undefined) => void; isOpenCarousel: boolean; mode: string; randomValue: string; times: string; }; get groupStarted(): boolean; /** Getters */ /** * 是否有踢人权限 * @returns */ get canKickOut(): boolean; /** * 是否有白板授权权限 * @returns */ get canGrantWhiteboardPermissions(): boolean; /** * 是否可以操作上下台 * @returns */ get canOperatePodium(): boolean; /** * 是否可以禁言IM * @returns */ get canMuteChat(): boolean; /** * 是否可以开启和关闭学生音视频 * @returns */ get canOperateMedia(): boolean; /** * 是否可以操作轮播 * @returns */ get canOperateCarousel(): boolean; /** * 是否可以检索 * @returns */ get canSearchInRoster(): boolean; /** * 是否可以发奖励 * @returns */ get canSendRewards(): boolean; get canSubscribeUser(): boolean; get canSuperviseStudent(): boolean; onDestroy(): void; }