diff --git a/js/2.0.2/evts.js b/js/2.0.2/evts.js
index 4f955ca..d7de4af 100644
--- a/js/2.0.2/evts.js
+++ b/js/2.0.2/evts.js
@@ -78,14 +78,6 @@ function handleOnBlur(t) {
activeState.lastElement = t.id;
}
-function clickClearForm() {
- //document.activeElement.blur();
- //document.getElementById("sidebar").focus();
- clearData("userInput");
- let lT = activeState.loadedTemplate;
- loadTemplate(lT);
-}
-
function hideMenus(evt) {
if (evt === undefined) return;
if (evt != "force" && evt.target.parentElement != null) {
@@ -311,7 +303,6 @@ export {
showTextBlocks,
insertTextBlocks,
handleOnBlur,
- clickClearForm,
modalNotifier,
clickImportFiles,
resetNavBar,
diff --git a/js/2.0.2/files.js b/js/2.0.2/files.js
index 621e052..5024b40 100644
--- a/js/2.0.2/files.js
+++ b/js/2.0.2/files.js
@@ -4,7 +4,7 @@ import {
retrieveData,
} from "./storage.js";
import { loadTemplate } from "./web.js";
-import parseFormOnSubmit from "./parseForm.js";
+import parseForm from "./parseForm.js";
import { copyToClipBoard, modalNotifier, resetNavBar } from "./evts.js";
import { passwordHash } from "./scripts.js";
@@ -153,7 +153,22 @@ function loadFileDivCallBack() {
fileDisplay.appendChild(title);
let div = document.createElement("div");
- let parsedTemplate = parseFormOnSubmit(false, true);
+ let parsedTemplate = parseForm(true);
+
+ if (parsedTemplate == null) {
+ let wrapper = document.createElement("div");
+ wrapper.innerHTML = mainFormPlaceholder("Error: file empty");
+ let div = wrapper.firstChild;
+ parsedTemplate = div;
+ }
+
+ if (parsedTemplate == "") {
+ let wrapper = document.createElement("div");
+ wrapper.innerHTML = mainFormPlaceholder("File empty");
+ let div = wrapper.firstChild;
+ parsedTemplate = div;
+ }
+
div.appendChild(parsedTemplate);
fileDisplay.appendChild(div);
@@ -231,7 +246,7 @@ function clearFileData(storData) {
storeData("templateFiles", newArray);
clearData(fileName);
- clearData("userInput");
+ clearData("userInputForce");
document.getElementById("mainForm").innerHTML = "";
document.getElementById("output").innerHTML = "";
diff --git a/js/2.0.2/form.js b/js/2.0.2/form.js
index b0c15d5..6be250e 100644
--- a/js/2.0.2/form.js
+++ b/js/2.0.2/form.js
@@ -1,9 +1,9 @@
-import { storeData, createStorageObj } from "./storage.js";
+import { retrieveData, storeData, createStorageObj } from "./storage.js";
import parseInput from "./parseTemplate.js";
import transformTemplateObject from "./buildForm.js";
-import { handleOnBlur, modalNotifier } from "./evts.js";
-import parseFormOnSubmit, { parseTextMarkups } from "./parseForm.js";
+import { copyToClipBoard, handleOnBlur, modalNotifier } from "./evts.js";
+import parseForm, { parseTextMarkups } from "./parseForm.js";
import { setTemplatePreset } from "./web.js";
function buildForm(templateInput, loadOnly = false) {
@@ -225,7 +225,7 @@ function formEvts() {
switch (e.target.value) {
case "Copy":
createStorageObj("copy");
- parseFormOnSubmit();
+ copyToClipBoard(parseForm());
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-carrot");
e.target.style.pointerEvents = "none";
e.target.value = "Copied";
@@ -256,15 +256,15 @@ function formEvts() {
document.getElementById("sidebar").addEventListener("click", (e) => {
if (e.target) {
if (e.target.id == "sb-submit") {
- createStorageObj("save");
- parseFormOnSubmit();
+ createStorageObj("copy");
+ copyToClipBoard(parseForm());
modalNotifier("File saved and copied to clipboard", activeState.settings.notifierPause);
}
if (e.target.id == "sb-setform") {
createStorageObj("setform");
- let dataArray = parseFormOnSubmit(true);
+ let dataArray = retrieveData("userInput");
let lT = activeState.loadedTemplate;
- setTemplatePreset(lT, JSON.stringify(dataArray));
+ setTemplatePreset(lT, dataArray);
modalNotifier("Input saved as preset", activeState.settings.notifierPause);
}
if (e.target.id == "sb-item") {
diff --git a/js/2.0.2/init.js b/js/2.0.2/init.js
index d865453..8201bbe 100644
--- a/js/2.0.2/init.js
+++ b/js/2.0.2/init.js
@@ -5,14 +5,15 @@ import {
showTextBlocks,
clickImportFiles,
modalNotifier,
- printVersion
+ printVersion,
+ copyToClipBoard
} from "./evts.js";
import { buildFile } from "./files.js";
import setPassword, {
passwordHash,
inputRead
} from "./scripts.js";
-import parseFormOnSubmit from "./parseForm.js";
+import parseForm from "./parseForm.js";
import { createStorageObj, storeSettings } from "./storage.js";
import { loadNavBar, initTextBlocks, loadNewTemplate } from "./web.js";
@@ -147,7 +148,7 @@ function eventListeners() {
inputRead.read(e);
if (e.ctrlKey && e.key == "s") {
createStorageObj("copy");
- parseFormOnSubmit();
+ copyToClipBoard(parseForm());
modalNotifier("File copied to clipboard", activeState.settings.notifierPause);
let copyButton = document.getElementById("fromCopyBtn");
copyButton.className = "w3-button w3-flat-carrot";
diff --git a/js/2.0.2/parseForm.js b/js/2.0.2/parseForm.js
index c95547d..aa2e351 100644
--- a/js/2.0.2/parseForm.js
+++ b/js/2.0.2/parseForm.js
@@ -1,34 +1,22 @@
-import { copyToClipBoard } from "./evts.js";
-import { storeData, clearData, retrieveData } from "./storage.js";
+import { clearData, retrieveData } from "./storage.js";
-function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
- //event.preventDefault;
+function parseForm(returnDIV = false) {
+ //get user Inout Data from preset or from file
let dataArray = [];
-
- if (parseOnly) {
- let lT = activeState.loadedTemplate;
- dataArray = retrieveData("userInputForce", lT);
-
- if (dataArray == null) {
- let wrapper = document.createElement("div");
- wrapper.innerHTML = mainFormPlaceholder("Error: file empty");
- let div = wrapper.firstChild;
- return div;
- }
-
- if (dataArray.length <= 0) {
- let wrapper = document.createElement("div");
- wrapper.innerHTML = mainFormPlaceholder("File empty");
- let div = wrapper.firstChild;
- return div;
- }
-
+ if (returnDIV) {
+ dataArray = retrieveData("userInputForce");
+ clearData("userInputForce");
} else {
dataArray = retrieveData("userInput");
}
+ //if the decryption went wrong return null
+ if (dataArray == null) return dataArray;
+
+ //if there are no files yet return empty array
+ if (dataArray == []) return "";
//get original objects from sessionstorage gen from loadTemplate
let objects = activeState.templateObjects;
@@ -89,6 +77,7 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
}
}
+ //build final output string by inserting objects
b = fullString.substring(0, objects[0].spos);
for (let i = 0; i < objects.length; i++) {
let j = i + 1;
@@ -106,7 +95,7 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
}
}
- //sanitizing
+ //sanitizing final output string
let bHtml = b;
bHtml = bHtml.replace(/ /g, " ");
bHtml = bHtml.replace(/(?:\r\n|\r|\n)/g, "
");
@@ -122,6 +111,7 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
bHtml = bHtml.replace(/!ls /g, " ○ ");
}
+ //creating output div
let divContent = document.createElement("div");
divContent.style.fontFamily = activeState.settings.font + ", Helvetica, sans-serif";
divContent.style.fontSize = activeState.settings.fontSize;
@@ -132,17 +122,10 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
div.id = "fileDisplay";
div.appendChild(divContent);
- if (parseOnly) {
+ if (returnDIV) {
return div;
- }
-
- storeData("userInput", dataArray);
- clearData("userInput");
-
- if (returnJSON) {
- return dataArray;
} else {
- copyToClipBoard(bHtml);
+ return bHtml;
}
}
@@ -387,8 +370,5 @@ function loadTextBlocks() {
return textBlocksObject;
}
- function mainFormPlaceholder(msg) {
- return "
" + msg + "