feat(currency): tambahkan fitur filter pada ekspor data mata uang
- Modifikasi `CurrencyController`: - Tambahkan parameter `Request` pada method `export` untuk menerima input filter `search`. - Perbarui logika ekspor agar mendukung pencarian berbasis parameter `search`. - Perubahan pada `CurrencyExport`: - Tambahkan konstruktor untuk menerima dan menyimpan parameter pencarian (`search`). - Modifikasi query pada method `collection` untuk menambahkan filter berdasarkan `code`, `name`, atau `decimal_places` yang sesuai dengan parameter `search`. - Hapus kolom `updated_at` dan `deleted_at` dari output ekspor. - Perbaikan format data pada method `columnFormats`. - Update pada view `currency/index.blade.php`: - Tambahkan elemen JavaScript untuk mengatur URL parameter `search` pada tombol ekspor. - Ganti event `change` pada input pencarian dengan `input` untuk meningkatkan respon pencarian secara real-time. - Pastikan URL ekspor diperbarui setiap kali pengguna mengetik dalam kolom pencarian. - Penyesuaian minor pada `branch/index.blade.php`: - Hapus log yang tidak relevan sebelum proses ekspor. Fitur ini memastikan proses ekspor data mata uang dapat disaring berdasarkan pencarian spesifik, memberikan fleksibilitas lebih kepada pengguna. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -259,7 +259,6 @@
|
||||
});
|
||||
|
||||
exportBtn.addEventListener('click', function() {
|
||||
console.log('Exporting data...');
|
||||
updateExportUrl();
|
||||
applyFilters();
|
||||
})
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="flex flex-wrap gap-2.5">
|
||||
<div class="h-[24px] border border-r-gray-200"></div>
|
||||
@can('basic-data.export')
|
||||
<a class="btn btn-sm btn-light" href="{{ route('basicdata.currency.export') }}"> Export to Excel </a>
|
||||
<a id="export-btn" class="btn btn-sm btn-light" href="{{ route('basicdata.currency.export') }}"> Export to Excel </a>
|
||||
@endcan
|
||||
@can('basic-data.create')
|
||||
<a class="btn btn-sm btn-primary" href="{{ route('basicdata.currency.create') }}"> Tambah Mata Uang </a>
|
||||
@@ -152,6 +152,7 @@
|
||||
<script type="module">
|
||||
const element = document.querySelector('#currency-table');
|
||||
const searchInput = document.getElementById('search');
|
||||
const exportBtn = document.getElementById('export-btn');
|
||||
const deleteSelectedButton = document.getElementById('deleteSelected');
|
||||
|
||||
const apiUrl = element.getAttribute('data-api-url');
|
||||
@@ -206,11 +207,28 @@
|
||||
};
|
||||
|
||||
let dataTable = new KTDataTable(element, dataTableOptions);
|
||||
|
||||
// Update export URL with filters
|
||||
function updateExportUrl() {
|
||||
let url = new URL(exportBtn.href);
|
||||
|
||||
if (searchInput.value) {
|
||||
url.searchParams.set('search', searchInput.value);
|
||||
} else {
|
||||
url.searchParams.delete('search');
|
||||
}
|
||||
|
||||
exportBtn.href = url.toString();
|
||||
}
|
||||
|
||||
// Custom search functionality
|
||||
searchInput.addEventListener('change', function () {
|
||||
searchInput.addEventListener('input', function () {
|
||||
const searchValue = this.value.trim();
|
||||
dataTable.goPage(1);
|
||||
dataTable.search(searchValue, true);
|
||||
|
||||
// Update export URL with search parameter
|
||||
updateExportUrl();
|
||||
});
|
||||
|
||||
function updateDeleteButtonVisibility() {
|
||||
|
||||
Reference in New Issue
Block a user