Path : /var/www/html/phkaynews-v2/app/Http/Livewire/Admin/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/html/phkaynews-v2/app/Http/Livewire/Admin/CategoryManage.php |
<?php namespace App\Http\Livewire\Admin; use App\Models\Category; use Jantinnerezo\LivewireAlert\LivewireAlert; use Livewire\Component; use Livewire\WithPagination; class CategoryManage extends Component { use LivewireAlert; use WithPagination; protected $paginationTheme = 'bootstrap'; public $category, $item; public $s, $sortField = 'created_at', $sortDirection = 'DESC', $per_page, $readyLoadingItem = false, $trashes = false, $total_trash, $trash_all = false, $restore = false; public $limited = 10, $show_limit = [10, 25, 50, 100]; protected $queryString = [ 'sortField' => ['except' => 'created_at'], 'sortDirection' => ['except' => 'DESC'], ]; protected $listeners = [ 'addCategory', 'updateCategory', 'confirmed', ]; public function updatingS() { $this->gotoPage(1); } public function updatingLimited() { $this->gotoPage(1); } public function updatingTrashes() { $this->s = null; $this->gotoPage(1); } public function getCategoriesProperty() { return Category::when($this->trashes, function ($query) { return $query->onlyTrashed(); }) ->when($this->s, function ($query) { return $query->where(function ($query) { $query->where('name', 'like', '%' . $this->s . '%'); }); })->orderBy($this->sortField, $this->sortDirection)->paginate($this->limited); } public function loadingItem() { $this->readyLoadingItem = true; } public function render() { $this->total_trash = Category::onlyTrashed()->count(); $this->per_page = $this->categories->perPage(); return view('livewire.admin.category-manage', [ 'categories' => $this->readyLoadingItem ? $this->categories : [] ])->layout('layouts.admin'); } public function sortBy($field) { if ($this->sortField === $field) { $this->sortDirection = $this->sortDirection === 'ASC' ? 'DESC' : 'ASC'; } else { $this->sortDirection = 'ASC'; } $this->sortField = $field; } public function addCategory($data) { $this->category = $data; $this->alert('success', 'Your item has been create successfully.', [ 'position' => 'top', 'toast' => true, 'showCancelButton' => false, 'showConfirmButton' => false, 'timerProgressBar' => true, ]); } public function updateCategory() { $this->alert('success', 'Your item has been update successfully.', [ 'position' => 'top', 'toast' => true, 'showCancelButton' => false, 'showConfirmButton' => false, 'timerProgressBar' => true, ]); } public function confirmed() { if ($this->trashes) { if ($this->restore) { Category::onlyTrashed()->restore(); $this->trashes = false; $action = 'restore all'; } else { if ($this->trash_all) { Category::onlyTrashed()->forceDelete(); $this->trashes = false; $action = "empty trashes"; } else { $this->item->forceDelete(); if ($this->total_trash == 1) { $this->trashes = false; } $action = "delete"; } } } else { $this->item->delete(); $action = 'trash'; } $this->alert('success', 'Your item has been ' . $action . ' successfully.', [ 'position' => 'top', 'toast' => true, 'showCancelButton' => false, 'showConfirmButton' => false, 'timerProgressBar' => true, ]); } public function pkmRestore($id) { $category = Category::onlyTrashed()->findOrFail($id); $category->restore(); if ($this->total_trash == 1) { $this->trashes = false; } $this->alert('success', 'Your item has been restore successfully.', [ 'position' => 'top', 'toast' => true, 'showCancelButton' => false, 'showConfirmButton' => false, 'timerProgressBar' => true, ]); } public function restoreAll() { $this->restore = true; $this->confirm("You won't be able to revert this!", [ 'toast' => false, 'position' => 'center', 'showConfirmButton' => true, 'onConfirmed' => 'confirmed', 'onCancelled' => 'cancelled', 'confirmButtonText' => 'Yes, restore it!', 'showCancelButton' => !0, 'cancelButtonText' => "No, cancel!", 'customClass' => [ 'confirmButton' => 'btn btn-info mt-2', 'cancelButton' => 'btn btn-danger ml-2 mt-2' ], 'buttonsStyling' => false, ]); } public function emptyTrash() { $this->trash_all = !$this->trash_all; $this->confirm("You won't be able to revert this!", [ 'toast' => false, 'position' => 'center', 'showConfirmButton' => true, 'onConfirmed' => 'confirmed', 'onCancelled' => 'cancelled', 'confirmButtonText' => 'Yes, empty trash!', 'showCancelButton' => !0, 'cancelButtonText' => "No, cancel!", 'customClass' => [ 'confirmButton' => 'btn btn-success mt-2', 'cancelButton' => 'btn btn-danger ml-2 mt-2' ], 'buttonsStyling' => false, ]); } public function deleted($id) { $this->item = Category::onlyTrashed()->findOrFail($id); $this->confirm("You won't be able to revert this!", [ 'toast' => false, 'position' => 'center', 'showConfirmButton' => true, 'onConfirmed' => 'confirmed', 'onCancelled' => 'cancelled', 'confirmButtonText' => 'Yes, delete it!', 'showCancelButton' => !0, 'cancelButtonText' => "No, cancel!", 'customClass' => [ 'confirmButton' => 'btn btn-success mt-2', 'cancelButton' => 'btn btn-danger ml-2 mt-2' ], 'buttonsStyling' => false, ]); } public function destroy(Category $category) { $this->item = $category; $this->confirm("You won't be able to revert this!", [ 'toast' => false, 'position' => 'center', 'showConfirmButton' => true, 'onConfirmed' => 'confirmed', 'onCancelled' => 'cancelled', 'confirmButtonText' => 'Yes, move trash!', 'showCancelButton' => !0, 'cancelButtonText' => "No, cancel!", 'customClass' => [ 'confirmButton' => 'btn btn-success mt-2', 'cancelButton' => 'btn btn-danger ml-2 mt-2' ], 'buttonsStyling' => false, ]); } }