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!");
+ }
+}
--
2.47.1
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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