refactor(web-antd): 重构 Tinyflow 组件并优化类型定义
- 将 Item 类型和 Tinyflow 相关类型移动到 ui/typing 文件夹 - 删除 ui/index.d.ts 文件,减少冗余类型定义 - 优化 Tinyflow 组件代码,简化 imports - 移除 formatTime.ts 中的冗余代码,使用 @vben/utils 中的 formatDate 函数
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<script setup lang="ts">
|
||||
import type { Item } from './ui';
|
||||
import type { Item } from './ui/typing';
|
||||
|
||||
import { onMounted, onUnmounted, ref } from 'vue';
|
||||
|
||||
import { Tinyflow as TinyflowNative } from './ui';
|
||||
import { Tinyflow as TinyflowNative } from './ui/typing';
|
||||
|
||||
import './ui/index.css';
|
||||
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
import { Edge } from '@xyflow/svelte';
|
||||
import { Node as Node_2 } from '@xyflow/svelte';
|
||||
import { useSvelteFlow } from '@xyflow/svelte';
|
||||
import { Viewport } from '@xyflow/svelte';
|
||||
|
||||
export declare type Item = {
|
||||
value: number | string;
|
||||
label: string;
|
||||
children?: Item[];
|
||||
};
|
||||
|
||||
export declare class Tinyflow {
|
||||
private options;
|
||||
private rootEl;
|
||||
private svelteFlowInstance;
|
||||
constructor(options: TinyflowOptions);
|
||||
private _init;
|
||||
private _setOptions;
|
||||
getOptions(): TinyflowOptions;
|
||||
getData(): {
|
||||
nodes: Node_2[];
|
||||
edges: Edge[];
|
||||
viewport: Viewport;
|
||||
};
|
||||
setData(data: TinyflowData): void;
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
export declare type TinyflowData = Partial<ReturnType<ReturnType<typeof useSvelteFlow>['toObject']>>;
|
||||
|
||||
export declare type TinyflowOptions = {
|
||||
element: string | Element;
|
||||
data?: TinyflowData;
|
||||
provider?: {
|
||||
llm?: () => Item[] | Promise<Item[]>;
|
||||
knowledge?: () => Item[] | Promise<Item[]>;
|
||||
internal?: () => Item[] | Promise<Item[]>;
|
||||
};
|
||||
};
|
||||
|
||||
export { }
|
||||
40
apps/web-antd/src/components/Tinyflow/ui/typing.ts
Normal file
40
apps/web-antd/src/components/Tinyflow/ui/typing.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { Edge, Node as Node_2, useSvelteFlow, Viewport } from '@xyflow/svelte';
|
||||
|
||||
export declare type Item = {
|
||||
children?: Item[];
|
||||
label: string;
|
||||
value: number | string;
|
||||
};
|
||||
|
||||
export declare class Tinyflow {
|
||||
private _init;
|
||||
private _setOptions;
|
||||
private options;
|
||||
private rootEl;
|
||||
private svelteFlowInstance;
|
||||
constructor(options: TinyflowOptions);
|
||||
destroy(): void;
|
||||
getData(): {
|
||||
edges: Edge[];
|
||||
nodes: Node_2[];
|
||||
viewport: Viewport;
|
||||
};
|
||||
getOptions(): TinyflowOptions;
|
||||
setData(data: TinyflowData): void;
|
||||
}
|
||||
|
||||
export declare type TinyflowData = Partial<
|
||||
ReturnType<ReturnType<typeof useSvelteFlow>['toObject']>
|
||||
>;
|
||||
|
||||
export declare type TinyflowOptions = {
|
||||
data?: TinyflowData;
|
||||
element: Element | string;
|
||||
provider?: {
|
||||
internal?: () => Item[] | Promise<Item[]>;
|
||||
knowledge?: () => Item[] | Promise<Item[]>;
|
||||
llm?: () => Item[] | Promise<Item[]>;
|
||||
};
|
||||
};
|
||||
|
||||
export {};
|
||||
Reference in New Issue
Block a user