@extends('template.layout')


@section('styles')
    <link href="{{asset('css/icheck/skins/all.css')}}" rel="stylesheet" type="text/css"/>
@endsection

@section('content')
    <h1 class="page-title">
        Gestión de Egresados
    </h1>

    <div class="portlet light bordered">
        <div class="portlet-title col-12">
            <div class="caption col-md-9">
                <h1 class="caption-subject font-green sbold uppercase"> Listado de egresados: </h1>
            </div>
            <div class="actions">
                <div class="btn-group">
                    <button type="button" id="registrar_egresados" class="btn blue btn-outline sbold">
                        <i class="fa fa-plus"></i>
                        <span class="hidden-xs"> Registrar egresado </span>
                    </button>
                </div>
            </div>

        </div>
        <div class="portlet-body">

            <div class="row">
                <table class="table table-hover nowrap dataTable dtr-inline" id="tbPersonal">
                    <thead>
                    <tr>
                        <th>Código</th>
                        <th>Nombres y Apellidos</th>
                        <th>Especialidad</th>
                        <th>Año de egreso</th>
                        <th>Opciones</th>
                    </tr>
                    </thead>
                    <tbody>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
    <div id="editar"></div>
@endsection
@section('scripts')
    <script>

        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }
        });

        var oTable = $('#tbPersonal').DataTable({
            "language": {
                "sProcessing":     "Procesando...",
                "sLengthMenu":     "Mostrar _MENU_ registros",
                "sZeroRecords":    "No se encontraron resultados",
                "sEmptyTable":     "Ningún dato disponible en esta tabla",
                "sInfo":           "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
                "sInfoEmpty":      "Mostrando registros del 0 al 0 de 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"
                }
            },
            processing: true,
            serverSide: true,
            destroy: true,
            responsive:true,
            ajax:{
                url: '{{ route('gestion.egresados.list.post') }}',
                method: 'POST',
                error: function(error){
                    console.log(error);
                }
            },
            columns:[
                {
                    data:'codigo',
                    name:'codigo'
                },
                {
                    data:'nombres',
                    name:'nombres'
                },
                {
                    data:'especialidad_nombre',
                    name:'especialidad_nombre'
                },
                {
                    data:'anio_egreso',
                    name:'anio_egreso'
                },
                {
                    data:'id',
                    name:'id',
                    render: function(data,type,row){
                        return '<td>'
                            +'<button style="max-width: 250px;" ' +
                            ' class="btn btn-outline btn-circle btn-sm purple editar" data-toggle="modal"  data-id="'+data+'"  >'+
                            '<i class="fa fa-pencil"></i> Editar  </button>'
                            +'<button style="max-width: 250px;" ' +
                            ' class="btn btn-outline btn-circle btn-sm dark eliminar" data-toggle="modal" data-id="'+data+'" >'+
                            '<i class="fa fa-trash"></i> Eliminar  </button>'
                            +'</td>'
                    }
                }
            ],
            dom: 'Bfrtip',
            buttons: [
                {
                    extend: 'excel',
                    exportOptions: {
                        columns: [0, 1, 2,3]
                    },
                    title: 'Alumnos Egresados'
                }, {
                    extend: 'pdf',
                    exportOptions: {
                        columns: [0, 1, 2,3]
                    },
                    pageSize: 'LEGAL',
                    customize: function (doc) {
                        //pageMargins [left, top, right, bottom]
                        doc.pageMargins = [120, 20, 20, 20];
                    },
                    title: 'Alumnos Egresados'
                }


            ]
        });

        $('#tbPersonal').on('click','.editar', function () {
            var aux = $(this);
            var id = aux.data('id');
            aux.prop('disabled', true);
            aux.blur();
            $.ajax({
                url: "{{ url('gestion/egresados/editar') }}"+"/"+id,
                type: 'GET',
                cache: false,
                success: function (result) {
                    $('#editar').html(result).find('.modal').modal({
                        show: true
                    });
                },
                complete: function () {
                    aux.removeAttr("disabled");
                    aux.prop('disabled', false);
                }
            });
            return false;
        });

        $('#tbPersonal').on('click','.eliminar', function () {
            var id = $(this).data('id');
            swal({
                    title: '¿Está seguro de eliminar este registro?',
                    text: "Una vez borrada no se podrá recuperar",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Sí',
                    cancelButtonText: 'Cancelar'
                },
                function (isConfirm) {
                    if (isConfirm) {
                        EliminarResult(id);
                    }
                })
        });

        $('#registrar_egresados').on('click',function(){
            var aux = $(this);
            $(this).prop('disabled', true);
            $(this).blur();
            $.ajax({
                url: "{{ url('gestion/egresados/crear') }}",
                type: 'GET',
                cache: false,
                success: function (result) {
                    $('#editar').html(result).find('.modal').modal({
                        show: true
                    });
                },
                complete: function () {
                    aux.removeAttr("disabled");
                    aux.prop('disabled', false);
                }
            });
            return false;
        });

        function EliminarResult(id) {
            $.ajax({
                url: "{{ url('gestion/egresados/eliminar') }}",
                type: "POST",
                data: {
                    id: id
                },
                success: function (result) {
                    if (result) {
                        swal({
                            title: 'Alumno eliminado!',
                            text: "El registro se eliminó exitosamente!",
                            type: 'success',
                            showCancelButton: false,
                            showConfirmButton: true,
                            showLoaderOnConfirm: true,
                        })
                        oTable.draw();
                    }
                    else {
                        swal("El alumno ya ha sido eliminado!", "No se puede eliminar el anuncio!", "error");
                    }
                }
            });
        }
    </script>
@endsection

