mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-04-29 12:06:01 +02:00
faa89850d0
* chore(deps): replace dependency eslint-config-standard-with-typescript with eslint-config-love 43.1.0 * actually apply the rules lol * rebuild --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: FabianLars <fabianlars@fabianlars.de>
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import WebSocket from "tauri-plugin-websocket-api";
|
|
import "./style.css";
|
|
|
|
let ws: WebSocket;
|
|
|
|
document.addEventListener("DOMContentLoaded", async () => {
|
|
document.querySelector("#send")?.addEventListener("click", send);
|
|
document.querySelector("#disconnect")?.addEventListener("click", disconnect);
|
|
await connect();
|
|
});
|
|
|
|
function _updateResponse(returnValue: unknown) {
|
|
const msg = document.createElement("p");
|
|
msg.textContent =
|
|
typeof returnValue === "string" ? returnValue : JSON.stringify(returnValue);
|
|
document.querySelector("#response-container")?.appendChild(msg);
|
|
}
|
|
|
|
async function connect() {
|
|
try {
|
|
ws = await WebSocket.connect("ws://127.0.0.1:8080").then((r) => {
|
|
_updateResponse("Connected");
|
|
return r;
|
|
});
|
|
} catch (e) {
|
|
_updateResponse(e);
|
|
}
|
|
ws.addListener(_updateResponse);
|
|
}
|
|
|
|
function send() {
|
|
ws.send(document.querySelector("#msg-input")?.textContent || "")
|
|
.then(() => {
|
|
_updateResponse("Message sent");
|
|
})
|
|
.catch(_updateResponse);
|
|
}
|
|
|
|
function disconnect() {
|
|
ws.disconnect()
|
|
.then(() => {
|
|
_updateResponse("Disconnected");
|
|
})
|
|
.catch(_updateResponse);
|
|
}
|
|
|
|
document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
|
|
<div>
|
|
<input type="text" />
|
|
<button id="send">send</button>
|
|
<button id="disconnect">disconnect</button>
|
|
<div id="response-container"></div>
|
|
</div>
|
|
`;
|