@whitesev/pops
Version:
弹窗库
99 lines (96 loc) • 1.82 kB
text/typescript
import type {
PopsTitleConfig,
PopsDragConfig,
PopsCommonConfig,
PopsMoreButtonConfig,
} from "../../types/components";
/**
* pops.folder的folder配置信息
*/
export interface PopsFolderDataConfig {
/**
* 文件/文件夹名
*/
fileName: string;
/**
* 文件大小,如果是文件夹的话,为0
*/
fileSize: number | string;
/**
* 文件类型,如果是文件夹,填入空字符串
*/
fileType: string;
/**
* 创建时间
*/
createTime: number;
/**
* 修改时间(最新时间)
*/
latestTime: number;
/**
* 是否是文件夹
*/
isFolder: boolean;
/**
* 层级
*/
index: number;
/**
* 点击事件
*/
clickEvent?: (
event: MouseEvent | PointerEvent,
config: PopsFolderDataConfig
) =>
| Promise<
| {
autoDownload: boolean;
url: string;
mode: "a" | "aBlank" | "iframe" | "open" | "openBlank";
}
| null
| undefined
| void
| PopsFolderDataConfig[]
>
| null
| undefined
| void
| PopsFolderDataConfig[];
}
/**
* pops.folder
*/
export interface PopsFolderDetails
extends PopsTitleConfig,
PopsDragConfig,
PopsMoreButtonConfig,
PopsCommonConfig {
/**
* 排序
*/
sort: {
/**
* 比较的名字,默认为fileName
*/
name: "fileName" | "fileSize" | "latestTime";
/**
* 是否降序,默认false(升序)
*/
isDesc: boolean;
/**
* 触发排序的回调,如果返回true,则中止内部的排序
*/
callback?: (
targert: HTMLElement,
event: PointerEvent | MouseEvent,
sortName: "fileName" | "fileSize" | "latestTime",
sortDesc: boolean
) => boolean | undefined | void;
};
/**
* 文件夹信息
*/
folder: PopsFolderDataConfig[];
}