roymondchen
|
35ed2cc0d0
|
perf(data-source): 迭代器容器数据上下文改为惰性深拷贝
createIteratorContentData 原先整体深拷贝数据源数据,迭代项很多时为 O(N^2)。
改为沿 fields 路径逐层构造新对象,路径之外的对象型字段在首次读取时才拷贝并缓存,
既避免修改原始数据,也保证引用变化可被渲染层感知
|
2026-10-30 16:49:02 +08:00 |
|
roymondchen
|
6f2ffc3ca1
|
fix(data-source): 依赖缓存按节点对象引用判断失效
此前缓存键由节点 id 拼接而成,节点被替换(如修改绑定字段)后 id 不变仍命中旧缓存,
导致新依赖未被收集。改为以首节点为 WeakMap key 并比较节点对象引用,
节点替换后重新收集依赖,节点回收后缓存自动释放
|
2026-10-30 16:48:30 +08:00 |
|
roymondchen
|
dfad691493
|
feat(data-source): 支持批量更新数据源
新增 dataSourceManager.batch(fn, options),fn 中的多次 setData 在结束后
统一更新一次页面:受影响节点只编译、替换一次,并按数据源分别触发 update-data。
- mergeChangeEvents 默认 false,每次变化各触发一次 update-data 并携带自己的
changeEvent,不丢失中间变化;传 true 则每个数据源只触发一次
- 支持嵌套,仅支持同步函数;isBatching 暴露当前是否处于批量更新中
- 页面/页面片节点的替换改为批量 replaceChildNodes,避免每个节点全树搜索
- 数据源字段变更事件在 batch 内仍按每次 setData 触发
|
2026-10-30 16:47:56 +08:00 |
|
roymondchen
|
092bc2914d
|
feat(data-source): 新增数据源 mounted 生命周期
页面渲染完成后由 runtime 触发 mounted 事件,统一管理数据源 mounted 及 timing=mounted 的方法执行;支持异步注册数据源在 init 后补充 mounted。
|
2026-09-03 20:27:18 +08:00 |
|
roymondchen
|
b85eaa9452
|
refactor(utils): 新增 isPageOrFragment 统一页面与页面片判断
|
2026-07-30 14:56:05 +08:00 |
|
roymondchen
|
932974f0fa
|
style: lint-fix 自动修复格式问题
|
2026-07-20 11:20:15 +08:00 |
|
roymondchen
|
025cca365c
|
perf(dep): 依赖收集改为单次遍历批量处理多 target
将 collectItems/removeTargetsDep 改为整棵树只遍历一次、在每个属性上检查所有
target,把结构遍历开销从 ×targets 降到 ×1,收集结果保持一致。
同时修正 dataSourceMethodDeps 字段命名并补充到 MApp schema。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-29 17:55:13 +08:00 |
|
roymondchen
|
b2888962df
|
style(schema,editor,data-source): 代码块类型定义中content去掉string类型
|
2026-04-09 15:28:03 +08:00 |
|
roymondchen
|
f583c7daec
|
feat(editor,data-source): 数据源支持内置"设置数据"方法
支持通过事件调用数据源的 setData 方法,可以选择数据源字段并根据字段类型动态设置数据;
重构 CodeParams 参数配置支持动态类型; DataSourceFieldSelect 支持指定数据源ID;
常量抽取到 utils/const.ts
Made-with: Cursor
|
2026-04-07 18:25:35 +08:00 |
|
roymondchen
|
0bbafa153d
|
fix(core,data-source): 多个页面片容器引用同一个页面片时,其他有未渲染的页面片容器时会导致数据源编译后数据无法更新
|
2026-03-19 11:34:51 +08:00 |
|
roymondchen
|
0d698b20e7
|
feat(data-source): 事件监听添加立即执行配置
|
2026-03-12 16:37:50 +08:00 |
|
roymondchen
|
83664cd440
|
fix(core): getNode 添加stict参数来表示必须知道页面片容器id才会返回页面内的节点
|
2025-12-09 15:51:15 +08:00 |
|
roymondchen
|
51f95aef6f
|
feat(data-source, editor, schema, react-runtime-help, vue-components): 新增条件成立时隐藏的配置功能
|
2025-10-13 20:31:54 +08:00 |
|
roymondchen
|
849b561933
|
feat(data-source): 数据源数据变化事件监听响应支持立即执行
|
2025-09-16 19:44:16 +08:00 |
|
roymondchen
|
305ea4619f
|
fix(data-source): 页面未初始化好之前,数据源数据变化后需要修改page.data
|
2025-07-17 17:20:58 +08:00 |
|
roymondchen
|
6a54720068
|
feat(core,data-source,utils,react-runtime-help,vue-runtime-help): 新增对页面片节点的管理
|
2025-07-15 15:08:53 +08:00 |
|
roymondchen
|
5242585500
|
chore: update copyright
|
2025-07-11 15:04:22 +08:00 |
|
roymondchen
|
2f4a7a33b8
|
feat(core,data-source,dep,editor,schema): 新增组件禁用代码块/数据源的配置开关
|
2025-07-03 14:10:20 +08:00 |
|
roymondchen
|
b1f020d532
|
fix(data-source,utils): 不使用replaceAll,安卓10不支持
|
2025-06-09 14:18:36 +08:00 |
|
roymondchen
|
c7b2734090
|
fix(data-source): 没有异步加载数据源的情况下,数据源init方法没有执行
|
2025-05-26 20:04:40 +08:00 |
|
roymondchen
|
dc37d4e8bd
|
feat(data-source): 新增判断所有数据源加载完成的方法
|
2025-05-21 16:27:49 +08:00 |
|
roymondchen
|
a35789c0cf
|
feat(data-source): 由于存在异步加载数据源,新增所有数据源加载完毕事件
|
2025-05-21 16:24:35 +08:00 |
|
roymondchen
|
d628ffad26
|
fix(data-source): 异步加载数据源时,初始化第一次编译时数据源可能未加载,需要优先设置数据源默认值
|
2025-05-19 20:14:29 +08:00 |
|
roymondchen
|
fc886715c7
|
fix(data-source): 异步加载数据源时,初始化第一次编译时数据源可能未加载,需要优先设置数据源默认值
|
2025-05-19 14:13:52 +08:00 |
|
roymondchen
|
9252822c58
|
refactor(data-source): 注册base/http数据源的代码有副作用
|
2025-04-30 17:03:36 +08:00 |
|
roymondchen
|
378c75658d
|
fix(data-source): 异步加载数据源后,数据源未初始化
|
2025-04-27 17:07:08 +08:00 |
|
roymondchen
|
e7e9197ae3
|
style: 更新eslint版本,更新eslint配置
|
2025-04-21 20:35:54 +08:00 |
|
roymondchen
|
840c2c3c7d
|
fix(data-source): 数据源初始化时机比注册早回出现死循环
|
2025-04-02 17:17:30 +08:00 |
|
roymondchen
|
3c66319b03
|
fix(data-source): 处理异步动态加载数据源时,初始化数据源还未加载完毕的情况
|
2025-03-04 17:05:05 +08:00 |
|
roymondchen
|
701a9d6f30
|
fix(core): deep-state-observer update 的data与初始化时相同,导致get data为空
|
2025-01-20 14:58:20 +08:00 |
|
roymondchen
|
a0f39d90d6
|
feat(core): 新增调试api
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
5caae4e953
|
fix(data-source): 执行时机函数需要await
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
03942dc49e
|
feat(data-source,editor): http数据源params,data,headers支持函数配置
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
25646317ae
|
fix(data-source): http数据源中mock数据应该是数据源定义好的数据,不再是请求的数据源
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
5267b4bb93
|
feat(data-source): http数据源参数裁剪与响应裁剪支持异步函数配置
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
f6885a06b6
|
fix(data-source): 避免http数据源在编辑器中的响应裁剪中修改到mock配置的数据
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
8aba06ac38
|
fix(data-source): 编辑器中迭代器容器中的容器添加组件并关联数据源后没有编译
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
fd80bada97
|
fix(data-source): manager初始化数据源时,如果失败了要把data中对应的数据删掉,不然在ssr中会导致客户端不会重新尝试请求
|
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
|
e057ddc187
|
fix(data-source): 迭代内容多层嵌套下子组件条件配置不生效
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
ea79a0d601
|
fix(data-source): http数据源中mock配置中关闭启用后,不会执行request
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
80040a69ef
|
style(data-source): 删除无用注释
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
60d2b64aa5
|
fix: 迭代器内的组件配置了声明周期代码块无效
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
de47514f69
|
feat: 完善迭代器嵌套使用问题,重构事件配置处理代码
* feat(editor,core,data-source,dep,schema,ui,utils,vue-runtime-help): 完善迭代器
* test: 完善测试用例
* chore: 构建
* feat: 迭代器嵌套事件传递数据
---------
Co-authored-by: roymondchen <roymondchen@tencent.com>
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
fa2d00ba36
|
fix(data-source): 编辑器的runtime不能对数据源的mock配置有影响
|
2024-08-06 14:33:21 +08:00 |
|
roymondchen
|
8d111ea976
|
feat(data-source): 数据源新增setValue方法
|
2024-07-16 16:24:32 +08:00 |
|
roymondchen
|
e209aa36e8
|
fix(data-source): 迭代器数据编译支持容器嵌套
|
2024-07-15 21:32:13 +08:00 |
|
roymondchen
|
1fc04b4464
|
fix(data-source): 迭代条件条件组编译逻辑不对
|
2024-07-12 14:14:04 +08:00 |
|
roymondchen
|
1e93e9bacc
|
fix(data-source): 按需加载数据源时需要分享数据源方法依赖
|
2024-07-04 14:41:34 +08:00 |
|
roymondchen
|
ecfaff2e0d
|
feat(data-source): 迭代器容器内容支持显示条件配置
|
2024-07-02 16:14:33 +08:00 |
|