Fix DataTables reinit and duplicate handlers in Invoice views

This commit is contained in:
DevSoftTech Server 2026-07-10 00:25:00 +05:30
parent acabc6abdd
commit fb696863d4
5 changed files with 63 additions and 18 deletions

View File

@ -92,13 +92,22 @@
</div>
<!-- /.content -->
<script type="text/javascript" language="javascript" >
$(document).ready(function() {
(function() {
if (!$.fn || !$.fn.DataTable) {
$('#datatable-missing').removeClass('d-none');
return;
}
var dataTable = $('#employee-grid').DataTable( {
var $table = $('#employee-grid');
if ($table.length === 0) {
return;
}
if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().destroy();
}
var dataTable = $table.DataTable( {
"order": [[ 0, "desc" ]],
"processing": true,
"serverSide": true,
@ -155,20 +164,20 @@
// dataTable.columns(i).search(v).draw();
//} );
$( ".search-input-select" ).change(function() {
$( ".search-input-select" ).off('change.caseListAll').on('change.caseListAll', function() {
var i =$(this).attr('data-column');
var v =$(this).val();
dataTable.columns(i).search(v).draw();
});
$('input[type=text').on('input', function(){
$('input[type=text').off('input.caseListAll').on('input.caseListAll', function(){
var i =$(this).attr('data-column');
var v =$(this).val();
dataTable.columns(i).search(v).draw();
});
$('#payModal').on('shown.bs.modal', function (event) {
$('#payModal').off('shown.bs.modal.caseListAll').on('shown.bs.modal.caseListAll', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var invid = button.data('caseid');
@ -176,7 +185,7 @@
load_form_div('<?= base_url('Orgcase/load_model_box') ?>/'+invid,'payModal-bodyc');
})
});
})();

View File

@ -60,7 +60,16 @@ function chargesInvoiceSearch() {
(function() {
if (window.jQuery && $.fn && $.fn.DataTable) {
$('#chargesInvoiceTable').DataTable({
var $table = $('#chargesInvoiceTable');
if ($table.length === 0) {
return;
}
if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().destroy();
}
$table.DataTable({
pageLength: 25,
order: [[0, 'desc']]
});

View File

@ -60,7 +60,16 @@ function opdInvoiceSearch() {
(function() {
if (window.jQuery && $.fn && $.fn.DataTable) {
$('#opdInvoiceTable').DataTable({
var $table = $('#opdInvoiceTable');
if ($table.length === 0) {
return;
}
if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().destroy();
}
$table.DataTable({
pageLength: 25,
order: [[0, 'desc']]
});

View File

@ -64,13 +64,22 @@
</div>
</div>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
(function() {
if (!$.fn || !$.fn.DataTable) {
$('#datatable-missing').removeClass('d-none');
return;
}
var dataTable = $('#employee-grid').DataTable({
var $table = $('#employee-grid');
if ($table.length === 0) {
return;
}
if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().destroy();
}
var dataTable = $table.DataTable({
"order": [[0, "desc"]],
"processing": true,
"serverSide": true,
@ -112,16 +121,16 @@
$("#employee-grid_paginate").show();
$("#employee-grid_info").show();
$(".search-input-select").change(function() {
$(".search-input-select").off('change.listReqPayment').on('change.listReqPayment', function() {
var i = $(this).attr('data-column');
var v = $(this).val();
dataTable.columns(i).search(v).draw();
});
$('input[data-column]').on('input', function() {
$('input[data-column]').off('input.listReqPayment').on('input.listReqPayment', function() {
var i = $(this).attr('data-column');
var v = $(this).val();
dataTable.columns(i).search(v).draw();
});
});
})();
</script>

View File

@ -66,13 +66,22 @@
</div>
</div>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
(function() {
if (!$.fn || !$.fn.DataTable) {
$('#datatable-missing').removeClass('d-none');
return;
}
var dataTable = $('#employee-grid').DataTable({
var $table = $('#employee-grid');
if ($table.length === 0) {
return;
}
if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().destroy();
}
var dataTable = $table.DataTable({
"order": [[0, "desc"]],
"processing": true,
"serverSide": true,
@ -114,16 +123,16 @@
$("#employee-grid_paginate").show();
$("#employee-grid_info").show();
$(".search-input-select").change(function() {
$(".search-input-select").off('change.refundInvoice').on('change.refundInvoice', function() {
var i = $(this).attr('data-column');
var v = $(this).val();
dataTable.columns(i).search(v).draw();
});
$('input[data-column]').on('input', function() {
$('input[data-column]').off('input.refundInvoice').on('input.refundInvoice', function() {
var i = $(this).attr('data-column');
var v = $(this).val();
dataTable.columns(i).search(v).draw();
});
});
})();
</script>