1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- var specials = [];
- specials["ap_ssid"] = "SSID name";
- specials["ap_password"] = "PASSWORD";
- specials["ap_maxconn"] = "Max Connections number";
- specials["ap_beacon"] = "Beacon Interval";
- function changeWifiMode(m) {
- blockScan = 1;
- hideWarning();
- ajaxSpin("POST", "setmode?mode=" + m, function(resp) {
- showNotification("Mode changed");
- window.setTimeout(getWifiInfo, 100);
- blockScan = 0;
- }, function(s, st) {
- showWarning("Error changing mode: " + st);
- window.setTimeout(getWifiInfo, 100);
- blockScan = 0;
- });
- }
- function changeApSettings(e) {
- e.preventDefault();
- var url = "/wifi/apchange?100=1";
- var i, inputs = document.querySelectorAll("#" + e.target.id + " input,select");
- for (i = 0; i < inputs.length; i++) {
- if (inputs[i].type == "checkbox") {
- var val = (inputs[i].checked) ? 1 : 0;
- url += "&" + inputs[i].name + "=" + val;
- } else {
- var clean = inputs[i].value.replace(/[^!-~]/g, "");
- var comp = clean.localeCompare(inputs[i].value);
- if ( comp != 0 ){
- showWarning("Invalid characters in " + specials[inputs[i].name]);
- return;
- }
- url += "&" + inputs[i].name + "=" + clean;
- }
- };
- hideWarning();
- var n = e.target.id.replace("-form", "");
- var cb = $("#" + n + "-button");
- addClass(cb, "pure-button-disabled");
- ajaxSpin("POST", url, function (resp) {
- showNotification(n + " updated");
- removeClass(cb, "pure-button-disabled");
- window.setTimeout(getWifiInfo, 100);
- }, function (s, st) {
- showWarning(st);
- removeClass(cb, "pure-button-disabled");
- window.setTimeout(fetchApSettings, 2000);
- });
- }
- function displayApSettings(data) {
- Object.keys(data).forEach(function (v) {
- el = $("#" + v);
- if (el != null) {
- if (el.nodeName === "INPUT") el.value = data[v];
- else el.innerHTML = data[v];
- return;
- }
- el = document.querySelector('input[name="' + v + '"]');
- if (el == null)
- el = document.querySelector('select[name="' + v + '"]');
- if (el != null) {
- if (el.type == "checkbox") {
- el.checked = data[v] == "enabled";
- } else el.value = data[v];
- }
- });
- $("#AP_Settings-spinner").setAttribute("hidden", "");
- $("#AP_Settings-form").removeAttribute("hidden");
- showWarning("Don't modify SOFTAP parameters with active connections");
- window.setTimeout(hideWarning(), 2000);
- }
- function fetchApSettings() {
- ajaxJson("GET", "/wifi/apinfo", displayApSettings, function () {
- window.setTimeout(fetchApSettings, 1000);
- });
- }
|