denwa-react-shared
Version:
56 lines (55 loc) • 1.62 kB
TypeScript
import { UploadProps } from 'antd';
import { UploadFile } from 'antd/lib/upload/interface';
import { IServerImageForm, IUploadImage } from '../../types';
export interface BaseImageUploadProps extends UploadProps {
labelText: string;
loadingErrorText: string;
emptyText: string;
downloadText: string;
serverImages: IServerImageForm[];
updatedImages?: IUploadImage[];
language: string;
onUpdateData: (data: IUploadImage) => void;
onDeleteImage: (uid: string) => void;
onSuccessUpload: (newFile: {
tempName: string;
uid: string;
}) => void;
onUpdateTempImage: OnUpdateTempImageType;
onImagesOrder?: (data: string[]) => void;
}
export type OnUpdateTempImageType = (data: FormData) => Promise<OnUpdateBaseImageUploadTempImageType>;
export type OnUpdateBaseImageUploadTempImageType = {
status?: number;
data: {
data: {
tempFiles: string[];
};
};
error?: unknown;
};
export interface ItemProps {
labelText: string;
loadingErrorText: string;
emptyText: string;
file: IUploadFile;
language: string;
maxCount: number | undefined;
errorsUid: string[];
disabled: boolean;
isLoading: boolean;
updatedImages?: IUploadImage[];
actions: {
download: () => void;
preview: () => void;
remove: () => void;
};
onUpdateData: (data: IUploadImage) => void;
onDeleteImage: (uid: string) => void;
onDeleteError: (uid: string) => void;
}
export interface IUploadFile extends UploadFile {
altRU?: string;
altEN?: string;
altAR?: string;
}