-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
Communication.svelte
41 lines (35 loc) · 936 Bytes
/
Communication.svelte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<script>
import { listen, emit } from "@tauri-apps/api/event";
import { invoke } from "@tauri-apps/api/tauri";
export let onMessage;
listen("rust-event", onMessage);
function log() {
invoke("log_operation", {
event: "tauri-click",
payload: "this payload is optional because we used Option in Rust",
});
}
function performRequest() {
invoke("perform_request", {
endpoint: "dummy endpoint arg",
body: {
id: 5,
name: "test",
},
})
.then(onMessage)
.catch(onMessage);
}
function emitEvent() {
emit("js-event", "this is the payload string");
}
</script>
<div>
<button class="button" id="log" on:click={log}>Call Log API</button>
<button class="button" id="request" on:click={performRequest}>
Call Request (async) API
</button>
<button class="button" id="event" on:click={emitEvent}>
Send event to Rust
</button>
</div>