Skip to content

Instantly share code, notes, and snippets.

@ViralTaco
Created December 3, 2019 22:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ViralTaco/7d81e4a621806b6f947b1ab0b4f4868b to your computer and use it in GitHub Desktop.
Save ViralTaco/7d81e4a621806b6f947b1ab0b4f4868b to your computer and use it in GitHub Desktop.
function age(bdate) {
const dateNow = Date.now()
const birthday = new Date(bdate)
if (birthday > dateNow) {
return NaN
} else {
const difference = new Date(dateNow - birthday)
return difference.getFullYear() - 1970
}
}
function decorate(element, dict) {
var text = '<tr><th>name</th><th>birthday</th><th>age</th></tr>'
for (row of dict) {
text += '<tr>'
text += '<td>' + row.name + '</td>'
text += '<td>' + row.date + '</td>'
text += '<td>' + age(row.date) + '</td>'
text += '</tr>'
}
element.innerHTML = text
}
function fileHandler(elementEvent) {
const content = document.getElementById('table')
const element = elementEvent.srcElement
var reader = new FileReader()
reader.onloadend = (file) => {
const parsed = JSON.parse(file.target.result)
decorate(content, parsed)
}
reader.readAsText(element.files[0])
}
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('file').addEventListener('change', () => {
fileHandler(event)
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment