HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: /var/www/html/inventory.breadsecret.com/view/supplierCategory/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.supplierCategory');?></h4>
                      <button class="btn btn-primary btn-round btn-sm ms-auto addSupplierCategoryBtn">
                        <i class="fa fa-plus"></i>
                      </button>
                    </div>    
               </div>
               <div class="card-body">
                  <div class="table-responsive">
                     <table id="supplierCategoryTable" class="display table table-striped table-hover dataTable">
                     <?=Controller\supplierCategory::genTableHeader();?>
                     <?=Controller\supplierCategory::genTableFooter();?>                     
                     <tbody>
                     <?php
                        $content = Controller\supplierCategory::genTableContentData();
                        foreach($content as $listObj) {
                           echo Controller\supplierCategory::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 supplierCategoryTable = $("#supplierCategoryTable").DataTable({
      pageLength: 25,
      processing: false,
      serverSide: true,
      serverMethod: 'post',
      ajax: '<?=$request->baseUrl();?>/script/supplierCategoryList.php',
      "columns": [
         { data: 'column_supplierCategoryID' },
         { data: 'column_supplierCategoryName' },
         { data: 'column_supplierCategoryStatus' },
         { data: 'column_function' },                   
      ],
      rowId: 'column_supplierCategoryID', 
         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>"
                  );
               });
            });
         },
      });

      
      $(".addSupplierCategoryBtn").click(function(e){
         var button = $(e.currentTarget);
         e.preventDefault();
         ajaxFunc.apiCall("GET", "supplierCategory/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-addSupplierCategory")!==null){    
                           var data = new FormData(document.getElementById("form-addSupplierCategory"));  
                           ajaxFunc.apiCall("POST", "supplierCategory", 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) {
                                       supplierCategoryTable.ajax.reload(myCallback, false);        
                                    } 
                                 });    
                              } else {
                                 $("#form-addSupplierCategory").find(".form-group").removeClass("has-error");
                                 $("#form-addSupplierCategory").find(".form-group").find(".hintHelp").text("");
                                 $("#form-addSupplierCategory").find("#"+return_data.content.field).closest(".form-group").addClass("has-error");
                                 $("#form-addSupplierCategory").find("#"+return_data.content.field+"Help").text(return_data.content.message);
                                 $("#form-addSupplierCategory").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')  
               }                 
            }
         });
      });

      
      $('#supplierCategoryTable tbody').on('click', '.btnEdit', function (e) {
         e.preventDefault();
         var button = $(e.currentTarget);
         ajaxFunc.apiCall("GET", "supplierCategory/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-editSupplierCategory")!==null){    
                           var data = new FormData(document.getElementById("form-editSupplierCategory"));  
                           ajaxFunc.apiCall("POST", "supplierCategory/"+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) {
                                       supplierCategoryTable.ajax.reload(myCallback, false);          
                                    } 
                                 });    
                              } else {
                                 $("#form-editSupplierCategory").find(".form-group").removeClass("has-error");
                                 $("#form-editSupplierCategory").find(".form-group").find(".hintHelp").text("");
                                 $("#form-editSupplierCategory").find("#"+return_data.content.field).closest(".form-group").addClass("has-error");
                                 $("#form-editSupplierCategory").find("#"+return_data.content.field+"Help").text(return_data.content.message);
                                 $("#form-editSupplierCategory").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')   
               }                    
            }
         });

      });
      
      $('#supplierCategoryTable 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", "supplierCategory/"+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) {
                           supplierCategoryTable.ajax.reload(myCallback, false);        
                        }
                     });                          
                  } else {
                     swal(return_data.content.message, {
                        icon: "error",
                        buttons: {
                           confirm: {
                              className: "btn btn-danger",
                           },
                        },
                     });                    
                  }
               });
            } 
         });
         
      });

      /*
      $('#supplierCategoryTable tbody').on('click', '.btnView', function (e) {
         e.preventDefault();
         var button = $(e.currentTarget);
         ajaxFunc.apiCall("GET", "supplierCategory/getStockDetail/"+button.data('id'), null, null,  function (form_data) { 
            
            $('#msgBox').one('show.bs.modal', function (ev) {                 
               var modal = $(this);
               modal.find('.modal-dialog').addClass("modal-xl");
               modal.find('#msgBoxLabel').html("<?=L('menu.inventoryMain');?>");
               modal.find('.modal-body').html(form_data.content.message);                     
               modal.find('#msgBoxBtnPri').on('click', function (event) {  
                  $("#msgBox").modal("hide");   
               });                               
            }).modal('show')
            
            $('#msgBox').on('hidden.bs.modal', function (e) {
               $(this).find('.modal-dialog').removeClass("modal-xl");
            })              
         });

      });            
      */
      
      $('#supplierCategoryTable tbody').on('click', '.btnView', function (e) {
         e.preventDefault();
         var button = $(e.currentTarget);
         show_supplierCategory_detail(button.data('id'));
      });

      $('#supplierCategoryTable').on('click', 'tbody tr td:not(:last-child)', function(e) {
         e.preventDefault();
         show_supplierCategory_detail($(this).parent().attr('id'));                 
      });   
      
      function show_supplierCategory_detail(supplierCategoryID) {
         ajaxFunc.apiCall("GET", "supplierCategory/getStockDetail/"+supplierCategoryID, null, null,  function (form_data) { 
            if(form_data.content.success) {
               $('#msgBox').one('show.bs.modal', function (ev) {                 
                  var modal = $(this);
                  modal.find('.modal-dialog').addClass("modal-xl");
                  modal.find('#msgBoxLabel').html("<?=L('menu.inventoryMain');?>");
                  modal.find('.modal-body').html(form_data.content.message);                     
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     $("#msgBox").modal("hide");   
                  });                               
               }).modal('show')
               
               $('#msgBox').on('hidden.bs.modal', function (e) {
                  $(this).find('.modal-dialog').removeClass("modal-xl");
               })              
            } 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('menu.inventoryMain');?>");
                     modal.find('.modal-body').html(form_data.content.message);                     
                     modal.find('#msgBoxBtnPri').on('click', function (event) {  
                        $("#msgBox").modal("hide");   
                     });                               
                  }).modal('show')     
               }               
            }
         });
         
      }     

      
   });


</script>