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
d41c386acf
feat: add ApiDoc widget - renders API docs from markdown with sidebar nav, method badges, code copy
2026-06-02 17:08:42 +08:00
d67bd84d4d
fix: normalize full URLs to relative paths in Router
...
When ?page= param contains a full URL (e.g. https://domain/module/page.ui ),
normalize it to relative path (/module/page.ui) before loading.
Applied in _restore, _loadInto, navigate, and _onReplace.
2026-06-01 23:41:50 +08:00
e5981ba447
style: redesign add/delete icons for modern UI consistency
...
Replace add.svg and delete.svg with minimalist design:
- 1.5px stroke width for thin, elegant appearance
- Round line caps and joins for smooth edges
- Consistent style across both icons
- Uses currentColor for theme compatibility
2026-06-01 15:40:38 +08:00
74db534e41
chore: ignore NFS temp files
2026-06-01 15:29:35 +08:00
6aaac666d5
chore: remove stale NFS temp file from repo
2026-06-01 15:29:29 +08:00