From 4545656c31baf8027f162870c6774463a38e78bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kav=C3=ADk?= Date: Mon, 17 Jun 2024 19:36:44 +0200 Subject: [PATCH] loaded_filename --- frontend/src/header_panel.rs | 2 +- frontend/src/main.rs | 3 ++- frontend/src/script_bridge.rs | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/src/header_panel.rs b/frontend/src/header_panel.rs index 7898c34..9777a0e 100644 --- a/frontend/src/header_panel.rs +++ b/frontend/src/header_panel.rs @@ -140,7 +140,7 @@ impl HeaderPanel { platform::pick_and_load_waveform(Some(file)).await { loaded_filename.set_neq(Some(filename)); - hierarchy.set(Some(Rc::new(platform::get_hierarchy().await))) + hierarchy.set(Some(Arc::new(platform::get_hierarchy().await))) } }) }) diff --git a/frontend/src/main.rs b/frontend/src/main.rs index a54a5e9..8f8ddc5 100644 --- a/frontend/src/main.rs +++ b/frontend/src/main.rs @@ -26,6 +26,7 @@ type Filename = String; struct Store { selected_var_refs: MutableVec, hierarchy: Mutable>>, + loaded_filename: Mutable>, } static STORE: Lazy = lazy::default(); @@ -43,7 +44,7 @@ fn root() -> impl Element { let hierarchy = STORE.hierarchy.clone(); let selected_var_refs = STORE.selected_var_refs.clone(); let layout: Mutable = <_>::default(); - let loaded_filename: Mutable> = <_>::default(); + let loaded_filename = STORE.loaded_filename.clone(); Column::new() .s(Height::fill()) .s(Scrollbars::y_and_clip_x()) diff --git a/frontend/src/script_bridge.rs b/frontend/src/script_bridge.rs index 139e2f2..0dcf94a 100644 --- a/frontend/src/script_bridge.rs +++ b/frontend/src/script_bridge.rs @@ -49,8 +49,9 @@ impl FW { 0 } - pub fn loaded_filename() -> String { - format!("todo loaded filename") + /// JS: `FW.loaded_filename()` -> `simple.vcd` + pub fn loaded_filename() -> Option { + STORE.loaded_filename.get_cloned() } /// JS: `FW.selected_vars()` -> `["simple_tb.s.A", "simple_tb.s.B"]`