From ff39ba471626977a48b85382d4af8bfa2d2c79b7 Mon Sep 17 00:00:00 2001 From: Aaron Fenyes Date: Fri, 31 Jan 2025 00:10:47 -0800 Subject: [PATCH] Always show representation coordinates in order The `Indexed` used in the previous commit would occasionally put the coordinates out of order. I don't know why it did that, but this view always keeps the coordinates in order, and it might be more efficient anyway. --- app-proto/src/outline.rs | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/app-proto/src/outline.rs b/app-proto/src/outline.rs index 148f870..a6e968d 100644 --- a/app-proto/src/outline.rs +++ b/app-proto/src/outline.rs @@ -64,11 +64,16 @@ fn ElementOutlineItem(key: ElementKey, element: assembly::Element) -> View { move |sel| if sel.contains(&key) { "selected" } else { "" } ); let label = element.label.clone(); - let rep_components = element.representation.map( - |rep| rep.iter().map( - |u| format!("{:.3}", u).replace("-", "\u{2212}") - ).collect() - ); + let rep_components = move || { + element.representation.with( + |rep| rep.iter().map( + |u| { + let u_str = format!("{:.3}", u).replace("-", "\u{2212}"); + view! { div { (u_str) } } + } + ).collect::>() + ) + }; let constrained = element.constraints.map(|csts| csts.len() > 0); let constraint_list = element.constraints.map( |csts| csts.clone().into_iter().collect() @@ -129,14 +134,7 @@ fn ElementOutlineItem(key: ElementKey, element: assembly::Element) -> View { } ) { div(class="element-label") { (label) } - div(class="element-representation") { - Indexed( - list=rep_components, - view=|coord_str| view! { - div { (coord_str) } - } - ) - } + div(class="element-representation") { (rep_components) } div(class="status") } } -- 2.43.0