
<?php $__env->startSection('title'); ?> Inicio <?php $__env->stopSection(); ?>
<?php $__env->startSection('content'); ?>
<!-- this is breadcrumbs -->
<?php $__env->startComponent('components.breadcrumb'); ?>
<?php $__env->slot('li_1'); ?> Inicio <?php $__env->endSlot(); ?>
<?php $__env->slot('li_2'); ?> Panel Configuración <?php $__env->endSlot(); ?>
<?php $__env->slot('title'); ?> Roles <?php $__env->endSlot(); ?>
<?php echo $__env->renderComponent(); ?>

<!-- start page content -->
<div class="row">
    <div class="col-12">
        <div class="card">
            <div class="card-body mb-n3">
                <button type="button" class="btn btn-primary btn-sm px-4 mt-0 mb-3" 
                    data-bs-toggle="modal" 
                    data-bs-target="#modalCrearRol">
                    <i class="fas fa-plus"></i> Nuevo Rol
                </button>
                <div class="table-responsive">
                    <table id="tablaRoles" class="table table-striped mb-0 table-hover">
                        <thead class="thead-light">
                            <tr>
                                <th>ID</th>
                                <th>Nombre</th>
                                <th>Descripción</th>
                                <th>Estado</th>
                                <th>Fecha Creación</th>
                                <th>Acciones</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php $__currentLoopData = $roles; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $rol): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                <tr>
                                    <td><?php echo e($rol->id); ?></td>
                                    <td><?php echo e($rol->name); ?></td>
                                    <td><?php echo e($rol->description ?? '-'); ?></td>
                                    <td>
                                        <?php if($rol->estado === 'Activo'): ?>
                                            <span class="badge bg-soft-success text-success">Activo</span>
                                        <?php else: ?>
                                            <span class="badge bg-soft-warning text-warning">Inactivo</span>
                                        <?php endif; ?>
                                    </td>
                                    <td><?php echo e($rol->created_at->format('Y-m-d H:i')); ?></td>
                                    <td>
                                        <!-- Botón Editar -->
                                        <a href="#"
                                        class="text-warning me-2"
                                        data-bs-toggle="modal"
                                        data-bs-target="#modalEditar"
                                        data-id="<?php echo e($rol->id); ?>"
                                        data-nombre="<?php echo e($rol->name); ?>"
                                        data-descripcion="<?php echo e($rol->description); ?>"
                                        data-estado="<?php echo e($rol->estado); ?>">
                                            <i class="las la-pen font-18"></i>
                                        </a>

                                        <!-- Botón Eliminar -->
                                        <button type="button"
                                                class="btn btn-link text-danger p-0 m-0 btn-eliminar-rol"
                                                data-id="<?php echo e($rol->id); ?>">
                                            <i class="las la-trash-alt font-18"></i>
                                        </button>
                                    </td>
                                </tr>
                            <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                        </tbody>
                    </table>


                </div>
            </div>
            <!--end card-body-->
        </div>
        <!--end card-->
    </div>
    <!--end col-->
</div>

<!-- Modal de agregar -->
<div class="modal fade" id="modalCrearRol" tabindex="-1" aria-labelledby="modalCrearRolLabel" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      
      <!-- Encabezado -->
      <div class="modal-header bg-primary text-white">
        <h5 class="modal-title" id="modalCrearRolLabel">
          <i class="fas fa-user-shield me-2"></i> Crear Nuevo Rol
        </h5>
        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Cerrar"></button>
      </div>

      <!-- Formulario (AJAX) -->
      <form id="formCrearRol">
        <?php echo csrf_field(); ?>
        <div class="modal-body">
          
          <!-- Nombre -->
          <div class="mb-3">
            <label for="nombreRol" class="form-label">Nombre del Rol</label>
            <input type="text" class="form-control" id="nombreRol" name="name" required>
          </div>

          <!-- Descripción -->
          <div class="mb-3">
            <label for="descripcionRol" class="form-label">Descripción</label>
            <textarea class="form-control" id="descripcionRol" name="description" rows="2"></textarea>
          </div>

          <!-- Estado -->
          <div class="mb-3">
            <label for="estadoRol" class="form-label">Estado</label>
            <select class="form-select" id="estadoRol" name="estado" required>
              <option value="Activo" selected>Activo</option>
              <option value="Inactivo">Inactivo</option>
            </select>
          </div>

        </div>

        <!-- Footer -->
        <div class="modal-footer">
          <button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancelar</button>
          <button type="submit" class="btn btn-de-primary">Guardar</button>
        </div>
      </form>
    </div>
  </div>
</div>



<!-- Modal de Edición -->

<!-- Modal: Editar -->
<!-- Modal Editar Rol -->
<div class="modal fade" id="modalEditar" tabindex="-1" aria-labelledby="modalEditarLabel" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">

      <!-- Header -->
      <div class="modal-header bg-warning text-dark">
        <h5 class="modal-title" id="modalEditarLabel">
          <i class="fas fa-edit me-2"></i> Editar Rol
        </h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
      </div>

      <!-- Form -->
      <form id="formEditarRol">
        <?php echo csrf_field(); ?>
        <?php echo method_field('PUT'); ?>
        <input type="hidden" id="editRolId" name="id">

        <div class="modal-body">

          <!-- Nombre -->
          <div class="mb-3">
            <label for="editNombreRol" class="form-label">Nombre del Rol</label>
            <input type="text" class="form-control" id="editNombreRol" name="name" required>
          </div>

          <!-- Descripción -->
          <div class="mb-3">
            <label for="editDescripcionRol" class="form-label">Descripción</label>
            <textarea class="form-control" id="editDescripcionRol" name="description" rows="2"></textarea>
          </div>

          <!-- Estado -->
          <div class="mb-3">
            <label for="editEstadoRol" class="form-label">Estado</label>
            <select class="form-select" id="editEstadoRol" name="estado" required>
              <option value="Activo">Activo</option>
              <option value="Inactivo">Inactivo</option>
            </select>
          </div>

        </div>

        <!-- Footer -->
        <div class="modal-footer">
          <button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancelar</button>
          <button type="submit" class="btn btn-warning">Actualizar</button>
        </div>
      </form>
    </div>
  </div>
</div>





<!--end row-->


<?php $__env->stopSection(); ?>
<?php $__env->startSection('script'); ?>
<!-- jQuery y DataTables -->

<!-- jQuery y DataTables -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>

<!-- DataTables Buttons -->
<script src="https://cdn.datatables.net/buttons/2.3.6/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.print.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.colVis.min.js"></script>

<!-- DataTables CSS -->
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.3.6/css/buttons.dataTables.min.css">
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>



<!-- tablas -->
<script>
    $(document).ready(function () {
        $("#tablaRoles").DataTable({
            "responsive": true,
            "lengthChange": true,
            "autoWidth": false,
            "buttons": [
                {
                    extend: 'collection',
                    text: 'Opciones',
                    buttons: [
                        { extend: 'copy', text: 'Copiar' },
                        { extend: 'csv', text: 'CSV' },
                        { extend: 'excel', text: 'Excel', title: 'Periodos Académicos' },
                        { extend: 'pdf', text: 'PDF' },
                        { extend: 'print', text: 'Imprimir' }
                    ]
                },
                { extend: 'colvis', text: 'Visibilidad de Columna' }
            ],
            "paging": true,
            "searching": true,
            "info": true,
            "language": {
                "search": "Buscar:",
                "lengthMenu": "Mostrar _MENU_ registros por página",
                "info": "Mostrando _START_ a _END_ de _TOTAL_ entradas",
                "paginate": {
                    "first": "Primero",
                    "previous": "Anterior",
                    "next": "Siguiente",
                    "last": "Último"
                }
            }
        }).buttons().container().appendTo('#tablaRoles_wrapper .col-md-6:eq(0)');
    });
</script>
<!-- agregar -->
<script>
    $(document).ready(function () {
        $('#formCrearRol').on('submit', function (e) {
            e.preventDefault();

            $.ajax({
                url: "<?php echo e(route('roles.store')); ?>",
                method: "POST",
                data: $(this).serialize(),
                success: function (response) {
                    $('#modalCrearRol').modal('hide');
                    Swal.fire({
                        icon: 'success',
                        title: '¡Éxito!',
                        text: 'El rol ha sido creado correctamente.',
                        timer: 2000,
                        showConfirmButton: false
                    });

                    // Recargar tabla (si usas DataTable puedes hacer .ajax.reload())
                    setTimeout(() => location.reload(), 2000);
                },
                error: function (xhr) {
                    let errores = xhr.responseJSON.errors;
                    let mensaje = "Ocurrió un error al guardar el rol.";
                    if (errores) {
                        mensaje = Object.values(errores).join("\n");
                    }

                    Swal.fire({
                        icon: 'error',
                        title: 'Error',
                        text: mensaje
                    });
                }
            });
        });
    });
</script>

<!-- editar-->
<script>
$(document).ready(function () {
    // Al abrir modal, cargar datos en inputs
    $('#modalEditar').on('show.bs.modal', function (event) {
        var button = $(event.relatedTarget);

        $('#editRolId').val(button.data('id'));
        $('#editNombreRol').val(button.data('nombre'));
        $('#editDescripcionRol').val(button.data('descripcion'));
        $('#editEstadoRol').val(button.data('estado'));

        console.log("🟡 Datos cargados en modal:", {
            id: button.data('id'),
            nombre: button.data('nombre'),
            descripcion: button.data('descripcion'),
            estado: button.data('estado')
        });
    });

    // Enviar formulario por AJAX
    $('#formEditarRol').on('submit', function (e) {
        e.preventDefault();

        let id = $('#editRolId').val();
        let data = $(this).serialize();

        console.log("🔵 Enviando actualización del rol:", data);

        $.ajax({
            url: "/roles/" + id,
            method: "POST", // Laravel acepta POST con _method=PUT
            data: data,
            success: function (response) {
                console.log("🟢 Respuesta del servidor:", response);

                $('#modalEditar').modal('hide');
                Swal.fire({
                    icon: 'success',
                    title: '¡Actualizado!',
                    text: 'El rol ha sido actualizado correctamente.',
                    timer: 2000,
                    showConfirmButton: false
                });
                setTimeout(() => location.reload(), 2000);
            },
            error: function (xhr) {
                console.error("🔴 Error en la petición:", xhr);

                let errores = xhr.responseJSON?.errors;
                let mensaje = "Ocurrió un error al actualizar.";
                if (errores) {
                    mensaje = Object.values(errores).join("\n");
                }

                Swal.fire({
                    icon: 'error',
                    title: 'Error',
                    text: mensaje
                });
            }
        });
    });
});
</script>


<!-- eliminar -->
<script>
    $(document).ready(function () {
        $('.btn-eliminar-sector').click(function () {
            const id = $(this).data('id');
            Swal.fire({
                title: '¿Eliminar sector?',
                text: "Esta acción no se puede deshacer",
                icon: 'warning',
                showCancelButton: true,
                confirmButtonText: 'Sí, eliminar',
                cancelButtonText: 'Cancelar',
                confirmButtonColor: '#dc3545',
            }).then((result) => {
                if (result.isConfirmed) {
                    $.ajax({
                        url: `/roles/${id}`,
                        method: 'POST',
                        data: {
                            _token: '<?php echo e(csrf_token()); ?>',
                            _method: 'DELETE'
                        },
                        success: function () {
                            Swal.fire({
                                icon: 'success',
                                title: 'Eliminado',
                                text: 'El rol  fue eliminado correctamente',
                                timer: 2000,
                                showConfirmButton: false
                            }).then(() => {
                                location.reload();
                            });
                        },
                        error: function (xhr) {
                            Swal.fire({
                                icon: 'error',
                                title: 'Error al eliminar',
                                text: 'No se pudo eliminar el rol.',
                            });
                        }
                    });
                }
            });
        });
    });
</script>

<?php $__env->stopSection(); ?>

<?php echo $__env->make('layouts.master', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH D:\SISTEMAS\agua\resources\views/roles/index.blade.php ENDPATH**/ ?>