'use strict' const $ = selector => document.querySelector(selector) const $$ = selector => document.querySelectorAll(selector) const debugStorage = () => { for(var i = 0; i < localStorage.length; i++) { let key = localStorage.key(i) console.debug(key, " = ", localStorage[key]) } } const useTextInsteadOfInputFor = (textField) => { let $name = $(`#${textField.name}`); $name.outerHTML = `${$name.getAttribute('value')}`; return textField; } const createUpdateModalOnClickFor = (textField) => { let $name = $(`#${textField.name}`); $name.addEventListener("click", (e) => { e.preventDefault(); createModal(``); }); } $$(".nfl-textfield").forEach((textField) => { createUpdateModalOnClickFor(useTextInsteadOfInputFor(textField)); }); const removeOverlay = () => { $('body').removeChild($('.overlay')) $('body').removeChild($('.modal')) } const createModal = (text) => { const overlay = document.createElement('div') const popin = document.createElement('div') popin.innerHTML = text popin.className = 'modal' overlay.className = 'overlay' $('body').appendChild(overlay) $('body').appendChild(popin) overlay.addEventListener('click', removeOverlay) $('body').insertBefore(overlay, $('main')) $("#submitTextField").addEventListener("click", (e) => { $(`#${e.target.dataset.reference}`).innerHTML = $(`#${e.target.dataset.reference}UpdateField`).value removeOverlay() }); } const buildTextField = () => { var field = document.createElement("input") var deleteButton = document.createElement("button") var fieldBloc = document.createElement("span") fieldBloc.appendChild(field); fieldBloc.appendChild(deleteButton); return fieldBloc } $$('input').forEach((inputElement) => { inputElement.addEventListener("change", () => { localStorage[inputElement.name] = inputElement.value }); }); if($("#add-response-choice")) { $("#add-response-choice").addEventListener('click', (e) => { e.preventDefault(); let response = document.createElement("li"); response.appendChild(buildTextField()); $("#responses").appendChild(response); }); } $$(".next").forEach((button) => { button.addEventListener("click", (e) => { $$(".toggle-field").forEach((field) => { localStorage.setItem(field.id, field.innerText); }); }); }); if(document.getElementById("type_sondage")) { type_sondage.addEventListener('change', function() { let typeSondage = this.options[this.selectedIndex].text; if(typeSondage == "classique") { localStorage.setItem('type_sondage', this.options[this.selectedIndex].text); $('#next').href = "responses.html"; } else { localStorage.setItem('type_sondage', 'dates'); $('#next').href = "dates.html"; } }) } if(document.getElementById("startButton")) { startButton.addEventListener('click', function () { localStorage.clear() localStorage.setItem('type_sondage', 'classique'); }); } debugStorage();