40 lines
1023 B
TypeScript
40 lines
1023 B
TypeScript
import KFModal from '@/components/KFModal';
|
||
import { Tree, type ModalProps, type TreeDataNode } from 'antd';
|
||
import styles from './index.less';
|
||
|
||
const { DirectoryTree } = Tree;
|
||
|
||
interface DownloadTreeDataNode extends TreeDataNode {
|
||
name: string;
|
||
fileSize?: string;
|
||
}
|
||
|
||
interface AddVersionModalProps extends Omit<ModalProps, 'onOk'> {
|
||
treeData: DownloadTreeDataNode[];
|
||
onOk: () => void;
|
||
}
|
||
|
||
function DownloadSkillModal({ treeData, onOk, ...rest }: AddVersionModalProps) {
|
||
return (
|
||
<KFModal
|
||
{...rest}
|
||
title="下载 Skill"
|
||
width={608}
|
||
onOk={onOk}
|
||
className={styles['download-modal']}
|
||
okText="下载"
|
||
>
|
||
<DirectoryTree
|
||
treeData={treeData}
|
||
defaultExpandAll={true}
|
||
titleRender={(record: DownloadTreeDataNode) => {
|
||
const label = record.name + (record.fileSize ? `(${record.fileSize})` : '');
|
||
return <span style={{ fontSize: 14 }}>{label}</span>;
|
||
}}
|
||
/>
|
||
</KFModal>
|
||
);
|
||
}
|
||
|
||
export default DownloadSkillModal;
|