61 lines
2.3 KiB
TypeScript
61 lines
2.3 KiB
TypeScript
import { Controller } from "./main";
|
|
|
|
export class NetworkConfigView {
|
|
setScanResult(ssidList: SSIDList) {
|
|
this.ssidlist.innerHTML = ''
|
|
for (var ssid of ssidList.ssids) {
|
|
var wi = document.createElement("option");
|
|
wi.value = ssid;
|
|
this.ssidlist.appendChild(wi);
|
|
}
|
|
}
|
|
private readonly ap_ssid: HTMLInputElement;
|
|
private readonly ssid: HTMLInputElement;
|
|
private readonly password: HTMLInputElement;
|
|
private readonly mqtt_url: HTMLInputElement;
|
|
private readonly base_topic: HTMLInputElement;
|
|
private readonly ssidlist: HTMLElement;
|
|
|
|
constructor(controller: Controller, publicIp: string) {
|
|
(document.getElementById("network_view") as HTMLElement).innerHTML = require('./network.html') as string;
|
|
|
|
(document.getElementById("remote_ip") as HTMLElement).innerText = publicIp;
|
|
|
|
this.ap_ssid = (document.getElementById("ap_ssid") as HTMLInputElement);
|
|
this.ap_ssid.onchange = controller.configChanged
|
|
|
|
this.ssid = (document.getElementById("ssid") as HTMLInputElement);
|
|
this.ssid.onchange = controller.configChanged
|
|
this.password = (document.getElementById("password") as HTMLInputElement);
|
|
this.password.onchange = controller.configChanged
|
|
this.mqtt_url = document.getElementById("mqtt_url") as HTMLInputElement;
|
|
this.mqtt_url.onchange = controller.configChanged
|
|
this.base_topic = document.getElementById("base_topic") as HTMLInputElement;
|
|
this.base_topic.onchange = controller.configChanged
|
|
|
|
this.ssidlist = document.getElementById("ssidlist") as HTMLElement
|
|
|
|
let scanWifiBtn = document.getElementById("scan") as HTMLButtonElement;
|
|
scanWifiBtn.onclick = function (){
|
|
controller.scanWifi();
|
|
}
|
|
}
|
|
|
|
setConfig(network: NetworkConfig) {
|
|
this.ap_ssid.value = network.ap_ssid;
|
|
this.ssid.value = network.ssid;
|
|
this.password.value = network.password;
|
|
this.mqtt_url.value = network.mqtt_url;
|
|
this.base_topic.value = network.base_topic;
|
|
}
|
|
|
|
getConfig(): NetworkConfig {
|
|
return {
|
|
ap_ssid: this.ap_ssid.value,
|
|
ssid: this.ssid.value ?? null,
|
|
password: this.password.value ?? null,
|
|
mqtt_url: this.mqtt_url.value ?? null,
|
|
base_topic: this.base_topic.value ?? null
|
|
}
|
|
}
|
|
} |