$(document).ready(function(){
    var dataTable = $('.table').DataTable( {
        language: {
            url: '/traslate/es-MX.json',
        },
        responsive: true,
        ordering: false,
        dom: "<'row'<'col-sm-12 col-md-6'f><'col-sm-12 col-md-6'l>>" +
            "<'row'<'col-sm-12'tr>>" +
            "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
        paging: false,
        scrollY: getHeight(),
        processing: true,
        serverSide: true,
        columns: [
            //{data: "index", title: '#' },
            {data: "sumo_descripcion", name: "sumo_descripcion", title: 'Descripcion'},
            {data: "sumo_enlace", name: "sumo_enlace", title: 'URL'},
            {data: "modu_nombre", name: "modu_nombre", title: 'Módulo'},
            {data: 'acciones', title: 'Acciones', orderable: false},
        ],
        columnDefs: [
            { width: '30%', targets: 0 },
            { width: '30%', targets: 1 },
            { width: '30%', targets: 2 },
            { width: '10%', targets: 2 }
        ],
        fixedColumns: true,
        ajax: {
            url: '/query/datatable/SubModulo',
            type: 'POST',
            data: function (d) {
                d.ordering = [
                    'modu_nombre asc'
                ];
                //d.filter = [
                  //  'oficina.ofic_id=' + $('#cbOficina').val()
                //];
               // d.hidden = [
                //    'oficina.ofic_id'
               // ];
                d.acciones = [
                    '<a href="#" data-bs-toggle="tooltip" data-bs-placement="top" class="px-2 text-warning btnEdit" title="Editar" @DATA@><i class="bx bx-pencil font-size-22"></i></a>',
                    '<a href="#" data-bs-toggle="tooltip" data-bs-placement="top" class="px-2 text-danger btnDelete" title="Eliminar" @DATA@><i class="bx bx-trash-alt font-size-22"></i></a>',
                ];
            }
        },
      /*  initComplete: function () {
            this.api().columns().every(function () {
                var column = this;
                if (column.index() === 0) {
                    column.data().each(function (data, index) {
                        column.cell(index, 0).data(index + 1);
                    });
                }
            });
        }*/
    });

    dataTable.on( 'draw', function () {
        funciones.setupTooltip();
    } );

    $('.btnAgregar').click(function (e) {
        e.preventDefault();
        funciones.bloquearFrm(".frmDatos", true, true);
        funciones.modalType('#mdlDatos', 'success');
        $('#mdlDatos').modal('show');
    });

    $('.btnGuardar').click(function (e){
        e.preventDefault();
        funciones.showHideButtonLoading('.btnGuardar');
        $.post( $(".frmDatos").attr("action"), $(".frmDatos").serializeArray(), function(response) {
            if(funciones.showMensajeByResponse(".frmDatos",response) === true){
                $('#mdlDatos').modal('hide');
                dataTable.ajax.reload();
            }
        })
        .fail(function(response) {

        })
        .always(function(response) {
            funciones.showHideButtonLoading('.btnGuardar');
        });
    });

    $(document).on('click','.btnDelete',function(e){
        e.preventDefault();
        var This = this;
        Swal.fire({
            title: "Anular",
            text: "Desea anular el registro: " + $(This).attr('data-sumo_descripcion'),
            icon: "warning",
            showCancelButton: true,
            confirmButtonColor: "#f60000",
            cancelButtonColor: "#dadada",
            cancelButtonText: "Cerrar",
            confirmButtonText: "Anular",
            showLoaderOnConfirm: true,
            preConfirm: function (email) {
                return $.ajax({
                    url: $(".frmDatos").attr("action").replaceAll('guardar','eliminar'),
                    data: { sumo_id: $(This).attr('data-sumo_id') },
                    type: 'post'
                })
            },
            allowOutsideClick: false
        }).then(function (result) {
            var request = JSON.parse(result.value);
            if(request.status == 0){
                alertify.error(request.msg);
            }else {
                dataTable.ajax.reload();
            }
        });
    });

    $(document).on('click','.btnEdit',function(e) {
        e.preventDefault();
        var This = this;
        funciones.showHideButtonLoading(This,false);
        $.get( $(".frmDatos").attr("action").replaceAll('guardar','buscar') + '?sumo_id=' + $(This).attr('data-sumo_id'),function(response) {
            funciones.asignarValoresForm(".frmDatos",JSON.parse(response));
            funciones.modalType('#mdlDatos','warning');
            $('#mdlDatos').modal('show');
        })
        .fail(function(response) {

        })
        .always(function(response) {
            funciones.showHideButtonLoading(This);
        });
    });

    $(document).on('change','.chkResponsable',function(e) {
        e.preventDefault();
        var This = this;

        $.post( $(".frmDatos").attr("action").replaceAll('guardar','responsable'),{
            'sumo_id' : $(This).parents('tr').find('.btnEdit').attr('data-sumo_id')
        },function(response) {
            dataTable.ajax.reload();
        });
    });

    $('#cbOficina').change(function (e){
        e.preventDefault();
        dataTable.ajax.reload();
    });
});


