48 Commits

Author SHA1 Message Date
roymondchen
b02aa75ddc feat(editor): 历史记录面板支持单步回滚(类 git revert)
将目标历史步骤的修改作为一次新操作反向应用,不破坏原有栈结构,
page/dataSource/codeBlock 三类 service 均提供 revert 能力;
面板新增关闭按钮、步骤编号展示与合并组卡片样式优化。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 14:19:44 +08:00
roymondchen
62a2ee6693 feat(editor): 历史记录面板支持点击跳转与回到初始状态
- 单步组头部点击跳转到该步骤;合并组头部点击展开/收起,子步行点击跳转到具体步骤
- 列表底部新增「初始」记录项,可一键回到所有修改之前的状态
- editorService/dataSourceService/codeBlockService 新增 goto API;historyService 暴露 cursor 读取器
2026-05-28 18:52:11 +08:00
roymondchen
0446202ba6 feat(editor): 新增历史记录列表面板
- 新增 history-list 模块(面板、Tab、Bucket、GroupRow 与 composables)
- NavMenu 接入历史记录面板入口
- history/editor/codeBlock/dataSource service 配合面板能力调整
- utils/undo-redo 适配新面板
- 扩展 type.ts 相关类型定义
- 新增 history-list-panel.scss 并在 theme.scss 引入
- 补充 history-list 模块完整单元测试
- playground 同步小幅调整
2026-05-28 17:51:52 +08:00
roymondchen
8dae67769c feat(editor): 数据源与代码块 service 支持 undo/redo
- dataSourceService / codeBlockService 新增 undo / redo / canUndo / canRedo 方法
- undo/redo 内部复用 add / update / remove / setCodeDslByIdSync / deleteCodeDslByIds 写回,
  并强制 doNotPushHistory,借此自动驱动 initService 中的依赖收集链路
  (DepTargetType.DATA_SOURCE / DATA_SOURCE_COND / DATA_SOURCE_METHOD / CODE_BLOCK)
- 更新场景下若 step 带 changeRecords,按 propPath 局部 patch,不冲掉同节点其它无关变更;
  缺省退化为整 schema / 整内容替换
- 补充对应单测与 API 文档
2026-05-28 16:40:49 +08:00
roymondchen
09558fa027 feat(editor): 历史记录接入 changeRecords,undo/redo 按 propPath 局部更新
- 节点 / 数据源 / 代码块的 history step 增加 changeRecords 字段

- editor.update / dataSource.update / codeBlock.setCodeDslById(Sync) 透传 changeRecords 入历史

- applyHistoryOp 的 update 分支:携带 changeRecords 时,按 propPath 从 oldNode/newNode 取值

  构造最小 patch 走 update,不冲掉同节点上其它无关变更;缺省退化为整节点替换

  (覆盖 sort/moveLayer/拖动等纯快照场景)

- editor.update 增加 changeRecordList 形参,多节点场景每个节点单独保留 records;

  use-stage 多选拖动 / 缩放改用 changeRecordList,避免 records 在多节点间共享

- use-code-block-edit.submitCodeBlockHandler 透传 form changeRecords

- 同步更新 editor / dataSource / codeBlock / history service 文档
2026-05-28 16:28:35 +08:00
roymondchen
4c855ba50b feat(editor): 写操作支持 doNotPushHistory 选项以跳过历史记录
- editor/codeBlock/dataSource 的 add/update/delete 等接口新增 doNotPushHistory 选项
- 移除不再使用的 editor-history 工具及其单测
- 修复 layer 节点状态在重建时丢失已有 status 的问题
- 同步更新 service 方法文档,新增 dragto 复现用例
2026-05-28 16:03:29 +08:00
roymondchen
e2c065f90d feat(editor): 代码块与数据源支持按 id 独立的历史记录
- history service 新增 pushCodeBlock/undoCodeBlock/redoCodeBlock
  /canUndoCodeBlock/canRedoCodeBlock 及数据源对称 API
- 按 id 维度各自维护独立 UndoRedo 栈,与页面/节点历史完全解耦
- type 新增 CodeBlockStepValue / DataSourceStepValue 独立类型
- HistoryState 扩展 codeBlockState / dataSourceState 字段
- codeBlockService.setCodeDslByIdSync / deleteCodeDslByIds 自动入历史
- dataSourceService.add / update / remove 自动入历史
- 入栈成功时 emit code-block-history-change / data-source-history-change
- 补充单测共 21 例,更新 history/codeBlock/dataSource 相关文档
2026-05-27 19:50:17 +08:00
roymondchen
5242585500 chore: update copyright 2025-07-11 15:04:22 +08:00
roymondchen
34fc0a15b9 refactor: 将data-source,dep,schema,utils收敛到core,将form,table,stage,design,util收敛到editor 2024-12-09 20:21:34 +08:00
parisma
cd191f6815 feat(editor): 复制组件时收集依赖性能优化改造 2024-05-30 07:44:27 +00:00
roymondchen
ee269917f8 feat(dep,editor,data-source,schema): 优化编辑器中依赖收集性能 2024-05-29 19:32:16 +08:00
parisma
faabf1bb3a feat(editor,dep): 支持复制组件时将组件绑定的数据源一并复制 2024-05-27 10:52:07 +00:00
roymondchen
16e45cb45d style(editor): 完善service use-plugin的ts类型定义 2024-03-05 14:55:41 +08:00
roymondchen
5c6a3455b0 feat(editor): service扩展支持设置成同步的 2023-12-06 15:28:18 +08:00
roymondchen
2a0680c707 feat(core,editor,data-source,form,schema): 新增数据源方法配置,支持事件联动数据源方法 2023-07-18 19:35:54 +08:00
roymondchen
6ddac803a2 style(editor): 完善codeBlock.setCodeDslById ts定义 2023-07-07 17:12:56 +08:00
roymondchen
2b881c3863 feat(editor): 新增parseDSL配置,用于解析DSL,默认使用eval 2023-06-19 11:27:47 +08:00
roymondchen
aac478eebc feat: 新增数据源 2023-05-29 11:33:44 +08:00
roymondchen
40adc77978 style(editor): 相对路径改成alias 2023-04-10 15:16:32 +08:00
roymondchen
aa12779598 fix(editor): 代码块code-block-panel-tool slot data丢失 2023-03-30 16:13:23 +08:00
parisma
39468f3b95 feat(editor,form,core,schema): 事件支持触发代码块 2023-03-29 07:13:57 +00:00
roymondchen
3b6ca97f4c feat(edtior): 代码块使用依赖收集器改造 2023-03-27 19:09:47 +08:00
roymondchen
fa89af920c chore(editor): codeDsl由codeBlockService维护,不再从editorService中获取,删除editorService中相关api 2023-03-23 16:42:36 +08:00
parisma
010918198a fix(editor): 修复优化性能引起的问题,支持回退撤销对代码关系的更新 2023-02-17 07:31:26 +00:00
parisma
a013f35cd9 fix: 调整绑定关系结构,优化性能 2023-02-17 14:14:26 +08:00
parisma
0b537f5bff feat(editor,form,schema): 优化代码
Squash merge branch 'feature/parisma_881986193' into 'master'
1、扩展参数配置能力,支持参数类型定义,支持参数注释
2、修复代码块嵌套多层时绑定关系展示不正确的问题
3、支持在组件绑定位置编辑查看代码块
2023-02-09 08:15:37 +00:00
roymondchen
0491487385 feat(editor): 修改service get set 方法的ts定义,不再需要传入泛型参数 2023-02-06 19:25:37 +08:00
oceanzhu
23708e4644 chore: 更新版权年份 2023-01-04 16:11:51 +08:00
roymondchen
45a20d9405 fix(editor): services在组件unmounted时只重置状态不移除事件 2022-12-06 20:32:06 +08:00
parisma
13dc3ca259 fix(editor): 修复setCodeDslById不传content引起的问题 2022-11-22 04:28:54 +00:00
parisma
bc4b62a4c1 refactor(editor): 补全ts类型 2022-11-17 11:48:19 +08:00
parisma
16f671cd8f feat(editor): 代码块支持传递参数 (merge request !9)
Squash merge branch 'feature/parisma_codeDraft' into 'master'
1、 table支持items为函数
2、代码块支持传递参数
2022-11-15 08:48:19 +00:00
parisma
c7a8552d9b fix: 代码块结构改造完成 2022-11-10 19:53:35 +08:00
parisma
c4293f17a6 feat: 修改code_block结构,组件代码关系绑定改为table,绑定关系更新未完成 2022-11-10 19:53:35 +08:00
parisma
d98d3748d3 feat(editor): 拆分代码块编辑器便于以后扩展,支持草稿自动保存,修复代码块列表的样式问题
#440
2022-11-10 19:53:35 +08:00
parisma
3673d6016d feat(editor): 代码编辑新增草稿功能
#440
2022-11-10 19:53:35 +08:00
parisma
3bb8ecc975 fix(editor): 修复初始dsl无codeBlocks字段时无法新增的问题 2022-09-28 15:52:41 +08:00
roymondchen
00cd237f61 chore(editor): ts type error 2022-09-22 16:59:18 +08:00
parisma
415ecad24c refactor(editor): 修改代码块描述内容在dsl中的键名为codeBlock字段 2022-09-22 16:46:11 +08:00
parisma
92f3696e44 feat(editor): 组件代码块的绑定关系记录到dsl中,修复删除组件解除关系的问题,代码块dsl支持扩展字段 2022-09-22 16:46:11 +08:00
parisma
bfaa8317e3 feat(editor): 支持代码块维度查看与组件的绑定关系,并支持从代码块列表解除绑定 2022-09-22 16:46:11 +08:00
parisma
a452cecc44 fix(editor): 修改样式,修改代码块ID生成逻辑 2022-09-22 16:46:11 +08:00
parisma
fc749b7375 feat(editor): codeBlockService.getCodeDsl支持增加是否强制刷新参数 2022-09-22 16:46:11 +08:00
parisma
fa0149773f fix(editor): dsl存储代码块的字段改为methods 2022-09-22 16:46:11 +08:00
parisma
5b220a0e06 feat(editor): codeBlockService暴露一些方法支持hook,默认设置代码块到dsl的method字段 2022-09-22 16:46:11 +08:00
parisma
2f803c963a feat(editor): 代码块功能增加删除,完善一些边界情况的交互 2022-09-22 16:46:11 +08:00
parisma
0c25cf795f feat(editor): 代码块绑定功能完成 2022-09-22 16:46:11 +08:00
parisma
7640c06ccb feat(editor): 代码块service封装完成 2022-09-22 16:46:11 +08:00