@nocobase/plugin-file-manager
Version:
Provides files storage services with files collection template and attachment field.
65 lines (64 loc) • 2.1 kB
TypeScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
interface UploadFieldFile {
uid?: string;
id?: number | string;
url?: string;
filename?: string;
name?: string;
thumbUrl?: string;
response?: UploadFieldFile;
}
/**
* 判断上传字段是否继续展示追加入口。
*
* 单值文件关系在已有文件后应隐藏“上传”和“选择”入口,多值字段允许继续追加。
*
* @param multiple 是否多值
* @param fileCount 当前文件数量
* @returns 是否显示追加入口
* @example
* ```typescript
* shouldShowUploadActionSlot(false, 1);
* ```
*/
export declare const shouldShowUploadActionSlot: (multiple: boolean | undefined, fileCount: number) => boolean;
/**
* 规范化上传字段文件列表,并尽量复用上一轮 uid,避免列表项重挂载。
*
* @param data 当前外部值或上传组件返回的文件列表
* @param previousFileList 上一轮渲染中的文件列表
* @returns 规范化后的文件列表
* @example
* ```typescript
* normalizeUploadFieldFileList([{ id: 1, url: '/1.png' }], [{ uid: 'u1', response: { id: 1 } }]);
* ```
*/
export declare const normalizeUploadFieldFileList: (data: UploadFieldFile[], previousFileList?: UploadFieldFile[]) => {
uid: string;
thumbUrl: string;
id?: number | string;
url?: string;
filename?: string;
name?: string;
response?: UploadFieldFile;
}[];
/**
* 根据当前文件列表解析预览索引,避免把非数字 uid 强转成 NaN。
*
* @param fileList 当前文件列表
* @param targetFile 当前预览文件
* @returns 预览索引
* @example
* ```typescript
* getUploadFieldPreviewIndex([{ uid: 'id:1' }], { uid: 'id:1' });
* ```
*/
export declare const getUploadFieldPreviewIndex: (fileList: UploadFieldFile[], targetFile: UploadFieldFile) => number;
export {};