From 66166e26b88b96629c4b6dd3fb63ae32c465d84a Mon Sep 17 00:00:00 2001 From: jrtechs Date: Tue, 30 Apr 2019 19:33:37 -0400 Subject: [PATCH] Created input method for activities JSON files. --- fitbitVisualizer.html | 79 +++++++++++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/fitbitVisualizer.html b/fitbitVisualizer.html index 74f7296..adbb0ec 100644 --- a/fitbitVisualizer.html +++ b/fitbitVisualizer.html @@ -15,9 +15,15 @@
+
+
+ + + +
@@ -60,40 +66,69 @@ } - function handleFileSelect(evt) + function generateTimeline(jsonFiles) { - var files = evt.target.files; // FileList object + console.log(jsonFiles); + } - var promises = []; - for (var i = 0, f; f = files[i]; i++) + function fetchFilesAsJSONArray(evt) + { + return new Promise((res, rej)=> { - promises.push(new Promise((resolve, reject)=> - { - var reader = new FileReader(); + var files = evt.target.files; // FileList object - reader.onload = function(e) - { - resolve(JSON.parse(reader.result)); - }; + var promises = []; - reader.onerror= function(e) + for (var i = 0, f; f = files[i]; i++) + { + promises.push(new Promise((resolve, reject)=> { - reject(e); - }; - reader.readAsBinaryString(files[i]); - })); - } - Promise.all(promises).then((data)=> + var reader = new FileReader(); + + reader.onload = function(e) + { + resolve(JSON.parse(reader.result)); + }; + + reader.onerror= function(e) + { + reject(e); + }; + reader.readAsBinaryString(files[i]); + })); + } + Promise.all(promises).then((data)=> + { + res(data); + }).catch((error)=> + { + console.log(error); + console.log("Unable to Load Data"); + rej(error); + }) + }); + } + + + function handleFileSelect(evt) + { + fetchFilesAsJSONArray(evt).then((data)=> { generateHeartRateGraph(data); - }).catch((error)=> - { - console.log(error); - console.log("Unable to Load Data"); }) } document.getElementById('files').addEventListener('change', handleFileSelect, false); + + + function handleFileSelectEvents(evt) + { + fetchFilesAsJSONArray(evt).then((data)=> + { + generateTimeline(data); + }) + } + document.getElementById('actFiles').addEventListener('change', handleFileSelectEvents, false);