UNPKG

tav-ui

Version:
183 lines (182 loc) 5.63 kB
import type { Ref } from 'vue'; import type { FormActionType } from '../../form'; import type { BasicPropsType, FileItemType, ProvideDataType, Recordable } from './types'; declare class Handler { private emit; private _hyperlinkFormMethods; private _props; private _provide; private set props(value); private _params; private _showTable; private _refFileList; private _uploadResponse; private _refFileListPushEnd; private _immediate; private _controlInOuter; private _fileFormatter; /** * newest typeCode */ private _typeCode; private _isLoading; private _dataSource; currentTypeCodeIsHyperlink: Ref<boolean, boolean>; private _paramsName; private _paramsAddress; private _apis; currentUpload: Promise<any> | FileItemType[] | null; get dataSource(): Ref<{ actualId?: string | undefined; address: string; appId?: number | undefined; businessId?: string | undefined; businessKey?: string | undefined; createBy?: string | undefined; createByName?: string | undefined; createTime?: string | undefined; deleted: number; fileSize?: string | undefined; fullName: string; hyperlink?: number | undefined; id?: number | undefined; moduleCode?: string | undefined; moduleId: number; moduleName?: string | undefined; name: string; runtime?: number | undefined; size: number; sourceFileDownload?: number | undefined; suffix: string; type: number; typeCode?: string | undefined; typeName?: string | undefined; version: number; watermarkFileDownload?: number | undefined; }[], FileItemType[] | { actualId?: string | undefined; address: string; appId?: number | undefined; businessId?: string | undefined; businessKey?: string | undefined; createBy?: string | undefined; createByName?: string | undefined; createTime?: string | undefined; deleted: number; fileSize?: string | undefined; fullName: string; hyperlink?: number | undefined; id?: number | undefined; moduleCode?: string | undefined; moduleId: number; moduleName?: string | undefined; name: string; runtime?: number | undefined; size: number; sourceFileDownload?: number | undefined; suffix: string; type: number; typeCode?: string | undefined; typeName?: string | undefined; version: number; watermarkFileDownload?: number | undefined; }[]>; get typeCode(): Ref<string | undefined, string | undefined>; get loading(): Ref<boolean, boolean>; get typeCodeRecord(): Recordable<import("./types").LabelValueOptions<any, any>>; get apis(): ProvideDataType; get getFileFormatter(): { formatToApi: (files: FileItemType[]) => { actualId: string; moduleCode: string | undefined; versionList: FileItemType[]; }[]; upadteVersion: (file: FileItemType) => void; getFilesByActualId: (actualId: string) => FileItemType[] | undefined; getBasicFileByActualId: (actualId: string) => FileItemType | undefined; getNewestFileByActualId: (actualId: string) => FileItemType | undefined; }; set paramsName(v: string); set paramsAddress(v: string); set uploadResponse(v: FileItemType[] | undefined); /** * 构造函数. * @param props BasicPropsType */ constructor(props: BasicPropsType, instanceEmit: any); /** * 如多个文件正在上传或上传列表(变量)已清空 -> 不发请求 */ private isInvalidRequest; /** * 提取文件真实id */ private getFileActualIds; /** * 返回编辑后的文件列表数据格式 * ```js * [ * { * moduleCode: "...", * versionList: [ * file1,... * ] * } * ] * ``` * @returns */ getResult: () => { actualId: string; moduleCode: string | undefined; versionList: FileItemType[]; }[]; getPropsOrProvide<T extends keyof BasicPropsType>(propName: T): BasicPropsType[T]; /** * 将列表数据填到表格上 */ fillDataSource: () => void; /** * 请求文件列表成功和上传成功时触发 * @param newRecord 新上传成功的文件 */ private throwResponse; /** * 更新一条数据 * @param {Recordable} record * @memberof Handler **/ updateItem: (record: FileItemType, oldFileActualIds: string) => void; /** * 删除一条数据 * @param {Recordable} record 需要删除的文件信息 * @memberof Handler */ deleteItem: (record: Recordable) => void; backfill(): Promise<void>; /** * 在弹窗关闭时调用 */ clearResponse(): void; /** * 多个文件依次push到文件列表(变量) * @param file 一个文件 */ antBeforeUpload: (file: File) => false | undefined; /** * 将多个文件组合在一起发送上传请求 */ customRequest: () => void; private resetFileList; /** * 真正的上传请求 */ private realUpload; hyperlinkFormRegister: (methods: Partial<FormActionType>) => void; /** * 超链接上传 */ hyperlinkUpload(): void; preOpenChooseFile: (e: MouseEvent) => void; } export { Handler };