var tabla;
function init() {
    $("#formulario").on("submit", function(e) {
        guardar(e);
    });
    listar();
}

function guardar(e) {
    e.preventDefault();
    var formData = new FormData($("#formulario")[0]);

    $.ajax({
        url: "../../controller/usuarios.php?op=guardaryeditar",
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        dataType: 'json',
        success: function(response) {
            if(response.success) {
                $("#formulario")[0].reset();
                $('#modalmantenimiento').modal('hide');
                $('#usuarios_data').DataTable().ajax.reload();
                Swal.fire("Éxito!", "usuarios guardado correctamente", "success");
            } else {
                Swal.fire("Error!", response.msg || "No se pudo guardar el usuarios", "error");
            }
        },
        error: function() {
            Swal.fire("Error!", "Error al procesar la solicitud", "error");
        }
    });
}


function listar() {

 tabla=$('#usuarios_data').dataTable({
       "aProcessing": true,
       "aServerSide": true,
        "dom": '<"top"f>rt<"bottom"lip><"clear">',
       "searching": true,
       "columnDefs": [
        {
            "targets": 0,  // índice de la columna que quieres ocultar (ej: la primera columna que es ID)
            "visible": true,
            "searchable": true
        }
                     ],
       lengthChange: false,
       colReorder: true,
       "ajax":{
           url: '../../controller/usuarios.php?op=listar',
           type : "post",
           dataType : "json",
           error: function(e){
              console.log(e.responseText);	
           }
       },
       "bDestroy": true,
       "responsive": true,
       "bInfo":true,
       "iDisplayLength": 10,
       "autoWidth": false,
       "language": {
           "sProcessing":     "Procesando...",
           "sLengthMenu":     "Mostrar _MENU_ registros",
           "sZeroRecords":    "No se encontraron resultados",
           "sEmptyTable":     "Ningún dato disponible en esta tabla",
           "sInfo":           "Mostrando un total de _TOTAL_ registros",
           "sInfoEmpty":      "Mostrando un total de 0 registros",
           "sInfoFiltered":   "(filtrado de un total de _MAX_ registros)",
           "sInfoPostFix":    "",
           "sSearch":         "Buscar:",
           "sUrl":            "",
           "sInfoThousands":  ",",
           "sLoadingRecords": "Cargando...",
           "oPaginate": {
               "sFirst":    "Primero",
               "sLast":     "Último",
               "sNext":     "Siguiente",
               "sPrevious": "Anterior"
           },
           "oAria": {
               "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
               "sSortDescending": ": Activar para ordenar la columna de manera descendente"
           }
       }
   })
   $('#usuarios_data_wrapper .top').prepend(`
    <button type="button" id="btnnuevo" onclick="abrirModal()" class="btn btn-primary me-2">
        <i class="fas fa-plus"></i> Nuevo Registro
    </button>
    `);




}

function editar(usu_id) {
    $.post("../../controller/usuarios.php?op=mostrar", { usu_id: usu_id }, function(data) {
        data = JSON.parse(data);
        $("#usu_id").val(data.usu_id);
        $("#usu_nom").val(data.usu_nom);
        $("#usu_correo").val(data.usu_correo);
         $("#modalmantenimiento").modal("show");
       
    });
}

function eliminar(usu_id) {
    swal({
        title: "¿Eliminar usuarios?",
        text: "No podrás deshacer esta acción.",
        icon: "warning",
        buttons: true,
        dangerMode: true
    }).then((willDelete) => {
        if (willDelete) {
            $.post("../../controller/usuarios.php?op=eliminar", { usu_id: usu_id }, function(data) {
                $('#usuarios_data').DataTable().ajax.reload();
                swal("Eliminado correctamente", { icon: "success" });
            });
        }
    });
}

function abrirModal() {
  // Limpiar campos
  $("#formulario")[0].reset();
  $("#usu_id").val(""); // importante si vas a usar para editar también
  $("#modalmantenimiento").modal("show");
}


$(document).ready(function() {
    init();
});




