This commit is contained in:
2025-03-31 10:23:40 +00:00
parent f6ba990e1c
commit f6368f12f1
2 changed files with 29 additions and 6 deletions

View File

@@ -116,6 +116,11 @@
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
let id = "<?php echo $_GET['id'];?>"; let id = "<?php echo $_GET['id'];?>";
// Disable all dropdowns by default
document.querySelectorAll("select.editable").forEach((element) => {
element.disabled = true;
});
// Select all editable elements // Select all editable elements
document.querySelectorAll(".editable").forEach((element) => { document.querySelectorAll(".editable").forEach((element) => {
let oldValue = element.value || element.textContent.trim(); // Store initial value let oldValue = element.value || element.textContent.trim(); // Store initial value
@@ -157,6 +162,9 @@ function editField(button) {
if (element.tagName === "INPUT") { if (element.tagName === "INPUT") {
element.readOnly = false; element.readOnly = false;
element.focus(); element.focus();
} else if (element.tagName === "SELECT") {
element.disabled = false; // Enable dropdown
element.focus();
} else { } else {
element.contentEditable = true; element.contentEditable = true;
element.focus(); element.focus();
@@ -165,6 +173,8 @@ function editField(button) {
element.addEventListener("blur", function () { element.addEventListener("blur", function () {
if (element.tagName === "INPUT") { if (element.tagName === "INPUT") {
element.readOnly = true; element.readOnly = true;
} else if (element.tagName === "SELECT") {
element.disabled = true; // Disable dropdown
} else { } else {
element.contentEditable = false; element.contentEditable = false;
} }
@@ -288,7 +298,7 @@ function opDetail() {
echo '<tr><th>Arriving From:</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><span class="editable" data-column="in_from">' . $row['in_from'] . '</span></td></tr>'; echo '<tr><th>Arriving From:</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><span class="editable" data-column="in_from">' . $row['in_from'] . '</span></td></tr>';
echo '<tr><th>POB IN</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><input type="number" class="editable" data-column="pob_in" value="' . $row['pob_in'] . '" readonly></td></tr>'; echo '<tr><th>POB IN</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><input type="number" class="editable" data-column="pob_in" value="' . $row['pob_in'] . '" readonly></td></tr>';
echo '<tr><th>ETA</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><input type="datetime-local" class="editable" data-column="eta" value="' . ($row['eta'] ? date('Y-m-d\TH:i', strtotime($row['eta'])) : '') . '" readonly></td></tr>'; echo '<tr><th>ETA</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><input type="datetime-local" class="editable" data-column="eta" value="' . ($row['eta'] ? date('Y-m-d\TH:i', strtotime($row['eta'])) : '') . '" readonly></td></tr>';
echo '<tr><th>Fuel</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><select class="editable" data-column="fuel" onchange="this.blur()" readonly>'; echo '<tr><th>Fuel</th><td><button class="edit-button" onclick="editField(this)"><img src="assets/edit.png" alt="Edit"></button></td><td><select class="editable" data-column="fuel" onchange="this.blur()" disabled>';
echo '<option value="None"' . ($row['fuel'] === 'None' ? ' selected' : '') . '>None</option>'; echo '<option value="None"' . ($row['fuel'] === 'None' ? ' selected' : '') . '>None</option>';
echo '<option value="100LL"' . ($row['fuel'] === '100LL' ? ' selected' : '') . '>100LL</option>'; echo '<option value="100LL"' . ($row['fuel'] === '100LL' ? ' selected' : '') . '>100LL</option>';
echo '<option value="JET A1"' . ($row['fuel'] === 'JET A1' ? ' selected' : '') . '>JET A1</option>'; echo '<option value="JET A1"' . ($row['fuel'] === 'JET A1' ? ' selected' : '') . '>JET A1</option>';

View File

@@ -213,11 +213,24 @@ function markLanded(id) {
} }
function markCancel(id) { function markCancel(id) {
Swal.fire({
title: "Are you sure?",
text: "This action will cancel the PPR.",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "Yes, cancel it!",
cancelButtonText: "No, keep it"
}).then((result) => {
if (result.isConfirmed) {
const page = `action.php?op=cancel&id=${id}`; const page = `action.php?op=cancel&id=${id}`;
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.open("GET", page, false); // 'false' makes the request synchronous xhr.open("GET", page, false); // 'false' makes the request synchronous
xhr.send(); xhr.send();
window.location.reload(true); window.location.reload(true);
}
});
} }
function openDetail(id) { function openDetail(id) {