|
|
f31ef89eca
|
fix(tabular): 删除Tabular.get_hidefields死代码覆写(this.data_params从未赋值恒为空)——子表新增/编辑表单丢失data_params隐藏字段(vendor_id等)不注入,继承DataViewer正确版(this.opts.data_params)
|
2026-09-06 21:51:06 +08:00 |
|
|
|
8446104ac9
|
fix(form): FormBody文本字段透传placeholder——textarea编辑框格式提示不丢失
|
2026-09-03 17:18:49 +08:00 |
|
|
|
4c8abd57e5
|
feat(input): UiText支持placeholder——textarea编辑框显示格式提示(供应商端点目录等JSON字段需要)
|
2026-09-03 17:10:05 +08:00 |
|
|
|
658e0bd748
|
Merge git.opencomputing.cn:yumoqing/bricks
|
2026-09-02 13:54:31 +08:00 |
|
|
|
f2bf42e7c7
|
feat(input): UiCheckBox 支持 multicheck 多选(opts.multicheck)——原属性存在但从未赋值
|
2026-09-02 13:54:23 +08:00 |
|
|
|
d3cff3e923
|
fix(AgentIO): 跟滚误关根治——_track_follow按scrollTop减小判用户上翻
旧实现按gap判follow:异步widget挂载使scroll事件滞后,程序滚底后gap瞬时>80
被误判为用户上翻→follow关→第二条消息后输出不再跟滚
|
2026-09-02 11:02:51 +08:00 |
|
|
|
4815e1e54d
|
fix(AgentIO): 滚底根治——MutationObserver监听内容增长
widget描述符走widgetBuild().then()异步挂载,同步滚总在挂载前执行滚不到新内容;
MutationObserver在挂载落DOM后触发,同步/异步渲染全覆盖,后台tab也生效
|
2026-09-02 10:57:17 +08:00 |
|
|
|
26aad5712a
|
fix(AgentIO): 滚底改同步——后台tab不触发rAF导致流式更新时不滚
|
2026-09-01 18:11:22 +08:00 |
|
|
|
89917d4328
|
feat(AgentIO): 会话区保持最后输出可见——超出显示范围自动滚到底
- chunk_response流式更新后scroll_to_bottom(rAF延迟到布局完成)
- show_input用户发消息强制滚底
- 用户上翻看历史暂停跟滚(_track_follow),滚回底部恢复——不强行打断阅读
|
2026-09-01 18:02:29 +08:00 |
|
|
|
6a94f10370
|
feat(AgentIO): 正文输入回车直接发送、Ctrl+回车换行——UiText新增opt-in的enter_sends选项(默认关,不影响其他表单),submit图标功能不变
|
2026-09-01 17:31:46 +08:00 |
|
|
|
a77200c5ae
|
fix: Tree展开/收起同步三角图标状态; 模块JS注入统一加版本参数防缓存(20260831a)
|
2026-08-30 21:53:26 +08:00 |
|
pipeline-agent
|
2d145ddf8e
|
chore: bricks版本号升20260830e,强制客户端刷新(get_by_id已是原版,零字节差异)
|
2026-08-30 20:41:11 +08:00 |
|
pipeline-agent
|
706c461e6b
|
feat: Tree点击非叶子节点自动展开(懒加载友好); CodeEditor控件+CodeMirror5
|
2026-08-30 20:07:23 +08:00 |
|
pipeline-agent
|
735387555c
|
feat: CodeEditor控件——CodeMirror5包装(行号/高亮/懒加载),3parties加codemirror5+python模式
|
2026-08-30 19:48:56 +08:00 |
|
pipeline-agent
|
1a4d664b5a
|
revert: get_by_id改回原版分段查找——.是框架设计的控件路由分隔符,后缀兜底是错误修法;UI侧改用裸id
|
2026-08-30 13:55:35 +08:00 |
|
pipeline-agent
|
b7b85e063f
|
fix: get_by_id层级id查找——精确匹配+后缀兜底+CSS.escape,修复urlwidget replace target静默miss(世界/场景/实体等创建导入点击无反应根因)
|
2026-08-30 13:04:07 +08:00 |
|
|
|
47b08371aa
|
feat: MdWidget/MarkdownViewer外链新窗口打开(非同源链接不再被拦截成站内跳转)
|
2026-08-29 15:00:35 +08:00 |
|
|
|
9f05e56d93
|
chore: bricks.js 缓存版本号 20260825a→20260829a(label 兼容修复强制刷新)
|
2026-08-29 09:02:38 +08:00 |
|
|
|
093b849bf1
|
fix(Text): 兼容 label 写法——LLM 生成 .ui 常用 label,此前静默渲染空文本致界面空白
|
2026-08-29 09:01:52 +08:00 |
|
|
|
4cf2c1a57e
|
feat(AgentInput): 模型下拉自动注入 session_id——多tab按会话解析项目模型,各产线UI无需逐个配置
|
2026-08-28 12:39:26 +08:00 |
|
|
|
5227a4d491
|
fix(AgentIO): 模型下拉尊重服务端 selected 标记,不再每次重建回退首项
- UiCode.build_options: 未显式指定 value 时,扫描数据项 selected:true 标记作为初始选中
(此前每次重建控件都把用户已持久化的选择重置成列表第一项)
- AgentIO 透传 model_params 给 AgentInput(多 tab 会话按 session_id 解析项目模型)
|
2026-08-28 12:26:02 +08:00 |
|
|
|
406ed6f17a
|
feat(scene3d): Scene3D 接入脚本引擎 + 按需注入 three.js + 自写环绕相机
- engine.js/inherit.js 以 UMD 双分支引入(node 测试照跑 + 浏览器拼进 bricks.js)
- Scene3D 新增本地逻辑引擎(独立世界):描述符 properties/events 喂 SceneRuntime,
点击→tap 注入、每帧 step 推进、transform/visible 回填 three.js
- three.min.js 按需注入(非 3D 页面不背 608KB)
- 自写环绕相机:单指旋转/双指缩放/双指平移(three.js r148+ 移除 UMD OrbitControls)
- 新增 API:set_entity_transform / set_paused / reset_runtime
- 已验证:门铃示例(定时+条件+点击+moveTo+属性变化)、相机旋转全链路
|
2026-08-27 15:41:51 +08:00 |
|
|
|
d945e414d7
|
feat(scene3d): Scene3D widget — bricks3d 最小闭环(后端声明式场景描述符→three.js 本地渲染→entity_tapped 事件回传)
- scene3d.js: Scene3D widget(VBox 子类),支持 box/sphere/cylinder/model 实体
内联 scene 或 scene_url 两种描述符来源;Raycaster 拾取→dispatch entity_tapped
活动对象(scene/camera/renderer/mesh)只存实例私有字段,防 JSON.stringify 循环引用
s3_dispose() 释放 WebGL 资源;set_entity_color/set_entity_visible 公共 API
- build.sh: scene3d.js 加入 SOURCES
- 3parties/three.min.js: r149 UMD 全局版(608KB,npmmirror 下载)
- examples/scene3d_demo.html: 演示页(4 实体场景 + scene_ready/entity_tapped binds)
验证(CDP 实测):场景就绪事件✅ 点击拾取✅ entity_tapped→binds→状态栏更新✅
球点击变色 #f59e0b→#ef4444 全链路通过;干净重载 0 JS 异常
|
2026-08-27 11:31:10 +08:00 |
|
|
|
8a92b95990
|
fix(css): .scrollpanel 选择器缺逗号导致 VScrollPanel 无 width/height/overflow 样式(高度塌陷)
|
2026-08-25 15:05:21 +08:00 |
|
|
|
635bd76386
|
feat(header.tmpl): 应用级 js/css 与 bricks 主文件加 ?v=assets_ver() 缓存版本号(服务端未注册则退化为原行为)
|
2026-08-25 14:36:16 +08:00 |
|
|
|
7e0d5a1701
|
fix(bricks): on_parent 等事件 params 为 widget 对象时不再撞循环 JSON
- buildEventHandler: event.params 经 bricks.event_params_data 过滤,widget/DOM/Event 不当数据用
- apply_data: 改用 bricks.safe_json_stringify,循环引用时降级序列化而不抛异常
- bump bricks.js 缓存版本 20260825a
|
2026-08-25 13:56:20 +08:00 |
|
|
|
91b3212f31
|
chore: bump bricks.js 缓存版本号 20260820b(登录不刷新页面 login_source/refresh)
|
2026-08-20 14:44:09 +08:00 |
|
|
|
f2f9893bac
|
fix(bricks): 非用户主动登录(401自动弹窗)成功后不刷新页面
- withLoginInfo 弹登录窗带 login_source=auto 标记被动登录
- Message 类读 refresh=false 设 _login_no_reload,跳过 dispatch user_logined
- 用户主动点击登录仍正常刷新
|
2026-08-20 14:41:18 +08:00 |
|
|
|
3c8eb4bb3d
|
fix(tree): 展开箭头和节点图标加 flexShrink:0,防止长label挤压到0宽
|
2026-08-19 20:31:20 +08:00 |
|
|
|
2c0f01451b
|
chore: bump bricks.js 缓存版本号 20260818a(AgentInput padding)
|
2026-08-18 18:46:16 +08:00 |
|
|
|
625b6441bf
|
chore: bump bricks.js 缓存版本号 20260815g
|
2026-08-18 18:43:44 +08:00 |
|
|
|
e66837cb0d
|
fix(tree): Tree 图标改为 /bricks/imgs/ 绝对路径,绕过 bricks.path 计算 bug(currentScriptPath 返回 / 导致图标 404)
|
2026-08-18 18:43:20 +08:00 |
|
|
|
4bdf040aaa
|
fix(tree): 节点内容渲染从 schedule_once 异步改为同步,消除展开图标时序问题
|
2026-08-18 18:27:24 +08:00 |
|
|
|
c98a8b6eeb
|
fix(tree): folder icon now switches to open-folder on expand (typo + this.icon_url bug)
|
2026-08-15 20:35:06 +08:00 |
|
|
|
b09ef14301
|
chore: remove debug logs (CTN/SETURL), keep token race fix; bump cache ver
|
2026-08-15 20:07:44 +08:00 |
|
|
|
efbd5f5839
|
debug: log set_url null/stale/render; bump cache ver
|
2026-08-15 19:49:26 +08:00 |
|
|
|
aae2150dad
|
fix: AgentIO上传文件改用FormData(JSON.stringify会丢失File对象内容)
|
2026-08-15 19:15:19 +08:00 |
|
|
|
97ad189fb5
|
debug: add change_node_type is_leaf logging; bump cache ver
|
2026-08-15 19:00:20 +08:00 |
|
|
|
2254297be3
|
fix: cache-busting for bricks.js/css (?v= in header.tmpl)
|
2026-08-15 17:16:02 +08:00 |
|
|
|
ee50245895
|
fix(Svg): cancel stale fetch in set_url so leaf nodes hide arrow (race condition)
|
2026-08-15 11:53:27 +08:00 |
|
|
|
7746595739
|
fix(tree): change_node_type 死代码导致叶子节点仍显示展开箭头
return 提前返回使 set_url(null) 成为死代码,叶子节点(is_leaf=true)的展开箭头本应隐藏却仍显示。
修复:叶子分支直接 set_url(null) 隐藏箭头,非叶子才 set_state+bind 展开。
|
2026-08-15 01:42:36 +08:00 |
|
p
|
cbfe532050
|
fix: resizebox z-index above xterm/Wterm content
|
2026-08-15 01:42:36 +08:00 |
|
p
|
d1995ff118
|
fix: PopupWindow resize — remove stale e.target check in resizing()
|
2026-08-15 01:42:36 +08:00 |
|
p
|
9e23fbccb9
|
fix: ResourceBrowser strip tools before clone_descriptor (avoid circular ref from buildBind event_widget)
|
2026-08-15 01:42:36 +08:00 |
|
p
|
71dae6ecfe
|
fix: ResourceBrowser tree_width method collides with option name (rename to get_tree_width)
|
2026-08-15 01:42:36 +08:00 |
|
|
|
8b4b9390a8
|
Revert "feat: AgentIO abort previous request on new input"
This reverts commit 5fb7796df1d0b416ae978ecd95be076a037d30a7.
|
2026-08-11 14:48:58 +08:00 |
|
|
|
5fb7796df1
|
feat: AgentIO abort previous request on new input
|
2026-08-11 14:00:42 +08:00 |
|
|
|
f9322531d0
|
feat: UiCode support multiple select attribute
|
2026-08-10 16:56:36 +08:00 |
|
|
|
ded5de54ed
|
cleanup: remove Conform widget handling, revert to conversational confirm
|
2026-08-09 21:57:59 +08:00 |
|
|
|
1fd689ca62
|
fix: AgentIO.sys_post() + global ref — reliable Conform confirm handler
|
2026-08-09 21:46:06 +08:00 |
|