export var disableForm = function(form, disabled) { form.querySelectorAll('button,input').forEach(el => { el.disabled = disabled; }); form.classList.toggle('disabled', disabled); }; export var updateList = function(selector, strings) { var ul = document.querySelector(selector); ul.textContent = ''; for (let s of strings) { var li = document.createElement('li'); li.textContent = s; ul.append(li); } }; export var updateOptionList = function(selector, options) { var ul = document.querySelector(selector); ul.textContent = ''; for (let word of options) { var li = document.createElement('li'); var label = document.createElement('label'); var radio = document.createElement('input'); radio.type = 'radio'; radio.name = 'pick'; radio.value = word; label.textContent = word; label.prepend(radio); li.append(label); ul.append(li); } }; export var updateScoreTable = function(selector, scores) { // TODO crazy animation var sorted = Object.entries(scores).sort((a, b) => a[1] > b[1] ? -1 : a[1] == b[1] ? 0 : 1); var table = document.querySelector(selector); table.textContent = ''; for (let [name, score] of sorted) { var tr = document.createElement('tr'); var th = document.createElement('th'); th.textContent = name; tr.append(th); var td = document.createElement('td'); td.textContent = score; tr.append(td); table.append(tr); } }; export var setView = function(id) { Array.prototype.forEach.call(document.body.children, el => { el.hidden = el.id !== id; }); };