import { IConfigStartLoadParams, IInitialStateParams, IState } from '@mjcloud/redux'; import { IControlSetConfig, ControlDisabledModeEnum } from '@mjcloud/types'; import { ControlActionType, ControlEventType } from '@mjcloud/instance/dist/base'; import { UploadFile, UploadProps } from 'antd/lib/upload/interface'; import { IFileInfo } from '@mjcloud/service'; export declare type FileManagerModeType = 'append' | undefined; export declare type FileManagerListType = 'normal' | 'picture' | 'picture-card' | 'dragger' | 'avatar' | 'group'; export declare type FileManagerActionType = ControlActionType | 'startLoad' | 'loaded' | 'loadError' | 'previewFile' | 'previewFileDone' | 'updateFileList' | 'addFile2Group' | 'removeFile2Group' | 'removeFile' | 'updateFileList2Status' | 'updateFileList2Group'; export interface IFileManagerConfigStartLoadParams extends IConfigStartLoadParams { } export interface IFileManagerInitialStateParams extends IInitialStateParams { } export interface IFileManagerConfig extends IControlSetConfig { title: string; mode: FileManagerModeType; /** * 默认暗文提示 */ placeholder?: string; multiple: boolean; limitType?: string; maxSize?: number; styleName: FileManagerListType; businessType: string; businessId: string; maxFileCount: number; /** * 当前子项在哪些模式下为禁用状态,默认为 `ControlDisabledModeEnum.none` * (none.不禁用,all.禁用) */ disabledMode?: ControlDisabledModeEnum; } export interface IUploadFile extends UploadFile { key?: string; uid: string; id?: string; size: number; name: string; fileId?: string; fileName?: string; info?: UploadFile; percent?: number; groupId?: number; groupName?: string; isRequired?: boolean; isReadonly?: boolean; spaceId?: string; fileSize?: number; fileType?: string; } export interface IFileManagerState extends IState { mode: FileManagerModeType; title: string; /** * 默认暗文提示 */ placeholder: string; multiple: boolean; /** * 支持的文件类型,多个类型,用“,”分隔. * * ex: .xls。默认为:全局配置 */ limitType?: string; /** * 最大运行上传的文件大小。默认为:全局配置 */ maxSize?: number; maxFileCount: number; listType: FileManagerListType; fileList: Array; dataSource: IUploadFile[]; businessType: string; businessId: string; loading: boolean; readonly: boolean; isFetching?: boolean; errorMessage?: string; uploadProps: UploadProps; } export interface IFileManageUpdateFileListParams { fileList: Array; loading: boolean; } export interface IFileManageUpdateFileList2GroupParams { loading: boolean; file: UploadFile; record: IUploadFile; index: number; } export interface FileInfo extends IFileInfo { fileId?: string; fileName?: string; fileSize?: number; spaceId?: string; fileType?: string; } export interface IFileManageLoadedParams { dataSource: FileInfo[]; } export interface IFileManageLoadErrorParams { errorMessage: string; } export declare type FileManagerEventType = ControlEventType | 'onValueChange';