|
|
|
|
// (() => {
|
|
|
|
// const array = [{titulo: 'Prática na empresa', data: '2023-06-20', capacidade: 20, preco: 0.00, categoria: 'Visita técnica'},
|
|
// {titulo: 'Aula de ReactJs', data: '2023-07-08', capacidade: 100, preco: 30.00, categoria: 'Aula'},
|
|
// {titulo: 'Aula de lógica de programação', data: '2023-06-15', capacidade: 50, preco: 15.00, categoria: 'Aula'},
|
|
// {titulo: 'Jogo de Flamengo X Corinthians', data: '2023-08-23', capacidade: 100000, preco: 180.00, categoria: 'Jogo'},
|
|
// {titulo: 'Visita técnica na empresa Sitana', data: '2023-10-10', capacidade: 25, preco: 0.00, categoria: 'Visita técnica'}]
|
|
|
|
// array.map((obj,i) => {
|
|
// const tr = document.getElementsByTagName('tr')[i+1]
|
|
// Object.keys(obj).map((key,j) => {
|
|
// const td = tr.getElementsByTagName('td')[j]
|
|
// td.innerText = obj[key]
|
|
// })
|
|
// })
|
|
|
|
// })()
|
|
|
|
|
|
const sendData = (form) => {
|
|
|
|
const formData = new FormData(form);
|
|
|
|
if(!validator(formData)) {
|
|
return false
|
|
}
|
|
|
|
openClose('form', 'head-form', 'none');
|
|
document.getElementsByClassName('send-message')[0].style.display = 'block'
|
|
|
|
const request = new XMLHttpRequest();
|
|
|
|
request.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
finish(this.responseText)
|
|
}
|
|
else if(this.readyState >= 4) {
|
|
finish('ERRO: ' + this.responseText)
|
|
}
|
|
}
|
|
|
|
const precoFormatado = parseFloat(formData.get("preco").replace('.','').replace(',','.'))
|
|
|
|
const objeto = {
|
|
titulo: formData.get("titulo"),
|
|
data: formData.get("data"),
|
|
capacidade: parseInt(formData.get("capacidade")),
|
|
preco: precoFormatado,
|
|
categoria: parseInt(formData.get("categoria"))
|
|
}
|
|
|
|
request.open('POST', 'http://hcbarros.bootcamp.dev.netuno.org:20190/services/evento-salvar')
|
|
request.setRequestHeader('Content-Type', 'application/json')
|
|
|
|
request.send(JSON.stringify(objeto));
|
|
|
|
return false
|
|
}
|
|
|
|
|
|
|
|
const validator = (formData) => {
|
|
|
|
if(formData.get("titulo").length < 5) {
|
|
alert('O título deve possuir ao menos 5 caracteres!')
|
|
return false
|
|
}
|
|
|
|
const date = new Date(formData.get("data"))
|
|
if(isNaN(date.getTime())) {
|
|
alert('Data inválida!')
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
|
|
|
|
const finish = (text) => {
|
|
openClose('modal-content', 'form-container', 'none')
|
|
setTimeout(() => {
|
|
alert(text)
|
|
window.location.reload()
|
|
}, 100)
|
|
}
|
|
|
|
|
|
|
|
const openClose = (classe1, classe2, acao) => {
|
|
document.getElementsByClassName(classe1)[0].style.display = acao
|
|
document.getElementsByClassName(classe2)[0].style.display = acao
|
|
}
|
|
|
|
|
|
|
|
const numberMask = (e) => {
|
|
let v = e.value.replace(/\D/g,'')
|
|
v = v.length === 0 ? '0' : v
|
|
e.value = v.length > 1 && v.charAt(0) == '0' ? v.substring(1) : v
|
|
}
|
|
|
|
|
|
|
|
const currencyMask = (e) => {
|
|
let v = e.value.replace(/\D/g,'')
|
|
v = (v/100).toFixed(2) + ''
|
|
v = v.replace(".", ",").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.')
|
|
e.value = v
|
|
}
|