81 Commits

Author SHA1 Message Date
Hermes Agent
17f227aaad fix: filter按钮去掉icon只保留label文字 2026-06-22 15:48:42 +08:00
Hermes Agent
88c989abdf data_filter存在时自动注入搜索按钮到toolbar 2026-06-22 15:04:50 +08:00
Hermes Agent
e5ad09cc75 移除__pycache__和egg-info,添加.gitignore 2026-06-22 14:59:30 +08:00
Hermes Agent
f00d95654c data_filter作为filterjson逻辑表达式,提取var构造搜索表单 2026-06-22 14:43:33 +08:00
Hermes Agent
b4ac434b62 分离search_fields(搜索表单字段定义)和data_filter(逻辑表达式) 2026-06-22 14:10:14 +08:00
Hermes Agent
db5f579464 支持data_filter显式声明op(LIKE),不自动对所有字符串字段模糊匹配 2026-06-22 13:53:30 +08:00
Hermes Agent
36267a18cc 搜索字符串字段使用LIKE模糊匹配 2026-06-22 13:40:02 +08:00
Hermes Agent
7c64b70e74 feat: move InlineForm into Tabular search_form option
Remove standalone InlineForm sibling from CRUD template. Pass filter
fields as search_form config inside Tabular options. Toolbar filter
button toggles the embedded form visibility.
2026-06-22 13:27:22 +08:00
Hermes Agent
11fe135a40 fix: script uses app. prefix for getWidgetById sibling resolution
bricks.app.root is not a widget (no .dom_element), causing get_by_id to fail.
Use bricks.getWidgetById('app.tblname_tbl') without second arg — bricks
resolves 'app' to bricks.app automatically, then searches downward from root.
2026-06-22 12:26:45 +08:00
Hermes Agent
ab7528420f fix: InlineForm bind target uses app. prefix for sibling resolution
InlineForm is a child of VBox, Tabular is a sibling. Without app. prefix,
getWidgetById searches downward from InlineForm and never finds the sibling
Tabular, causing silent bind failure (no request, no error).
2026-06-22 12:16:55 +08:00
Hermes Agent
9356b8ae36 feat: search form code fields auto-add prepend_all=1 to dataurl
InlineForm search fields with uitype='code' now get dataurl with
?prepend_all=1 so get_code.dspy adds a '全部' empty-value option.
2026-06-22 12:11:52 +08:00
Hermes Agent
66bd6339df fix: InlineForm search bind uses actiontype script to pass form values to Tabular.render()
actiontype:method calls render() without args, losing search params.
Changed to actiontype:script with getWidgetById + await tbl.render(params)
which correctly receives merged InlineForm submit data as params argument.
2026-06-22 12:09:25 +08:00
Hermes Agent
5295a1ce8f feat: auto-enrich data_filter code fields with valueField/textField/params/dataurl from model codes
When data_filter declares uitype='code' for a search field, xls2crud now
automatically looks up the matching code definition in models/*.json codes
array and populates valueField, textField, params (dbname/table/tblvalue/
tbltext), and dataurl. This prevents UiCode crash (Cannot read properties
of undefined reading 'length') in InlineForm search forms.
2026-06-22 11:56:15 +08:00
Hermes Agent
70b6997fca fix: root VBox use height:100% instead of cheight:40 2026-06-19 14:29:57 +08:00
Hermes Agent
69c5706753 Revert "fix: root VBox use height:100% instead of cheight:40"
This reverts commit 75066bb1b0359ffb8c3c9ab782435d33c4fdef4e.
2026-06-19 14:26:21 +08:00
Hermes Agent
75066bb1b0 fix: root VBox use height:100% instead of cheight:40 2026-06-19 14:25:00 +08:00
Hermes Agent
6b8bc8bee3 feat: auto-generate InlineForm for data_filter fields
- When data_filter.fields exists, generate InlineForm with search inputs
- Bind submit event to refresh Tabular
- Each field uses uitype from data_filter definition
2026-06-18 17:40:07 +08:00
Hermes Agent
3c5552db14 fix: add data_filter field definition guard to CRUD template
- Check if filterjson is CRUD field definition ({'fields': [...]})
- Set filterjson to None to avoid DBFilter AssertionError
- Fixes issue where data_filter parameter causes 500 error
2026-06-18 17:24:11 +08:00
Hermes Agent
3f8a0ce876 feat: CRUD auto-generates validation code from alters.rules
- extract_validation_rules() extracts rules from browserfields.alters
- data_new_tmpl: adds runtime validation before DB insert
- data_update_tmpl: adds runtime validation before DB update
- Supports: required, minlength, maxlength, min, max, pattern, email, number
- Backend returns Error widget with validation messages on failure
2026-06-18 17:22:12 +08:00
ebd4b4a99e fix: get_data_tmpl 注入 logined 过滤条件到 data_filter
- 确保 logined_userorgid 和 logined_userid 始终作为过滤条件
- 统一 filterjson 为 AND 结构后追加
- 解决有 data_filter 时 ownerid/userid 隔离失效的问题
2026-06-02 17:27:05 +08:00
529025a5f4 fix: wrap Tabular in VBox with cheight for proper scrolling 2026-05-29 22:10:02 +08:00
9f9a60a732 fix: use data_url instead of get_data_url to match JSON key 2026-05-29 19:49:43 +08:00
3a865e89a2 fix: wrap desc in DictObject for attribute access in subtable2toolbar 2026-05-29 19:47:43 +08:00
057ca605c1 feat: pass data_filter/filter_labels to Tabular widget; fix json.loads for data_filter string 2026-05-29 19:44:32 +08:00
41f5b65f1f bugfix 2026-05-22 17:21:47 +08:00
931b2d7035 bugfix 2026-05-22 17:08:53 +08:00
d406fe5ce7 bugfix 2026-05-22 17:06:42 +08:00
5db8662cf1 Revert "bugfix"
This reverts commit 17b85b77e350c352ad4dcf42ab8c156d0b2b58d5.
2026-05-08 13:44:49 +08:00
17b85b77e3 bugfix 2026-05-08 13:12:41 +08:00
a2f7d12a5c bugfix 2026-05-07 14:56:26 +08:00
932e23aa3e bugfix 2026-05-07 14:22:32 +08:00
e2895aadec bugfix 2026-05-06 11:26:25 +08:00
b48a92b2aa bugfix 2026-05-06 11:22:39 +08:00
bb7292d484 bugfix 2026-05-06 11:18:52 +08:00
64583c56dc bugfix 2026-05-04 12:01:11 +08:00
bc62352d96 bugfix 2026-05-04 12:00:38 +08:00
f0eebd7c8a bugfix 2026-04-21 16:51:22 +08:00
yumoqing
78677f9fb2 bugfix 2026-03-12 22:01:57 +08:00
yumoqing
78d4d2a452 Merge branch 'main' of git.opencomputing.cn:yumoqing/xls2ddl 2026-03-12 21:54:37 +08:00
yumoqing
3314588773 bugfix 2026-03-12 21:54:28 +08:00
c6739a3a53 bugfix 2025-12-22 17:30:51 +08:00
25a50f79f4 bugfix 2025-12-22 17:30:14 +08:00
e384efe28e buggix 2025-12-22 17:21:50 +08:00
0a076f313c bugfix 2025-12-22 17:14:50 +08:00
0dcc00fbc2 bugfix 2025-12-11 15:53:06 +08:00
c3e4211cc1 bugfix 2025-12-11 15:45:23 +08:00
5629a79c48 bugfix 2025-12-05 17:51:50 +08:00
d6a2098f13 bugfix 2025-11-18 13:32:39 +08:00
c1b1467f42 bugfix 2025-11-12 12:30:08 +08:00
a682d9d5b5 bugfix 2025-11-07 17:34:17 +08:00