feat: enhance table layout and interaction across various components
Deploy production / deploy (push) Successful in 53s

- Introduced a new `WorkspaceTable` component for consistent table styling and behavior.
- Updated `BacktestPage`, `DatasetPage`, and `DataPreparationPage` to utilize the new `WorkspaceTable`.
- Implemented compact row heights and ellipsis for long text in table cells.
- Added validation for online field queries to ensure at least one filter is provided.
- Enhanced error handling and user feedback for invalid input scenarios.
- Improved pagination controls with dynamic page size options.
- Documented table display specifications in `ui-tables.md`.
- Added tests to verify table layout, interaction, and error handling.
This commit is contained in:
yuxuanhui
2026-09-12 02:13:48 +08:00
parent d9fbaa7cf7
commit b9975e58e9
19 changed files with 586 additions and 81 deletions
+10
View File
@@ -136,6 +136,16 @@ class Preparations:
)
async def online_fields(self, filters):
text_filters = (filters.q, filters.dataset_id, filters.field_type)
numeric_filters = (
filters.coverage_min, filters.coverage_max,
filters.user_count_min, filters.user_count_max,
filters.alpha_count_min, filters.alpha_count_max,
)
if not any(value and value.strip() for value in text_filters) and not any(
value is not None for value in numeric_filters
):
raise HTTPException(422, "在线查询至少需要关键词、数据集、类型或数值筛选条件")
if self.client is None:
raise HTTPException(409, "请先连接 WorldQuant")
params = dict(