started implementing linebreak

This commit is contained in:
maru21 2023-09-30 21:48:26 +02:00
parent 9a2af80f43
commit 87ec93e209
2 changed files with 36 additions and 10 deletions

View File

@ -16,6 +16,7 @@ window.activeState = {
fileName: "", fileName: "",
lastElement: "", lastElement: "",
serverFilesTs: "", serverFilesTs: "",
lineBreak: 80,
templates: [], templates: [],
templateFieldTypes: [ templateFieldTypes: [
"simpleInput", "simpleInput",

View File

@ -260,24 +260,29 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
i = i - 1; i = i - 1;
break; break;
default: default:
if (boldFlag) { if (boldFlag) {
dataArray[i] = "<b>" + dataArray[i] + "</b>"; dataArray[i] = "<b>" + dataArray[i] + "</b>";
boldFlag = false; boldFlag = false;
continue; continue;
} }
//check if list indicator has been set and adjust userInput accordingly
let listIndicator = "";
if (listNumberFlag) { if (listNumberFlag) {
dataArray[i] = " " + listNumberFlagNum + ". " + dataArray[i]; listIndicator = " " + listNumberFlagNum + ". ";
listNumberFlagNum++; listNumberFlagNum++;
continue;
}
if (listSubFlag) {
dataArray[i] = " ○ " + dataArray[i];
continue;
}
if (listFlag) {
dataArray[i] = " • " + dataArray[i];
continue;
} }
if (listSubFlag && listIndicator == "") listIndicator = " ○ ";
if (listFlag && listIndicator == "") listIndicator = " • ";
//handle global linebreak and fit according to indicator according to list indicator
if (listIndicator != "") dataArray[i] = parseLineBreak(listIndicator + dataArray[i], listIndicator.length);
} }
} }
return dataArray.join("\n"); return dataArray.join("\n");
@ -312,6 +317,26 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
return data; return data;
} }
function parseLineBreak(line, intendation = 0) {
return line;
//very much in development no idea yet
let lines;
if (line.length > activeState.lineBreak) {
while(line.length > activeState.lineBreak) {
let intendationSpaces = '';
if (intendation != 0) intendationSpaces = ' '.repeat(intendation);
lines = lines + "\n" + intendationSpaces + line.substring(0, activeState.lineBreak-intendation);
line = line.substring(activeState.lineBreak-intendation);
}
} else {
lines = line;
}
return lines;
}
function loadTextBlocks() { function loadTextBlocks() {
let textBlocks = document.getElementById("textBlocks").innerText; let textBlocks = document.getElementById("textBlocks").innerText;