web interface constructor

This commit is contained in:
Dmitry Borisenko
2020-08-21 02:34:38 +03:00
parent e0d0e30e93
commit 0485feeabe
23 changed files with 760 additions and 28 deletions

View File

@@ -1,9 +1,13 @@
#include "DeviceList.h"
static const char* firstLine PROGMEM = "Удалить;Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета";
static const char* firstLine PROGMEM = "Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета";
void addElement(String name) {
String item = readFile("items/" + name + ".txt", 1024);
item.replace("id", "id" + String(getNewElementNumber("id.txt")));
item.replace("order", String(getNewElementNumber("order.txt")));
item.replace("\r\n", "");
item.replace("\r", "");
item.replace("\n", "");
@@ -13,29 +17,52 @@ void addElement(String name) {
void delAllElement() {
removeFile("conf.csv");
addFile("conf.csv", String(firstLine));
removeFile("id.txt");
removeFile("order.txt");
}
int getNewElementNumber(String file) {
int number = readFile(file, 100).toInt();
number++;
removeFile(file);
addFile(file, String(number));
return number;
}
void do_delElement() {
if (delElementFlag) {
delElementFlag = false;
delElement();
delElement(itemsFile, itemsLine);
}
}
void delElement() {
File configFile = LittleFS.open("/conf.csv", "r");
void delElement(String _itemsFile, String _itemsLine) {
File configFile = LittleFS.open("/" + _itemsFile, "r");
if (!configFile) {
return;
}
configFile.seek(0, SeekSet); //поставим курсор в начало файла
configFile.seek(0, SeekSet);
String finalConf;
int count = -1;
while (configFile.position() != configFile.size()) {
count++;
String item = configFile.readStringUntil('\n');
if (selectToMarker(item, ";") == "0") {
finalConf += "\n" + item;
Serial.print(_itemsLine);
Serial.print(" ");
Serial.println(count);
if (count != _itemsLine.toInt()) {
if (count == 0) {
finalConf += item;
} else {
finalConf += "\n" + item;
}
}
}
removeFile("conf.csv");
addFile("conf.csv", String(firstLine) + "\n" + finalConf);
removeFile(_itemsFile);
addFile(_itemsFile, finalConf);
Serial.println(finalConf);
itemsFile = "";
itemsLine = "";
configFile.close();
}
}