547 Commits

Author SHA1 Message Date
roymondchen
cbc4b25072 feat(editor): 字段对比模式逐项展示差异并补充历史记录面板文档
- CodeSelect/CodeSelectCol/EventSelect/DataSource 等复合字段在对比模式下
  按索引对齐前后值,逐项展示新增/删除/修改高亮,并隐藏写操作按钮
- form 容器/列表/表格支持对比模式只读展示
- 新增「历史记录面板」指南文档,完善表单对比文档及 menu props 说明
- 补充相关单元测试

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:51:47 +08:00
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
f0c66427b8 feat: form 新增 showDiff prop 支持自定义对比判断
- form: MForm/Container 新增 showDiff prop,允许调用方自定义

  '是否展示对比内容' 的判断逻辑,并在嵌套 Container 中自动透传;

  不传时沿用默认的 isEqual 行为

- editor: CompareForm 利用该能力处理 code-select 字段中 '' 与

  { hookType: 'code', hookData: [] } 两种语义为空形态被 isEqual 误判为差异的问题

- docs: 补充 form-props.md 中 showDiff 的说明与示例

- test: 补充 Code 字段相关单测
2026-05-28 20:30:05 +08:00
roymondchen
c854dfa8bf feat(editor): vs-code 字段对比模式改用 monaco diff 编辑器
- Container.vue 新增「自接管对比」字段类型白名单(当前含 vs-code),命中时只渲染一次组件并透传 model/lastValues/isCompare,由字段内部展示差异
- Code.vue 在 isCompare 模式下切换到 type='diff',使用 monaco 内置 diff 视图替代两个独立编辑器实例
- CodeEditor.vue 补充对 modifiedValues 的 watch,避免 diff 模式下右侧值停留在初始快照
2026-05-28 20:12:46 +08:00
roymondchen
0f8abf7298 fix: 对比模式下关闭 tab-pane 的 lazy,确保差异数能正确统计 2026-05-28 19:32:54 +08:00
roymondchen
285434ef3e feat(form): 支持自定义 label slot
在 MForm / Container 上新增具名作用域插槽 label,允许使用方自定义表单项标题渲染。
Slot 作用域参数:config、type、text、prop、disabled。
类型 FormLabelSlotProps / FormSlots 提取到 schema.ts 复用。
2026-05-28 16:45:11 +08:00
roymondchen
b8b0490260 chore: release v1.8.0-beta.1 2026-05-27 11:27:14 +08:00
roymondchen
08011efd6d refactor(form): 使用 getter 访问 props 字段并补充单元测试
- formState 中与 props 对应的字段改用 getter,避免 props 与 formState 之间的同步中间态
- 完善 extendState 同步段的响应式追踪说明注释
- 新增 Form.extra.spec.ts 覆盖 isCompare 模式与 config 变化场景
2026-05-26 11:51:34 +08:00
roymondchen
9b65917371 chore: release v1.8.0-beta.0 2026-05-22 16:53:17 +08:00
roymondchen
7eeb9b544e chore: release v1.7.14-beta.3 2026-05-21 16:10:48 +08:00
roymondchen
638c3e9f3c feat(form): 新增 submitForm 命令式提交函数
提供脱离组件树以函数方式完成一次表单校验/提交的能力,类似 ElMessage 用法:
传入 config/initValues 等 props 后内部临时挂载 Form 实例,
初始化完成即调用 submitForm,校验通过 resolve 表单值、失败 reject,
最后自动卸载,并支持 appContext 继承、timeout 与 native 透传。

同步补充单元测试、API 文档及侧边栏入口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 15:55:28 +08:00
roymondchen
2d31b3812f feat(form): 容器组件新增 extendState 属性
FormBox、FormDialog、FormDrawer 新增 extendState 属性,并透传给内部 MForm,
方便外层注入 $message、$store 等扩展上下文到 formState。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 14:58:43 +08:00
roymondchen
12ce19fb02 fix(form): 修复table-group-list中model属性可能为undefined导致的报错 2026-05-18 20:07:49 +08:00
roymondchen
aa2ee9fd4b fix(form): select 在 model 值变化时补拉 init 选项
配置 config.option 时监听 model 字段变化,若当前 options 缺少对应项则重新 getInitOption,并补充单测覆盖。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 17:49:21 +08:00
roymondchen
297e5cebb0 chore: release v1.7.14-beta.2 2026-05-18 13:35:04 +08:00
roymondchen
e64d86660d fix(form): 修复 Select 在 value 为空时仍发起 initUrl 请求的问题
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 19:32:04 +08:00
roymondchen
f13f94ca2d chore: release v1.7.14-beta.1 2026-05-14 19:37:22 +08:00
roymondchen
54a5570419 feat(form): 支持 TextConfig handler 返回 Promise,buttonClickHandler 改为 async await
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 19:32:19 +08:00
roymondchen
ab6918f43d test: 完善测试用例 2026-05-14 15:26:22 +08:00
roymondchen
fd770f76f1 chore: release v1.7.14-beta.0 2026-05-11 17:05:46 +08:00
roymondchen
29026be6a0 chore: release v1.7.13-beta.0 2026-05-08 17:47:16 +08:00
roymondchen
c9cef3e20c fix(form): form-dialog save 时浅拷贝 changeRecords 避免引用被污染
直接传递 form.changeRecords 引用会导致 emit('submit') 后表单内部继续修改时影响外部使用方,改为浅拷贝。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-07 17:34:52 +08:00
roymondchen
bd0c5a7514 chore: release v1.7.13 2026-04-29 15:52:06 +08:00
roymondchen
94e58342e5 chore: release v1.7.12 2026-04-24 15:48:55 +08:00
roymondchen
3c41091f96 refactor(form): 重构 table/group-list 目录结构与新增行逻辑
- 将 table 相关文件迁移至 containers/table 与 containers/table-group-list 目录
- 将新增行处理统一上移至 TableGroupList,通过 add 事件触发
- 抽取 TableGroupListCommonConfig 公共配置类型
- useFullscreen 内聚管理 zIndex
- TableColumnConfig 支持 text 作为 label 别名

Made-with: Cursor
2026-04-24 15:45:15 +08:00
roymondchen
407572ee3a chore: release v1.7.11 2026-04-23 20:41:21 +08:00
roymondchen
d7ad63d3a2 refactor(form): 调整 table-group-list 属性透传与切换按钮控制方式
- TableGroupList 新增 showIndex、sortKey、sort 属性透传至 Table
- 切换按钮显示改由 config.enableToggleMode 或组件 prop 控制,Table 不再内置 enableToggleMode
- GroupList 新增 showIndex 属性
- DisplayConds 关闭切换模式
- GroupListConfig.beforeAddRow 返回值去掉 Promise 支持

Made-with: Cursor
2026-04-23 20:38:56 +08:00
roymondchen
7249b5106e fix(form): group-list lastValues 为空时兼容取值报错
Made-with: Cursor
2026-04-23 19:45:43 +08:00
roymondchen
9ba12e97af fix(form): table 全屏每次进入重新获取 z-index
close #672

Made-with: Cursor
2026-04-23 17:19:52 +08:00
roymondchen
9f21f8f1d5 refactor(form): 抽出 TableGroupList 父组件统一管理 Table/GroupList 切换
- 新增 TableGroupList 父组件集中持有 displayMode 状态并派生两种形态的
  config,避免原实现通过直接改写 props.config 来触发视图切换
- 将公共的 toggle/add 按钮上移到 TableGroupList,Table/GroupList 通过
  具名 slot + scoped slot 暴露位置与业务钩子(newHandler/addHandler)
- m-form-table、m-form-group-list 统一注册为 TableGroupList,对外导出
  的 MTable/MGroupList 也指向它,新增 MTableGroupList 显式导出
- useAdd 移除重复的 addable 计算,由父组件统一管理

Made-with: Cursor
2026-04-23 17:03:04 +08:00
roymondchen
ac755ac3d0 feat(form): group-list 支持 max 限制和 beforeAddRow 前置校验
- group-list 新增 max 配置项,限制最大行数
- group-list 支持 beforeAddRow 异步前置校验回调
- table 的 beforeAddRow 支持返回 Promise

Made-with: Cursor
2026-04-23 15:06:45 +08:00
roymondchen
27bb886054 chore: release v1.7.10 2026-04-13 20:30:30 +08:00
roymondchen
a3cdad9d91 chore: release v1.7.9 2026-03-23 15:31:42 +08:00
roymondchen
711af79d72 fix(form): row容器中如果配置没有type显示异常 2026-03-23 15:23:41 +08:00
roymondchen
01795455e9 chore: release v1.7.8 2026-03-20 19:43:37 +08:00
roymondchen
9921ed8a2d chore: release v1.7.8-beta.4 2026-03-20 18:53:49 +08:00
roymondchen
450376872e chore: release v1.7.8-beta.3 2026-03-20 17:40:26 +08:00
roymondchen
e8714c96c9 feat(form-schema,form,editor,table): 完善表单配置类型 2026-03-20 17:38:11 +08:00
roymondchen
1ae023db8c chore: release v1.7.8-beta.2 2026-03-20 12:34:50 +08:00
roymondchen
55eb546ad6 feat(form-schema,form,editor): 完善表单配置类型 2026-03-20 12:31:55 +08:00
roymondchen
64c8ed15ab chore: release v1.7.8-beta.1 2026-03-19 12:09:15 +08:00
roymondchen
c79034befc feat(editor,form): 支持按需设置表单组件 2026-03-18 20:19:05 +08:00
roymondchen
88e6c7d377 build: es产物不要合并文件,保证能够tree-shaking 2026-03-18 19:19:29 +08:00
roymondchen
814549e168 chore: release v1.7.7 2026-03-12 17:30:47 +08:00
roymondchen
b4c2c65ccb fix(form): timerange新增value format配置,默认为HH:mm:ss 2026-01-23 16:51:31 +08:00
roymondchen
89ac777a7f chore: release v1.7.6 2026-01-19 19:59:14 +08:00
roymondchen
6cf2f38194 fix(form): onChange中修改model的key中有重复的key会出错 2026-01-19 19:40:58 +08:00
roymondchen
da2e2c393b chore: release v1.7.5 2026-01-08 17:16:08 +08:00
roymondchen
e6d1624a6c refactor(form): 优化创建初始值等一些工具函数 2026-01-08 17:11:05 +08:00
roymondchen
8956035e41 fix(form): 初始值为0时会丢失 2026-01-08 17:03:16 +08:00