agora-meeting-core
Version:
For publishing npm package agora-metting-core (Web). Get more information from https://docs.agora.io
203 lines (202 loc) • 5.96 kB
TypeScript
import { ReactEventHandler } from 'react';
import { MemberState, Room } from 'white-web-sdk';
import { CourseWareItem, RoleTypeEnum, BoardPermission, UserInfo } from '../api/declare';
import { EduScenarioAppStore as EduScenarioAppStore } from './index';
import { BoardClient } from '../utilities/board-client';
import { ZoomController } from './zoom';
import { ShareType } from './room';
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;
};
export declare type GlobalRoomScene = {
[resourceUuid: string]: {
contextPath: string;
index: number;
sceneName: string;
scenePath: string;
totalPage: string;
resourceName: string;
show: boolean;
};
};
export declare type Resource = {
file: {
name: string;
type: string;
};
resourceName: string;
resourceUuid: string;
taskUuid: string;
currentPage: number;
totalPage: number;
scenePath: string;
show: boolean;
};
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 class BoardStore extends ZoomController {
scenes: any[];
appStore: EduScenarioAppStore;
controller: any;
constructor(appStore: EduScenarioAppStore);
private calcViewMode;
currentPage: number;
totalPage: number;
currentScene: any;
selector: string;
showExtension: boolean;
activeFooterItem: string;
uuid: string;
activeScenePath: string;
ready: boolean;
enableStatus: string | boolean;
currentStrokeWidth: number;
_boardClient?: BoardClient;
sceneList: any[];
currentScenePath: string;
resourceUuid: string;
lineSelector: string;
laserPoint: boolean;
shape: string;
scale: number;
currentActiveToolItem: string;
currentArrow: any;
currentFontSize: BoardFrontSizeType;
currentStroke: string;
online: boolean;
showColorPicker: boolean;
strokeColor: any;
allTools: any[];
activeMap: Record<string, boolean>;
get boardClient(): BoardClient;
get boardPenIsActive(): boolean;
get currentSelector(): string;
get localUserUuid(): string;
get currentColor(): string;
get zoomValue(): number;
get tools(): any[];
get globalState(): CustomizeGlobalState;
get roomInfo(): import("../api/declare").RoomInfo;
get roomApi(): import("../services/room-api").RoomApi;
get roomProperties(): {
im: any;
userPermission: {
micAccess: boolean;
cameraAccess: boolean;
};
roomInfo: {
roomId: string;
roomName: string;
roomPassword: string;
};
share: {
type: ShareType;
screen: {
ownerInfo: UserInfo;
streamInfo: any;
};
};
board: {
info: {
boardId: string;
boardToken: string;
appIdentifier: string;
};
state: {
follow: number;
grantUsers: string[];
};
ownerInfo: UserInfo;
};
schedule: {
state: import("./room").RoomState;
};
record: {
ownerInfo: UserInfo;
state: number;
recordId: string;
recordingTime: number;
startTime?: number | undefined;
sid: string;
resourceId: string;
};
processes: {
micAccess: any;
cameraAccess: any;
};
flexProps?: any;
};
get boardPermission(): BoardPermission;
get isWhiteBoardOpening(): boolean;
get isBoardSharingByMyself(): boolean;
get room(): Room;
get renderStore(): import("./render").RenderStore;
get screenStore(): import("./screen").ScreenStore;
get messageStore(): import("./message").MessageStore;
openBoardSharing(): Promise<void>;
closeBoardSharing(): Promise<void>;
applyBoardInteract(): Promise<void>;
cancelBoardInteract(): Promise<void>;
setWritable(writable: boolean): Promise<void>;
cleanBoard(): void;
changeScenePath(path: string): void;
updateBoardSceneItems({ scenes, resourceUuid, resourceName, page, taskUuid }: any, setScene: boolean): void;
getResourcePath(str: string): string;
join(info: {
role: RoleTypeEnum;
boardId: string;
boardToken: string;
appIdentifier: string;
}): Promise<void>;
aClassJoinBoard(params: any): Promise<void>;
resetBoardScenes(): void;
leave(): Promise<void>;
setLaserPoint(): void;
setAppliance(tool: string): void;
changeStroke(value: any): void;
rgbToHexColor(r: number, g: number, b: number): string;
changeStrokeColor(colorHex: string): void;
getCurrentStroke(memberState: MemberState): number;
getCurrentArrow(memberState: MemberState): any;
changeFontSize(size: BoardFrontSizeType): void;
getCurrentFontSize(memberState: MemberState): BoardFrontSizeType;
updateScale(scale: number): void;
updatePen(value: any): void;
changePage(idx: number, force?: boolean): void;
updatePagination(): void;
installTools(tools: any[]): void;
reset(): void;
mount(dom: any): void;
unmount(): void;
hideExtension(): void;
setZoomScale(operation: string): void;
moveCamera(): void;
}