data_filter存在时自动注入搜索按钮到toolbar

This commit is contained in:
Hermes Agent 2026-06-22 15:04:50 +08:00
parent e5ad09cc75
commit 88c989abdf

View File

@ -351,6 +351,17 @@ def build_data_browser(pat: str, desc: dict):
desc.fieldliststr = json.dumps(field_list(desc), ensure_ascii=False, indent=4)
desc.filter_fields = build_filter_field_list(desc)
desc.filterfieldstr = json.dumps(desc.filter_fields, ensure_ascii=False, indent=4)
# 有 data_filter 时自动注入搜索按钮
if desc.data_filter:
toolbar = desc.get('toolbar', None)
if not toolbar:
toolbar = {'tools': []}
desc.toolbar = toolbar
tools = toolbar.get('tools', [])
# 确保 filter 按钮在最前面且不重复
tools = [t for t in tools if t.get('name') != 'filter']
tools.insert(0, {'name': 'filter', 'label': '搜索', 'icon': 'filter'})
toolbar['tools'] = tools
e = MyTemplateEngine([])
s = e.renders(data_browser_tmpl, desc)
with codecs.open(os.path.join(pat, f'index.ui'), 'w', "utf-8") as f: