228 Commits

Author SHA1 Message Date
roymondchen
05e512b1fe feat(editor): 新增 DSL 修改方法的 doNotSelect 选项
- add/remove/sort/alignCenter/moveToContainer/paste 新增 doNotSelect 选项,控制操作后是否自动触发选中变化
- doUpdate/doRemove 改为始终同步当前选中列表中的节点引用,避免 state 持有已被替换/已删除的过期节点
- 顺手修复 doUpdate 在 splice(-1) 时误改最后一个选中项的 bug
- 移除 update/doUpdate 的 selectedAfterUpdate 参数(语义已内化),move 不再暴露无意义的 doNotSelect
- 新增 safeOptions / safeParent 辅助函数,兜底插件机制将 dispatch 注入到形参位置的场景

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 17:20:04 +08:00
roymondchen
aab73249d1 feat(editor): 新增 alwaysMultiSelect 配置开启常驻多选模式
新增编辑器配置项 alwaysMultiSelect(默认 false),开启后无需按住 Ctrl/Meta
键,组件树与画布点击即多选;当 disabledMultiSelect=true 时本配置失效。同步
在 stage 层 ActionManager 暴露 setAlwaysMultiSelect 方法用于运行时切换,并
补充组件树/服务/画布的状态联动、文档与单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 16:50:40 +08:00
roymondchen
d8133629b4 feat(editor): props 服务新增配置/值的批量获取与存在性判断方法
新增 getPropsConfigs、hasPropsConfig、getPropsValues、hasPropsValue 方法,便于外部按类型查询表单配置与初始值。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 19:57:06 +08:00
roymondchen
a520626ef6 feat(editor): getPropsConfig 支持传入 node 参数并修正 CondOpSelectConfig 类型
- props service 的 getPropsConfig 增加可选 data 参数以传递当前节点信息
- 修正 CondOpSelectConfig 的 type 字段为 'cond-op-select'

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-07 16:24:17 +08:00
roymondchen
26efa75ff2 feat(editor): update 支持 selectedAfterUpdate 参数控制是否更新 nodes
Made-with: Cursor
2026-04-28 15:50:03 +08:00
roymondchen
b46b571214 feat(editor): 没有参考线时不显示参考线切换按钮
Made-with: Cursor
2026-04-23 15:42:10 +08:00
roymondchen
26dc70d70c fix(editor): 历史记录信息中添加页面信息 2026-04-08 17:19:15 +08:00
roymondchen
0c2f2fd2b5 refactor(editor): 拆分 editor service,提取工具函数减少文件行数
将 services/editor.ts 从 1335 行精简到 1075 行,提取以下内容:

- 新增 utils/editor-history.ts:历史操作处理函数(add/remove/update)
- utils/editor.ts 新增:resolveSelectedNode、toggleFixedPosition、
  calcMoveStyle、calcAlignCenterStyle、calcLayerTargetIndex、
  editorNodeMergeCustomizer、collectRelatedNodes、classifyDragSources
- type.ts 新增:EditorEvents、canUsePluginMethods、AsyncMethodName
- 补充完整的单元测试覆盖所有新增工具函数

Made-with: Cursor
2026-04-07 18:25:35 +08:00
roymondchen
637a5bb69a refactor(editor): 历史记录改成记录操作而不是记录副本 2026-03-27 15:27:41 +08:00
roymondchen
55eb546ad6 feat(form-schema,form,editor): 完善表单配置类型 2026-03-20 12:31:55 +08:00
roymondchen
1cb2d57ade refactor(editor): 调整表单配置 2025-11-12 19:52:30 +08:00
roymondchen
cdb07dfaea fix(editor): 避免services plugin重复添加 2025-07-24 16:43:40 +08:00
roymondchen
5242585500 chore: update copyright 2025-07-11 15:04:22 +08:00
roymondchen
8d6da3712e feat(editor): service新增removePlugin方法 2025-06-26 16:49:32 +08:00
roymondchen
18e8df4a55 fix(editor): 防止快捷键重复注册 2025-06-25 14:17:43 +08:00
roymondchen
32681964b3 feat(editor): stage overlay 支持放大缩小 2025-06-20 19:47:51 +08:00
roymondchen
6152a78467 feat(editor): 支持禁用数据源与代码块 2025-06-09 16:35:08 +08:00
roymondchen
0196eb343a feat(editor): 获取联动组件的方法函数中添加组件id参数 2025-05-28 17:47:12 +08:00
roymondchen
054d12601b feat(editor): eventsServic支持插件扩展 2025-05-13 16:29:34 +08:00
roymondchen
179b797c5c feat(editor): dsl初始化时收集依赖使用worker 2025-05-06 19:59:27 +08:00
roymondchen
e7e9197ae3 style: 更新eslint版本,更新eslint配置 2025-04-21 20:35:54 +08:00
roymondchen
f5742c107a fix(editor): 获取关联组件的方法默认值 2025-03-13 14:30:28 +08:00
roymondchen
9c7d711c16 fix(editor): 数据源修改后,依赖重新收集不准确 2025-03-12 14:22:33 +08:00
roymondchen
c8e1cffca9 feat(core, editor): 删除公共的点击事件实现,由组件自行添加 2025-03-06 20:05:49 +08:00
roymondchen
6e2b5aea47 fix(editor): 编辑器销毁不应该移除依赖收集任务的事件监听 2025-02-12 14:08:27 +08:00
roymondchen
413134b21d feat(editor): 优化依赖收集状态显示,新增剩余任务数量显示 2025-02-11 19:25:28 +08:00
roymondchen
6d82c0f730 fix(editor): 组件配置列大小缓存不生效 2025-02-11 17:25:58 +08:00
roymondchen
877a4eaa49 feat(editor): 优化浏览器变小时各列大小变化 2025-02-10 19:59:11 +08:00
roymondchen
51ca1e60af fix(editor): 编辑器组件销毁后重置依赖收集 2025-01-20 19:55:14 +08:00
roymondchen
040b787e8f feat(editor): 优化依赖收集,数据源代码块分开收集 2025-01-14 16:27:04 +08:00
roymondchen
895c461e2b refactor(editor): 优化依赖收集,优先收集数据源依赖 2025-01-10 19:31:41 +08:00
roymondchen
552df3a614 refactor(editor): service中state改完使用shallowReactive 2025-01-09 20:43:54 +08:00
roymondchen
833dbcd8b4 fix(editor): select配置项无法清空 2025-01-03 17:28:57 +08:00
roymondchen
5cd6d21b2e feat(editor): 组件配置中的样式支持单独一列显示 2024-12-17 20:47:33 +08:00
roymondchen
b4136c91c2 feat(editor): 优化依赖收集体验,减小收集任务粒度,修改配置时识别是否需要触发重新收集 2024-12-09 20:21:34 +08:00
roymondchen
7cd1bc7aec chore: 更新依赖 2024-12-09 20:21:34 +08:00
roymondchen
d33ddcfa65 fix(editor): 更新组件配置后,如果当前没有任何依赖,不会触发收集,导致画布不更新 2024-12-09 20:21:34 +08:00
roymondchen
ed6d9b2b67 feat(editor): 页面/页面片不再使用tab分开显示,新增搜索页面 2024-12-09 20:21:34 +08:00
roymondchen
fc38fc3957 fix(editor): 修复修改页面配置后可能改造页面卡死问题 2024-12-09 20:21:34 +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
roymondchen
c82e3257c1 refactor(stage,editor): stage销毁后释放内部变量 2024-12-09 20:21:34 +08:00
roymondchen
9e4da0a5c2 feat: dsl id渲染到dom上的data-tamgic-id,不再是id属性 2024-12-09 20:21:34 +08:00
roymondchen
16d4eff385 fix(editor): 组件树中将容器拖入自身中会导致容器丢失
fix #622
2024-07-25 17:20:36 +08:00
parisma
0c5485b1d0 feat(editor): 支持拖拽调整页面顺序 2024-06-28 08:54:00 +00:00
roymondchen
9eb99ed176 feat(editor): 组件表单配置支持函数 2024-06-12 14:54:15 +08:00
roymondchen
5ac768f15b feat(editor): 组件树中支持多选拖动 2024-06-11 19:28:40 +08:00
parisma
cd191f6815 feat(editor): 复制组件时收集依赖性能优化改造 2024-05-30 07:44:27 +00:00
Evan Wu
d98029d5e7
fix(editor): 修复pad大屏模式下粘贴位置计算错误偏移问题 (#612)
* fix: 修复moveable中custom able旋转中心错误问题

* fix: 修复修复pad大屏模式下粘贴位置偏差问题
2024-05-29 20:01:51 +08: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