File: /var/www/html/xfacil.desafio.com.py/app/Http/Livewire/Frontcolaborativo.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use Livewire\WithPagination;
use App\Models\Boletin;
use App\Models\Biblioteca;
use App\Models\User;
use App\Notifications\NuevaNotificacion;
use Auth;
class Frontcolaborativo extends Component
{
use WithPagination;
protected $paginationTheme = 'bootstrap';
protected $queryString = ['search' => ['except' => '']];
public $search='', $boletinid=null;
public $boletin_id,$titulo,$boletin,$categoria,$categoria_id;
public $updateMode = 0;
public function render()
{
if($this->boletinid){
$biblioteca = Biblioteca::where('categoria_id',$this->boletinid)->orderBy('orden', 'asc')->paginate(20);
}
else{
$biblioteca = Biblioteca::where('titulo', 'LIKE', '%'.$this->search.'%')
->whereNull('categoria_id')
->orderBy('orden', 'asc')
->paginate(20);
}
return view('livewire.frontcolaborativo',["boletines"=>$biblioteca]);
}
public function view($id){
$this->boletinid=$id;
}
public function name($id)
{
$breadcrumb = [];
$current = Biblioteca::find($id);
while ($current) {
array_unshift($breadcrumb, [
'id' => $current->id,
'titulo' => $current->titulo ?: 'Sin tÃtulo'
]);
if ($current->categoria_id) {
$current = Biblioteca::find($current->categoria_id);
} else {
break;
}
}
return collect($breadcrumb)->map(function($item) {
return '<span wire:click="view('.$item['id'].')" style="cursor: pointer; color:hsl(0, 0.00%, 100.00%);" onmouseover="this.style.textDecoration=\'underline\'" onmouseout="this.style.textDecoration=\'none\'">'. $item['titulo'] .'</span>';
})->implode(' / ');
}
public function notview(){
$this->boletinid=null;
$this->categoria_id='';
}
}