From 378b401ce8727353b70a5a49f6749a078f55440d Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Thu, 28 Jul 2016 10:11:37 -0400 Subject: [PATCH 1/2] Disable Jekyll. --- .nojekyll | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .nojekyll diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 From 838d0d6741aedd0e1dafceb419270f0a245fd0a7 Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Thu, 28 Jul 2016 14:25:57 -0400 Subject: [PATCH 2/2] Create a webpage to fill out the config file and download as JSON. --- index.html | 35 +++++++++++++++++++++++++++++++++++ js/submit.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 index.html create mode 100644 js/submit.js diff --git a/index.html b/index.html new file mode 100644 index 0000000..2bf347e --- /dev/null +++ b/index.html @@ -0,0 +1,35 @@ + + + Lab Data Config Form + + + + + + +
+
+
+

Lab Data Config Form

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/js/submit.js b/js/submit.js new file mode 100644 index 0000000..e7ad41e --- /dev/null +++ b/js/submit.js @@ -0,0 +1,46 @@ +// Submit form. +function submit_form() +{ + var data_elements = document.querySelectorAll("#form_id input[type=text]"); + var data_obj = {}; + for (var i = 0; i < data_elements.length; i++) + { + data_obj[data_elements[i].name] = data_elements[i].value; + } + if (validate_data(data_obj)) // Calling validation function + { + var textToSave = JSON.stringify(data_obj, null, 4); + var textToSaveAsBlob = new Blob([textToSave], {type:"text/plain"}); + var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob); + var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value; + + var downloadLink = document.createElement("a"); + downloadLink.download = fileNameToSaveAs; + downloadLink.innerHTML = "Download File"; + downloadLink.href = textToSaveAsURL; + downloadLink.onclick = destroyClickedElement; + downloadLink.style.display = "none"; + document.body.appendChild(downloadLink); + + downloadLink.click(); + } +} + +function destroyClickedElement(event) +{ + document.body.removeChild(event.target); +} + +// Data validation function. +function validate_data(a_data_obj) +{ + for (var key in a_data_obj.length) + { + if (a_data_obj[key] === '') + { + alert("Please fill all fields...!!!!!!"); + } + } + + return true; +}