595 Commits

Author SHA1 Message Date
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
Hermes Agent
17d7e946e8 feat: InlineForm支持wrap折行,搜索表单默认开启多行布局 2026-06-22 16:54:18 +08:00
Hermes Agent
1e33a70627 fix: toolbar检查search_form而非data_filter导致filter按钮不显示 2026-06-22 16:10:08 +08:00
Hermes Agent
231fde3807 移除.DS_Store,添加.gitignore 2026-06-22 14:59:32 +08:00
Hermes Agent
42e7214a86 feat: Tabular inline search form - hidden by default, toggle via toolbar filter button
- build_search_form_widget(): creates InlineForm from opts.search_form config
- toggle_search_form(): show/hide on filter toolbar button click
- search_form_submited(): saves values, hides form, re-renders with params
- merge_search_params(): includes search_form_values in backend requests
2026-06-22 13:27:21 +08:00
Hermes Agent
937d6575ed fix: Form validation - fix red text CSS selector and add focus-to-clear 2026-06-18 17:45:28 +08:00
Hermes Agent
37f46ed1bd feat: Form validation — rules-based field validation with inline error display
- FormBase: added validate_rules(), _check_rule(), show_field_error(), clear_all_errors()
- FieldGroup: creates hidden error Text widget for fields with rules
- validation(): calls validate_rules() before submit, blocks on failure
- CSS: .inputbox.field-error red border, .field-error-msg red text
- Supported rule types: required, minlength, maxlength, min, max, pattern, email, number
2026-06-18 17:22:11 +08:00
Hermes Agent
e7ae56e142 fix: DynamicColumn移动端默认2列
- mobile_cols默认值从1改为2
- 已使用bricks.is_mobile()判断移动设备
2026-06-18 16:48:24 +08:00
Hermes Agent
579d60b49b fix: DynamicColumn子控件宽度覆盖为100%+修复间隙和覆盖问题
- _fix_children: MutationObserver监听子控件添加,强制width:100%+minWidth:0
- 解决子控件cwidth设置的固定像素宽度超出grid cell导致重叠
- align-items:start防止grid items垂直拉伸
- col_cgap默认值统一为1(原构造函数设0.5但set_column_width用0.1)
- 移除console.log调试输出
2026-06-18 16:43:48 +08:00
Hermes Agent
0686a9ae86 fix: TextBase空值undefined渲染为空字符串
- set_attrs: innerHTML兜底空字符串
- set_otext: otxt空值兜底
- set_text: text空值兜底
2026-06-18 14:02:20 +08:00
Hermes Agent
306f5cb1b9 fix: Tabular空值显示undefined改为空字符串 2026-06-18 13:54:53 +08:00
Hermes Agent
6f5e8fde9d fix: password字段表头显示title而非******
- uitype.js: ViewBuilder检查user_data区分表头/数据行
- uitypesdef.js: passwordViewBuilder无rec时显示label/name
- views.js: ViewPassword无row_data时显示value/label/name
2026-06-18 11:41:47 +08:00
Hermes Agent
a29fe0e923 fix: ApiDoc _render中sections未定义改为all_sections 2026-06-17 15:33:31 +08:00
Hermes Agent
5ebfa0d56c fix: bricks.error不存在的函数调用改为console.error (ApiDoc) 2026-06-17 15:23:03 +08:00
883d834272 fix: DataViewer兼容url和data_url两种写法 2026-06-13 18:53:55 +08:00
84e1ebd1f0 fix: InlineForm codes→data映射给UiCode 2026-06-13 18:43:28 +08:00
abfb99aee8 feat: InlineForm控件 - 水平单行表单,支持自定义提交按钮样式 2026-06-13 18:32:06 +08:00
79cfc005bb feat: filter form passes valueField/textField to UiCode
get_filter_fields() now:
- Copies valueField/textField from alter config to filter field
- Uses custom valueField for empty option check and injection
- Ensures filter form and add/edit form use identical code-type config
2026-06-12 11:40:55 +08:00
1c09faf210 Revert "fix: increase model card spacing - margin 4px -> 8px"
This reverts commit 1434dffb49cb7b515e7d12679e5c1a6b777e1d50.
2026-06-12 11:18:55 +08:00
1434dffb49 fix: increase model card spacing - margin 4px -> 8px 2026-06-12 11:17:25 +08:00
a0cff97091 fix: LlmModel card spacing - add cwidth/cheight/margin to prevent overlap
render_title: padding 15px -> cwidth:3, cheight:3, padding:4px, margin:2px, css:clickable
2026-06-12 11:05:58 +08:00
577df9bac9 feat: LlmModel sends llmcatelogid in inference requests
- bricks/llm.js: inputdata2uploaddata includes opts.llmcatelogid when present
2026-06-11 19:22:19 +08:00
9059a8fa89 bugfix 2026-06-10 15:50:30 +08:00
645e26c0c8 bugfix 2026-06-10 15:48:26 +08:00
1b1b87236a bugfix 2026-06-10 15:26:31 +08:00
78a0e3a791 bugfix 2026-06-10 15:18:00 +08:00
1031c77dda bugfix 2026-06-10 15:05:39 +08:00
b37d2811da bugfix 2026-06-03 13:00:27 +08:00
6fe0919f8a fix: load api_doc.css in header.tmpl, revert JS hack 2026-06-02 20:28:36 +08:00
c8941a5b84 fix: ApiDoc widget self-loads its CSS for sidebar layout 2026-06-02 20:24:22 +08:00
f8f02c63ab fix: 为 data_filter code 类型字段添加空选项
- 检查已有空选项避免重复
- 始终注入空选项确保可清空筛选
2026-06-02 17:26:02 +08:00
a2a80ac922 docs: update api_doc.js dependency comment to reference local 3parties/marked.js 2026-06-02 17:15:31 +08:00