const InputComponents = (() => { setInputEvents(); function setInputEvents() { // Make the checkboxes toggleable let checkboxes = document.getElementsByClassName("checkbox"); for (let i=0; i<checkboxes.length; i++) { Events.on("click", checkboxes[i], toggleBox); } } function toggleBox(event) { if (event.target.classList.contains("checked")) event.target.classList.remove("checked"); else event.target.classList.add("checked"); } function createNumber(id, label) { let element = document.createElement("label"); let inputEl = document.createElement("input"); inputEl.id = id; inputEl.type = "number"; element.innerHTML = label; element.appendChild(inputEl); return element; } function createCheckbox(id, label) { let element = document.createElement("div"); let inner = document.createElement("div"); let hiddenInput = document.createElement("input"); let box = document.createElement("div"); let labelEl = document.createElement("label"); labelEl.innerHTML = label; box.innerHTML = '\ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\ width="405.272px" height="405.272px" viewBox="0 0 405.272 405.272" style="enable-background:new 0 0 405.272 405.272;"\ xml:space="preserve">\ <g>\ <path d="M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836\ c-15.838-15.835-15.838-41.52,0-57.358c15.841-15.841,41.521-15.841,57.355-0.006l81.698,81.699L336.037,67.064\ c15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z"/>\ </g>\ </svg>'; element.className = "checkbox-holder"; inner.className = "checkbox"; hiddenInput.type = "hidden"; box.className = "box"; box.id = id; inner.appendChild(labelEl); inner.appendChild(hiddenInput); inner.appendChild(box); element.appendChild(inner); } function updated() { setInputEvents(); } return { updated, createCheckbox, createNumber } })();