26 Commits

Author SHA1 Message Date
roymondchen
a7999f50d5 feat(form): 用 FormContext 与 provide/inject 替代 extendState 钩子
统一表单业务上下文的注入方式,通过读穿 Proxy 保持 mForm 回调签名不变,并移除 extendFormState/extendState 等分散的扩展钩子。
2026-09-01 14:48:42 +08:00
roymondchen
f2ee7ae7b5 feat(form): 统一字段值 effect 机制并将 nested 重命名为 innerConfig
将字段挂载时的 model 写入迁移至 registerField effect,
渲染与无渲染校验共用 applyMountValueEffects;
nested 重命名为 innerConfig 以区分配置派生与值写入。
2026-09-01 12:05:28 +08:00
roymondchen
c34ed6aafc feat(form): 容器透传 labelPosition
容器未单独配置时回落到父级/表单级,子项自身配置优先。
2026-09-01 11:59:41 +08:00
roymondchen
93dc0d2187 feat(form): 新增无渲染校验入口,支持 Node/CI 环境执行表单校验
将 submitForm/validateForm 改为无 DOM 的 headless 实现,并抽取字段登记与编辑器复合字段配置,便于脚本与 CI 批量校验。
2026-08-28 15:33:54 +08:00
roymondchen
0d1a17dce3 fix(form): 优化可选项校验建议文案并导出供 editor 复用
超过 20 个可选项时仅举例 5 个并标明总数,避免 AI 误以为仅有举例值合法;editor 侧复用 form 的统一实现。
2026-08-06 13:13:24 +08:00
roymondchen
d5a2e25e18 feat(editor): 完善样式设置器字段 typeMatch 校验
为 Background/Font/Position 补充类型校验提示。
字重字段支持字符串与数字,并复用 validateDataSourceFieldSelectValue。
getRules 过滤无 validator 的 typeMatch:false 规则,避免 number 被误校验。
2026-08-04 17:40:52 +08:00
roymondchen
a123747e9d feat(form): 支持 typeMatch 异步校验与 validator 返回值约定 2026-07-28 15:32:48 +08:00
roymondchen
0e1986c819 feat: 参考建议可选值最多展示个数由 5 调整为 20 2026-07-23 22:07:51 +08:00
roymondchen
d0a22315c0 refactor(form): 抽离表单校验逻辑至 validateForm 并复用于 props 面板
- 将 editor 的 validatePropsForm 逻辑迁移到 @tmagic/form 的 validateForm
- FormPanel 源码保存改为复用 validateForm 静默校验
- 补充 form 校验与 applyExtendState 相关单元测试
2026-07-23 22:02:43 +08:00
roymondchen
1f389ff9fd feat(form): text 类型校验允许数字值,兼容数据源字段配置 2026-07-23 19:04:04 +08:00
roymondchen
11bf037054 fix: 跳过无字段名称配置的类型校验 2026-07-23 16:32:07 +08:00
roymondchen
6cdf54a4a6 fix(form): typeMatch 使用 toLine 统一类型转换并处理异步 type/defaultValue
替换局部 normalizeType 为 @tmagic/utils 的 toLine,新增 isPromise 守卫。

在 type 或 defaultValue 为 Promise 时跳过校验并回退示例值,补充对应单元测试。
2026-07-21 16:20:23 +08:00
roymondchen
ef66e8a598 fix(form,editor): 完善表单校验与样式属性匹配 2026-07-20 19:09:55 +08:00
roymondchen
1c67b5e77b feat(editor): 注册编辑器字段内置 typeMatch 校验规则并补充文档
- 新增 typeMatchRules.ts,为编辑器自定义字段注册内置 typeMatch 校验规则
- 抽取 event.ts 事件工具函数
- form typeMatch 适配 TDesign 校验器签名,错误消息补充实际值
- rules.md 新增「Editor 字段内置规则」章节,16 个字段文档补充校验说明
2026-07-14 17:15:28 +08:00
roymondchen
734e6a8ee6 feat(form): 支持 rules.typeMatch 按字段 type 校验值类型与选项匹配
新增可扩展的 typeMatch 校验能力,兼容 async-validator 规则体系,并补充文档与单元测试。
2026-07-13 15:52:56 +08:00
roymondchen
ab6918f43d test: 完善测试用例 2026-05-14 15:26:22 +08:00
roymondchen
6cf2f38194 fix(form): onChange中修改model的key中有重复的key会出错 2026-01-19 19:40:58 +08:00
roymondchen
e6d1624a6c refactor(form): 优化创建初始值等一些工具函数 2026-01-08 17:11:05 +08:00
roymondchen
08b476e04f feat(design,editor,element-plus-adapter,form,table,tdesign-vue-next-adapter): 重构table组件,适配tdesign 2025-11-12 19:52:30 +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
roymondchen
a10ae0ddd1 refactor(form): 优化代码 2024-01-09 14:50:25 +08:00
oceanzhu
23708e4644 chore: 更新版权年份 2023-01-04 16:11:51 +08:00
roymondchen
ac065504f6 test: vue组件测试用例 2022-09-26 21:29:54 +08:00
roymondchen
6d4323123f build: build之前做type check 2022-06-30 20:23:50 +08:00
roymondchen
bc8b9f5225 refactor: make it public 2022-02-17 14:47:39 +08:00