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 33ab265153b6372a6e37185acfa6c6691a54f0ab 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. --- css/form.css | 26 +++++++++++ index.html | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++ js/submit.js | 58 +++++++++++++++++++++++++ 3 files changed, 204 insertions(+) create mode 100644 css/form.css create mode 100644 index.html create mode 100644 js/submit.js diff --git a/css/form.css b/css/form.css new file mode 100644 index 0000000..cca0eb5 --- /dev/null +++ b/css/form.css @@ -0,0 +1,26 @@ +form { + width: 80%; + margin: 0 auto; +} +label, +input[type="text"] { + display: inline-block; +} +h2 { + width: 30%; + text-align: right; +} +label { + width: 30%; + text-align: right; +} +label + input[type="text"] { + width: 30%; + margin: 0 30% 0 4%; +} +label + .buttons { + width: 30%; + display: inline-block; + text-align: right; + margin: 0 30% 0 4%; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..d45eed7 --- /dev/null +++ b/index.html @@ -0,0 +1,120 @@ + + + + Lab Data Config Form + + + + + + + +
+
+
+

Lab Data Config Form

+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+
+ + + diff --git a/js/submit.js b/js/submit.js new file mode 100644 index 0000000..90ede7a --- /dev/null +++ b/js/submit.js @@ -0,0 +1,58 @@ +// Submit form. +function submit_form() +{ + var data_elements = document.querySelectorAll("#form_id input[type=text], input[type=number]"); + var data_obj = {}; + for (var i = 0; i < data_elements.length; i++) + { + value = data_elements[i].value; + if (data_elements[i].type == "number") + { + if (data_elements[i].step == "1") + { + value = parseInt(value); + } + else + { + value = parseFloat(value); + } + } + data_obj[data_elements[i].name] = 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; +}