add business industry crud
This commit is contained in:
79
resources/js/business-industries/update.js
Normal file
79
resources/js/business-industries/update.js
Normal file
@@ -0,0 +1,79 @@
|
||||
class UpdateBusinessIndustries {
|
||||
init() {
|
||||
this.handleUpdateData();
|
||||
}
|
||||
|
||||
handleUpdateData() {
|
||||
const form = document.getElementById("formUpdateBusinessIndustries");
|
||||
const submitButton = document.getElementById(
|
||||
"btnUpdateBusinessIndustries"
|
||||
);
|
||||
const toastNotification = document.getElementById("toastNotification");
|
||||
const toastBody = document.getElementById("toastBody"); // Add an element inside toast to display messages
|
||||
const spinner = document.getElementById("spinner");
|
||||
const toast = new bootstrap.Toast(toastNotification);
|
||||
|
||||
if (!submitButton) {
|
||||
console.error("Error: Submit button not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
submitButton.addEventListener("click", async function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
// Disable button and show spinner
|
||||
submitButton.disabled = true;
|
||||
spinner.classList.remove("d-none");
|
||||
|
||||
// Create FormData object
|
||||
const formData = new FormData(form);
|
||||
const formObject = {};
|
||||
formData.forEach((value, key) => {
|
||||
formObject[key] = value;
|
||||
});
|
||||
formData.append("_method", "PUT");
|
||||
|
||||
try {
|
||||
let response = await fetch(form.action, {
|
||||
method: "POST", // Laravel's update route uses PUT, so adjust accordingly
|
||||
headers: {
|
||||
Authorization: `Bearer ${document
|
||||
.querySelector('meta[name="api-token"]')
|
||||
.getAttribute("content")}`,
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(formObject),
|
||||
});
|
||||
|
||||
let data = await response.json();
|
||||
|
||||
if (response.ok) {
|
||||
// Show success toast
|
||||
document.getElementById("toast-message").innerText =
|
||||
data.message;
|
||||
toast.show();
|
||||
setTimeout(() => {
|
||||
window.location.href = "/data/business-industries";
|
||||
}, 2000);
|
||||
} else {
|
||||
// Show error toast with message from API
|
||||
document.getElementById("toast-message").innerText =
|
||||
data.message;
|
||||
toast.show();
|
||||
submitButton.disabled = false;
|
||||
spinner.classList.add("d-none");
|
||||
}
|
||||
} catch (error) {
|
||||
// Show error toast for network errors
|
||||
document.getElementById("toast-message").innerText =
|
||||
data.message;
|
||||
toast.show();
|
||||
submitButton.disabled = false;
|
||||
spinner.classList.add("d-none");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
document.addEventListener("DOMContentLoaded", function (e) {
|
||||
new UpdateBusinessIndustries().init();
|
||||
});
|
||||
Reference in New Issue
Block a user