add basic xternjs functionality

This commit is contained in:
2023-02-14 05:14:33 +00:00
parent d902277635
commit eb26054c74
13 changed files with 916 additions and 3 deletions

View File

@@ -24,6 +24,7 @@ export class Instance extends HTMLElement {
<div class="btn-group">
<img id="power-btn">
<img id="configure-btn" alt="change instance configuration">
<img id="console-btn" alt="connect to instance console or display">
</div>
</article>
`;
@@ -73,9 +74,16 @@ export class Instance extends HTMLElement {
configButton.title = instances[this.status].configButtonAlt;
configButton.addEventListener("click", this.handleConfigButton.bind(this));
let consoleButton = this.shadowElement.querySelector("#console-btn");
consoleButton.src = instances[this.status].consoleButtonSrc;
consoleButton.alt = instances[this.status].consoleButtonAlt;
consoleButton.title = instances[this.status].consoleButtonAlt;
consoleButton.addEventListener("click", this.handleConsoleButton.bind(this));
if (this.node.status !== "online") {
powerButton.classList.add("hidden");
configButton.classList.add("hidden");
consoleButton.classList.add("hidden");
}
}
@@ -120,6 +128,12 @@ export class Instance extends HTMLElement {
goToPage("config.html", {node: this.node.name, type: this.type, vmid: this.vmid});
}
}
handleConsoleButton () {
if (this.status === "running") {
goToPage("pve-xtermjs/index.html", {type: this.type, vmid: this.vmid, name: this.name, node: this.node.name, user: "alu@ldap", url: "pve.tronnet.net/api2/json"});
}
}
}
export class Dialog extends HTMLElement {

View File

@@ -37,19 +37,25 @@ export const instances = {
powerButtonSrc: "images/actions/stop.svg",
powerButtonAlt: "Shutdown Instance",
configButtonSrc: "images/actions/config-inactive.svg",
configButtonAlt: "Configuration Disabled"
configButtonAlt: "Configuration Disabled",
consoleButtonSrc: "images/actions/console-active.svg",
consoleButtonAlt: "Open Console"
},
stopped: {
powerButtonSrc: "images/actions/start.svg",
powerButtonAlt: "Start Instance",
configButtonSrc: "images/actions/config-active.svg",
configButtonAlt: "Configure Instance"
configButtonAlt: "Configure Instance",
consoleButtonSrc: "images/actions/console-inactive.svg",
consoleButtonAlt: "Console Inactive"
},
loading: {
powerButtonSrc: "images/actions/loading.svg",
powerButtonAlt: "Loading Instance",
configButtonSrc: "images/actions/config-inactive.svg",
configButtonAlt: "Configuration Disabled"
configButtonAlt: "Configuration Disabled",
consoleButtonSrc: "images/actions/console-inactive.svg",
consoleButtonAlt: "Console Inactive"
}
}