/// import * as React from 'react'; export interface PropsDefine { /** * 导航栏标题 */ title?: string; /** * 编辑器的高度 */ height?: number; /** * 定制外部提供编辑组件 */ customComponents?: Array>; /** * 基础组件 * web 引用 fit-gaea/lib/web-components * react-native 同时兼容 web 引用 fit-gaea/lib/native-components */ baseComponents?: Array>; /** * 页面初始化信息 */ defaultValue?: { [mapUniqueKey: string]: FitGaea.ViewportComponentInfo; }; /** * 点击保存后会返回页面结构树信息 * info.saveToVersion() 被执行后,本地会在顶部新增一个版本信息 * 同时要后端把 info.pageInfo 和当前时间戳 存储起来,下次刷新时候获取,并且塞入到 versionInit 可以显示版本快照信息 */ onSave?: (info?: { [mapUniqueKey: string]: FitGaea.ViewportComponentInfo; }) => void; /** * 工具栏:是否只显示定制组件 */ isHideCustomComponents?: boolean; /** * 第一次切换到版本记录页,填充版本纪录,每条记录格式如下: * info: 与 onSave 的 info.pageInfo 相同,表示这个快照的内容 * date: javascript 的 Date 时间戳,表示当前修改的时间 */ versionInit?: (saveVersion?: (versions?: Array) => void, hasNext?: boolean) => void; /** * 点击版本记录页的加载更多按钮,加载到哪和加载逻辑需要在业务中处理 */ onLoadMoreVersionClick?: (saveVersion?: (versions?: Array) => void, hasNext?: boolean) => void; /** * 点击版本发布按钮 * 执行回调会打一个新版本号,注意当服务器保存成功时再调用 */ onPublish?: (id?: string, version?: string, remarks?: string, save?: Function) => void; /** * 当上线被点击后,上线浮层弹出时候的回调 * 此时可以通讯服务器,获取所有已发布的版本信息,作为传参执行回调函数,这样版本信息选择里变有值了 */ onOnlineModalShow?: (callback: (lists: Array) => void) => void; /** * 当确认上线按钮被点击 */ onOnlineClick?: (key: string | number) => void; /** * 资源 tab 获取内容时的回调 */ getSourceFileList?: (folderId: string, callback: (lists: Array) => void) => void; /** * 资源 tab 新增一个文件/文件夹 */ addSourceFile?: (folderId?: string, fileInfo?: FitGaea.SourceFile, addSuccess?: () => void) => void; /** * is for react-native? */ isReactNative?: boolean; [x: string]: any; } export declare class Props implements PropsDefine { title: string; version: string; customComponents: React.ComponentClass[]; isHideCustomComponents: boolean; height: number; onSave: () => void; versionInit: (saveVersion: Function) => void; onOnlineModalShow: (callback: any) => void; onOnlineClick: (key: string | number) => void; onLoadMoreVersionClick: () => void; onPublish: () => void; getSourceFileList: (folderId: string, callback: (lists: FitGaea.SourceFile[]) => void) => void; addSourceFile: (folderId?: string, fileInfo?: FitGaea.SourceFile, addSuccess?: () => void) => void; isReactNative: boolean; } export interface StateDefine { /** * 是否在预览模式 */ isPreview?: boolean; } export declare class State implements StateDefine { isPreview: boolean; }