<?php

namespace App\Http\Livewire\Buscador\Panel;

use Illuminate\Support\Facades\DB;
use Livewire\WithPagination;
use Livewire\Component;
use App\Models\Cirujano;

class Cirujanos extends Component
{

    use WithPagination;
    /*****************************/
    /*** ATRIBUTOS              **/
    /*****************************/
    protected $paginationTheme = 'bootstrap';
    public $numeroregistros = 10;
    public $buscador_cirujano;
    public $cirujano_seleccionado;
    public $cirujano_id;
    public $display = "d-none";

    /*****************************/
    /*** SELECCIONAR            **/
    /*****************************/
    public function selecionar_cirujano($id)
    {
        $cirujano = Cirujano::find($id);
        $this->cirujano_seleccionado =  $cirujano->nombre;
        $this->emit('ev_seleccionar_cirujano', $cirujano->id);
        $this->display = 'd-none';
    }
    /*****************************/
    /*** MOSTAR                 **/
    /*****************************/
    public function montar_lista()
    {
        $this->display = 'd-block';
    }
    /*****************************/
    /*** RENDER                 **/
    /*****************************/
    public function render()
    {
        $cirujanos = DB::table('cirujanos')
            ->where('cirujanos.activo', '!=', '0')
            ->select(
                'cirujanos.id',
                'cirujanos.documento',
                'cirujanos.nombre',
                'cirujanos.activo',
            )
            ->where(function ($query) {
                $query->where('cirujanos.nombre', 'like', '%' . $this->buscador_cirujano . '%');
            })->orderBy('nombre', 'desc')
            ->paginate($this->numeroregistros);

        $count_cirujanos_busqueda = $cirujanos->count();

        return view('livewire.buscador.panel.cirujanos',compact('cirujanos','count_cirujanos_busqueda'));
    }
}
