From 1312c30c7255d6700b75f268d071aef1cdace9b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Kav=C3=ADk?=
Date: Sat, 15 Jun 2024 23:15:28 +0200
Subject: [PATCH 01/17] script_bridge.rs, index.js
---
MoonZoon.toml | 6 +++++-
backend/index.js | 2 ++
backend/src/main.rs | 4 ++++
frontend/src/main.rs | 1 +
frontend/src/script_bridge.rs | 21 +++++++++++++++++++++
5 files changed, 33 insertions(+), 1 deletion(-)
create mode 100644 backend/index.js
create mode 100644 frontend/src/script_bridge.rs
diff --git a/MoonZoon.toml b/MoonZoon.toml
index d53ee41..d06702c 100644
--- a/MoonZoon.toml
+++ b/MoonZoon.toml
@@ -1,7 +1,9 @@
port = 8080
# port = 8443
https = false
-cache_busting = true
+# @TODO how to import `pkg/frontend.js` with enabled cache busting?
+# @TODO add a switch to enable Typescript generator in mzoon?
+cache_busting = false
backend_log_level = "warn" # "error" / "warn" / "info" / "debug" / "trace"
[redirect]
@@ -23,4 +25,6 @@ frontend = [
backend = [
"backend/Cargo.toml",
"backend/src",
+ "backend/index.js",
+ "backend/style.css",
]
diff --git a/backend/index.js b/backend/index.js
new file mode 100644
index 0000000..b1896bc
--- /dev/null
+++ b/backend/index.js
@@ -0,0 +1,2 @@
+import { FW } from '/_api/pkg/frontend.js';
+window.FW = FW;
diff --git a/backend/src/main.rs b/backend/src/main.rs
index 1b86c9a..7043f81 100644
--- a/backend/src/main.rs
+++ b/backend/src/main.rs
@@ -5,6 +5,10 @@ async fn frontend() -> Frontend {
""
+ )).append_to_head(concat!(
+ ""
))
}
diff --git a/frontend/src/main.rs b/frontend/src/main.rs
index e551c3d..847d045 100644
--- a/frontend/src/main.rs
+++ b/frontend/src/main.rs
@@ -2,6 +2,7 @@ use std::rc::Rc;
use zoon::*;
mod platform;
+mod script_bridge;
mod controls_panel;
use controls_panel::ControlsPanel;
diff --git a/frontend/src/script_bridge.rs b/frontend/src/script_bridge.rs
new file mode 100644
index 0000000..027524e
--- /dev/null
+++ b/frontend/src/script_bridge.rs
@@ -0,0 +1,21 @@
+use zoon::{*, println};
+
+#[wasm_bindgen(inline_js = r#"export function strict_eval(code) { return eval?.(`"use strict"; ${code};`) }"#)]
+extern "C" {
+ #[wasm_bindgen(catch)]
+ pub fn strict_eval(code: &str) -> Result;
+}
+
+#[wasm_bindgen]
+pub struct FW;
+
+#[wasm_bindgen]
+impl FW {
+ pub fn do_something() {
+ println!("Command result: {:#?}", strict_eval("FW.do_something_else();"));
+ }
+
+ pub fn do_something_else() {
+ println!("ELSE!");
+ }
+}
From de0f4d8750b45463f89f7e13c5db4d3ed0aa225b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Kav=C3=ADk?=
Date: Sun, 16 Jun 2024 18:29:25 +0200
Subject: [PATCH 02/17] clear_variables
---
backend/src/main.rs | 17 +++++----
frontend/src/controls_panel.rs | 62 +++++++++++++++++++++++++++++++-
frontend/src/main.rs | 9 ++++-
frontend/src/platform/browser.rs | 14 ++++----
frontend/src/script_bridge.rs | 18 ++++++----
frontend/src/waveform_panel.rs | 5 ++-
6 files changed, 98 insertions(+), 27 deletions(-)
diff --git a/backend/src/main.rs b/backend/src/main.rs
index 7043f81..fe6bfd7 100644
--- a/backend/src/main.rs
+++ b/backend/src/main.rs
@@ -1,15 +1,14 @@
use moon::*;
async fn frontend() -> Frontend {
- Frontend::new().title("FastWave").append_to_head(concat!(
- ""
- )).append_to_head(concat!(
- ""
- ))
+ Frontend::new()
+ .title("FastWave")
+ .append_to_head(concat!(""))
+ .append_to_head(concat!(
+ ""
+ ))
}
async fn up_msg_handler(_: UpMsgRequest<()>) {}
diff --git a/frontend/src/controls_panel.rs b/frontend/src/controls_panel.rs
index 69fff23..ad3e215 100644
--- a/frontend/src/controls_panel.rs
+++ b/frontend/src/controls_panel.rs
@@ -1,4 +1,4 @@
-use crate::{platform, Layout};
+use crate::{platform, script_bridge, Layout};
use std::cell::Cell;
use std::mem;
use std::ops::Not;
@@ -108,6 +108,7 @@ impl ControlsPanel {
.item(self.load_button())
.item(self.layout_switcher()),
)
+ .item(self.command_panel())
.item_signal(
self.hierarchy
.signal_cloned()
@@ -256,6 +257,65 @@ impl ControlsPanel {
})
}
+ fn command_panel(&self) -> impl Element {
+ let command_result: Mutable
+
+
+ Javascript commands
+
+
+
+
+ Load and save selected variables
+
+
---
### Install requirements:
diff --git a/docs/video_javascript_commands.gif b/docs/video_javascript_commands.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a16ddeb4f4f4b04ed0c51d9ea19f8cfd0204e49
GIT binary patch
literal 607138
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