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 outputDiv = document.getElementById("output");
|
||||||
let submitContainerDiv = document.getElementById("submitContainer");
|
let submitContainerDiv = document.getElementById("submitContainer");
|
||||||
let sidebarDiv = document.getElementById("sidebar");
|
let sidebarDiv = document.getElementById("sidebar");
|
||||||
|
let fileInfoDiv = document.getElementById("outputInfo");
|
||||||
|
|
||||||
|
fileInfoDiv.innerHTML = "";
|
||||||
|
fileInfoDiv.replaceWith(fileInfoDiv.cloneNode(true));
|
||||||
mainFormDiv.innerHTML = "";
|
mainFormDiv.innerHTML = "";
|
||||||
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
||||||
outputDiv.innerHTML = "";
|
outputDiv.innerHTML = "";
|
||||||
|
|||||||
@ -89,28 +89,6 @@ function loadFileDiv(fileName, template, pos) {
|
|||||||
|
|
||||||
loadTemplate(template, false, true);
|
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";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadFileDivCallBack() {
|
function loadFileDivCallBack() {
|
||||||
@ -180,12 +158,42 @@ function loadFileDivCallBack() {
|
|||||||
|
|
||||||
fileDisplay.appendChild(div);
|
fileDisplay.appendChild(div);
|
||||||
|
|
||||||
let ts = document.createElement("p");
|
|
||||||
ts.innerHTML = ""
|
|
||||||
|
|
||||||
//fileDisplay.appendChild(ts);
|
|
||||||
document.getElementById("mainForm").appendChild(fileDisplay);
|
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
|
//fix min height of file display
|
||||||
try {
|
try {
|
||||||
document.getElementById("fileDisplay").style.cssText = "min-height: 300px;";
|
document.getElementById("fileDisplay").style.cssText = "min-height: 300px;";
|
||||||
@ -227,6 +235,7 @@ function clearFileData(storData) {
|
|||||||
|
|
||||||
document.getElementById("mainForm").innerHTML = "";
|
document.getElementById("mainForm").innerHTML = "";
|
||||||
document.getElementById("output").innerHTML = "";
|
document.getElementById("output").innerHTML = "";
|
||||||
|
document.getElementById("outputInfo").innerHTML = "";
|
||||||
document.getElementById("submitContainer").innerHTML = "";
|
document.getElementById("submitContainer").innerHTML = "";
|
||||||
document.getElementById("sidebar").innerHTML = "";
|
document.getElementById("sidebar").innerHTML = "";
|
||||||
document.getElementById("mainForm").innerHTML = mainFormPlaceholder();
|
document.getElementById("mainForm").innerHTML = mainFormPlaceholder();
|
||||||
|
|||||||
@ -80,7 +80,7 @@ function buildForm(templateInput, loadOnly = false) {
|
|||||||
let outputDiv = document.getElementById("output");
|
let outputDiv = document.getElementById("output");
|
||||||
let submitContainerDiv = document.getElementById("submitContainer");
|
let submitContainerDiv = document.getElementById("submitContainer");
|
||||||
let sidebarDiv = document.getElementById("sidebar");
|
let sidebarDiv = document.getElementById("sidebar");
|
||||||
//sidebarDiv.replaceWith(sidebarDiv.cloneNode(true));
|
let fileInfoDiv = document.getElementById("outputInfo");
|
||||||
|
|
||||||
mainFormDiv.innerHTML = "";
|
mainFormDiv.innerHTML = "";
|
||||||
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
||||||
@ -89,6 +89,9 @@ function buildForm(templateInput, loadOnly = false) {
|
|||||||
submitContainerDiv.innerHTML = "";
|
submitContainerDiv.innerHTML = "";
|
||||||
submitContainerDiv.replaceWith(submitContainerDiv.cloneNode(true));
|
submitContainerDiv.replaceWith(submitContainerDiv.cloneNode(true));
|
||||||
sidebarDiv.innerHTML = "";
|
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
|
//finally build html code for Form and siddebar and add it to dom if needed
|
||||||
if (loadOnly) {return};
|
if (loadOnly) {return};
|
||||||
@ -221,7 +224,7 @@ function formEvts() {
|
|||||||
if (e.target && e.target.tagName === "INPUT") {
|
if (e.target && e.target.tagName === "INPUT") {
|
||||||
switch (e.target.value) {
|
switch (e.target.value) {
|
||||||
case "Copy":
|
case "Copy":
|
||||||
createStorageObj();
|
createStorageObj("copy");
|
||||||
parseFormOnSubmit();
|
parseFormOnSubmit();
|
||||||
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-carrot");
|
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-carrot");
|
||||||
e.target.style.pointerEvents = "none";
|
e.target.style.pointerEvents = "none";
|
||||||
@ -234,7 +237,7 @@ function formEvts() {
|
|||||||
}, 5000);
|
}, 5000);
|
||||||
break;
|
break;
|
||||||
case "Save":
|
case "Save":
|
||||||
createStorageObj();
|
createStorageObj("save");
|
||||||
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-nephritis");
|
e.target.className = e.target.className.replace(" w3-grey", " w3-flat-nephritis");
|
||||||
e.target.style.pointerEvents = "none";
|
e.target.style.pointerEvents = "none";
|
||||||
modalNotifier(activeState.fileName + " saved", activeState.settings.notifierPause);
|
modalNotifier(activeState.fileName + " saved", activeState.settings.notifierPause);
|
||||||
@ -253,10 +256,12 @@ function formEvts() {
|
|||||||
document.getElementById("sidebar").addEventListener("click", (e) => {
|
document.getElementById("sidebar").addEventListener("click", (e) => {
|
||||||
if (e.target) {
|
if (e.target) {
|
||||||
if (e.target.id == "sb-submit") {
|
if (e.target.id == "sb-submit") {
|
||||||
|
createStorageObj("save");
|
||||||
parseFormOnSubmit();
|
parseFormOnSubmit();
|
||||||
modalNotifier("File saved and copied to clipboard", activeState.settings.notifierPause);
|
modalNotifier("File saved and copied to clipboard", activeState.settings.notifierPause);
|
||||||
}
|
}
|
||||||
if (e.target.id == "sb-setform") {
|
if (e.target.id == "sb-setform") {
|
||||||
|
createStorageObj("setform");
|
||||||
let dataArray = parseFormOnSubmit(true);
|
let dataArray = parseFormOnSubmit(true);
|
||||||
let lT = activeState.loadedTemplate;
|
let lT = activeState.loadedTemplate;
|
||||||
setTemplatePreset(lT, JSON.stringify(dataArray));
|
setTemplatePreset(lT, JSON.stringify(dataArray));
|
||||||
|
|||||||
@ -146,7 +146,7 @@ function eventListeners() {
|
|||||||
if (activeState.activePage == "template") {
|
if (activeState.activePage == "template") {
|
||||||
inputRead.read(e);
|
inputRead.read(e);
|
||||||
if (e.ctrlKey && e.key == "s") {
|
if (e.ctrlKey && e.key == "s") {
|
||||||
createStorageObj();
|
createStorageObj("copy");
|
||||||
parseFormOnSubmit();
|
parseFormOnSubmit();
|
||||||
modalNotifier("File copied to clipboard", activeState.settings.notifierPause);
|
modalNotifier("File copied to clipboard", activeState.settings.notifierPause);
|
||||||
let copyButton = document.getElementById("fromCopyBtn");
|
let copyButton = document.getElementById("fromCopyBtn");
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import { sanitize } from "./scripts.js";
|
import { storeData, clearData, retrieveData, setCurrentFileName } from "./storage.js";
|
||||||
import { storeData, clearData, retrieveData } from "./storage.js";
|
|
||||||
|
|
||||||
function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
|
function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
|
||||||
//event.preventDefault;
|
//event.preventDefault;
|
||||||
@ -25,26 +24,7 @@ function parseFormOnSubmit(returnJSON = false, parseOnly = false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
let x = document.getElementById("mainFormObj");
|
dataArray = retrieveData("userInput");
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -175,7 +175,7 @@ export const inputRead = {
|
|||||||
i.classList.add("fa", "fa-save");
|
i.classList.add("fa", "fa-save");
|
||||||
this.target.appendChild(i);
|
this.target.appendChild(i);
|
||||||
this.lastExecId = setTimeout(() => {
|
this.lastExecId = setTimeout(() => {
|
||||||
createStorageObj();
|
createStorageObj("save");
|
||||||
this.target.style.borderBottom = "none";
|
this.target.style.borderBottom = "none";
|
||||||
this.target.innerHTML = "";
|
this.target.innerHTML = "";
|
||||||
let i = document.createElement("i");
|
let i = document.createElement("i");
|
||||||
|
|||||||
@ -32,7 +32,10 @@ const buildSettings = () => {
|
|||||||
let outputDiv = document.getElementById("output");
|
let outputDiv = document.getElementById("output");
|
||||||
let submitContainerDiv = document.getElementById("submitContainer");
|
let submitContainerDiv = document.getElementById("submitContainer");
|
||||||
let sidebarDiv = document.getElementById("sidebar");
|
let sidebarDiv = document.getElementById("sidebar");
|
||||||
|
let fileInfoDiv = document.getElementById("outputInfo");
|
||||||
|
|
||||||
|
fileInfoDiv.innerHTML = "";
|
||||||
|
fileInfoDiv.replaceWith(fileInfoDiv.cloneNode(true));
|
||||||
mainFormDiv.innerHTML = "";
|
mainFormDiv.innerHTML = "";
|
||||||
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
mainFormDiv.replaceWith(mainFormDiv.cloneNode(true));
|
||||||
outputDiv.innerHTML = "";
|
outputDiv.innerHTML = "";
|
||||||
|
|||||||
@ -52,7 +52,7 @@ function debug(mode, key, data) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createStorageObj() {
|
function createStorageObj(ref = "none") {
|
||||||
let x = document.getElementById("mainFormObj");
|
let x = document.getElementById("mainFormObj");
|
||||||
let dataArray = [];
|
let dataArray = [];
|
||||||
if (x == null) {
|
if (x == null) {
|
||||||
@ -66,20 +66,8 @@ function createStorageObj() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//console.log(this, dataArray);
|
//console.log(this, dataArray);
|
||||||
|
//set current filename according to filenamefield
|
||||||
let userFileNameField = document.getElementById("userFileName");
|
setCurrentFileName();
|
||||||
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 savetime in templateFiles
|
//set savetime in templateFiles
|
||||||
if (activeState.fileName != "") {
|
if (activeState.fileName != "") {
|
||||||
@ -88,7 +76,15 @@ function createStorageObj() {
|
|||||||
let c = 0;
|
let c = 0;
|
||||||
for (let tFi of tF) {
|
for (let tFi of tF) {
|
||||||
if (tFi.fileName == activeState.fileName) {
|
if (tFi.fileName == activeState.fileName) {
|
||||||
|
switch (ref) {
|
||||||
|
case "save":
|
||||||
tF[c].metadata.ts_save = getCurrentDate();
|
tF[c].metadata.ts_save = getCurrentDate();
|
||||||
|
break;
|
||||||
|
case "copy":
|
||||||
|
console.log("copy");
|
||||||
|
tF[c].metadata.ts_copy = getCurrentDate();
|
||||||
|
break;
|
||||||
|
}
|
||||||
storeData("templateFiles", tF);
|
storeData("templateFiles", tF);
|
||||||
}
|
}
|
||||||
c += 1;
|
c += 1;
|
||||||
@ -119,11 +115,10 @@ function storeData(name, data) {
|
|||||||
function retrieveData(name, template = "none") {
|
function retrieveData(name, template = "none") {
|
||||||
if (passwordHash == "") return null;
|
if (passwordHash == "") return null;
|
||||||
if (name == "userInput") {
|
if (name == "userInput") {
|
||||||
let tF = retrieveData("templateFiles");
|
if (activeState.fileName != "") {
|
||||||
if (tF == null) {
|
name = activeState.fileName;
|
||||||
return [];
|
|
||||||
} else {
|
} else {
|
||||||
name = tF[tF.length - 1].fileName;
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (name == "userInputForce") {
|
if (name == "userInputForce") {
|
||||||
@ -172,7 +167,7 @@ function clearData(name, template = "none") {
|
|||||||
store.removeItem(key);
|
store.removeItem(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFileName(ref = "none") {
|
function getFileName() {
|
||||||
let currentFileName = activeState.fileName;
|
let currentFileName = activeState.fileName;
|
||||||
let lT = activeState.loadedTemplate;
|
let lT = activeState.loadedTemplate;
|
||||||
if (currentFileName == "none" || currentFileName == "") {
|
if (currentFileName == "none" || currentFileName == "") {
|
||||||
@ -185,13 +180,13 @@ function getFileName(ref = "none") {
|
|||||||
const metadata = {
|
const metadata = {
|
||||||
ts_create: getCurrentDate(),
|
ts_create: getCurrentDate(),
|
||||||
ts_save: "",
|
ts_save: "",
|
||||||
|
ts_copy: "",
|
||||||
id: cyrb53(currentFileName),
|
id: cyrb53(currentFileName),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (tF.length != 0) {
|
if (tF.length != 0) {
|
||||||
for (let tFi of tF) {
|
for (let tFi of tF) {
|
||||||
if (tFi.fileName == currentFileName) {
|
if (tFi.fileName == currentFileName) {
|
||||||
console.log("found", tFi);
|
|
||||||
return currentFileName;
|
return currentFileName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -199,7 +194,7 @@ function getFileName(ref = "none") {
|
|||||||
fileName: currentFileName,
|
fileName: currentFileName,
|
||||||
template: lT,
|
template: lT,
|
||||||
metadata: metadata,
|
metadata: metadata,
|
||||||
pos: tF.length - 1,
|
pos: tF.length,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
tF = [
|
tF = [
|
||||||
@ -316,6 +311,23 @@ function clearStorage() {
|
|||||||
store.clear();
|
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 {
|
export {
|
||||||
createStorageObj,
|
createStorageObj,
|
||||||
storeData,
|
storeData,
|
||||||
@ -326,4 +338,5 @@ export {
|
|||||||
importBookShelf,
|
importBookShelf,
|
||||||
storeSettings,
|
storeSettings,
|
||||||
clearStorage,
|
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