tdesign-vue
Version:
329 lines (328 loc) • 13 kB
TypeScript
import { PropType } from '@vue/composition-api';
import { CommonDisplayFileProps } from '../interface';
import { TdUploadProps, UploadFile } from '../type';
import { UploadDisplayDragEvents } from '../../common';
import { UploadDragEvents } from '../hooks/useDrag';
export interface ImageFlowListProps extends CommonDisplayFileProps {
uploadFiles?: (toFiles?: UploadFile[]) => void;
cancelUpload?: (context: {
e: MouseEvent;
file?: UploadFile;
}) => void;
dragEvents: UploadDragEvents;
disabled?: boolean;
isBatchUpload?: boolean;
draggable?: boolean;
showThumbnail?: boolean;
uploadButton?: TdUploadProps['uploadButton'];
cancelUploadButton?: TdUploadProps['cancelUploadButton'];
}
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
icons: import("tdesign-icons-vue").GlobalIconConfig;
dragActive: import("@vue/composition-api").Ref<boolean>;
uploadPrefix: string;
uploadText: import("@vue/composition-api").ComputedRef<string>;
innerDragEvents: import("@vue/composition-api").ComputedRef<UploadDisplayDragEvents>;
currentPreviewFile: import("@vue/composition-api").Ref<{
[x: string]: any;
lastModified?: number;
name?: string;
percent?: number;
raw?: File;
response?: {
[x: string]: any;
};
size?: number;
status?: "progress" | "waiting" | "success" | "fail";
type?: string;
uploadTime?: string;
url?: string;
}[]>;
previewIndex: import("@vue/composition-api").Ref<number>;
onVue2Preview: (params: {
file: UploadFile;
index: number;
e: MouseEvent;
}) => void;
browseIconClick: ({ e, index, file, viewFiles, }: {
e: MouseEvent;
index: number;
file: UploadFile;
viewFiles: UploadFile[];
}) => void;
closePreview: () => void;
previewIndexChange: (index: number) => void;
}> & import("@vue/composition-api").Data, {
getStatusMap(): {
iconMap: {
success: JSX.Element;
fail: JSX.Element;
progress: JSX.Element;
waiting: JSX.Element;
};
textMap: {
success: string;
fail: string;
progress: string;
waiting: string;
};
};
renderEmpty(): JSX.Element;
renderImgItem(file: UploadFile, index: number): JSX.Element;
renderStatus(file: UploadFile): JSX.Element;
renderNormalActionCol(file: UploadFile, index: number): JSX.Element;
renderBatchActionCol(index: number): JSX.Element;
renderFileList(): any;
renderImageList(): any;
getFileThumbnailIcon(fileType: string): JSX.Element;
renderFileThumbnail(file: UploadFile): JSX.Element;
}, {}, {
uploadFiles: PropType<(toFiles?: UploadFile[]) => void>;
cancelUpload: PropType<(context: {
e: MouseEvent;
file?: UploadFile;
}) => void>;
dragEvents: PropType<UploadDragEvents>;
disabled: BooleanConstructor;
isBatchUpload: BooleanConstructor;
draggable: BooleanConstructor;
showThumbnail: BooleanConstructor;
showImageFileName: BooleanConstructor;
uploadButton: PropType<import("../../button").TdButtonProps | ((h: import("vue").CreateElement, props: {
disabled: boolean;
uploading: boolean;
uploadFiles: () => void;
uploadText: string;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
cancelUploadButton: PropType<import("../../button").TdButtonProps | ((h: import("vue").CreateElement, props: {
disabled: boolean;
cancelUploadText: string;
cancelUpload: (ctx: {
e: MouseEvent;
}) => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
accept: StringConstructor;
files: import("vue").PropType<UploadFile[]>;
toUploadFiles: import("vue").PropType<UploadFile[]>;
displayFiles: import("vue").PropType<UploadFile[]>;
theme: import("vue").PropType<"file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow">;
abridgeName: import("vue").PropType<number[]>;
placeholder: StringConstructor;
classPrefix: StringConstructor;
tips: (FunctionConstructor | StringConstructor)[];
status: import("vue").PropType<"error" | "default" | "success" | "warning">;
locale: import("vue").PropType<import("../..").UploadConfig>;
sizeOverLimitMessage: StringConstructor;
autoUpload: BooleanConstructor;
uploading: BooleanConstructor;
tipsClasses: import("vue").PropType<string>;
errorClasses: import("vue").PropType<string[]>;
placeholderClass: import("vue").PropType<string>;
showUploadProgress: BooleanConstructor;
default: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
fileListDisplay: import("vue").PropType<(h: import("vue").CreateElement, props: {
files: UploadFile[];
dragEvents?: UploadDisplayDragEvents;
}) => import("vue/types/vnode").ScopedSlotReturnValue>;
onRemove: import("vue").PropType<(p: import("../type").UploadRemoveContext) => void>;
imageViewerProps: import("vue").PropType<import("../../image-viewer").TdImageViewerProps>;
}, import("@vue/composition-api").ExtractPropTypes<{
uploadFiles: PropType<(toFiles?: UploadFile[]) => void>;
cancelUpload: PropType<(context: {
e: MouseEvent;
file?: UploadFile;
}) => void>;
dragEvents: PropType<UploadDragEvents>;
disabled: BooleanConstructor;
isBatchUpload: BooleanConstructor;
draggable: BooleanConstructor;
showThumbnail: BooleanConstructor;
showImageFileName: BooleanConstructor;
uploadButton: PropType<import("../../button").TdButtonProps | ((h: import("vue").CreateElement, props: {
disabled: boolean;
uploading: boolean;
uploadFiles: () => void;
uploadText: string;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
cancelUploadButton: PropType<import("../../button").TdButtonProps | ((h: import("vue").CreateElement, props: {
disabled: boolean;
cancelUploadText: string;
cancelUpload: (ctx: {
e: MouseEvent;
}) => void;
}) => import("vue/types/vnode").ScopedSlotReturnValue)>;
accept: StringConstructor;
files: import("vue").PropType<UploadFile[]>;
toUploadFiles: import("vue").PropType<UploadFile[]>;
displayFiles: import("vue").PropType<UploadFile[]>;
theme: import("vue").PropType<"file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow">;
abridgeName: import("vue").PropType<number[]>;
placeholder: StringConstructor;
classPrefix: StringConstructor;
tips: (FunctionConstructor | StringConstructor)[];
status: import("vue").PropType<"error" | "default" | "success" | "warning">;
locale: import("vue").PropType<import("../..").UploadConfig>;
sizeOverLimitMessage: StringConstructor;
autoUpload: BooleanConstructor;
uploading: BooleanConstructor;
tipsClasses: import("vue").PropType<string>;
errorClasses: import("vue").PropType<string[]>;
placeholderClass: import("vue").PropType<string>;
showUploadProgress: BooleanConstructor;
default: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
fileListDisplay: import("vue").PropType<(h: import("vue").CreateElement, props: {
files: UploadFile[];
dragEvents?: UploadDisplayDragEvents;
}) => import("vue/types/vnode").ScopedSlotReturnValue>;
onRemove: import("vue").PropType<(p: import("../type").UploadRemoveContext) => void>;
imageViewerProps: import("vue").PropType<import("../../image-viewer").TdImageViewerProps>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
draggable: boolean;
disabled: boolean;
autoUpload: boolean;
uploading: boolean;
showUploadProgress: boolean;
showImageFileName: boolean;
isBatchUpload: boolean;
showThumbnail: boolean;
} & {
default?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
status?: "error" | "default" | "success" | "warning";
classPrefix?: string;
theme?: "file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow";
tips?: string;
errorClasses?: string[];
placeholder?: string;
onRemove?: (p: import("../type").UploadRemoveContext) => void;
locale?: unknown;
files?: UploadFile[];
abridgeName?: number[];
cancelUploadButton?: unknown;
fileListDisplay?: (h: import("vue").CreateElement, props: {
files: UploadFile[];
dragEvents?: UploadDisplayDragEvents;
}) => import("vue/types/vnode").ScopedSlotReturnValue;
imageViewerProps?: unknown;
uploadButton?: unknown;
toUploadFiles?: UploadFile[];
displayFiles?: UploadFile[];
tipsClasses?: string;
placeholderClass?: string;
accept?: string;
sizeOverLimitMessage?: string;
uploadFiles?: (toFiles?: UploadFile[]) => void;
cancelUpload?: (context: {
e: MouseEvent;
file?: UploadFile;
}) => void;
dragEvents?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
icons: import("tdesign-icons-vue").GlobalIconConfig;
dragActive: import("@vue/composition-api").Ref<boolean>;
uploadPrefix: string;
uploadText: import("@vue/composition-api").ComputedRef<string>;
innerDragEvents: import("@vue/composition-api").ComputedRef<UploadDisplayDragEvents>;
currentPreviewFile: import("@vue/composition-api").Ref<{
[x: string]: any;
lastModified?: number;
name?: string;
percent?: number;
raw?: File;
response?: {
[x: string]: any;
};
size?: number;
status?: "progress" | "waiting" | "success" | "fail";
type?: string;
uploadTime?: string;
url?: string;
}[]>;
previewIndex: import("@vue/composition-api").Ref<number>;
onVue2Preview: (params: {
file: UploadFile;
index: number;
e: MouseEvent;
}) => void;
browseIconClick: ({ e, index, file, viewFiles, }: {
e: MouseEvent;
index: number;
file: UploadFile;
viewFiles: UploadFile[];
}) => void;
closePreview: () => void;
previewIndexChange: (index: number) => void;
}>, import("@vue/composition-api").Data, {}, {
getStatusMap(): {
iconMap: {
success: JSX.Element;
fail: JSX.Element;
progress: JSX.Element;
waiting: JSX.Element;
};
textMap: {
success: string;
fail: string;
progress: string;
waiting: string;
};
};
renderEmpty(): JSX.Element;
renderImgItem(file: UploadFile, index: number): JSX.Element;
renderStatus(file: UploadFile): JSX.Element;
renderNormalActionCol(file: UploadFile, index: number): JSX.Element;
renderBatchActionCol(index: number): JSX.Element;
renderFileList(): any;
renderImageList(): any;
getFileThumbnailIcon(fileType: string): JSX.Element;
renderFileThumbnail(file: UploadFile): JSX.Element;
}, {}, {}, {}, {
draggable: boolean;
disabled: boolean;
autoUpload: boolean;
uploading: boolean;
showUploadProgress: boolean;
showImageFileName: boolean;
isBatchUpload: boolean;
showThumbnail: boolean;
} & {
default?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
status?: "error" | "default" | "success" | "warning";
classPrefix?: string;
theme?: "file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow";
tips?: string;
errorClasses?: string[];
placeholder?: string;
onRemove?: (p: import("../type").UploadRemoveContext) => void;
locale?: unknown;
files?: UploadFile[];
abridgeName?: number[];
cancelUploadButton?: unknown;
fileListDisplay?: (h: import("vue").CreateElement, props: {
files: UploadFile[];
dragEvents?: UploadDisplayDragEvents;
}) => import("vue/types/vnode").ScopedSlotReturnValue;
imageViewerProps?: unknown;
uploadButton?: unknown;
toUploadFiles?: UploadFile[];
displayFiles?: UploadFile[];
tipsClasses?: string;
placeholderClass?: string;
accept?: string;
sizeOverLimitMessage?: string;
uploadFiles?: (toFiles?: UploadFile[]) => void;
cancelUpload?: (context: {
e: MouseEvent;
file?: UploadFile;
}) => void;
dragEvents?: unknown;
}, {
draggable: boolean;
disabled: boolean;
autoUpload: boolean;
uploading: boolean;
showUploadProgress: boolean;
showImageFileName: boolean;
isBatchUpload: boolean;
showThumbnail: boolean;
}, true>);
export default _default;