import SDKBaseView from "./SDKBaseView"; import SDKControllerBase from "../SDKController/SDKControllerBase"; import * as SDKENUM from "../SDKConst/SDKEnum"; import SDKPacket from "../SDKNetwork/SDKPacket"; export default class SDKWebDashBoardView extends SDKBaseView { /**菜单栏 */ protected _menuContainer: any; /** 分屏容器节点 */ protected _childContainer: any; protected _components: any; protected _lastMenuName: string; protected _currentMenuName: string; /**学生上台模式。。。某一个学生操作,其他的人看*/ /**鼠标形态 */ protected _mouseName: string; /**学生ids */ protected _userIds: Array; /**学生iframe */ protected _userIframes: Array; /**学生iframe初始化 */ protected _userIframeInits: Array; /**教学模式 */ protected _teachingMode: SDKENUM.TEACHING_MODE; /**控制者id */ protected _controllerId: string; protected _isFirstInit: boolean; protected _isShowControllUI: boolean; constructor(controller: SDKControllerBase); private initUI; /** * 计算REM */ private initRem; /** * 创建菜单容器, * 设置界面样式 */ private initMenuContaner; /** * 初始化菜单内容 */ private initMenuContent; private createButton; private createCheckbox; protected onMouseOver(): void; protected onMouseOut(): void; /** * 切换到教学模式 */ protected onTeacherModle(): void; protected teahcerModle(): void; /** * 分屏查看模式 */ protected onSplitModle(): void; protected spliteModle(): void; /** * 更新分屏信息 */ updateSplitFrames(): void; /** *同步各个学生最新的状态 */ private synchronizeIframes; /** * 同步某一个学生的最新状态 */ private synchronizeIframe; private checkChangeScene; private initScene; /** * 向子iframe 发送消息 * @param packet * @param target */ sendSubPacket(packet: SDKPacket, target?: Window): void; /**更新学生的iframes */ private UpdateUserIframes; private studentHandle; private onTeacherControll; private onFreeControll; private updateChangeSceneState; private addUserIframe; /**生成一个新的url */ private createStudentUrl; /** * 隐藏学生的iframes */ private hideUserIframes; /** * 显示学生的iframes */ private showUserIframes; /**设置权限 历史恢复使用*/ setController(controllerId: string): void; /** * 子iframe通知初始化准备好了 * @param userId 学生id */ splitGameReady(userId: string): void; /** * 收到学生的信息 同步到分屏中去。。。。 * @param packet */ dispatcherSubIframe(packet: SDKPacket): void; /** * 更新用户信息 */ updateUsers(): void; /** * 显示或者隐藏老师切换控制权限 */ displayControll(isShow: boolean): void; /** * 切换教学模式 * @param teacherModle */ teachModleChange(teacherModle: SDKENUM.TEACHING_MODE): void; reset(): void; destroy(): void; }