File: /var/www/html/inventory.breadsecret.com/view/unit/list.php
<?php
include("view/layout/meta.php");
include("view/layout/head.php");
?>
<style>
.modal.fade .modal-dialog {
transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
</style>
<div class="main-panel">
<?php
include("view/layout/headExt.php");
?>
<div class="container">
<div class=""></div>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<h4 class="card-title"><?=L('menu.unit');?></h4>
<button class="btn btn-primary btn-round btn-sm ms-auto addUnitBtn">
<i class="fa fa-plus"></i>
</button>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table id="unitTable" class="display table table-striped table-hover dataTable">
<?=Controller\unit::genTableHeader();?>
<?=Controller\unit::genTableFooter();?>
<tbody>
<?php
$content = Controller\unit::genTableContentData();
foreach($content as $listObj) {
echo Controller\unit::genTableBodyRow($listObj);
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<?php include("view/layout/foot.php"); ?>
</div>
</div>
<?php
include("view/layout/js.php");
include("view/layout/endpage.php");
?>
<script>
$(document).ready(function () {
var myCallback = function () {
var table = $('.dataTable').DataTable(); // Initialize your DataTable
var lastColumnIndex = table.columns().count() - 1; // Get the last column index
table.columns().every(function() {
var column = this;
if (column.index() === lastColumnIndex) {
return; // exits the function, being the last (and desired) column
}
var select = $('<select class="form-select"><option value=""></option></select>')
.appendTo($(column.footer()).empty())
.on('change', function() {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function(d, j) {
select.append('<option value="' + d + '">' + d + '</option>')
});
});
};
var unitTable = $("#unitTable").DataTable({
pageLength: 25,
processing: false,
serverSide: true,
serverMethod: 'post',
ajax: '<?=$request->baseUrl();?>/script/unitList.php',
"columns": [
{ data: 'column_unitID' },
{ data: 'column_unitName' },
{ data: 'column_unitStatus' },
{ data: 'column_function' },
],
rowId: 'column_unitID',
initComplete: function () {
this.api()
.columns([0,1,2])
.every(function () {
var column = this;
var select = $(
'<select class="form-select"><option value=""></option></select>'
)
.appendTo($(column.footer()).empty())
.on("change", function () {
var val = $.fn.dataTable.util.escapeRegex($(this).val());
column
.search(val ? "^" + val + "$" : "", true, false)
.draw();
});
column
.data()
.unique()
.sort()
.each(function (d, j) {
select.append(
'<option value="' + d + '">' + d + "</option>"
);
});
});
},
});
$(".addUnitBtn").click(function(e){
var button = $(e.currentTarget);
e.preventDefault();
ajaxFunc.apiCall("GET", "unit/formAdd", null, null, function (form_data) {
if(form_data.content.success) {
$('#msgBox').one('show.bs.modal', function (ev) {
var modal = $(this);
modal.find('#msgBoxLabel').html("<?=L('Add');?> <?=L('Record');?>");
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').off('click');
modal.find('#msgBoxBtnPri').on('click', function (event) {
if(document.getElementById("form-addUnit")!==null){
var data = new FormData(document.getElementById("form-addUnit"));
ajaxFunc.apiCall("POST", "unit", data, "multipart/form-data", function(return_data){
if(return_data.content.success) {
$("#msgBox").modal("hide");
swal({
title: return_data.content.message,
text: return_data.content.message,
type: "warning",
buttons: {
confirm: {
text: "<?=L('OK');?>",
className: "btn btn-success",
}
},
}).then((willOK) => {
if (willOK) {
unitTable.ajax.reload(myCallback, false);
}
});
} else {
$("#form-addUnit").find(".form-group").removeClass("has-error");
$("#form-addUnit").find(".form-group").find(".hintHelp").text("");
$("#form-addUnit").find("#"+return_data.content.field).closest(".form-group").addClass("has-error");
$("#form-addUnit").find("#"+return_data.content.field+"Help").text(return_data.content.message);
$("#form-addUnit").find("#"+return_data.content.field).focus();
}
});
}
});
}).modal('show')
} else {
if(form_data.content.note=="signIn") {
showLoginNotice(form_data.content.message);
} else {
$('#msgBox').one('show.bs.modal', function (ev) {
var modal = $(this);
modal.find('#msgBoxLabel').html("<?=L('Add');?> <?=L('Record');?>");
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').on('click', function (event) {
$("#msgBox").modal("hide");
});
}).modal('show')
}
}
});
});
$('#unitTable tbody').on('click', '.btnEdit', function (e) {
e.preventDefault();
var button = $(e.currentTarget);
ajaxFunc.apiCall("GET", "unit/formEdit/"+button.data('id'), null, null, function (form_data) {
if(form_data.content.success) {
$('#msgBox').one('show.bs.modal', function (ev) {
var modal = $(this);
modal.find('#msgBoxLabel').html("<?=L('Edit');?> <?=L('Record');?>");
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').off('click');
modal.find('#msgBoxBtnPri').on('click', function (event) {
if(document.getElementById("form-editUnit")!==null){
var data = new FormData(document.getElementById("form-editUnit"));
ajaxFunc.apiCall("POST", "unit/"+button.data('id'), data, "multipart/form-data", function(return_data){
if(return_data.content.success) {
$("#msgBox").modal("hide");
swal({
title: return_data.content.message,
text: return_data.content.message,
type: "warning",
buttons: {
confirm: {
text: "<?=L('OK');?>",
className: "btn btn-success",
}
},
}).then((willOK) => {
if (willOK) {
unitTable.ajax.reload(myCallback, false);
}
});
} else {
$("#form-editUnit").find(".form-group").removeClass("has-error");
$("#form-editUnit").find(".form-group").find(".hintHelp").text("");
$("#form-editUnit").find("#"+return_data.content.field).closest(".form-group").addClass("has-error");
$("#form-editUnit").find("#"+return_data.content.field+"Help").text(return_data.content.message);
$("#form-editUnit").find("#"+return_data.content.field).focus();
}
});
}
});
}).modal('show')
} else {
if(form_data.content.note=="signIn") {
showLoginNotice(form_data.content.message);
} else {
$('#msgBox').one('show.bs.modal', function (ev) {
var modal = $(this);
modal.find('#msgBoxLabel').html("<?=L('Edit');?> <?=L('Record');?>");
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').on('click', function (event) {
$("#msgBox").modal("hide");
});
}).modal('show')
}
}
});
});
$('#unitTable tbody').on('click', '.btnDel', function (e) {
e.preventDefault();
var button = $(e.currentTarget);
swal({
title: "<?=L('DeleteAlertTitle');?>",
text: "<?=L('DeleteAlertMessage');?>",
type: "warning",
buttons: {
confirm: {
text: "<?=L('Y');?>",
className: "btn btn-success",
},
cancel: {
visible: true,
text: "<?=L('N');?>",
className: "btn btn-danger",
},
},
}).then((willDelete) => {
if (willDelete) {
ajaxFunc.apiCall("DELETE", "unit/"+button.data('id'), null, null, function(return_data){
if(return_data.content.success) {
swal(return_data.content.message, {
icon: "success",
buttons: {
confirm: {
className: "btn btn-success",
},
},
}).then((willReload) => {
if (willReload) {
unitTable.ajax.reload(myCallback, false);
}
});
} else {
swal(return_data.content.message, {
icon: "error",
buttons: {
confirm: {
className: "btn btn-danger",
},
},
});
}
});
}
});
});
$('#unitTable tbody').on('click', '.btnView', function (e) {
e.preventDefault();
var button = $(e.currentTarget);
show_unit_detail(button.data('id'));
});
$('#unitTable').on('click', 'tbody tr td:not(:last-child)', function(e) {
e.preventDefault();
show_unit_detail($(this).parent().attr('id'));
});
function show_unit_detail(unitID) {
ajaxFunc.apiCall("GET", "unit/formView/1/"+unitID, null, null, function (form_data) {
if(form_data.content.success) {
$('#msgBox').one('show.bs.modal', function (ev) {
var modal = $(this);
modal.find('#msgBoxLabel').html("<?=L('View');?> <?=L('unit.info');?>");
if(form_data.content.success) {
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').on('click', function (event) {
$("#msgBox").modal("hide");
});
} else {
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').on('click', function (event) {
$("#msgBox").modal("hide");
});
}
$("#form-viewUnit input").attr('disabled','disabled');
$("#form-viewUnit select").attr('disabled','disabled');
}).modal('show')
} else {
if(form_data.content.note=="signIn") {
showLoginNotice(form_data.content.message);
} else {
$('#msgBox').one('show.bs.modal', function (ev) {
var modal = $(this);
modal.find('#msgBoxLabel').html("<?=L('View');?> <?=L('unit.info');?>");
modal.find('.modal-body').html(form_data.content.message);
modal.find('#msgBoxBtnPri').on('click', function (event) {
$("#msgBox").modal("hide");
});
}).modal('show')
}
}
});
}
});
</script>