File size: 1,567 Bytes
8ede856 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | /**
* 通用文件夹管理组件库
*
* 提供可复用的文件夹管理 UI 组件,适用于各种需要文件夹组织功能的场景
* 如:persona 管理、模板管理、知识库管理等
*
* 使用示例:
* ```vue
* <script setup>
* import {
* BaseFolderTree,
* BaseFolderCard,
* BaseFolderBreadcrumb,
* BaseCreateFolderDialog,
* BaseMoveToFolderDialog,
* useFolderManager
* } from '@/components/folder';
*
* const folderManager = useFolderManager({
* operations: {
* loadFolderTree: async () => { ... },
* loadSubFolders: async (parentId) => { ... },
* createFolder: async (data) => { ... },
* updateFolder: async (data) => { ... },
* deleteFolder: async (folderId) => { ... },
* }
* });
* </script>
* ```
*/
// 类型导出
export * from './types';
// Composable 导出
export { useFolderManager, collectFolderAndChildrenIds } from './useFolderManager';
export type { UseFolderManagerOptions, UseFolderManagerReturn } from './useFolderManager';
// 组件导出
export { default as BaseFolderTree } from './BaseFolderTree.vue';
export { default as BaseFolderTreeNode } from './BaseFolderTreeNode.vue';
export { default as BaseFolderCard } from './BaseFolderCard.vue';
export { default as BaseFolderBreadcrumb } from './BaseFolderBreadcrumb.vue';
export { default as BaseCreateFolderDialog } from './BaseCreateFolderDialog.vue';
export { default as BaseMoveToFolderDialog } from './BaseMoveToFolderDialog.vue';
export { default as BaseMoveTargetNode } from './BaseMoveTargetNode.vue';
|