<script>
// REFRESH FORM -Start-
function refreshForm() {
$('#addForm #paket_id').val('');
$('#addForm #nama_item_paket').val('');
$('#addForm #harga_item_paket').val('');
$('#addForm #keterangan').val('');
$('#addForm input[name="icon_item_paket"]').prop('checked', false);
}
// REFRESH FORM -End-
// REFRESH TABLE -Start-
function refreshTable(searchQuery) {
var TableBody = $('#mainTable tbody');
var currentPageUrl = '/getItemPaket?page=1';
TableBody.html('<tr><td colspan="6" class="text-center">Memuat data...</td></tr>');
$.ajax({
url: currentPageUrl,
type: 'GET',
data: {
search: searchQuery
},
cache: false,
success: function(response) {
if (response.status === 'success') {
TableBody.empty();
nextPageUrl = response.next_page_url || null;
$.each(response.data, function(index, item) {
console.log(item);
var row = `
<tr>
<td><i class="bi bi-${item.icon_item?? '-'}"></i></td>
<td>${item.nama_item ?? '-'}</td>
<td>${item.harga_item ?? '-'}</td>
<td>${item.keterangan ?? '-'}</td>
<td>
<div>
<button class="btn btn-info text-white edit-btn" data-bs-toggle="modal"
data-bs-target="#modalEdit" data-id="${item.id}"
data-nama_item="${item.nama_item}" data-icon_item="${item.icon_item}"
data-keterangan="${item.keterangan}" data-harga_item="${item.harga_item}"
><i class="bi bi-pencil-square"></i>
</button>
<button class="btn btn-danger delete-btn" data-id="${item.id}">
<i class="bi bi-trash-fill"></i>
</button>
</div>
</td>
</tr>`;
TableBody.append(row);
});
} else {
alert('Gagal memuat data: ' + response.errors);
}
},
error: function(xhr) {
console.log(xhr.response)
TableBody.html('<tr><td colspan="6" class="text-center">Data Tidak Ditemukan!</td></tr>');
},
complete: function() {
isLoading = false;
}
});
}
// REFRESH TABLE -End-
// LOAD DATA -Start-
let nextPageUrl = '/getItemPaket?page=2'
var isLoading = false;
function loadData(searchQuery = '') {
var TableBody = $('#mainTable tbody');
if (!nextPageUrl || isLoading) return;
isLoading = true;
$.ajax({
url: nextPageUrl,
type: 'GET',
data: {
search: searchQuery
},
cache: false,
success: function(response) {
if (response.status === 'success') {
nextPageUrl = response.next_page_url || null;
$.each(response.data, function(index, item) {
var row = `
<tr>
<td><i class="bi bi-${item.icon_item?? '-'}"></i></td>
<td>${item.nama_item ?? '-'}</td>
<td>${item.harga_item ?? '-'}</td>
<td>${item.keterangan ?? '-'}</td>
<td>
<div>
<button class="btn btn-info text-white edit-btn" data-bs-toggle="modal"
data-bs-target="#modalEdit" data-id="${item.id}"
data-nama_item="${item.nama_item}" data-icon_item="${item.icon_item}"
data-keterangan="${item.keterangan}" data-harga_item="${item.harga_item}"
><i class="bi bi-pencil-square"></i>
</button>
<button class="btn btn-danger delete-btn" data-id="${item.id}">
<i class="bi bi-trash-fill"></i>
</button>
</div>
</td>
</tr>`;
TableBody.append(row);
});
} else {
alert('Gagal memuat data: ' + response.errors);
}
},
error: function(xhr) {
TableBody.html('<tr><td colspan="6" class="text-center">Data Tidak Ditemukan!</td></tr>');
},
complete: function() {
isLoading = false;
}
});
}
// LOAD DATA -End-
// LOAD DATA WHEN SCROLL - Start -
$(window).on('scroll', function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 50) {
loadData();
}
});
// LOAD DATA WHEN SCROLL - End -
// FILL EDIT MODAL -Start-
$(document).on('click', '.edit-btn', function(e) {
var id = $(this).data('id');
var keterangan = $(this).data('keterangan');
var nama_item = $(this).data('nama_item');
var harga_item_paket = $(this).data('harga_item');
var icon_item_paket = $(this).data('icon_item');
var paket_id = $(this).data('paket_id');
// Populate the modal fields with the data
$('#edit_id').val(id);
$('#edit_nama_item_paket').val(nama_item);
$(`input[name="edit_icon_item_paket"][value="${icon_item_paket}"]`).prop('checked', true);
$('#edit_harga_item_paket').val(harga_item_paket);
$('#edit_keterangan').val(keterangan);
// Show the modal
});
// FILL EDIT MODAL -End-
// ADD DATA WHEN SUBMIT BUTTON GET CLICK -Start-
$('#submit-btn').click(function(e) {
e.preventDefault();
var formData = new FormData();
formData.append('_method', 'POST');
formData.append('nama_item', $('#nama_item_paket').val());
formData.append('harga_item', $('#harga_item_paket').val());
formData.append('keterangan', $('#keterangan').val());
formData.append('icon_item', $('input[name="icon_item_paket"]:checked').val());
$.ajax({
url: '{{ route('itemPaket.store') }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
if (response.status == 'success') {
showAlert(
'Data Berhasil Di Tambahkan!',
response.message,
response.status,
function() {}
);
refreshTable();
refreshForm();
} else {
showAlert(
'Data Gagal Di Tambahkan!',
response.message,
response.status,
function() {}
);
}
},
error: function(xhr) {
if (xhr.status === 422) {
console.log(xhr.responseJSON);
var errors = xhr.responseJSON.error;
var errorMessage = '';
$.each(errors, function(key, value) {
errorMessage += value + '\n';
});
showAlert(
'Gagal Ditambahkan!',
errorMessage,
'error',
function() {}
);
} else {
alert('Terjadi kesalahan server.');
}
}
});
});
// ADD DATA WHEN SUBMIT BUTTON GET CLICK -End-
// UPDATE WHEN UPDATE BUTTON GET CLICK -Start-
$(document).on('click', '#update-btn', function(e) {
e.preventDefault();
var id = $('#edit_id').val();
var formData = new FormData();
formData.append('_method', 'PUT');
formData.append('nama_item', $('#edit_nama_item_paket').val());
formData.append('icon_item', $('input[name="edit_icon_item_paket"]:checked').val());
formData.append('harga_item', $('#edit_harga_item_paket').val());
formData.append('keterangan', $('#edit_keterangan').val());
console.log($('input[name="edit_icon_item_paket"]').val());
$.ajax({
url: `{{ route('itemPaket.update', ':id') }}`.replace(':id', id),
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
if (response.status == 'success') {
showAlert(
'Berhasil Diubah!',
response.message,
response.status,
function() {
refreshTable()
}
);
} else {
showAlert(
'Gagal Diubah!',
response.message,
response.status,
function() {}
);
}
},
error: function(xhr) {
if (xhr.status === 422) {
var errors = xhr.responseJSON.error;
var errorMessage = '';
$.each(errors, function(key, value) {
errorMessage += value + '\n';
});
showAlert(
'Gagal Diubah!',
errorMessage,
'error',
function() {}
);
} else {
alert('Terjadi kesalahan server.');
}
}
});
});
// UPDATE WHEN UPDATE BUTTON GET CLICK -End-
// DELETE WHEN DELETE BUTTON GET CLICK -Start-
$(document).on('click', '.delete-btn', function(e) {
e.preventDefault();
var id = $(this).data('id');
deleteAlert(function() {
$.ajax({
url: '/itemPaket/' + id,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
if (response.status === 'success') {
showAlert(
'Data Berhasil Dihapus!',
response.message,
response.status,
function() {
refreshTable();
}
);
} else {
showAlert(
'Data Gagal Dihapus!',
response.message,
response.status,
function() {}
);
}
},
error: function(xhr) {
if (xhr.status === 422) {
var errors = xhr.responseJSON.errors;
var errorMessage = '';
$.each(errors, function(key, value) {
errorMessage += value + '\n';
});
showAlert(
'Gagal Diubah!',
errorMessage,
'error',
function() {}
);
} else {
alert('Terjadi kesalahan server.');
}
}
});
});
});
// DELETE WHEN DELETE BUTTON GET CLICK -End-
// REFRESH THE TABLE WHEN THERE IS INPUT IN SEARCH BAR - Start -
$('#search-bar').on('input', function() {
const searchQuery = $(this).val();
refreshTable(searchQuery);
});
// REFRESH THE TABLE WHEN THERE IS INPUT IN SEARCH BAR - End -
// WHEN DOCUMENT IS FULLY LOADED -Start
$(document).ready(function() {
refreshTable();
});
// WHEN DOCUMENT IS FULLY LOADED -End-
</script>
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]