UNPKG

agora-edu-core-lb

Version:

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

311 lines (310 loc) 10.5 kB
import { EduRoleTypeEnum, EduUser } from 'agora-rte-sdk'; import OSS from 'ali-oss'; import { ReactEventHandler } from 'react'; import { IframeBridge } from '@netless/iframe-bridge'; import { MemberState, Room, SceneDefinition, RoomPhase, CameraState } from 'white-web-sdk'; import { CourseWareItem } from '../api/declare'; import { MaterialDataResource } from '../services/upload-service'; import { EduScenarioAppStore as EduScenarioAppStore } from './index'; import { StorageCourseWareItem } from '../types'; import { BoardClient } from '../utilities/board-client'; import { OSSConfig } from '../utilities/kit'; import { ZoomController } from './zoom'; import { Resource } from '../context/type'; export interface ToolItem { value: string; label: any; icon: any; isActive?: boolean; component?: React.FC<{ isActive: boolean; onClick: ReactEventHandler<any>; }>; } export declare type CustomizeGlobalState = { materialList: CourseWareItem[]; dynamicTaskUuidList: any[]; roomScenes: GlobalRoomScene; grantUsers: string[]; follow: boolean; isFullScreen: boolean; }; export declare type GlobalRoomScene = { [resourceUuid: string]: { contextPath: string; index: number; sceneName: string; scenePath: string; totalPage: string; resourceName: string; show: boolean; }; }; export type { Resource }; export declare enum BoardPencilSize { thin = 4, small = 8, normal = 12, large = 18 } export declare enum BoardFrontSizeType { size12 = "12", size14 = "14", size18 = "18", size24 = "24", size26 = "26", size36 = "36", size48 = "48", size72 = "72" } export declare const resolveFileInfo: (file: any) => { fileName: string; fileType: string; }; export declare const demoOssConfig: OSSConfig; export interface SceneItem { file: { name: string; type: string; }; path: string; rootPath: string; } export declare enum DownloadStatus { notCache = 0, downloading = 1, cached = 2, failed = 3 } export declare enum CustomRoomPhase { Idle = "idle" } export declare const ApaasRoomPhase: { Idle: CustomRoomPhase.Idle; Connecting: RoomPhase.Connecting; Connected: RoomPhase.Connected; Reconnecting: RoomPhase.Reconnecting; Disconnecting: RoomPhase.Disconnecting; Disconnected: RoomPhase.Disconnected; }; export declare class BoardStore extends ZoomController { checkInResult: any; setCheckInResult(result: any): void; scenes: any[]; loading: boolean; converting: boolean; currentPage: number; totalPage: number; currentScene: any; hasBoardPermission: number; selector: string; showFolder: boolean; boardRegion: string; boardConnectionState: string; closeFolder(): void; openFolder(): void; showUpload: boolean; showExtension: boolean; activeFooterItem: string; uuid: string; roomToken: string; sceneItems: SceneItem[]; activeScenePath: string; ready: boolean; follow: boolean; grantUsers: any[]; permission: number; menuTitle: string; isFullScreen: boolean; enableStatus: string | boolean; downloading: boolean; appStore: EduScenarioAppStore; _boardClient?: BoardClient; get boardClient(): BoardClient; ossClient: OSS; folder: string; constructor(appStore: EduScenarioAppStore); get room(): Room; get localUser(): EduUser; get activeSceneName(): string; get localUserUuid(): string; get boardPenIsActive(): boolean; joinBoard(): Promise<void>; leaveBoard(): Promise<void>; init(info: { boardId: string; boardToken: string; boardRegion: string; }): Promise<void>; loadScene(data: any[]): SceneDefinition[]; sceneList: any[]; controller: any; _resourcesList: Resource[]; _boardItem: Resource; get resourcesList(): Resource[]; changeSceneItem(resourceUuid: string): void; updateBoardSceneItems({ scenes, resourceUuid, resourceName, page, taskUuid }: any, setScene: boolean): void; findResourcePage(resourceName: string): number; getResourcePath(str: string): string; get activeIndex(): number; currentPath: string; get bizScreenShare(): boolean; get isBoardScreenShare(): boolean; get showBoardTool(): [boolean, boolean]; get canSharingScreen(): boolean; get isShareScreen(): boolean; removeScreenShareScene(): void; closeMaterial(resourceUuid: string): Promise<void>; autoFetchDynamicTask(): Promise<void>; updatePageHistory(): void; currentScenePath: string; resourceUuid: string; updateLocalResourceList(): void; updateLocalSceneState(): void; updateCourseWareList(): void; courseWareList: any[]; findFirstPPT(): void; fetchRoomScenes(): Promise<import("../api/declare").ConvertedFileList | undefined>; join(info: { role: EduRoleTypeEnum; isWritable: boolean; boardId: string; boardToken: string; disableDeviceInputs: boolean; disableCameraTransform: boolean; disableAutoResize: boolean; }): Promise<void>; pptAutoFullScreen(): void; setGrantPermission(v: boolean): Promise<void>; setGrantUsers(args: any[]): void; aClassJoinBoard(params: any): Promise<void>; get roleIsTeacher(): boolean; get roleIsStudent(): boolean; isTeacher(): boolean; isStudent(): boolean; resetBoardPath(): void; resetBoardScenes(): void; leave(): Promise<void>; changeFooterMenu(itemName: string): void; get currentSelector(): string; lineSelector: string; laserPoint: boolean; get boardRoomIsAvailable(): boolean; setLaserPoint(): void; shape: string; setTool(tool: string): void; currentStrokeWidth: number; changeStroke(value: any): void; rgbToHexColor(r: number, g: number, b: number): string; changeHexColor(colorHex: string): void; currentActiveToolItem: string; get currentColor(): string; currentStroke: string; getCurrentStroke(memberState: MemberState): number; currentArrow: any; getCurrentArrow(memberState: MemberState): any; currentFontSize: BoardFrontSizeType; changeFontSize(size: BoardFrontSizeType): void; getCurrentFontSize(memberState: MemberState): BoardFrontSizeType; updateScale(scale: number): void; get loadingType(): string; updatePen(value: any): void; changePage(idx: number, force?: boolean): void; getCurrentContextPath(): string; setScenePath(path: string): void; updateCameraState(cameraState: CameraState): void; updateBoardState(globalState: CustomizeGlobalState): void; updatePagination(): void; notices: any[]; uploadPhase: string; convertPhase: string; isCancel: boolean; uploadingPhase: string; convertingPhase: string; scale: number; get zoomValue(): number; online: boolean; showColorPicker: boolean; strokeColor: any; _grantPermission?: boolean; fileLoading: boolean; uploadingProgress: number; allTools: any[]; installTools(tools: any[]): void; get _tools(): any[]; get tools(): any[]; reset(): void; roomIsWritable(room: Room): boolean; setWritable(v: boolean): Promise<void>; grantUserPermission(userUuid: string): Promise<void>; revokeUserPermission(userUuid: string): Promise<void>; get userRole(): EduRoleTypeEnum; get roomType(): number; get boardService(): import("../services/edu-board-service").EduBoardService; get hasPermission(): boolean; checkUserPermission(userUuid: string): boolean; grantBoardPermission(userUuid: string): Promise<void>; revokeBoardPermission(userUuid: string): Promise<void>; resizeObserver: ResizeObserver; whiteBoardContainer?: HTMLElement; mount(dom: any): void; unmount(): void; hideExtension(): void; setZoomScale(operation: string): void; zoomBoard(type: string): void; setFullScreen(type: boolean): void; preloading: boolean; preloadingProgress: number; get isLoading(): true | "preparing" | undefined; get loadingStatus(): "" | "whiteboard.loading"; get globalState(): CustomizeGlobalState; removeMaterialList(resourceUuids: string[]): Promise<void>; putCourseResource(resourceUuid: string, currentPage?: number): Promise<void>; setScreenShareScenePath(): void; iframe: IframeBridge; insertH5(url: string, resourceUuid: string, currentPage?: number): Promise<void>; putImage(url: string): Promise<void>; putAV(url: string, type: string, mimeType: string): Promise<void>; putSceneByResourceUuid(uuid: string): Promise<void>; getFileInQueryMaterial(fileName: string): Promise<import("../services/upload-service").UploadServiceResult>; addMaterial(resourceRecord: CourseWareItem): void; handleUpload(payload: any): Promise<void>; cancelUpload(): Promise<void>; clearScene(): void; get isH5IFrame(): boolean; get canSyncCameraState(): boolean; scaleToFit(): void; moveCamera(): void; _extraResources: CourseWareItem[]; _resourcesMap: Map<string, CourseWareItem>; resolveResource(item: any): any; get extraResources(): MaterialDataResource[]; upsertResources(items: CourseWareItem[]): void; get publicResources(): MaterialDataResource[]; get initCourseWare(): MaterialDataResource; initCourseWareLoading: boolean; initCourseWareProgress: number; openInitCourseWare(): Promise<void>; get internalResources(): CourseWareItem[]; _personalResources: CourseWareItem[]; get personalResources(): MaterialDataResource[]; get allResources(): MaterialDataResource[]; get totalProgress(): number; progressMap: Record<string, number>; destroy(): Promise<void>; downloadList: StorageCourseWareItem[]; refreshState(): Promise<void>; updateDownloadById(taskUuid: string, props: Partial<StorageCourseWareItem>): void; internalDownload(taskUuid: string): Promise<void>; startDownload(taskUuid: string): Promise<void>; cancelDownload(taskUuid: string): Promise<void>; deleteSingle(taskUuid: string): Promise<void>; deleteAllCache(): Promise<void>; downloadAll(): Promise<void>; activeMap: Record<string, boolean>; } export declare type HandleUploadType = { file: File; resourceName: string; onProgress: (evt: any) => any; };