mirror of
https://github.com/xoseperez/espurna.git
synced 2026-03-09 01:37:06 +01:00
remove leftover manual template merge, idForContainer() should just use template-id data key group add event now checks that instead, raising alert when number is greater than max ref. #2610
83 lines
2.1 KiB
JavaScript
83 lines
2.1 KiB
JavaScript
import {
|
|
fromSchema,
|
|
groupSettingsOnAdd,
|
|
variableListeners,
|
|
} from './settings.mjs';
|
|
|
|
import { addFromTemplate } from './template.mjs';
|
|
import { moreElem } from './core.mjs';
|
|
import { sendAction } from './connection.mjs';
|
|
|
|
function addNode(cfg, showMore) {
|
|
const container = document.getElementById("networks");
|
|
addFromTemplate(container, "network-config", cfg);
|
|
|
|
if ((showMore === undefined) || showMore) {
|
|
moreElem(container.lastChild)
|
|
}
|
|
}
|
|
|
|
function scanResult(values) {
|
|
let loading = document.querySelector("div.scan.loading");
|
|
loading.style.display = "none";
|
|
|
|
for (let button of document.querySelectorAll(".button-wifi-scan")) {
|
|
button.disabled = false;
|
|
}
|
|
|
|
let table = document.getElementById("scanResult");
|
|
table.style.display = "table";
|
|
|
|
let [results] = table.tBodies;
|
|
let row = results.insertRow();
|
|
for (let value of values) {
|
|
let cell = row.insertCell();
|
|
cell.appendChild(document.createTextNode(value));
|
|
}
|
|
}
|
|
|
|
function scanStart(event) {
|
|
event.preventDefault();
|
|
|
|
let [results] = document.getElementById("scanResult").tBodies;
|
|
while (results.rows.length) {
|
|
results.deleteRow(0);
|
|
}
|
|
|
|
let loading = document.querySelector("div.scan.loading");
|
|
loading.style.display = "inherit";
|
|
|
|
for (let button of document.querySelectorAll(".button-wifi-scan")) {
|
|
button.disabled = true;
|
|
}
|
|
|
|
sendAction("scan");
|
|
}
|
|
|
|
function listeners() {
|
|
return {
|
|
"wifiConfig": (_, value) => {
|
|
const container = document.getElementById("networks");
|
|
container.dataset["settingsMax"] = value.max;
|
|
|
|
value.networks.forEach((entries) => {
|
|
addNode(fromSchema(entries, value.schema), false);
|
|
});
|
|
},
|
|
"scanResult": (_, value) => {
|
|
scanResult(value);
|
|
},
|
|
};
|
|
}
|
|
|
|
export function init() {
|
|
variableListeners(listeners());
|
|
|
|
groupSettingsOnAdd("networks", () => {
|
|
addNode();
|
|
});
|
|
|
|
document.querySelector(".button-wifi-scan")
|
|
.addEventListener("click", scanStart);
|
|
}
|