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
+12 -3
View File
@@ -4,7 +4,7 @@ import hashlib
import json
from typing import Literal
from pydantic import Field, field_validator, model_validator
from pydantic import ConfigDict, Field, field_validator, model_validator
from ..preparations.contracts import PreparationReference
from ..schemas import Contract
@@ -56,6 +56,15 @@ class Source(Contract):
hypothesis: str | None = Field(default=None, max_length=2000)
class SourceOutput(Source):
"""Project stored metadata onto the public source fields; input remains strict.
Removed or internal keys are never returned or converted to snapshot references.
Known fields still undergo normal validation.
"""
model_config = ConfigDict(extra="ignore")
class DraftInput(Contract):
@@ -145,7 +154,7 @@ class PreviewOutput(Contract):
preview_id: str
version: int
name: str
source: Source
source: SourceOutput
digest: str
total: int
batch_count: int
@@ -163,7 +172,7 @@ class RunOutput(Contract):
backtest_run_id: str
preview_id: str
name: str
source: Source
source: SourceOutput
ai_context: dict
control: Literal["active", "paused", "stopped"]
status: str