automatically hide WaveformPanel

This commit is contained in:
Martin Kavík 2024-06-18 19:56:03 +02:00
parent 4a385dbc64
commit 220e6d19bd

View file

@ -65,22 +65,29 @@ fn root() -> impl Element {
layout.clone(), layout.clone(),
loaded_filename, loaded_filename,
)) ))
.item_signal( .item_signal({
layout let hierarchy = hierarchy.clone();
.signal() let selected_var_refs = selected_var_refs.clone();
.map(|layout| matches!(layout, Layout::Tree)) map_ref!{
.map_true( let layout = layout.signal(),
clone!((hierarchy, selected_var_refs) move || WaveformPanel::new( let hierarchy_is_some = hierarchy.signal_ref(Option::is_some) => {
(*hierarchy_is_some && matches!(layout, Layout::Tree)).then(clone!((hierarchy, selected_var_refs) move || WaveformPanel::new(
hierarchy.clone(), hierarchy.clone(),
selected_var_refs.clone(), selected_var_refs.clone(),
)), )))
), }
), }
}),
) )
.item_signal( .item_signal(
layout map_ref!{
.signal() let layout = layout.signal(),
.map(|layout| matches!(layout, Layout::Columns)) let hierarchy_is_some = hierarchy.signal_ref(Option::is_some) => {
.map_true(move || WaveformPanel::new(hierarchy.clone(), selected_var_refs.clone())), (*hierarchy_is_some && matches!(layout, Layout::Columns)).then(clone!((hierarchy, selected_var_refs) move || WaveformPanel::new(
hierarchy.clone(),
selected_var_refs.clone(),
)))
}
}
) )
} }