Update script.js to allow filler to use multiple forms

This commit is contained in:
fvanroie 2022-05-08 04:14:50 +02:00
parent 00919d7f05
commit 3338b86974
6 changed files with 17 additions and 17 deletions

View File

@ -40,9 +40,8 @@ function loader(e, t, o) {
});
}
function fill() {
(data = JSON.parse(this.response)),
(form = document.forms.item(0)),
populate(form, data);
data = JSON.parse(this.response);
for (const form of document.forms) populate(form, data);
}
function filler(e, t) {
window.addEventListener("load", function () {

Binary file not shown.

View File

@ -297,9 +297,6 @@ void debug_get_tag(uint8_t tag, char* buffer)
case TAG_OTA:
memcpy_P(buffer, PSTR("OTA "), 5);
break;
case TAG_FWUP:
memcpy_P(buffer, PSTR("FWUP"), 5);
break;
case TAG_LVGL:
memcpy_P(buffer, PSTR("LVGL"), 5);

View File

@ -182,8 +182,6 @@ enum {
TAG_FILE = 31,
TAG_GPIO = 40,
TAG_FWUP = 50,
TAG_ETH = 60,
TAG_WIFI = 61,
TAG_HTTP = 62,

View File

@ -90,9 +90,9 @@ const char MAIN_MENU_BUTTON[] PROGMEM = "<a href='/'>" D_HTTP_MAIN_MENU "</a>";
const char HTTP_DOCTYPE[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta charset='utf-8'><meta "
"name=\"viewport\" content=\"width=device-width,initial-scale=1\"/>";
const char HTTP_META_GO_BACK[] PROGMEM = "<meta http-equiv='refresh' content='%d;url=/'/>";
const char HTTP_STYLESHEET[] PROGMEM = "<link rel=\"stylesheet\" href=\"/%s.css\">";
const char HTTP_HEADER[] PROGMEM = "<title>%s</title>";
const char HTTP_HEADER_END[] PROGMEM =
"<script src=\"/script.js\"></script><link rel=\"stylesheet\" href=\"/vars.css\">"
const char HTTP_HEADER_END[] PROGMEM = "<script src=\"/script.js\"></script>"
"<link rel=\"stylesheet\" href=\"/style.css\"></head><body><div id='doc'>";
const char HTTP_FOOTER[] PROGMEM = "<div class='clear'><hr/><a class='foot' href='/about'>" D_MANUFACTURER " ";
const char HTTP_END[] PROGMEM = " " D_HTTP_FOOTER "</div></body></html>";
@ -219,6 +219,7 @@ static void webSendHeader(const char* nodename, uint32_t httpdatalength, uint8_t
uint32_t contentLength = strlen(haspDevice.get_version()); // version length
contentLength += sizeof(HTTP_DOCTYPE) - 1;
contentLength += sizeof(HTTP_HEADER) - 1 - 2 + strlen(nodename); // -2 for %s
contentLength += sizeof(HTTP_STYLESHEET) - 1 - 2 + strlen("vars"); // -2 for %s
if(gohome > 0) {
snprintf_P(buffer, sizeof(buffer), HTTP_META_GO_BACK, gohome);
contentLength += strlen(buffer); // gohome
@ -241,6 +242,9 @@ static void webSendHeader(const char* nodename, uint32_t httpdatalength, uint8_t
#endif
webServer.sendContent(buffer); // gohome
snprintf_P(buffer, sizeof(buffer), HTTP_STYLESHEET, "vars");
webServer.sendContent(buffer); // stylesheet
snprintf_P(buffer, sizeof(buffer), HTTP_HEADER, nodename);
webServer.sendContent(buffer); // 17-2+len
}
@ -1230,7 +1234,7 @@ static void webHandleGuiConfig()
// Backlight Pin
int8_t bcklpin = settings[FPSTR(FP_GUI_BACKLIGHTPIN)].as<int8_t>();
httpMessage += F("<div class='row'><div class='col-25'><label for='group'>Backlight Control</label></div>");
httpMessage += F("<div class='row'><div class='col-25'><label for='group'>Backlight Pin</label></div>");
httpMessage += F("<div class='col-75'><select id='bckl' name='bckl'>");
httpMessage += getOption(-1, F("None"), bcklpin);
#if defined(ARDUINO_ARCH_ESP32)
@ -2048,11 +2052,13 @@ static void webHandleFirmware()
httpMessage += FPSTR(MAIN_MENU_BUTTON);
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 20);
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 50);
webServer.sendContent(httpMessage);
}
webSendFooter();
dispatch_web_update(NULL, url.c_str(), TAG_HTTP);
return;
} else {
// Send Firmware page
String httpMessage((char*)0);

View File

@ -1306,7 +1306,7 @@ void webHandleGuiConfig(AsyncWebServerRequest* request)
httpMessage += F("><b>Show Pointer</b>");
int8_t bcklpin = settings[FPSTR(FP_GUI_BACKLIGHTPIN)].as<int8_t>();
httpMessage += F("<p><b>Backlight Control</b> <select id='bckl' name='bckl'>");
httpMessage += F("<p><b>Backlight Pin</b> <select id='bckl' name='bckl'>");
httpMessage += getOption(-1, F("None"), bcklpin == -1);
#if defined(ARDUINO_ARCH_ESP32)
add_gpio_select_option(httpMessage, 5, bcklpin); // D8 on ESP32 for D1 mini 32