/** * office 文件预览 */ import React from 'react'; import { BaseSchema } from '../Schema'; import { ActionObject, IScopedContext, RendererProps } from 'fabos-amis-core'; import type { Word, Excel } from 'office-viewer'; export interface OfficeViewerSchema extends BaseSchema { type: 'office-viewer'; /** * 文件地址 */ src: string; /** * word 文档的渲染配置 */ wordOptions?: any; /** * 是否显示文档 */ display?: boolean; } export interface OfficeViewerProps extends RendererProps, Omit { columnsCount: number; } export interface OfficeViewerState { loading: boolean | null; } export default class OfficeViewer extends React.Component { rootElement: React.RefObject; office: Word | Excel; fileName?: string; document?: any; finalSrc?: string; constructor(props: OfficeViewerProps); componentDidMount(): void; componentDidUpdate(prevProps: OfficeViewerProps): void; /** * 接收动作事件 */ doAction(action: ActionObject, data: any, throwErrors: boolean, args?: any): any; /** * 执行变量替换 */ evalVar(text: string, data: any): any; renderWord(): Promise; fetchWord(): Promise; initOffice(officeViewer: any, file?: ArrayBuffer): Promise; /** * 渲染远端文件 */ renderRemoteWord(): Promise; /** * 渲染本地文件,用于预览 input-file */ renderFormFile(): void; render(): React.JSX.Element; } export declare class OfficeViewerRenderer extends OfficeViewer { static contextType: React.Context; constructor(props: OfficeViewerProps, context: IScopedContext); componentWillUnmount(): void; }