Skip to content

Conversation

@BenjaminCharmes
Copy link
Contributor

@BenjaminCharmes BenjaminCharmes commented Nov 5, 2025

Implements UI metadata hints for dynamic schema-driven UI generation (#920).

This PR introduces the HasUIHints trait and UIFieldConfig class enabling Pydantic models to define UI-specific metadata including layout, field configurations, virtual fields, and descriptions. The frontend DynamicFieldRenderer consumes this metadata to automatically generate appropriate UI components with labels, tooltips, and contextual help.

Key changes:

  • Added HasUIHints trait with ui_layout, ui_field_config, ui_virtual_fields, and ui_table_of_contents
  • Implemented UIFieldConfig for per-field configuration (component type, width, readonly, hidden states)
  • Created FieldLabelDescriptionTooltip component for consistent accessible tooltips
  • Extended all item models (Sample, Cell, Collection, Equipment, StartingMaterial) with comprehensive UI hints
  • Updated DynamicSchema.vue and DynamicFieldRenderer.vue to consume schema metadata
  • Added description support to multiple components for contextual help

BenjaminCharmes and others added 30 commits August 8, 2025 22:23
pydatalab now start, but not working well

pydatalab now start, but not working well

pydatalab now start, but not working well

pydatalab now start, but not working well

pydatalab now start, but not working well

Fix login with Pydantic v2+

Fix sample creation

Fix sample creation

Fix edit page
Fix pytest

Fix pytest

Fix pytest

Fix pytest

Fix pytest

Fix pytest

Fix pytest
Try fix .env PYDATALAB_TESTING

Try fix .env PYDATALAB_TESTING

Add temp. debug

Add temp. debug

Add temp. debug

Add temp. debug

Add temp. debug

Add temp. debug

Add temp. debug
@BenjaminCharmes BenjaminCharmes changed the title [WIP] Add info-helper while hovering labels Add UI hints metadata system to Pydantic models Nov 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants