"use strict"; let form = null; let nutrition = null; console.log('bye') window.onload = function(evt) { console.log('hi') var html = `` for (var table in data) { var s = `` for (var idx in data[table]) { let tag = table + '|' + idx s += ` ` } html += `
${table}${s}
` } html += `
Dressing amount


` nutrition = document.getElementById('nutrition') form = document.getElementById('form') form.innerHTML = html form.addEventListener('change', function() { let total = calculateNutrition() var s = ` Calories: ${total.calories}
Carbohydrates (g): ${total.total_carbs}
Dietary fiber (g): ${total.dietary_fiber}
Fat (g): ${total.total_fat}
Protein (g): ${total.protein}
` nutrition.innerHTML = s }) } let multipliers = {'none': 0, 'light': 1, 'medium': 2, 'heavy': 3} function calculateNutrition() { let total = {} let dressingAmount = form.elements['dressing-amount'].value || 'none' for (var el of document.querySelectorAll('input:checked')) { if (el.getAttribute('type') == 'radio') { continue } let tag = el.getAttribute('x-ingredient') let table = tag.split('|')[0] let idx = tag.split('|')[1] let row = data[table][idx] for (var [name, val] of Object.entries(row)) { if (typeof val == 'string') { continue } if (!total[name]) { total[name] = 0 } let multiplier = 1 if (table == 'Dressings') { multiplier = multipliers[dressingAmount] } if (multiplier > 0) { total[name] += multiplier*val } } } return total }