Skip to content

Instantly share code, notes, and snippets.

@hlrd93
Last active October 6, 2016 17:20
Show Gist options
  • Save hlrd93/dece2b8ecebf5f345b6ec3ecb1f60ae9 to your computer and use it in GitHub Desktop.
Save hlrd93/dece2b8ecebf5f345b6ec3ecb1f60ae9 to your computer and use it in GitHub Desktop.
quotes
// IIFE
var Rows = (function () {
var part_number = "";
var part_quantity = 0;
var i = 0;
var datosForm = [];
var data = [];
var id = 0;
function addRows (e) {
e.preventDefault();
var n_item = i + 1;
part_number = $("#part").val();
part_quantity = $("#qnty").val();
data = [
n_item,
part_number,
part_quantity
];
datosForm[i] = data;
i++;
//Show table
$("#PTable").show();
var dF = $(document.createDocumentFragment());
var tr = $('<tr>');
var td1 = $('<td class="id text-center">' + n_item + '</td>');
var td2 = $('<td class="text-center">' + part_number + '</td>');
var td3 = $('<td class="text-center">' + part_quantity + '</td>');
var button = $('<button class="btnDeleteRow btn btn-danger btn-sm btn-block"> Delete </button>');
var td4 = $('<td>').append(button);
dF.append(tr
.append(td1)
.append(td2)
.append(td3)
.append(td4));
$('#PTable').append(dF);
//reset of inputs
$("#part").val("");
$("#qnty").val("");
}
function deleteRows () {
$(this).parent().parent().fadeOut('slow', () => {
id = $(this).parent().siblings(".id").html();
datosForm = deleteRowId(id);
console.log(datosForm);
if(datosForm.length === 0) {
//Hide table
$("#PTable").hide();
}
$(this).remove();
});
}
function deleteRowId (id) {
var ids = parseInt(id);
index = ids - 1;
return [].concat(
datosForm.slice(0, index),
datosForm.slice(index + 1)
)
}
function sendForm () {
var datos = datosForm;
$.ajax({
url: '../../../components/com_quote/helpers/dbctrlquote.php',
type: 'POST',
data: {datos: datos},
beforeSend: function(){
$('#loading').show();
},
success: function (data) {
if (!data.error) {
$('#loading').hide();
$('#success').html(data);
}
}
});
}
function init() {
//Hide table
$("#PTable").hide();
//Loading Hide
$('#loading').hide();
//submit form
$(".btnSend").on('click', sendForm);
//Listen
$(".btnAddRow").on('click', addRows);
//Listen
$("body").on('click', '.btnDeleteRow', deleteRows);
}
//Interface!
var API = {
init: init
};
return API;
})();
//initialization
$(document).ready(Rows.init());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment