2025-04-27 22:31:11 +07:00

151 lines
4.6 KiB
JavaScript

function editData(value){
const uid = $(value).data('uid')
const name = $(value).data('name')
$("#edit_modal").modal('show')
$("#edit_name").val(name)
formEdit.attr('action', `/asuransi/${uid}`)
formEdit.off("submit").on("submit", async function(e){
e.preventDefault()
const formDataEdit = new FormData(formEdit[0])
try {
const responseEdit = await fetch(formEdit.attr("action"), {
method:"POST",
body:formDataEdit,
})
const resultEdit = await responseEdit.json()
if(responseEdit.ok && resultEdit.status === "success"){
Swal.fire({
title:"Success",
text:"Data Berhasil diupdate",
icon:"success",
showConfirmButton: false,
timer:1200
});
formEdit[0].reset()
$("#edit_modal").modal('hide')
dataTable.bootstrapTable("refresh")
}
} catch (error) {
Swal.fire({
title:"Error",
text:"Message:" + error,
icon:"error",
})
}
})
}
function deleteData(uid, name){
Swal.fire({
title: "Apakah kamu yakin ingin menghapus data ini?",
text : 'Akses ' + name,
icon: "warning",
showCancelButton: true
}).then((result) => {
if(result.isConfirmed){
fetch(`/asuransi/${uid}`, {
method:'DELETE',
headers: {
"X-CSRF-TOKEN": document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
"Content-Type": "application/json"
}
}).then((response) => {
if(!response.ok){
throw new Error("Network response was not ok");
}
return response.json();
})
.then((data) => {
if(data.status === "success"){
Swal.fire({
title: "Success",
text: "Data berhasil dihapus",
icon:"success",
showConfirmButton: false,
timer: 1000
}).then(() => {
dataTable.bootstrapTable("refresh")
})
}else{
Swal.fire({
title: "Error!",
text: data.message || "Failed to delete Schedule.",
icon: "error"
});
}
})
.catch(error => {
Swal.fire({
title: "Error!",
text: "Something went wrong. Please try again later.",
icon: "error"
});
});
}
})
}
$("#addInsurance").on("click", function() {
const newInput = `
<div class="form-group">
<input type="text" class="form-control mt-2" name="name[]" placeholder="Enter name">
</div>
`;
$("#insurance-wrapper").append(newInput);
});
formCreate.on("submit", async function(e){
e.preventDefault()
const formData = new FormData(formCreate[0])
try {
const response = await fetch(formCreate.attr("action"), {
method:"POST",
body:formData,
headers: {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content
}
})
const result = await response.json()
if(response.ok && result.status === "success"){
Swal.fire({
title:"Success",
text:"Data Berhasil ditambahkan",
icon:"success",
showConfirmButton: false,
timer:1200
});
formCreate[0].reset()
$("#insurance-wrapper").html(`
<div class="form-group">
<label for="insuranceName">Nama Asuransi</label>
<input type="text" class="form-control" name="name[]" placeholder="Enter name">
</div>
`);
// Optional: fokuskan ke input pertama lagi
formCreate.find('input[name="name[]"]').first().focus();
$("#create_modal_asuransi").modal('hide')
dataTable.bootstrapTable("refresh")
}
} catch (error) {
console.log(error);
Swal.fire({
title:"Error",
text:"Message:" + error,
icon:"error",
})
}
})