Compare commits
No commits in common. "outline-update-fix" and "main" have entirely different histories.
outline-up
...
main
@ -148,9 +148,6 @@ pub fn AddRemove() -> View {
|
|||||||
assembly.elements_by_id.update(|elts_by_id| elts_by_id.clear());
|
assembly.elements_by_id.update(|elts_by_id| elts_by_id.clear());
|
||||||
state.selection.update(|sel| sel.clear());
|
state.selection.update(|sel| sel.clear());
|
||||||
|
|
||||||
// increment assembly serial number
|
|
||||||
state.assembly_serial.set_fn_silent(|serial| serial.wrapping_add(1));
|
|
||||||
|
|
||||||
// load assembly
|
// load assembly
|
||||||
match name.as_str() {
|
match name.as_str() {
|
||||||
"general" => load_gen_assemb(assembly),
|
"general" => load_gen_assemb(assembly),
|
||||||
|
@ -15,7 +15,6 @@ use outline::Outline;
|
|||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
struct AppState {
|
struct AppState {
|
||||||
assembly: Assembly,
|
assembly: Assembly,
|
||||||
assembly_serial: Signal<u32>,
|
|
||||||
selection: Signal<FxHashSet<ElementKey>>
|
selection: Signal<FxHashSet<ElementKey>>
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,7 +22,6 @@ impl AppState {
|
|||||||
fn new() -> AppState {
|
fn new() -> AppState {
|
||||||
AppState {
|
AppState {
|
||||||
assembly: Assembly::new(),
|
assembly: Assembly::new(),
|
||||||
assembly_serial: create_signal(1),
|
|
||||||
selection: create_signal(FxHashSet::default())
|
selection: create_signal(FxHashSet::default())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -180,15 +180,11 @@ pub fn Outline() -> View {
|
|||||||
|
|
||||||
// list the elements alphabetically by ID
|
// list the elements alphabetically by ID
|
||||||
let element_list = state.assembly.elements.map(
|
let element_list = state.assembly.elements.map(
|
||||||
move |elts| {
|
|elts| elts
|
||||||
let asm_serial = state.assembly_serial.get_untracked();
|
.clone()
|
||||||
elts
|
.into_iter()
|
||||||
.clone()
|
.sorted_by_key(|(_, elt)| elt.id.clone())
|
||||||
.into_iter()
|
.collect()
|
||||||
.sorted_by_key(|(_, elt)| elt.id.clone())
|
|
||||||
.map(|(key, elt)| (asm_serial, key, elt))
|
|
||||||
.collect()
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
@ -201,10 +197,10 @@ pub fn Outline() -> View {
|
|||||||
) {
|
) {
|
||||||
Keyed(
|
Keyed(
|
||||||
list=element_list,
|
list=element_list,
|
||||||
view=|(_, key, elt)| view! {
|
view=|(key, elt)| view! {
|
||||||
ElementOutlineItem(key=key, element=elt)
|
ElementOutlineItem(key=key, element=elt)
|
||||||
},
|
},
|
||||||
key=|(asm_serial, key, _)| (asm_serial.clone(), key.clone())
|
key=|(key, _)| key.clone()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user