From 87ec93e2096ea2ca19b8d0627b19b444b2507b51 Mon Sep 17 00:00:00 2001 From: maru21 Date: Sat, 30 Sep 2023 21:48:26 +0200 Subject: [PATCH] started implementing linebreak --- js/9.7/init.js | 1 + js/9.7/parseForm.js | 45 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/js/9.7/init.js b/js/9.7/init.js index a4d8aa1..e1cb74f 100644 --- a/js/9.7/init.js +++ b/js/9.7/init.js @@ -16,6 +16,7 @@ window.activeState = { fileName: "", lastElement: "", serverFilesTs: "", + lineBreak: 80, templates: [], templateFieldTypes: [ "simpleInput", diff --git a/js/9.7/parseForm.js b/js/9.7/parseForm.js index 2f77141..8265443 100644 --- a/js/9.7/parseForm.js +++ b/js/9.7/parseForm.js @@ -260,24 +260,29 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) { i = i - 1; break; default: + if (boldFlag) { dataArray[i] = "" + dataArray[i] + ""; boldFlag = false; continue; } + + //check if list indicator has been set and adjust userInput accordingly + let listIndicator = ""; + if (listNumberFlag) { - dataArray[i] = " " + listNumberFlagNum + ". " + dataArray[i]; + listIndicator = " " + 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"); @@ -312,6 +317,26 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) { 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() { let textBlocks = document.getElementById("textBlocks").innerText;