Sindbad~EG File Manager
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use Livewire\WithPagination;
use App\Models\Grupo;
class Grupos extends Component{
use WithPagination;
protected $paginationTheme = 'bootstrap';
public $search='';
public $grupo_id,$grupo,$informacion;
public $updateMode = 0;
public function render(){
$grupos = Grupo::where('grupo','LIKE','%'.$this->search.'%')->where('estado',1)->paginate(20);
return view('livewire.grupos.index',["grupos"=>$grupos]);
}
private function resetInputFields(){
$this->grupo_id = '';
$this->grupo = '';
$this->emit('informacion', '');
}
public function store(){
$validatedDate = $this->validate([
'grupo' => 'required',
],
[
'grupo.required' => 'El campo Grupo es requerido',
]);
Grupo::create([
'grupo' => $this->grupo,
'informacion' => $this->informacion,
]);
$this->emit('alert', ['type' => 'info', 'message' => 'Grupo agregado correctamente!']);
$this->resetInputFields();
}
public function edit($id){
$this->updateMode = 2;
$grupo = Grupo::find($id);
$this->grupo_id = $id;
$this->grupo = $grupo->grupo;
$this->emit('informacion', $grupo->informacion);
}
public function crear(){
$this->updateMode = 1;
$this->resetInputFields();
}
public function cancel(){
$this->updateMode = 0;
$this->resetInputFields();
}
public function update(){
$validatedDate = $this->validate([
'grupo' => 'required',
],
[
'grupo.required' => 'El campo grupo es requerido',
]);
if ($this->grupo_id) {
$grupo = Grupo::find($this->grupo_id);
$grupo->update([
'grupo' => $this->grupo,
'informacion' => $this->informacion,
]);
$this->updateMode = 0;
$this->emit('alert', ['type' => 'info', 'message' => 'Grupo actualizado correctamente!']);
$this->resetInputFields();
}
}
public function delete($id){
if($id){
$grupo = Grupo::find($id);
$grupo->estado=0;
$grupo->update();
$this->emit('alert', ['type' => 'error', 'message' => 'Grupo eliminado correctamente!']);
}
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists