@huanban/rulego-editor-react 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +662 -441
- package/dist/index.esm.js +32352 -32066
- package/package.json +1 -1
- package/dist/components/ComponentSidebar.d.ts +0 -77
- package/dist/components/ContextMenu.d.ts +0 -102
- package/dist/components/DataViewDialog.d.ts +0 -41
- package/dist/components/DebugPanel.d.ts +0 -92
- package/dist/components/EdgePropertyDrawer.d.ts +0 -48
- package/dist/components/EditorToolbar.d.ts +0 -99
- package/dist/components/ImportExportDialog.d.ts +0 -45
- package/dist/components/MiniMap.d.ts +0 -75
- package/dist/components/NodePropertyDrawer.d.ts +0 -83
- package/dist/components/RuleChainSettings.d.ts +0 -74
- package/dist/components/RuleGoEditor.d.ts +0 -181
- package/dist/components/SearchPanel.d.ts +0 -52
- package/dist/components/ValidationPanel.d.ts +0 -57
- package/dist/components/WorkflowInfoPanel.d.ts +0 -57
- package/dist/components/WorkflowList.d.ts +0 -91
- package/dist/hooks/useClipboard.d.ts +0 -89
- package/dist/hooks/useEditorCore.d.ts +0 -102
- package/dist/hooks/useEditorI18n.d.ts +0 -33
- package/dist/hooks/useEditorTheme.d.ts +0 -37
- package/dist/hooks/useKeyboardShortcuts.d.ts +0 -73
- package/dist/index.d.ts +0 -104
package/package.json
CHANGED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/ComponentSidebar.tsx
|
|
3
|
-
* @description 组件侧边栏 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 展示 RuleGo 组件列表,按 category 分组折叠
|
|
7
|
-
* - 支持关键词搜索过滤组件
|
|
8
|
-
* - 拖拽组件到画布触发 onDragStart 事件
|
|
9
|
-
* - 根据组件类型显示不同分类的颜色标签
|
|
10
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
11
|
-
*
|
|
12
|
-
* 数据入参:
|
|
13
|
-
* @param components — 后端返回的原始组件数组
|
|
14
|
-
* @param onDragStart — 拖拽开始的回调,传递组件数据
|
|
15
|
-
* @param collapsed — 是否收起侧边栏
|
|
16
|
-
*
|
|
17
|
-
* @see ComponentDefinition — 组件定义类型
|
|
18
|
-
*/
|
|
19
|
-
import React from 'react';
|
|
20
|
-
/** 组件字段定义(用于属性编辑面板) */
|
|
21
|
-
export interface ComponentField {
|
|
22
|
-
/** 字段名 */
|
|
23
|
-
name: string;
|
|
24
|
-
/** 字段类型:string | bool | int | float | map | array | code | json | select */
|
|
25
|
-
type: string;
|
|
26
|
-
/** 显示标签 */
|
|
27
|
-
label?: string;
|
|
28
|
-
/** 字段描述 */
|
|
29
|
-
desc?: string;
|
|
30
|
-
/** 默认值 */
|
|
31
|
-
defaultValue?: unknown;
|
|
32
|
-
/** 校验规则 */
|
|
33
|
-
rules?: unknown[];
|
|
34
|
-
}
|
|
35
|
-
/** 单个组件定义 */
|
|
36
|
-
export interface RuleGoComponent {
|
|
37
|
-
/** 组件类型标识,如 'action/log' */
|
|
38
|
-
type: string;
|
|
39
|
-
/** 分类,如 'action' | 'filter' | 'transform' */
|
|
40
|
-
category: string;
|
|
41
|
-
/** 显示标签 */
|
|
42
|
-
label?: string;
|
|
43
|
-
/** 描述 */
|
|
44
|
-
desc?: string;
|
|
45
|
-
/** 字段定义列表 */
|
|
46
|
-
fields?: ComponentField[];
|
|
47
|
-
/** 自定义图标 */
|
|
48
|
-
icon?: string;
|
|
49
|
-
/** 组件颜色 */
|
|
50
|
-
background?: string;
|
|
51
|
-
/** 是否无输入端口 */
|
|
52
|
-
notInput?: boolean;
|
|
53
|
-
/** 是否无输出端口 */
|
|
54
|
-
notOutput?: boolean;
|
|
55
|
-
/** 额外扩展属性 */
|
|
56
|
-
[key: string]: unknown;
|
|
57
|
-
}
|
|
58
|
-
/** 组件侧边栏 Props */
|
|
59
|
-
export interface ComponentSidebarProps {
|
|
60
|
-
/** 后端组件原始列表 */
|
|
61
|
-
components: RuleGoComponent[];
|
|
62
|
-
/** 拖拽开始回调 */
|
|
63
|
-
onDragStart?: (component: RuleGoComponent) => void;
|
|
64
|
-
/** 是否收起 */
|
|
65
|
-
collapsed?: boolean;
|
|
66
|
-
/** 搜索框占位符 */
|
|
67
|
-
searchPlaceholder?: string;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* ComponentSidebar 组件
|
|
71
|
-
*
|
|
72
|
-
* 纯 React + CSS 实现的组件侧边栏,无 antd 依赖。
|
|
73
|
-
* 提供分类分组、搜索过滤、拖拽功能。
|
|
74
|
-
*/
|
|
75
|
-
declare const ComponentSidebar: React.FC<ComponentSidebarProps>;
|
|
76
|
-
export default ComponentSidebar;
|
|
77
|
-
//# sourceMappingURL=ComponentSidebar.d.ts.map
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/ContextMenu.tsx
|
|
3
|
-
* @description 右键上下文菜单 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 节点右键菜单(复制/粘贴/删除/编辑属性/查看连接)
|
|
7
|
-
* - 边右键菜单(编辑属性/删除)
|
|
8
|
-
* - 画布右键菜单(粘贴/适配画布/选中全部)
|
|
9
|
-
* - 子菜单支持
|
|
10
|
-
* - 点击外部自动关闭
|
|
11
|
-
* - 键盘导航支持
|
|
12
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
13
|
-
*
|
|
14
|
-
* @see ContextMenuProps — 菜单参数
|
|
15
|
-
*/
|
|
16
|
-
import React from 'react';
|
|
17
|
-
/** 菜单项定义 */
|
|
18
|
-
export interface ContextMenuItem {
|
|
19
|
-
/** 唯一标识 */
|
|
20
|
-
key: string;
|
|
21
|
-
/** 显示标签 */
|
|
22
|
-
label: string;
|
|
23
|
-
/** 图标(emoji 或文本) */
|
|
24
|
-
icon?: string;
|
|
25
|
-
/** 快捷键提示文本 */
|
|
26
|
-
shortcut?: string;
|
|
27
|
-
/** 是否禁用 */
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
/** 是否隐藏 */
|
|
30
|
-
hidden?: boolean;
|
|
31
|
-
/** 是否为危险操作(红色样式) */
|
|
32
|
-
danger?: boolean;
|
|
33
|
-
/** 分隔线(在此项前添加分隔线) */
|
|
34
|
-
dividerBefore?: boolean;
|
|
35
|
-
/** 子菜单 */
|
|
36
|
-
children?: ContextMenuItem[];
|
|
37
|
-
/** 点击回调 */
|
|
38
|
-
onClick?: () => void;
|
|
39
|
-
}
|
|
40
|
-
/** 菜单目标类型 */
|
|
41
|
-
export type ContextMenuTarget = 'node' | 'edge' | 'canvas';
|
|
42
|
-
/** ContextMenu Props */
|
|
43
|
-
export interface ContextMenuProps {
|
|
44
|
-
/** 是否可见 */
|
|
45
|
-
visible: boolean;
|
|
46
|
-
/** 菜单显示坐标 X */
|
|
47
|
-
x: number;
|
|
48
|
-
/** 菜单显示坐标 Y */
|
|
49
|
-
y: number;
|
|
50
|
-
/** 右键目标类型 */
|
|
51
|
-
targetType?: ContextMenuTarget;
|
|
52
|
-
/** 右键目标 ID */
|
|
53
|
-
targetId?: string;
|
|
54
|
-
/** 菜单项列表 */
|
|
55
|
-
items: ContextMenuItem[];
|
|
56
|
-
/** 关闭菜单回调 */
|
|
57
|
-
onClose: () => void;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* ContextMenu 组件
|
|
61
|
-
*
|
|
62
|
-
* 纯 React 实现的右键菜单,支持子菜单和键盘导航。
|
|
63
|
-
*/
|
|
64
|
-
declare const ContextMenu: React.FC<ContextMenuProps>;
|
|
65
|
-
/**
|
|
66
|
-
* 生成节点右键菜单项
|
|
67
|
-
*
|
|
68
|
-
* @param handlers - 菜单操作回调
|
|
69
|
-
* @returns 菜单项列表
|
|
70
|
-
*/
|
|
71
|
-
export declare function getNodeContextMenuItems(handlers: {
|
|
72
|
-
onCopy?: () => void;
|
|
73
|
-
onPaste?: () => void;
|
|
74
|
-
onDelete?: () => void;
|
|
75
|
-
onEditProperties?: () => void;
|
|
76
|
-
onViewConnections?: () => void;
|
|
77
|
-
onDuplicate?: () => void;
|
|
78
|
-
}): ContextMenuItem[];
|
|
79
|
-
/**
|
|
80
|
-
* 生成边右键菜单项
|
|
81
|
-
*
|
|
82
|
-
* @param handlers - 菜单操作回调
|
|
83
|
-
* @returns 菜单项列表
|
|
84
|
-
*/
|
|
85
|
-
export declare function getEdgeContextMenuItems(handlers: {
|
|
86
|
-
onEditProperties?: () => void;
|
|
87
|
-
onDelete?: () => void;
|
|
88
|
-
}): ContextMenuItem[];
|
|
89
|
-
/**
|
|
90
|
-
* 生成画布右键菜单项
|
|
91
|
-
*
|
|
92
|
-
* @param handlers - 菜单操作回调
|
|
93
|
-
* @returns 菜单项列表
|
|
94
|
-
*/
|
|
95
|
-
export declare function getCanvasContextMenuItems(handlers: {
|
|
96
|
-
onPaste?: () => void;
|
|
97
|
-
onSelectAll?: () => void;
|
|
98
|
-
onFitView?: () => void;
|
|
99
|
-
onResetZoom?: () => void;
|
|
100
|
-
}): ContextMenuItem[];
|
|
101
|
-
export default ContextMenu;
|
|
102
|
-
//# sourceMappingURL=ContextMenu.d.ts.map
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/DataViewDialog.tsx
|
|
3
|
-
* @description 规则链数据查看对话框 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 以格式化 JSON 展示规则链完整数据
|
|
7
|
-
* - 支持复制到剪贴板
|
|
8
|
-
* - 支持下载为 JSON 文件
|
|
9
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
10
|
-
*
|
|
11
|
-
* @see DataViewDialogProps — 组件参数
|
|
12
|
-
*/
|
|
13
|
-
import React from 'react';
|
|
14
|
-
/** DataViewDialog Props */
|
|
15
|
-
export interface DataViewDialogProps {
|
|
16
|
-
/** 是否显示 */
|
|
17
|
-
visible: boolean;
|
|
18
|
-
/** 规则链 JSON 数据(原始对象) */
|
|
19
|
-
data: unknown;
|
|
20
|
-
/** 对话框标题 */
|
|
21
|
-
title?: string;
|
|
22
|
-
/** 文件名前缀(下载用) */
|
|
23
|
-
fileNamePrefix?: string;
|
|
24
|
-
/** 关闭回调 */
|
|
25
|
-
onClose: () => void;
|
|
26
|
-
/**
|
|
27
|
-
* 提示消息回调(替代 antd message)
|
|
28
|
-
* @param type 类型
|
|
29
|
-
* @param content 内容
|
|
30
|
-
*/
|
|
31
|
-
onNotify?: (type: 'success' | 'error' | 'info', content: string) => void;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* DataViewDialog 组件
|
|
35
|
-
*
|
|
36
|
-
* 纯 React 实现的规则链数据查看对话框,无 antd 依赖。
|
|
37
|
-
* 提供格式化 JSON 展示、复制和下载功能。
|
|
38
|
-
*/
|
|
39
|
-
declare const DataViewDialog: React.FC<DataViewDialogProps>;
|
|
40
|
-
export default DataViewDialog;
|
|
41
|
-
//# sourceMappingURL=DataViewDialog.d.ts.map
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/DebugPanel.tsx
|
|
3
|
-
* @description 调试面板 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 发送测试消息到规则链
|
|
7
|
-
* - 查看节点调试日志
|
|
8
|
-
* - 查看运行日志列表
|
|
9
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
10
|
-
*
|
|
11
|
-
* 设计说明:
|
|
12
|
-
* 不直接调用 API,而是通过 Props 传入回调函数,
|
|
13
|
-
* 使此组件可在不同项目中复用。
|
|
14
|
-
*
|
|
15
|
-
* @see DebugPanelProps — 组件参数
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
/** 调试日志条目 */
|
|
19
|
-
export interface DebugLogItem {
|
|
20
|
-
/** 时间戳 */
|
|
21
|
-
ts: number;
|
|
22
|
-
/** 流转类型 */
|
|
23
|
-
flowType: string;
|
|
24
|
-
/** 关系类型 */
|
|
25
|
-
relationType: string;
|
|
26
|
-
/** 错误信息 */
|
|
27
|
-
err?: string;
|
|
28
|
-
/** 消息数据 */
|
|
29
|
-
msg: {
|
|
30
|
-
id: string;
|
|
31
|
-
type: string;
|
|
32
|
-
data: string;
|
|
33
|
-
metadata: Record<string, unknown>;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/** 发送测试消息返回结果 */
|
|
37
|
-
export interface SendMessageResult {
|
|
38
|
-
/** 是否成功 */
|
|
39
|
-
success: boolean;
|
|
40
|
-
/** 返回数据 */
|
|
41
|
-
data?: unknown;
|
|
42
|
-
/** 错误/提示消息 */
|
|
43
|
-
msg?: string;
|
|
44
|
-
}
|
|
45
|
-
/** DebugPanel Props */
|
|
46
|
-
export interface DebugPanelProps {
|
|
47
|
-
/** 是否显示 */
|
|
48
|
-
visible: boolean;
|
|
49
|
-
/** 当前规则链 ID */
|
|
50
|
-
chainId: string;
|
|
51
|
-
/** 选中的节点 ID(可选) */
|
|
52
|
-
selectedNodeId?: string;
|
|
53
|
-
/** 关闭回调 */
|
|
54
|
-
onClose: () => void;
|
|
55
|
-
/**
|
|
56
|
-
* 发送测试消息的回调
|
|
57
|
-
* @param chainId 规则链 ID
|
|
58
|
-
* @param msgType 消息类型
|
|
59
|
-
* @param body 消息体
|
|
60
|
-
* @returns 发送结果
|
|
61
|
-
*/
|
|
62
|
-
onSendMessage?: (chainId: string, msgType: string, body: unknown) => Promise<SendMessageResult>;
|
|
63
|
-
/**
|
|
64
|
-
* 获取调试日志的回调
|
|
65
|
-
* @param chainId 规则链 ID
|
|
66
|
-
* @param nodeId 可选节点 ID
|
|
67
|
-
* @returns 调试日志列表
|
|
68
|
-
*/
|
|
69
|
-
onFetchDebugLogs?: (chainId: string, nodeId?: string) => Promise<{
|
|
70
|
-
items: DebugLogItem[];
|
|
71
|
-
}>;
|
|
72
|
-
/**
|
|
73
|
-
* 获取运行日志的回调
|
|
74
|
-
* @returns 运行日志列表
|
|
75
|
-
*/
|
|
76
|
-
onFetchRunLogs?: () => Promise<unknown[]>;
|
|
77
|
-
/**
|
|
78
|
-
* 提示消息回调(替代 antd message)
|
|
79
|
-
* @param type 提示类型
|
|
80
|
-
* @param content 提示内容
|
|
81
|
-
*/
|
|
82
|
-
onNotify?: (type: 'success' | 'error' | 'warning' | 'info', content: string) => void;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* DebugPanel 组件
|
|
86
|
-
*
|
|
87
|
-
* 纯 React 实现的调试面板,无 antd 依赖。
|
|
88
|
-
* 通过回调函数与外部 API 对接,实现测试消息发送和日志查看。
|
|
89
|
-
*/
|
|
90
|
-
declare const DebugPanel: React.FC<DebugPanelProps>;
|
|
91
|
-
export default DebugPanel;
|
|
92
|
-
//# sourceMappingURL=DebugPanel.d.ts.map
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/EdgePropertyDrawer.tsx
|
|
3
|
-
* @description 边属性编辑抽屉 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 双击连线弹出侧边抽屉,编辑连线的关系类型(relationType)
|
|
7
|
-
* - 支持常见预定义类型、自定义类型输入
|
|
8
|
-
* - 提交后通过 onSubmit 更新边的属性
|
|
9
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
10
|
-
*
|
|
11
|
-
* @see EdgeModel — 边模型类型
|
|
12
|
-
*/
|
|
13
|
-
import React from 'react';
|
|
14
|
-
/** 边模型数据 */
|
|
15
|
-
export interface EdgeModel {
|
|
16
|
-
/** 边 ID */
|
|
17
|
-
id: string;
|
|
18
|
-
/** 来源节点 ID */
|
|
19
|
-
sourceNodeId: string;
|
|
20
|
-
/** 目标节点 ID */
|
|
21
|
-
targetNodeId: string;
|
|
22
|
-
/** 边类型 */
|
|
23
|
-
type: string;
|
|
24
|
-
/** 关系类型 */
|
|
25
|
-
relationType?: string;
|
|
26
|
-
/** 额外属性 */
|
|
27
|
-
[key: string]: unknown;
|
|
28
|
-
}
|
|
29
|
-
/** EdgePropertyDrawer Props */
|
|
30
|
-
export interface EdgePropertyDrawerProps {
|
|
31
|
-
/** 是否显示 */
|
|
32
|
-
visible: boolean;
|
|
33
|
-
/** 边模型数据 */
|
|
34
|
-
edgeModel: EdgeModel | null;
|
|
35
|
-
/** 提交回调,传递更新后的边模型 */
|
|
36
|
-
onSubmit: (model: EdgeModel) => void;
|
|
37
|
-
/** 关闭回调 */
|
|
38
|
-
onClose: () => void;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* EdgePropertyDrawer 组件
|
|
42
|
-
*
|
|
43
|
-
* 纯 React 实现的边属性编辑抽屉,无 antd 依赖。
|
|
44
|
-
* 提供预定义关系类型选择和自定义输入。
|
|
45
|
-
*/
|
|
46
|
-
declare const EdgePropertyDrawer: React.FC<EdgePropertyDrawerProps>;
|
|
47
|
-
export default EdgePropertyDrawer;
|
|
48
|
-
//# sourceMappingURL=EdgePropertyDrawer.d.ts.map
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/EditorToolbar.tsx
|
|
3
|
-
* @description 编辑器工具栏 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 保存/撤销/重做操作按钮
|
|
7
|
-
* - 删除选中元素
|
|
8
|
-
* - 缩放控制(放大/缩小/适应画布/重置)
|
|
9
|
-
* - 全屏切换
|
|
10
|
-
* - 调试模式开关
|
|
11
|
-
* - 数据视图触发
|
|
12
|
-
* - 设置入口
|
|
13
|
-
* - 校验入口
|
|
14
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
15
|
-
*
|
|
16
|
-
* @see EditorToolbarProps — 工具栏参数
|
|
17
|
-
*/
|
|
18
|
-
import React from 'react';
|
|
19
|
-
/** 工具栏按钮定义 */
|
|
20
|
-
export interface ToolbarButton {
|
|
21
|
-
/** 唯一标识 */
|
|
22
|
-
key: string;
|
|
23
|
-
/** 显示图标(emoji 或文本) */
|
|
24
|
-
icon: string;
|
|
25
|
-
/** 提示文本 */
|
|
26
|
-
tooltip: string;
|
|
27
|
-
/** 是否禁用 */
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
/** 是否激活状态 */
|
|
30
|
-
active?: boolean;
|
|
31
|
-
/** 点击回调 */
|
|
32
|
-
onClick: () => void;
|
|
33
|
-
/** 是否隐藏 */
|
|
34
|
-
hidden?: boolean;
|
|
35
|
-
/** 分隔符(在按钮前添加) */
|
|
36
|
-
dividerBefore?: boolean;
|
|
37
|
-
}
|
|
38
|
-
/** EditorToolbar Props */
|
|
39
|
-
export interface EditorToolbarProps {
|
|
40
|
-
/** 是否可撤销 */
|
|
41
|
-
canUndo?: boolean;
|
|
42
|
-
/** 是否可重做 */
|
|
43
|
-
canRedo?: boolean;
|
|
44
|
-
/** 是否全屏 */
|
|
45
|
-
isFullscreen?: boolean;
|
|
46
|
-
/** 是否调试模式 */
|
|
47
|
-
isDebugMode?: boolean;
|
|
48
|
-
/** 当前缩放比例 */
|
|
49
|
-
zoomLevel?: number;
|
|
50
|
-
/** 是否有选中元素 */
|
|
51
|
-
hasSelection?: boolean;
|
|
52
|
-
/** 保存 */
|
|
53
|
-
onSave?: () => void;
|
|
54
|
-
/** 撤销 */
|
|
55
|
-
onUndo?: () => void;
|
|
56
|
-
/** 重做 */
|
|
57
|
-
onRedo?: () => void;
|
|
58
|
-
/** 删除选中 */
|
|
59
|
-
onDelete?: () => void;
|
|
60
|
-
/** 放大 */
|
|
61
|
-
onZoomIn?: () => void;
|
|
62
|
-
/** 缩小 */
|
|
63
|
-
onZoomOut?: () => void;
|
|
64
|
-
/** 适应画布 */
|
|
65
|
-
onFitView?: () => void;
|
|
66
|
-
/** 重置缩放 */
|
|
67
|
-
onResetZoom?: () => void;
|
|
68
|
-
/** 全屏切换 */
|
|
69
|
-
onFullscreen?: () => void;
|
|
70
|
-
/** 调试模式切换 */
|
|
71
|
-
onToggleDebug?: () => void;
|
|
72
|
-
/** 查看数据 */
|
|
73
|
-
onViewData?: () => void;
|
|
74
|
-
/** 设置 */
|
|
75
|
-
onSettings?: () => void;
|
|
76
|
-
/** 校验 */
|
|
77
|
-
onValidate?: () => void;
|
|
78
|
-
/** 新建规则链 */
|
|
79
|
-
onNew?: () => void;
|
|
80
|
-
/** 导入 */
|
|
81
|
-
onImport?: () => void;
|
|
82
|
-
/** 导出 */
|
|
83
|
-
onExport?: () => void;
|
|
84
|
-
/** 额外的自定义按钮(插入到工具栏末尾) */
|
|
85
|
-
extraButtons?: ToolbarButton[];
|
|
86
|
-
/** 隐藏的按钮 key 列表 */
|
|
87
|
-
hiddenButtons?: string[];
|
|
88
|
-
/** 规则链名称(显示在工具栏中央) */
|
|
89
|
-
chainName?: string;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* EditorToolbar 组件
|
|
93
|
-
*
|
|
94
|
-
* 纯 React 实现的编辑器工具栏,无 antd 依赖。
|
|
95
|
-
* 提供完整的编辑器操作按钮。
|
|
96
|
-
*/
|
|
97
|
-
declare const EditorToolbar: React.FC<EditorToolbarProps>;
|
|
98
|
-
export default EditorToolbar;
|
|
99
|
-
//# sourceMappingURL=EditorToolbar.d.ts.map
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file ImportExportDialog.tsx
|
|
3
|
-
* @description 规则链导入/导出对话框
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 导出当前规则链为 JSON 文件
|
|
7
|
-
* - 从 JSON 文件导入规则链
|
|
8
|
-
* - 支持拖拽上传文件
|
|
9
|
-
* - JSON 格式验证和预览
|
|
10
|
-
* - 支持复制导出内容到剪贴板
|
|
11
|
-
*
|
|
12
|
-
* 设计:
|
|
13
|
-
* - 纯 React + CSS,无外部 UI 库依赖
|
|
14
|
-
* - rge- 前缀 CSS 类名避免冲突
|
|
15
|
-
* - 通过回调 props 传递导入数据
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
/** 导入/导出模式 */
|
|
19
|
-
export type ImportExportMode = 'import' | 'export';
|
|
20
|
-
/** ImportExportDialog 属性 */
|
|
21
|
-
export interface ImportExportDialogProps {
|
|
22
|
-
/** 初始模式,默认 'export' */
|
|
23
|
-
mode?: ImportExportMode;
|
|
24
|
-
/** 当前规则链数据 (导出用) */
|
|
25
|
-
data?: any;
|
|
26
|
-
/** 规则链名称 (用于文件名) */
|
|
27
|
-
chainName?: string;
|
|
28
|
-
/** 导入成功回调,参数为解析后的 JSON 数据 */
|
|
29
|
-
onImport?: (data: any) => void;
|
|
30
|
-
/** 关闭对话框回调 */
|
|
31
|
-
onClose: () => void;
|
|
32
|
-
/** 通知回调 */
|
|
33
|
-
onNotify?: (type: 'success' | 'error' | 'info', message: string) => void;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* ImportExportDialog 组件
|
|
37
|
-
*
|
|
38
|
-
* @description
|
|
39
|
-
* 提供规则链的导入和导出功能。导出时展示格式化的 JSON,
|
|
40
|
-
* 支持复制到剪贴板和下载为文件。导入时支持文件选择和拖拽上传,
|
|
41
|
-
* 自动验证 JSON 格式并预览内容。
|
|
42
|
-
*/
|
|
43
|
-
declare const ImportExportDialog: React.FC<ImportExportDialogProps>;
|
|
44
|
-
export default ImportExportDialog;
|
|
45
|
-
//# sourceMappingURL=ImportExportDialog.d.ts.map
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/MiniMap.tsx
|
|
3
|
-
* @description 小地图导航组件 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 显示画布全局缩略视图
|
|
7
|
-
* - 标记所有节点位置(按类型着色)
|
|
8
|
-
* - 标记当前视口范围(拖拽移动)
|
|
9
|
-
* - 标记选中节点(高亮)
|
|
10
|
-
* - 可折叠/展开
|
|
11
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
12
|
-
*
|
|
13
|
-
* @see MiniMapProps — 参数类型
|
|
14
|
-
*/
|
|
15
|
-
import React from 'react';
|
|
16
|
-
/** 小地图中的节点数据 */
|
|
17
|
-
export interface MiniMapNode {
|
|
18
|
-
/** 节点 ID */
|
|
19
|
-
id: string;
|
|
20
|
-
/** X 坐标 */
|
|
21
|
-
x: number;
|
|
22
|
-
/** Y 坐标 */
|
|
23
|
-
y: number;
|
|
24
|
-
/** 宽度 */
|
|
25
|
-
width?: number;
|
|
26
|
-
/** 高度 */
|
|
27
|
-
height?: number;
|
|
28
|
-
/** 节点类型 */
|
|
29
|
-
type?: string;
|
|
30
|
-
/** 是否选中 */
|
|
31
|
-
selected?: boolean;
|
|
32
|
-
/** 显示颜色 */
|
|
33
|
-
color?: string;
|
|
34
|
-
}
|
|
35
|
-
/** 小地图中的视口数据 */
|
|
36
|
-
export interface MiniMapViewport {
|
|
37
|
-
/** 视口左上角 X */
|
|
38
|
-
x: number;
|
|
39
|
-
/** 视口左上角 Y */
|
|
40
|
-
y: number;
|
|
41
|
-
/** 视口宽度 */
|
|
42
|
-
width: number;
|
|
43
|
-
/** 视口高度 */
|
|
44
|
-
height: number;
|
|
45
|
-
}
|
|
46
|
-
/** MiniMap Props */
|
|
47
|
-
export interface MiniMapProps {
|
|
48
|
-
/** 所有节点列表 */
|
|
49
|
-
nodes: MiniMapNode[];
|
|
50
|
-
/** 当前视口范围 */
|
|
51
|
-
viewport?: MiniMapViewport;
|
|
52
|
-
/** 小地图宽度(默认 200) */
|
|
53
|
-
width?: number;
|
|
54
|
-
/** 小地图高度(默认 150) */
|
|
55
|
-
height?: number;
|
|
56
|
-
/** 是否默认折叠 */
|
|
57
|
-
defaultCollapsed?: boolean;
|
|
58
|
-
/** 位置(右下角/左下角/右上角/左上角) */
|
|
59
|
-
position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
60
|
-
/** 视口拖拽回调 — 返回画布坐标 */
|
|
61
|
-
onViewportChange?: (center: {
|
|
62
|
-
x: number;
|
|
63
|
-
y: number;
|
|
64
|
-
}) => void;
|
|
65
|
-
/** 节点点击回调 */
|
|
66
|
-
onNodeClick?: (nodeId: string) => void;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* MiniMap 组件
|
|
70
|
-
*
|
|
71
|
-
* 显示画布全局缩略图,方便大型规则链的导航。
|
|
72
|
-
*/
|
|
73
|
-
declare const MiniMap: React.FC<MiniMapProps>;
|
|
74
|
-
export default MiniMap;
|
|
75
|
-
//# sourceMappingURL=MiniMap.d.ts.map
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file components/NodePropertyDrawer.tsx
|
|
3
|
-
* @description 节点属性编辑抽屉 — React 实现
|
|
4
|
-
*
|
|
5
|
-
* 功能:
|
|
6
|
-
* - 双击节点弹出侧边抽屉,编辑节点配置
|
|
7
|
-
* - 根据组件 fields 定义动态渲染表单(string/bool/int/float/map/array/script)
|
|
8
|
-
* - 支持节点 ID、名称、调试模式、描述等基础字段
|
|
9
|
-
* - 提交后通过 onSubmit 回调更新节点属性
|
|
10
|
-
* - 零 UI 框架依赖(纯 React + CSS)
|
|
11
|
-
*
|
|
12
|
-
* @see ComponentField — 字段定义类型
|
|
13
|
-
*/
|
|
14
|
-
import React from 'react';
|
|
15
|
-
/** 组件字段定义 */
|
|
16
|
-
export interface FieldDef {
|
|
17
|
-
/** 字段名 */
|
|
18
|
-
name: string;
|
|
19
|
-
/** 字段类型 */
|
|
20
|
-
type: string;
|
|
21
|
-
/** 显示标签 */
|
|
22
|
-
label?: string;
|
|
23
|
-
/** 字段描述 */
|
|
24
|
-
desc?: string;
|
|
25
|
-
/** 默认值 */
|
|
26
|
-
defaultValue?: unknown;
|
|
27
|
-
/** 校验规则 */
|
|
28
|
-
rules?: unknown[];
|
|
29
|
-
}
|
|
30
|
-
/** 节点模型数据 */
|
|
31
|
-
export interface NodeModel {
|
|
32
|
-
/** LogicFlow 节点 ID */
|
|
33
|
-
id: string;
|
|
34
|
-
/** RuleGo 节点 ID */
|
|
35
|
-
nodeId?: string;
|
|
36
|
-
/** 节点类型 */
|
|
37
|
-
type: string;
|
|
38
|
-
/** 节点名称 */
|
|
39
|
-
name: string;
|
|
40
|
-
/** 调试模式 */
|
|
41
|
-
debugMode?: boolean;
|
|
42
|
-
/** 节点配置 */
|
|
43
|
-
configuration?: Record<string, unknown>;
|
|
44
|
-
/** 附加信息(描述等) */
|
|
45
|
-
additionalInfo?: Record<string, unknown>;
|
|
46
|
-
/** 额外属性 */
|
|
47
|
-
[key: string]: unknown;
|
|
48
|
-
}
|
|
49
|
-
/** 节点视图定义(组件定义) */
|
|
50
|
-
export interface NodeView {
|
|
51
|
-
/** 组件类型 */
|
|
52
|
-
type: string;
|
|
53
|
-
/** 显示标签 */
|
|
54
|
-
label?: string;
|
|
55
|
-
/** 描述 */
|
|
56
|
-
desc?: string;
|
|
57
|
-
/** 字段定义列表 */
|
|
58
|
-
fields?: FieldDef[];
|
|
59
|
-
/** 额外属性 */
|
|
60
|
-
[key: string]: unknown;
|
|
61
|
-
}
|
|
62
|
-
/** NodePropertyDrawer Props */
|
|
63
|
-
export interface NodePropertyDrawerProps {
|
|
64
|
-
/** 是否显示 */
|
|
65
|
-
visible: boolean;
|
|
66
|
-
/** 节点模型数据 */
|
|
67
|
-
nodeModel: NodeModel | null;
|
|
68
|
-
/** 节点视图/组件定义 */
|
|
69
|
-
nodeView: NodeView | null;
|
|
70
|
-
/** 提交回调 */
|
|
71
|
-
onSubmit: (model: NodeModel) => void;
|
|
72
|
-
/** 关闭回调 */
|
|
73
|
-
onClose: () => void;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* NodePropertyDrawer 组件
|
|
77
|
-
*
|
|
78
|
-
* 纯 React 实现的节点属性编辑抽屉,无 antd 依赖。
|
|
79
|
-
* 根据组件 fields 动态渲染表单,支持多种字段类型。
|
|
80
|
-
*/
|
|
81
|
-
declare const NodePropertyDrawer: React.FC<NodePropertyDrawerProps>;
|
|
82
|
-
export default NodePropertyDrawer;
|
|
83
|
-
//# sourceMappingURL=NodePropertyDrawer.d.ts.map
|