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
bf6b14f81e
fix: Conform confirm creates AgentOutput and processes streaming response
2026-08-09 20:19:44 +08:00
22feb99a13
AgentOut: handle Conform widget confirmed event → POST _system_action
2026-08-09 20:00:01 +08:00
9a6e7e1a75
AgentOut: handle bricks widget descriptor JSON (widgettype) in streamed response
2026-08-09 17:01:34 +08:00
8b4897ea14
AgentIO: use AgentInput instead of TextFiles for model selector support
...
- Add agent_input.js to bricks build
- AgentIO constructor passes model_dataurl, model_cwidth, placeholder to AgentInput
- Keep dispatch('inputed') event pattern
2026-08-08 23:42:14 +08:00
e2086397fd
bugfix
2026-08-08 22:47:14 +08:00
f2766a76dd
bugfix
2026-08-08 22:45:24 +08:00
c0cda2931a
fix(textfiles): clear_widgets before add_widget to prevent stale file entries
2026-08-03 10:45:34 +08:00
c726b95714
feat(DimensionFilter): dark/light theme via CSS variables and dimension-filter class
2026-07-31 11:55:39 +08:00
1034b53341
fix(DimensionFilter): use native CSS flexbox for proper height fill
2026-07-31 11:38:09 +08:00
57575d90f0
fix(DimensionFilter): proper flex layout - fixed search+horizontal bar, filler content area with VScrollPanel display
...
- SearchBar + horizontal bar: flexShrink:0 for fixed height
- Content area: flexGrow:1 to fill remaining space
- Vertical sidebar: fixed 160px width, flexShrink:0
- Display: VScrollPanel with id + width:100% height:100%
2026-07-30 18:27:24 +08:00
09a07904fc
fix(DimensionFilter): configurable param names + 'all' skip + init refresh_display
...
- h_param_name/v_param_name/keyword_param_name options for URL param mapping
- 'all' values filtered out of params (treat as no filter)
- refresh_display() called after initial data load
2026-07-30 16:49:08 +08:00
9f4ca625c6
fix: add .dimension-btn-active CSS class for DimensionFilter active state
2026-07-30 15:58:51 +08:00
850d44ddb5
feat: add DimensionFilter widget with h_data_url, v_measure_url, show_data_url support
...
New Bricks widget that provides:
- Search input bar with configurable placeholder
- Horizontally scrollable dimension buttons with left/right arrows
- Vertically scrollable measure buttons on the left side
- Display area on the right side loading show_data_url with params
- Single-selection for both horizontal and vertical dimensions
- '全部' (All) option default selected for both axes
- filter_changed event on every selection/search change
- Registered via bricks.Factory.register('DimensionFilter', ...)
2026-07-30 15:52:36 +08:00
bc3c4525fd
fix(Tree): suppress deselect event dispatch when switching nodes
...
Previously node_click_handle dispatched node_selected(false) for old node
before dispatching node_selected(true) for new node, causing apps to briefly
show old content. Now only visually deselects old node, dispatches only for
new selection.
2026-07-27 18:35:08 +08:00
33409eb634
feat(Tree): add select_only option — click always selects, never deselects
...
When opts.select_only=true, clicking the same node keeps it selected
instead of toggling off. Default false (preserves existing behavior).
2026-07-27 18:23:16 +08:00
1775309638
i18n: add Tabular CRUD form translations (Add/Update/Clone/Delete record)
...
Added 4 missing keys to bricks i18n for zh/en/jp/ko:
- Add record, Update record, Clone record, Delete conform
Also fixed hardcoded 'Delete conform' in dynamicaccordion.js
to use bricks.app.i18n._('Delete conform').
2026-07-27 12:12:49 +08:00
7bc0a7fdcc
move html5-qrcode + model-viewer from unpkg CDN to local 3parties/
2026-07-24 16:23:02 +08:00
a6a4a485a9
droppable docs: add max_size/multiple, file upload example with FormData+fetch
2026-07-23 16:45:14 +08:00
675dd09d05
add docs for FlipCard/Carousel/Draggable/Droppable/Sortable widgets (zh+en)
2026-07-23 16:25:50 +08:00
48c6405bbc
add Draggable/Droppable/Sortable bricks widgets — SortableJS-backed, file drop support
2026-07-23 15:58:39 +08:00
6c94ce66a2
add FlipCard and Carousel bricks widgets + CSS
2026-07-23 14:57:14 +08:00
0d42a87052
fix: ChartScatter tooltip显示nameField+隐藏series0 legend
2026-07-23 14:29:28 +08:00
829d099d31
fix: inputdata2dic use getAll for multi-value fields, UserInputView iterate arrays
2026-07-16 12:21:20 +08:00
f732d631e3
fix: multi-file preview in UiFile, multi video/audio in UserInputView, concat assign in LlmOut
2026-07-16 11:40:44 +08:00
1d177f163b
fix: 父菜单项(有children无url)不再报configured error
2026-07-14 15:45:22 +08:00
2c1283cd4b
chore: remove swap file
2026-07-13 18:30:18 +08:00
848d724c18
i18n: 合并脚本覆盖identity映射; 新增Delete/Search翻译
2026-07-13 18:26:41 +08:00
342608403c
feat: merge_bricks_i18n.py 合并bricks翻译到全局i18n
2026-07-13 18:20:18 +08:00
15c8f3a4ef
i18n: 创建i18n.json(4语言25条); tip统一包i18n._()
2026-07-13 18:15:50 +08:00
235af19b2e
fix: UiFile multiple — resultValue/set_formdata support file arrays; Form required check handles arrays
2026-07-02 15:42:19 +08:00
55a7bce6e4
fix: loadNextPage/loadPreviousPage空数组防-Infinity
2026-07-01 16:45:40 +08:00
dc74074bdd
feat: bricks i18n — 硬编码字符串改用 i18n._() + 翻译文件
...
编译的 dist/ 目录新增 i18n/{zh,en,jp,ko}/ 自动注入到 sage wwwroot/bricks/i18n/
翻译的字符串:
- conform.js: Conform/Discard → i18n._()
- dynamicaccordion.js: add a new record → i18n._()
- form.js: Submit/Reset/Cancel/Requirement → i18n._()
- jsoncall.js: access error → i18n._()
- llm.js: 知识库/召回数量/模版 → i18n._()
build.sh 新增 i18n 目录复制到 dist
2026-06-29 12:03:34 +08:00
aa81a38241
bugfix
2026-06-26 17:18:59 +08:00
21d8c8fd9d
bugfix
2026-06-26 17:15:10 +08:00
d2f8f255e5
feat(i18n): DataViewer弹窗title国际化
...
- show_filter_form: '搜索过滤' -> bricks.app.i18n._('Search Filter')
- delete_record: 'Delete conform' -> bricks.app.i18n._('Delete conform')
- delete_record: message -> bricks.app.i18n._('Are you sure to delete this record?')
- 修正原文typo: 'is record' -> 'this record'
2026-06-26 11:05:28 +08:00
ea4de411c0
i18n: 文件上传控件提示文字支持i18n
2026-06-25 13:53:29 +08:00
Hermes Agent
3d88fb5548
fix: EchartsExt auto-refresh stops when widget leaves DOM (is_in_dom check)
2026-06-24 16:50:58 +08:00
Hermes Agent
8d0848fd9d
fix: get_hidefields() use this.opts.data_params instead of this.data_params
2026-06-24 12:59:13 +08:00
Hermes Agent
acf3937b8d
fix: process editable.binds via buildBind after Form construction (new Form bypasses widgetBuild)
2026-06-24 12:18:38 +08:00
Hermes Agent
be25feb077
feat: Tabular passes editable.binds to add/update/clone Form for cascading dropdowns
2026-06-24 10:42:21 +08:00
Hermes Agent
43ad1c22fe
fix: UiFloat pattern允许负号输入,防止负数负号被静默剥离导致金额错误
2026-06-23 15:31:29 +08:00