-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsave.js
48 lines (39 loc) · 1.82 KB
/
save.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
async function saveData(){
let inputs = document.querySelectorAll("input, textarea") // Gibt eine Liste aller Input-Felder incl. Checkboxen und Textarea Felder wieder
let jsonObj = {} // Erzeugt ein JSON-Objekt
for (let i = 0; i < inputs.length; i++){ // Iteriert alle Input Felder in o.g. Liste
let currentInput = inputs[i] // Gibt das aktuelle Input Feld zurück
let value = (currentInput.value); // Gibt den eingetragenen Input zurück
let key = (currentInput.id); // Gibt die ID des Input feldes zurück
if (key.includes("checkbox") || key.includes("SampleNumber")){ // Sonderfall Checkbox
value = currentInput.checked}; // true wenn Checkbox angekreuzt wurde
jsonObj[key] = value}; // JSON OBJ - KEY = ID; VALUE = USER INPUT
//console.log(jsonObj)
let toc = document.getElementById("TOC").value; // DROPDOWN Auswahlmenüs
jsonObj["TOC"] = toc
let Probenahme = document.getElementById("Probenahme").value;
jsonObj["Probenahme"] = Probenahme
let ZW = document.getElementById("ZW").value;
jsonObj["ZW"] = ZW
let jsonText = JSON.stringify(jsonObj) // JSON Objekt wird zu String konvertiert
//console.log(jsonText)
const opts = { // Objekt für Speicherdialog (Nur JSON-Format zulässig)
types: [
{
description: "Json",
accept: {
"json/*": [".json"],
},
},
],
excludeAcceptAllOption: true,
multiple: false,
};
const newHandle = await window.showSaveFilePicker(opts);
// create a FileSystemWritableFileStream to write to
const writableStream = await newHandle.createWritable();
// write our file
await writableStream.write(jsonText);
// close the file and write the contents to disk.
await writableStream.close();
}