{"version":3,"file":"application.js","sources":["../../javascript/application.js"],"sourcesContent":["// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails\nlet currentPage = null;\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst switchFormPage = (pages, page) => {\n Array.prototype.forEach.call(pages, (p) => {\n if (!p.classList.contains('hidden')) {\n p.classList.add('hidden');\n }\n });\n\n page.classList.remove('hidden');\n currentPage = page;\n};\n\nconst validateSpecial = (input, regexes) => {\n const value = input.value;\n\n for (const regex of regexes) {\n console.log('tegex');\n console.log(regex);\n if (regex.test(value)) {\n console.log('HE MATCH');\n return true;\n }\n console.log('he aint match');\n }\n\n return false;\n};\n\nconst validateFormFields = (form, inputs) => {\n let valid = true;\n\n for (const input of inputs) {\n if (!(valid ? input.reportValidity() : input.checkValidity())) {\n input.classList.add('is-invalid');\n valid = false;\n } else {\n input.classList.remove('is-invalid');\n }\n }\n\n return valid;\n};\n\nconst setupVolunteerApplications = () => {\n const formPages = document.querySelectorAll('.form-page');\n\n if (!formPages || !formPages.length) {\n return;\n }\n\n const form = formPages[0].closest('form');\n\n switchFormPage(formPages, formPages[0]);\n\n Array.prototype.forEach.call(formPages, (p, i) => {\n const footer = p.querySelector('.form-page__footer');\n\n if (i !== formPages.length - 1) {\n const nextButton = makeEl('');\n\n nextButton.addEventListener('click', () => {\n if (validateFormFields(form, p.querySelectorAll('input'))) {\n switchFormPage(formPages, formPages[i + 1]);\n }\n });\n\n footer.prepend(nextButton);\n }\n\n if (i !== 0) {\n const prevButton = makeEl('');\n prevButton.addEventListener('click', () => {\n switchFormPage(formPages, formPages[i - 1]);\n });\n footer.prepend(prevButton);\n }\n });\n\n form.addEventListener('submit', e => {\n if (currentPage !== formPages[formPages.length - 1]) {\n e.preventDefault();\n currentPage.querySelector('button.btn-primary').click();\n }\n });\n\n [...document.querySelectorAll('[data-validate-special]')].forEach(elem => {\n const regexes = elem.dataset.validateSpecial\n .split('|')\n .map(v => new RegExp(v, 'i'));\n elem.addEventListener('keyup', e => {\n if (validateSpecial(elem, regexes)) {\n elem.classList.remove('is-invalid');\n elem.classList.add('is-valid');\n } else {\n elem.classList.remove('is-valid');\n elem.classList.add('is-invalid');\n }\n });\n });\n};\n\nconst setupFriendlyTimes = () => {\n const times = document.querySelectorAll('time');\n\n Array.prototype.forEach.call(times, elem => {\n const date = new Date(elem.getAttribute('datetime'));\n\n elem.innerText = date.toLocaleString();\n });\n};\n\nconst setupSearch = () => {\n const searchField = document.querySelector('#search');\n const searchTable = document.querySelector('#search-table');\n\n if (!searchField || !searchTable) {\n return;\n }\n\n searchField.addEventListener('keyup', e => {\n let searchText = e.target.value;\n const searchableRows = searchTable.querySelector('tbody').childNodes;\n Array.prototype.forEach.call(searchableRows, rowNode => {\n if (rowNode.classList.contains('hidden')) {\n rowNode.classList.remove('hidden');\n }\n });\n\n if (searchText && searchText !== '') {\n searchText = searchText.trim().toLowerCase();\n Array.prototype.forEach.call(searchableRows, rowNode => {\n const rowName = rowNode.querySelector('.js-row-search').innerText.toLowerCase();\n\n if (rowName.indexOf(searchText) === -1) {\n rowNode.classList.add('hidden');\n }\n })\n }\n });\n};\n\nconst setupPage = () => {\n setupVolunteerApplications();\n setupFriendlyTimes();\n setupSearch();\n};\n\nif (document.readyState !== 'loading') {\n setupPage();\n} else {\n document.addEventListener('DOMContentLoaded', setupPage);\n}\n"],"names":[],"mappings":"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"}