searchBy = [ 'xml_type' => 'Xml Type', 'pre_tag_xml' => 'Pre Tag Xml', 'tag_xml' => 'Tag Xml', 'name' => 'Name', 'thai_name' => 'Thai Name', ]; } public function search() { $this->resetPage(); $this->action = 'list'; } public function updatedPerPage($value) { $this->adjustPageForNewPerPage(); } public function adjustPageForNewPerPage() { $lastPage = ceil($this->totalItems / $this->perPage); if ($this->page > $lastPage) { $this->setPage($lastPage); } } public function showAddForm() { $this->action = 'create'; } public function showEditForm($id) { $this->action = 'edit'; $this->editId = $id; } public function hideMessage() { $this->showMessage = false; } public function showList($message = null) { $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($deleteId) { $masterfileXml = MasterMapfieldXml::find($deleteId); if ($masterfileXml) { $masterfileXml->delete(); $message = "Deleted Successfully"; } else { $message = "Record not found."; } $this->message = $message; $this->dispatchBrowserEvent('show-message', ['message' => $this->message]); } public function deleteSelected($selectedMasterFile) { if (!Auth::user()->hasPermissions(['delete-master-file-xml'])) { $this->showNoPermissionModal = true; return; } $masterFileDeleted = MasterMapfieldXml::whereIn("id", $selectedMasterFile)->pluck('topic')->toArray(); $newsStr = implode(",", $masterFileDeleted); MasterMapfieldXml::destroy($selectedMasterFile); $message = sprintf("Deleted: (%s) Successfully", $newsStr); $this->message = $message; $this->selectedMasterFile = []; if ($this->message) { $this->dispatchBrowserEvent('show-message', ['message' => $this->message]); } } public function render() { $query = MasterMapfieldXml::query(); if (!empty($this->keyword)) { $query->where($this->searchSelected, 'LIKE', '%' . $this->keyword . '%'); } $query->orderBy('id', 'DESC'); $results = $query->paginate($this->perPage); $this->totalItems = $results->total(); return view('livewire.pages.master-file-xml.master-file-index', [ 'results' => $results, 'selectedMasterFile' => $this->selectedMasterFile, 'showDeleteListModal' => $this->showDeleteListModal ]); } }