fixed parsedonsubmit and default userInput
implemented ts_copy
This commit is contained in:
parent
e15a291498
commit
aa6b528147
@ -39,7 +39,10 @@ function createTemplate(template = false) {
|
||||
let outputDiv = document.getElementById("output");
|
||||
let submitContainerDiv = document.getElementById("submitContainer");
|
||||
let sidebarDiv = document.getElementById("sidebar");
|
||||
|
||||
let fileInfoDiv = document.getElementById("outputInfo");
|
||||
|
||||
fileInfoDiv.innerHTML = "";
|
||||
fileInfoDiv.replaceWith(fileInfoDiv.cloneNode(true));
|
||||
mainFormDiv.innerHTML = "";
|
||||
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
||||
outputDiv.innerHTML = "";
|
||||
|
||||
@ -88,28 +88,6 @@ function loadFileDiv(fileName, template, pos) {
|
||||
storeData("userInputForce", retrieveData(fileName, template));
|
||||
|
||||
loadTemplate(template, false, true);
|
||||
|
||||
//append TS info
|
||||
let fileInfoDiv = document.getElementById("outputInfo");
|
||||
let tF = retrieveData("templateFiles");
|
||||
|
||||
console.log(tF[pos].metadata.ts_save.current_date);
|
||||
|
||||
let tsCreate = tF[pos].metadata.ts_create;
|
||||
tsCreate = tsCreate.current_time_long+" "+tsCreate.current_date+"."+tsCreate.current_year;
|
||||
let created = "";
|
||||
if (tsCreate != undefined) {
|
||||
created = "created at: "+tsCreate;
|
||||
}
|
||||
|
||||
let tsSave = tF[pos].metadata.ts_save;
|
||||
tsSave = tsSave.current_time_long+" "+tsSave.current_date+"."+tsSave.current_year;
|
||||
let lastSaved = "";
|
||||
if (tF[pos].metadata.ts_save != "") {
|
||||
lastSaved = " | last saved at: "+tsSave;
|
||||
}
|
||||
fileInfoDiv.innerHTML = "<p>"+created+lastSaved+" | template: "+template+"</p>";
|
||||
fileInfoDiv.style.display = "block";
|
||||
|
||||
}
|
||||
|
||||
@ -180,12 +158,42 @@ function loadFileDivCallBack() {
|
||||
|
||||
fileDisplay.appendChild(div);
|
||||
|
||||
let ts = document.createElement("p");
|
||||
ts.innerHTML = ""
|
||||
|
||||
//fileDisplay.appendChild(ts);
|
||||
document.getElementById("mainForm").appendChild(fileDisplay);
|
||||
|
||||
//append TS info
|
||||
let fileInfoDiv = document.getElementById("outputInfo");
|
||||
|
||||
let pos = "";
|
||||
tF = retrieveData("templateFiles")
|
||||
for (let tFi of tF) {
|
||||
if (tFi.fileName == fN) {
|
||||
pos = parseInt(tFi.pos);
|
||||
}
|
||||
}
|
||||
|
||||
let tsCreate = tF[pos].metadata.ts_create;
|
||||
tsCreate = tsCreate.current_time_long+" "+tsCreate.current_date+"."+tsCreate.current_year;
|
||||
let created = "";
|
||||
if (tF[pos].metadata.ts_create != undefined) {
|
||||
created = "<p>Created at: "+tsCreate+"</p>";
|
||||
}
|
||||
|
||||
let tsSave = tF[pos].metadata.ts_save;
|
||||
tsSave = tsSave.current_time_long+" "+tsSave.current_date+"."+tsSave.current_year;
|
||||
let lastSaved = "";
|
||||
if (tF[pos].metadata.ts_save != "") {
|
||||
lastSaved = "<p>Last saved at: "+tsSave+"</p>";
|
||||
}
|
||||
|
||||
let tsCopy = tF[pos].metadata.ts_copy;
|
||||
tsCopy = tsCopy.current_time_long+" "+tsCopy.current_date+"."+tsCopy.current_year;
|
||||
let lastCopy = "";
|
||||
if (tF[pos].metadata.ts_copy != "") {
|
||||
lastCopy = "<p>Last copied at: "+tsCopy+"</p>";
|
||||
}
|
||||
fileInfoDiv.innerHTML = "<p><b>Fileinformation:</b></p>"+created+lastSaved+lastCopy+"<p>Template: "+lT+"</p>";
|
||||
fileInfoDiv.style.display = "block";
|
||||
|
||||
//fix min height of file display
|
||||
try {
|
||||
document.getElementById("fileDisplay").style.cssText = "min-height: 300px;";
|
||||
@ -227,6 +235,7 @@ function clearFileData(storData) {
|
||||
|
||||
document.getElementById("mainForm").innerHTML = "";
|
||||
document.getElementById("output").innerHTML = "";
|
||||
document.getElementById("outputInfo").innerHTML = "";
|
||||
document.getElementById("submitContainer").innerHTML = "";
|
||||
document.getElementById("sidebar").innerHTML = "";
|
||||
document.getElementById("mainForm").innerHTML = mainFormPlaceholder();
|
||||
|
||||
@ -80,7 +80,7 @@ function buildForm(templateInput, loadOnly = false) {
|
||||
let outputDiv = document.getElementById("output");
|
||||
let submitContainerDiv = document.getElementById("submitContainer");
|
||||
let sidebarDiv = document.getElementById("sidebar");
|
||||
//sidebarDiv.replaceWith(sidebarDiv.cloneNode(true));
|
||||
let fileInfoDiv = document.getElementById("outputInfo");
|
||||
|
||||
mainFormDiv.innerHTML = "";
|
||||
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
||||
@ -89,6 +89,9 @@ function buildForm(templateInput, loadOnly = false) {
|
||||
submitContainerDiv.innerHTML = "";
|
||||
submitContainerDiv.replaceWith(submitContainerDiv.cloneNode(true));
|
||||
sidebarDiv.innerHTML = "";
|
||||
fileInfoDiv.innerHTML = "";
|
||||
fileInfoDiv.replaceWith(fileInfoDiv.cloneNode(true));
|
||||
fileInfoDiv.style.display = "none";
|
||||
|
||||
//finally build html code for Form and siddebar and add it to dom if needed
|
||||
if (loadOnly) {return};
|
||||
@ -221,7 +224,7 @@ function formEvts() {
|
||||
if (e.target && e.target.tagName === "INPUT") {
|
||||
switch (e.target.value) {
|
||||
case "Copy":
|
||||
createStorageObj();
|
||||
createStorageObj("copy");
|
||||
parseFormOnSubmit();
|
||||
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-carrot");
|
||||
e.target.style.pointerEvents = "none";
|
||||
@ -234,7 +237,7 @@ function formEvts() {
|
||||
}, 5000);
|
||||
break;
|
||||
case "Save":
|
||||
createStorageObj();
|
||||
createStorageObj("save");
|
||||
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-nephritis");
|
||||
e.target.style.pointerEvents = "none";
|
||||
modalNotifier(activeState.fileName + " saved", activeState.settings.notifierPause);
|
||||
@ -253,10 +256,12 @@ function formEvts() {
|
||||
document.getElementById("sidebar").addEventListener("click", (e) => {
|
||||
if (e.target) {
|
||||
if (e.target.id == "sb-submit") {
|
||||
createStorageObj("save");
|
||||
parseFormOnSubmit();
|
||||
modalNotifier("File saved and copied to clipboard", activeState.settings.notifierPause);
|
||||
}
|
||||
if (e.target.id == "sb-setform") {
|
||||
createStorageObj("setform");
|
||||
let dataArray = parseFormOnSubmit(true);
|
||||
let lT = activeState.loadedTemplate;
|
||||
setTemplatePreset(lT, JSON.stringify(dataArray));
|
||||
|
||||
@ -146,7 +146,7 @@ function eventListeners() {
|
||||
if (activeState.activePage == "template") {
|
||||
inputRead.read(e);
|
||||
if (e.ctrlKey && e.key == "s") {
|
||||
createStorageObj();
|
||||
createStorageObj("copy");
|
||||
parseFormOnSubmit();
|
||||
modalNotifier("File copied to clipboard", activeState.settings.notifierPause);
|
||||
let copyButton = document.getElementById("fromCopyBtn");
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { sanitize } from "./scripts.js";
|
||||
import { storeData, clearData, retrieveData } from "./storage.js";
|
||||
import { storeData, clearData, retrieveData, setCurrentFileName } from "./storage.js";
|
||||
|
||||
function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
|
||||
//event.preventDefault;
|
||||
@ -25,26 +24,7 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
|
||||
}
|
||||
|
||||
} else {
|
||||
let x = document.getElementById("mainFormObj");
|
||||
|
||||
if (x != null) {
|
||||
for (let i = 0; i < x.length; i++) {
|
||||
dataArray.push({
|
||||
value: x.elements[i].value,
|
||||
name: x.elements[i].name,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//set filename to active state according to userFileName field from loadTemplate
|
||||
let userFileNameField = document.getElementById("userFileName");
|
||||
let userFileName = sanitize(userFileNameField.value);
|
||||
let userFileNamePH = userFileNameField.getAttribute("placeholder");
|
||||
if (userFileName.length != 0) {
|
||||
activeState.fileName = userFileName;
|
||||
} else if (userFileNamePH != null) {
|
||||
activeState.fileName = userFileNamePH;
|
||||
}
|
||||
dataArray = retrieveData("userInput");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -175,7 +175,7 @@ export const inputRead = {
|
||||
i.classList.add("fa", "fa-save");
|
||||
this.target.appendChild(i);
|
||||
this.lastExecId = setTimeout(() => {
|
||||
createStorageObj();
|
||||
createStorageObj("save");
|
||||
this.target.style.borderBottom = "none";
|
||||
this.target.innerHTML = "";
|
||||
let i = document.createElement("i");
|
||||
|
||||
@ -32,7 +32,10 @@ const buildSettings = () => {
|
||||
let outputDiv = document.getElementById("output");
|
||||
let submitContainerDiv = document.getElementById("submitContainer");
|
||||
let sidebarDiv = document.getElementById("sidebar");
|
||||
let fileInfoDiv = document.getElementById("outputInfo");
|
||||
|
||||
fileInfoDiv.innerHTML = "";
|
||||
fileInfoDiv.replaceWith(fileInfoDiv.cloneNode(true));
|
||||
mainFormDiv.innerHTML = "";
|
||||
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
||||
outputDiv.innerHTML = "";
|
||||
|
||||
@ -52,7 +52,7 @@ function debug(mode, key, data) {
|
||||
return data;
|
||||
}
|
||||
|
||||
function createStorageObj() {
|
||||
function createStorageObj(ref = "none") {
|
||||
let x = document.getElementById("mainFormObj");
|
||||
let dataArray = [];
|
||||
if (x == null) {
|
||||
@ -66,20 +66,8 @@ function createStorageObj() {
|
||||
}
|
||||
|
||||
//console.log(this, dataArray);
|
||||
|
||||
let userFileNameField = document.getElementById("userFileName");
|
||||
let userFileName = sanitize(userFileNameField.value);
|
||||
let userFileNamePH = userFileNameField.getAttribute("placeholder");
|
||||
if (userFileName.length != 0) {
|
||||
activeState.fileName = userFileName;
|
||||
//clear old data as file switches to new filename
|
||||
if (userFileNamePH.length != 0) {
|
||||
clearData(userFileNamePH);
|
||||
popFromTemplateFiles(userFileNamePH);
|
||||
}
|
||||
} else if (userFileNamePH.length != 0) {
|
||||
activeState.fileName = userFileNamePH;
|
||||
}
|
||||
//set current filename according to filenamefield
|
||||
setCurrentFileName();
|
||||
|
||||
//set savetime in templateFiles
|
||||
if (activeState.fileName != "") {
|
||||
@ -88,7 +76,15 @@ function createStorageObj() {
|
||||
let c = 0;
|
||||
for (let tFi of tF) {
|
||||
if (tFi.fileName == activeState.fileName) {
|
||||
tF[c].metadata.ts_save = getCurrentDate();
|
||||
switch (ref) {
|
||||
case "save":
|
||||
tF[c].metadata.ts_save = getCurrentDate();
|
||||
break;
|
||||
case "copy":
|
||||
console.log("copy");
|
||||
tF[c].metadata.ts_copy = getCurrentDate();
|
||||
break;
|
||||
}
|
||||
storeData("templateFiles", tF);
|
||||
}
|
||||
c += 1;
|
||||
@ -119,11 +115,10 @@ function storeData(name, data) {
|
||||
function retrieveData(name, template = "none") {
|
||||
if (passwordHash == "") return null;
|
||||
if (name == "userInput") {
|
||||
let tF = retrieveData("templateFiles");
|
||||
if (tF == null) {
|
||||
return [];
|
||||
if (activeState.fileName != "") {
|
||||
name = activeState.fileName;
|
||||
} else {
|
||||
name = tF[tF.length - 1].fileName;
|
||||
return [];
|
||||
}
|
||||
}
|
||||
if (name == "userInputForce") {
|
||||
@ -172,7 +167,7 @@ function clearData(name, template = "none") {
|
||||
store.removeItem(key);
|
||||
}
|
||||
|
||||
function getFileName(ref = "none") {
|
||||
function getFileName() {
|
||||
let currentFileName = activeState.fileName;
|
||||
let lT = activeState.loadedTemplate;
|
||||
if (currentFileName == "none" || currentFileName == "") {
|
||||
@ -185,13 +180,13 @@ function getFileName(ref = "none") {
|
||||
const metadata = {
|
||||
ts_create: getCurrentDate(),
|
||||
ts_save: "",
|
||||
ts_copy: "",
|
||||
id: cyrb53(currentFileName),
|
||||
};
|
||||
|
||||
if (tF.length != 0) {
|
||||
for (let tFi of tF) {
|
||||
if (tFi.fileName == currentFileName) {
|
||||
console.log("found", tFi);
|
||||
return currentFileName;
|
||||
}
|
||||
}
|
||||
@ -199,7 +194,7 @@ function getFileName(ref = "none") {
|
||||
fileName: currentFileName,
|
||||
template: lT,
|
||||
metadata: metadata,
|
||||
pos: tF.length - 1,
|
||||
pos: tF.length,
|
||||
});
|
||||
} else {
|
||||
tF = [
|
||||
@ -316,6 +311,23 @@ function clearStorage() {
|
||||
store.clear();
|
||||
}
|
||||
|
||||
function setCurrentFileName() {
|
||||
activeState.fileName = "";
|
||||
let userFileNameField = document.getElementById("userFileName");
|
||||
let userFileName = sanitize(userFileNameField.value);
|
||||
let userFileNamePH = userFileNameField.getAttribute("placeholder");
|
||||
if (userFileName.length != 0) {
|
||||
activeState.fileName = userFileName;
|
||||
//clear old data as file switches to new filename
|
||||
if (userFileNamePH.length != 0) {
|
||||
clearData(userFileNamePH);
|
||||
popFromTemplateFiles(userFileNamePH);
|
||||
}
|
||||
} else if (userFileNamePH.length != 0) {
|
||||
activeState.fileName = userFileNamePH;
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
createStorageObj,
|
||||
storeData,
|
||||
@ -326,4 +338,5 @@ export {
|
||||
importBookShelf,
|
||||
storeSettings,
|
||||
clearStorage,
|
||||
setCurrentFileName
|
||||
};
|
||||
|
||||
@ -1 +1 @@
|
||||
[{"value":"Folgetermin Sozialdienst","name":"Termin_Sozialdienst"},{"value":"Pat.","name":"Involvierte_Personen"},{"value":"","name":"Eintrag_in_Listenform"},{"value":"!none","name":"Procedere_einblenden"},{"value":"","name":"cl-Procedere:!l"}]
|
||||
[{"value":"Folgetermin Sozialdienst","name":"Termin_Sozialdienst"},{"value":"Pat.","name":"Involvierte_Personen"},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":"Eintrag_in_Listenform"},{"value":"!none","name":"Procedere_einblenden"},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":""},{"value":"","name":"cl-Procedere:!l"}]
|
||||
Loading…
Reference in New Issue
Block a user