UNPKG

@mescius/dspdfviewer

Version:
92 lines (91 loc) 2.48 kB
import { Message } from "./Message"; import { ModificationType, ModificationsState, SharedAccessMode, StructureChanges } from "../../SharedDocuments/types"; import { AnnotationBase } from "../../Annotations/AnnotationTypes"; /** * Client transport message. * */ export type ClientMessage = Message & { /** * Unique client identifier. * */ clientId: string; /** * Message type. * */ type: ClientMessageType | ClientRequestType; /** * Message data if any. **/ data?: ClientMessageParameters; }; /** * Client message type. * */ export declare enum ClientMessageType { Start = 1, Stop = 2, ShareDocument = 10, UnshareDocument = 11, Modification = 20, Reconnect = 30 } export declare enum ClientRequestType { UserAccessList = 100, SharedDocumentsList = 101, AllUsersList = 102, OpenSharedDocument = 103, StartSharedMode = 104, StopSharedMode = 105 } export type ClientMessageParameters = StartParameters | StopParameters | ShareDocumentParameters | ModificationParameters | UnshareDocumentParameters | UserAccessListParameters | SharedDocumentsListParameters | OpenSharedDocumentParameters; /** * ClientMessageType.Start connection message arguments. * */ export type StartParameters = { clientId: string; userName: string; }; /** * ClientMessageType.Stop connection message arguments. * */ export type StopParameters = { clientId: string; }; /** * ClientMessageType.ShareDocument connection message arguments. * */ export type ShareDocumentParameters = { documentId: string; userName: string; accessMode: SharedAccessMode; modificationsState: ModificationsState; }; /** * ClientMessageType.UnshareDocument connection message arguments. * */ export type UnshareDocumentParameters = { documentId: string; userName: string; }; /** * ClientMessageType.Modification connection message arguments. * */ export type ModificationParameters = { type: ModificationType; data?: { pageIndex: number; annotation: AnnotationBase; } | { pageIndex: number; annotationId: string; } | StructureChanges; }; export type UserAccessListParameters = { documentId: string; }; export type SharedDocumentsListParameters = { userName: string; }; export type OpenSharedDocumentParameters = { documentId: string; };