OpenTerminal/public/scripts/main.js

55 lines
1.5 KiB
JavaScript
Raw Normal View History

2023-10-02 11:37:22 +00:00
import * as Terminal from "./terminal.js";
import * as Visual from "./visual.js";
2023-09-30 01:34:43 +00:00
document.addEventListener("DOMContentLoaded", () => {
2023-10-02 11:37:22 +00:00
Visual.bind();
2023-10-02 11:40:48 +00:00
Terminal.start();
2023-10-03 00:21:34 +00:00
const dialog_backdrop = document.getElementById("dialog-backdrop");
const connect_button = document.getElementById("connect");
const connect_dialog = document.getElementById("connect-dialog");
const connect_url = document.getElementById("connect-url");
const connect_submit = document.getElementById("connect-submit");
const connect_close = document.getElementById("connect-close");
connect_url.placeholder = window.location.host;
connect_button.addEventListener("click", () => {
connect_url.value = "";
connect_dialog.classList.add("show");
dialog_backdrop.classList.add("show");
connect_url.focus();
Terminal.set_enable_input(false);
});
connect_submit.addEventListener("click", () => {
connect_close.click();
const new_server = connect_url.value;
if (!new_server) return;
Terminal.connect(new_server);
});
2023-10-03 00:21:34 +00:00
connect_dialog.addEventListener("keydown", event => {
switch (event.key) {
case "Enter":
connect_submit.click();
break;
case "Escape":
connect_close.click();
break;
}
return;
});
connect_close.addEventListener("click", () => {
connect_dialog.classList.remove("show");
dialog_backdrop.classList.remove("show");
Terminal.set_enable_input(true);
});
dialog_backdrop.addEventListener("click", () => {
connect_close.click();
});
2023-09-30 01:34:43 +00:00
});