Skip to content

Commit

Permalink
Streamline JS functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
Marko259 committed Feb 3, 2025
1 parent c5f4a00 commit 5ada482
Showing 1 changed file with 35 additions and 28 deletions.
63 changes: 35 additions & 28 deletions resources/views/staffing/create.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,38 @@
let addPositionBtn = document.getElementById("add-position");
let positionsData = @json($positions);
function setupPositionListeners(positionDiv)
{
let callsignSelect = positionDiv.querySelector(".callsign-select");
let callsignInput = positionDiv.querySelector(".callsign-input");
let localBookingCheckbox = positionDiv.querySelector(".local-booking");
let removeBtn = positionDiv.querySelector(".remove-position");
if (localBookingCheckbox) {
localBookingCheckbox.addEventListener("change", function() {
if (this.checked) {
callsignSelect.classList.add("d-none");
callsignSelect.disabled = true;
callsignInput.classList.remove("d-none");
callsignInput.disabled = false;
callsignInput.value = "";
} else {
callsignInput.classList.add("d-none");
callsignInput.disabled = true;
callsignInput.value = "";
callsignSelect.classList.remove("d-none");
callsignSelect.disabled = false;
}
});
}
if (removeBtn) {
removeBtn.addEventListener("click", function() {
positionDiv.remove();
});
}
}
function createPositionField() {
let positionIndex = document.querySelectorAll(".position-entry").length;
let positionDiv = document.createElement("div");
Expand Down Expand Up @@ -176,36 +208,11 @@ function createPositionField() {
positionsContainer.appendChild(positionDiv);
// Remove position button
positionDiv.querySelector(".remove-position").addEventListener("click", function () {
positionDiv.remove();
});
// Get elements
let callsignSelect = positionDiv.querySelector(".callsign-select");
let callsignInput = positionDiv.querySelector(".callsign-input");
let localBookingCheckbox = positionDiv.querySelector(".local-booking");
// Handle local booking toggle
localBookingCheckbox.addEventListener("change", function () {
if (this.checked) {
callsignSelect.classList.add("d-none"); // Hide dropdown
callsignSelect.disabled = true;
callsignInput.classList.remove("d-none"); // Show text input
callsignInput.disabled = false;
callsignInput.value = "";
} else {
callsignInput.classList.add("d-none"); // Hide text input
callsignInput.disabled = true;
callsignInput.value = "";
callsignSelect.classList.remove("d-none"); // Show dropdown
callsignSelect.disabled = false;
}
});
setupPositionListeners(positionDiv);
}
document.querySelectorAll(".position-entry").forEach(setupPositionListeners);
addPositionBtn.addEventListener("click", createPositionField);
});
</script>
Expand Down

0 comments on commit 5ada482

Please sign in to comment.