Skip to content

refactor(tui): Replace StructTable with config-driven Value rendering - #1917

Merged
gtema merged 1 commit into
mainfrom
openstack_tui2
Aug 6, 2026
Merged

refactor(tui): Replace StructTable with config-driven Value rendering#1917
gtema merged 1 commit into
mainfrom
openstack_tui2

Conversation

@gtema

@gtema gtema commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Collapse all 25 TUI resource Item types to serde_json::Value, rendered
purely from config.yaml at runtime. Deletes the StructTable trait,
ResourceKey trait, impl_dynamic_item!, ColumnSpec, and the wide mode
config surface (no UI toggle existed).

Adds view_render free functions (headers/row/status/id_field) operating
on &ViewConfig + &Value. Backfills config.yaml from #[structable]
attributes scraped from each resource's openstack_types struct.

Downstream changes: filter_carry_action, TryFrom delete builders,
and test helpers now take Option<&Value> and read fields via
view_render::get_str instead of typed access.

Signed-off-by: Artem Goncharov artem.goncharov@gmail.com

Collapse all 25 TUI resource Item types to serde_json::Value, rendered
purely from config.yaml at runtime.  Deletes the StructTable trait,
ResourceKey trait, impl_dynamic_item!, ColumnSpec, and the wide mode
config surface (no UI toggle existed).

Adds view_render free functions (headers/row/status/id_field) operating
on &ViewConfig + &Value. Backfills config.yaml from #[structable]
attributes scraped from each resource's openstack_types struct.

Downstream changes: filter_carry_action, TryFrom delete builders,
and test helpers now take Option<&Value> and read fields via
view_render::get_str instead of typed access.

Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
@gtema
gtema merged commit 58dfa96 into main Aug 6, 2026
24 checks passed
@gtema
gtema deleted the openstack_tui2 branch August 6, 2026 14:37
@gtema-release-plz gtema-release-plz Bot mentioned this pull request Aug 6, 2026
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.

1 participant