searchBy = [ 'name' => 'Name', ]; $this->message = session('message'); } public function updatedPerPage($value) { $this->adjustPageForNewPerPage(); } public function adjustPageForNewPerPage() { $lastPage = ceil($this->totalItems / $this->perPage); if ($this->page > $lastPage) { $this->setPage($lastPage); } } public function render() { $results = $this->searchSelected && $this->keyword ? Role::where($this->searchSelected, 'LIKE', '%' . $this->keyword . '%')->paginate($this->perPage) : Role::paginate($this->perPage); $permissions = Permission::orderBy('permission_group_name', 'asc')->get(); $this->totalItems = $results->total(); return view('livewire.pages.role.role-index', [ 'results' => $results, 'route' => $this->route, 'url' => $this->url, 'permissions' => $permissions, 'selectedRoles' => $this->selectedRoles, 'showDeleteListModal' => $this->showDeleteListModal ]); } public function showRoleCreateForm() { if (!Auth::user()->hasPermissions(['add-role'])) { $this->showNoPermissionModal = TRUE; return; } $this->action = 'create'; } public function showRoleEditForm($roleId) { if (!Auth::user()->hasPermissions(['edit-role'])) { $this->showNoPermissionModal = TRUE; return; } $this->action = 'edit'; $this->editRoleId = $roleId; } public function showRoleList($message) { $this->action = 'list'; $this->resetPage(); $this->message = $message; if ($this->message) { $this->dispatchBrowserEvent('show-message', ['message' => $this->message]); } } public function paginationView() { return 'paginate-custom'; } public function deleteItem($deleteRoleId) { if (!Auth::user()->hasPermissions(['delete-role'])) { $this->showNoPermissionModal = TRUE; return; } $role = Role::find($deleteRoleId); if ($role) { $role->delete(); $message = "Deleted Successfully"; $this->message = $message; Log::info("Deleted Role ID : $deleteRoleId by User ".auth()->user()->id); if ($this->message) { $this->dispatchBrowserEvent('show-message', ['message' => $this->message]); } } } public function deleteSelected($selectedRoles) { if (!Auth::user()->hasPermissions(['delete-role'])) { $this->showNoPermissionModal = TRUE; return; } $roleDeleted= Role::whereIn("id", $selectedRoles)->pluck('name')->toArray(); $roleStr = implode("," ,$roleDeleted); Role::destroy($selectedRoles); $message = "Deleted Role : (". $roleStr." ) Successfully"; Log::info("Deleted Role ID: $roleStr by User ".auth()->user()->id); $this->message = $message; $this->selectedRoles = []; if ($this->message) { $this->dispatchBrowserEvent('show-message', ['message' => $this->message]); } } }