ProxmoxAAS-Dashboard/node.js

58 lines
1.9 KiB
JavaScript
Raw Normal View History

class Node extends HTMLElement {
2022-12-11 07:05:31 +00:00
constructor () { // <link rel="stylesheet" href="style.css" type="text/css">
super();
let shadowRoot = this.attachShadow({mode: "open"});
2022-12-11 07:05:31 +00:00
let nodeArticle = document.createElement("article");
shadowRoot.append(nodeArticle);
2022-12-11 07:05:31 +00:00
let styleLink = document.createElement("link");
styleLink.rel = "stylesheet";
styleLink.href = "style.css";
styleLink.type = "text/css";
shadowRoot.append(styleLink);
2022-12-11 07:05:31 +00:00
this.shadowElement = shadowRoot;
}
2022-12-11 07:05:31 +00:00
set data (data) {
let articleElement = this.shadowElement.querySelector("article");
2022-12-11 07:05:31 +00:00
let nodeName = document.createElement("h2");
nodeName.innerText = data.node;
articleElement.append(nodeName);
let onlineLabel = document.createElement("h3");
onlineLabel.innerText = data.status;
onlineLabel.style.color = data.status === "online" ? "#00ff00" : "#ff0000";
articleElement.append(onlineLabel);
}
2022-12-11 23:06:10 +00:00
set qemu (qemu) {
let articleElement = this.shadowElement.querySelector("article");
let qemuDiv = document.createElement("div");
for (let i = 0; i < qemu.length; i++) {
let instanceParagraph = document.createElement("p");
2022-12-12 04:01:32 +00:00
instanceParagraph.innerText = `VM | ${qemu[i].vmid} | ${qemu[i].name} | ${qemu[i].status}`;
instanceParagraph.style.color = qemu[i].status == "running" ? "#00ff00" : "#ff0000";
2022-12-11 23:06:10 +00:00
qemuDiv.append(instanceParagraph);
}
articleElement.append(qemuDiv);
}
set lxc (lxc) {
let articleElement = this.shadowElement.querySelector("article");
let lxcDiv = document.createElement("div");
for (let i = 0; i < lxc.length; i++) {
let instanceParagraph = document.createElement("p");
2022-12-12 04:02:39 +00:00
instanceParagraph.innerText = `CT | ${lxc[i].vmid} | ${lxc[i].name} | ${lxc[i].status}`;
2022-12-12 04:01:32 +00:00
instanceParagraph.style.color = lxc[i].status == "running" ? "#00ff00" : "#ff0000";
2022-12-11 23:06:10 +00:00
lxcDiv.append(instanceParagraph);
}
articleElement.append(lxcDiv);
}
}
customElements.define("node-card", Node);