Gerador de Código Único
TSSI 2018/02
by GustavoSatheler
HTML
<form method="post" id="myForm">
<h3> Insira um arquivo CSV</h3>
<input type="file" name="inputCSV" id="inputCSV" accept=".csv" />
<h3>Ou forneça as informações abaixo:</h3>
<input type="text" name="nome" id="nome" placeholder="Nome completo" required />
<input type="text" name="cpf" id="cpf" placeholder="CPF" required />
<input type="text" name="rg" id="rg" placeholder="RG" required />
<input type="text" name="matricula" id="matricula" placeholder="Matricula" required />
<input type="email" name="email" id="email" placeholder="Email" required />
<input type="date" name="dataNasc" id="dataNasc" placeholder="Data de nascimento" required />
<input type="text" name="telefone" id="telefone" placeholder="Telefone" required />
<input type="submit" id="enviar" value="Enviar" />
<input type="reset" id="limpar" value="Limpar" />
</form>
<div id="contentMessage">
<a id="message"></a>
</div>
<div id="contentCodeHash">
<b>Resultado:</b><br />
<a id="codeHash"></a>
</div>
CSS
#contentCodeHash,
#contentMessage {
visibility: hidden
}
JavaScript
"use strict";
var leitorDeCSV = new FileReader();
var inputCSV = document.querySelector("#inputCSV");
var btnEnviar = document.querySelector("#enviar");
var formElements = document.querySelector("#myForm").elements;
var contentMessage = document.querySelector("#contentMessage");
var contentCodeHash = document.querySelector("#contentCodeHash");
btnEnviar.onclick = function(e) {
e.preventDefault();
if (validateForm()) {
generate(getValuesForm());
} else {
resetFeedback();
showMessage("Preencha todos os campos.");
}
}
inputCSV.onchange = function() {
var file = inputCSV.files[0];
leitorDeCSV.readAsText(file);
}
leitorDeCSV.onload = function(evt) {
var fileArr = evt.target.result.split('\n');
var arr = new Array();
fileArr.forEach(function(a, b, c) {
if (a != "") {
arr.push(a.split(';'));
}
});
generate(arr);
}
document.querySelector("#limpar").onclick = function(){
resetFeedback();
}
function generate(arr) {
resetFeedback();
var hashes = new Array();
console.log(arr);
arr.forEach(function(a) {
hashes.push(GRS1(a.join('|')));
});
showCodeHash(hashes);
}
function showCodeHash(code) {
var codeHash = document.querySelector("#codeHash");
contentCodeHash.style.visibility = "visible";
codeHash.innerHTML = code.join("<br />");
}
function validateForm() {
for (var i = 0, formElement; formElement = formElements[i++];) {
if (formElement.type != "submit" && formElement.type != "reset" && formElement.type != "file" && formElement.value === "") {
return false;
}
}
return true;
}
function showMessage(messageText) {
var message = document.querySelector("#message")
contentMessage.style.visibility = "visible";
message.text = messageText;
}
function resetFeedback() {
contentCodeHash.style.visibility = "hidden";
contentMessage.style.visibility = "hidden";
}
function...