UNPKG

dome-embedded-app-sdk

Version:

Build Dome cards and document viewers with a single SDK. Cards let you extend a dome with custom functionality, while viewers let you render and edit documents inside Dome.

54 lines (53 loc) 1.56 kB
import { DomeEmbeddedAppSdk, ViewerClientMessageType } from "./dome-sdk"; export interface Document { data: any; name: string; type: string; } export interface UiProps { theme: string; } interface SaveStatusData { status: "success" | "error"; message: string; } export interface ViewerEventHandler { onInitialData: (data: { doc: Document; ui: UiProps; isNewFile: boolean; perms: any; config?: Record<string, any>; }) => void; onDataChange?: (data: { doc: Document; perms: any; userConsent: "override" | null; }) => void; onCloseRequest: () => void; onSaveRequest: () => void; } export declare class ViewerSdk extends DomeEmbeddedAppSdk { private static instance; private static initialized; private handler; private pendingRequests; private pendingInitAck; private constructor(); static init(handler?: ViewerEventHandler): ViewerSdk; setHandler(handler: ViewerEventHandler): void; canRead(perms?: string): boolean; canWrite(perms?: string): boolean; initializeViewerSdk(): void; requestInitialData(): void; requestSave(doc: Document, isDataDirty: boolean): Promise<SaveStatusData>; private handleOnSave; setDirty(isDirty: boolean): void; sendClose(doc: Document, isDataDirty: boolean): void; sendException(error: { name?: string; message: string; } | string): void; protected handleMessage(type: ViewerClientMessageType, data: any): void; } export {};