forked from StudioInfinity/dyna3
Render constraint lists dynamically
This commit is contained in:
parent
a3fce9d298
commit
fb292d8b5b
3 changed files with 28 additions and 25 deletions
|
@ -76,7 +76,10 @@ fn ElementOutlineItem(key: usize, element: assembly::Element) -> View {
|
|||
let u_coord = format!("{:.3}", u).replace("-", "\u{2212}");
|
||||
View::from(div().children(u_coord))
|
||||
}).collect::<Vec<_>>();
|
||||
let constrained = element.constraints.len() > 0;
|
||||
let constrained = element.constraints.map(|csts| csts.len() > 0);
|
||||
let constraint_list = element.constraints.map(
|
||||
|csts| csts.clone().into_iter().collect()
|
||||
);
|
||||
let details_node = create_node_ref();
|
||||
view! {
|
||||
li {
|
||||
|
@ -101,7 +104,7 @@ fn ElementOutlineItem(key: usize, element: assembly::Element) -> View {
|
|||
}
|
||||
event.prevent_default();
|
||||
},
|
||||
"ArrowRight" if constrained => {
|
||||
"ArrowRight" if constrained.get() => {
|
||||
let _ = details_node
|
||||
.get()
|
||||
.unchecked_into::<web_sys::Element>()
|
||||
|
@ -150,7 +153,7 @@ fn ElementOutlineItem(key: usize, element: assembly::Element) -> View {
|
|||
}
|
||||
ul(class="constraints") {
|
||||
Keyed(
|
||||
list=element.constraints.into_iter().collect::<Vec<_>>(),
|
||||
list=constraint_list,
|
||||
view=move |cst_key| view! {
|
||||
ConstraintOutlineItem(
|
||||
constraint_key=cst_key,
|
||||
|
@ -200,8 +203,7 @@ pub fn Outline() -> View {
|
|||
key.clone(),
|
||||
elt.id.clone(),
|
||||
elt.label.clone(),
|
||||
elt.rep.into_iter().map(|u| u.to_bits()).collect::<Vec<_>>(),
|
||||
elt.constraints.clone()
|
||||
elt.rep.into_iter().map(|u| u.to_bits()).collect::<Vec<_>>()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue