Use workaround to keep representation coordinates in order (#46)
This fixes #41 by rendering representation vectors with a static list view rather than an `Indexed` view. The Sycamore maintainer has confirmed that `Indexed` is always supposed to display list items in order, so I think #41 is likely caused by a bug in `Indexed`. We should consider reverting this pull request when the bug is fixed. Co-authored-by: Aaron Fenyes <aaron.fenyes@fareycircles.ooo> Reviewed-on: #46 Co-authored-by: Vectornaut <vectornaut@nobody@nowhere.net> Co-committed-by: Vectornaut <vectornaut@nobody@nowhere.net>
This commit is contained in:
parent
25017176fd
commit
46324fecc6
1 changed files with 11 additions and 13 deletions
|
@ -64,11 +64,16 @@ fn ElementOutlineItem(key: ElementKey, element: assembly::Element) -> View {
|
||||||
move |sel| if sel.contains(&key) { "selected" } else { "" }
|
move |sel| if sel.contains(&key) { "selected" } else { "" }
|
||||||
);
|
);
|
||||||
let label = element.label.clone();
|
let label = element.label.clone();
|
||||||
let rep_components = element.representation.map(
|
let rep_components = move || {
|
||||||
|rep| rep.iter().map(
|
element.representation.with(
|
||||||
|u| format!("{:.3}", u).replace("-", "\u{2212}")
|
|rep| rep.iter().map(
|
||||||
).collect()
|
|u| {
|
||||||
);
|
let u_str = format!("{:.3}", u).replace("-", "\u{2212}");
|
||||||
|
view! { div { (u_str) } }
|
||||||
|
}
|
||||||
|
).collect::<Vec<_>>()
|
||||||
|
)
|
||||||
|
};
|
||||||
let constrained = element.constraints.map(|csts| csts.len() > 0);
|
let constrained = element.constraints.map(|csts| csts.len() > 0);
|
||||||
let constraint_list = element.constraints.map(
|
let constraint_list = element.constraints.map(
|
||||||
|csts| csts.clone().into_iter().collect()
|
|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-label") { (label) }
|
||||||
div(class="element-representation") {
|
div(class="element-representation") { (rep_components) }
|
||||||
Indexed(
|
|
||||||
list=rep_components,
|
|
||||||
view=|coord_str| view! {
|
|
||||||
div { (coord_str) }
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
div(class="status")
|
div(class="status")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue