var selectedRow = null;
function onFormSubmit(e){
event.preventDefault();
var formData = readFormData();
if(selectedRow === null){
insertNewRecord(formData);
}else{
updateRecord(formData)
}
resetForm();
}
// Read operation using this function
function readFormData(){
var formData = {};
formData["Book Title"] = document.getElementById("BookTitle").value;
formData["Book Author"] = document.getElementById("BookAuthor").value;
formData["Book Price"] = document.getElementById("BookPrice").value;
formData["Book Publisher"] = document.getElementById("BookPublisher").value;
return formData;
}
// Create operation
function insertNewRecord(data){
var table = document.getElementById("employeeList").getElementsByTagName('tbody')[0];
var newRow = table.insertRow(table.length);
var cell1 = newRow.insertCell(0);
cell1.innerHTML = data.BookTitle;
var cell2 = newRow.insertCell(1);
cell2.innerHTML = data.BookAuthor;
var cell3 = newRow.insertCell(2);
cell3.innerHTML = data.BookPrice;
var cell4 = newRow.insertCell(3);
cell4.innerHTML = data.BookPublisher;
var cell5 = newRow.insertCell(4);
cell5.innerHTML = `Edit
Delete`;
}
// To Reset the data of fill input
function resetForm(){
document.getElementById('BookTitle').value = '';
document.getElementById('BookAuthor').value = '';
document.getElementById('BookPrice').value = '';
document.getElementById('BookPublisher').value = '';
selectedRow = null;
}
// For Edit operation
function onEdit(td){
selectedRow = td.parentElement.parentElement;
document.getElementById('BookTitle').value = selectedRow.cells[0].innerHTML;
document.getElementById('BookAuthor').value = selectedRow.cells[1].innerHTML;
document.getElementById('BookPrice').value = selectedRow.cells[2].innerHTML;
document.getElementById('BookPublisher').value = selectedRow.cells[3].innerHTML;
}
function updateRecord(formData){
selectedRow.cells[0].innerHTML = formData.BookTitle;
selectedRow.cells[1].innerHTML = formData.BookAuthor;
selectedRow.cells[2].innerHTML = formData.BookPrice;
selectedRow.cells[3].innerHTML = formData.BookPublisher;
}
function onDelete(td){
if(confirm('Are you sure you want to delete this record?')){
row = td.parentElement.parentElement;
document.getElementById('bookrecorder').deleteRow(row.rowIndex);
resetForm();
}
}
function download_csv(csv, filename) {
var csvFile;
var downloadLink;
// CSV FILE
csvFile = new Blob([csv], {type: "text/csv"});
// Download link
downloadLink = document.createElement("a");
// File name
downloadLink.download = filename;
// We have to create a link to the file
downloadLink.href = window.URL.createObjectURL(csvFile);
// Make sure that the link is not displayed
downloadLink.style.display = "none";
// Add the link to your DOM
document.body.appendChild(downloadLink);
// Lanzamos
downloadLink.click();
}
function export_table_to_csv(html, filename) {
var csv = [];
var rows = document.querySelectorAll("table tr");
for (var i = 0; i < rows.length; i++) {
var row = [], cols = rows[i].querySelectorAll("td, th");
for (var j = 0; j < cols.length; j++)
row.push(cols[j].innerText);
csv.push(row.join(","));
}
// Download CSV
download_csv(csv.join("\n"), filename);
}
document.querySelector("button").addEventListener("click", function () {
var html = document.querySelector("table").outerHTML;
export_table_to_csv(html, "table.csv");
});