zhenxun_bot/zhenxun/ui/models/__init__.py
Rumio 7472cabd48
feat!(ui): 重构图表组件架构,实现数据与样式分离 (#2035)
*  feat!(ui): 重构图表组件架构,实现数据与样式分离

🏗️ **架构重构**
- 移除charts.py中所有硬编码样式参数(grid、tooltip、legend等)
- 将样式配置迁移至主题层style.json文件
- 统一图表模板消费样式文件的能力

📊 **图表组件优化**
- bar_chart: 移除grid和坐标轴show参数
- pie_chart: 移除tooltip、legend样式和series视觉参数
- line_chart: 移除tooltip、grid和坐标轴配置
- radar_chart: 移除tooltip硬编码

🎨 **主题系统增强**
- 新增pie_chart、line_chart、radar_chart的style.json配置
- 更新bar_chart/style.json,添加grid、xAxis、yAxis样式
- 所有图表模板支持deepMerge样式合并逻辑

🔧 **Breaking Changes**
- 图表工厂函数不再接受样式参数
- 主题开发者现可通过style.json完全定制图表外观
- 提升组件可维护性和主题灵活性

* 📦️ build(pyinstaller): 引入 resources.spec 并更新 .gitignore 规则

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-28 09:20:15 +08:00

82 lines
1.4 KiB
Python

from .charts import (
BaseChartData,
EChartsData,
)
from .components import (
Badge,
Divider,
ProgressBar,
Rectangle,
UserInfoBlock,
)
from .core import (
BaseCell,
CodeElement,
HeadingElement,
ImageCell,
ImageElement,
LayoutData,
LayoutItem,
ListElement,
ListItemElement,
MarkdownData,
MarkdownElement,
NotebookData,
NotebookElement,
QuoteElement,
RawHtmlElement,
RenderableComponent,
StatusBadgeCell,
TableCell,
TableData,
TableElement,
TextCell,
TextElement,
)
from .presets import (
HelpCategory,
HelpItem,
PluginHelpPageData,
PluginMenuCategory,
PluginMenuData,
PluginMenuItem,
)
__all__ = [
"Badge",
"BaseCell",
"BaseChartData",
"CodeElement",
"Divider",
"EChartsData",
"HeadingElement",
"HelpCategory",
"HelpItem",
"ImageCell",
"ImageElement",
"LayoutData",
"LayoutItem",
"ListElement",
"ListItemElement",
"MarkdownData",
"MarkdownElement",
"NotebookData",
"NotebookElement",
"PluginHelpPageData",
"PluginMenuCategory",
"PluginMenuData",
"PluginMenuItem",
"ProgressBar",
"QuoteElement",
"RawHtmlElement",
"Rectangle",
"RenderableComponent",
"StatusBadgeCell",
"TableCell",
"TableData",
"TableElement",
"TextCell",
"TextElement",
"UserInfoBlock",
]