89 lines
2.5 KiB
Text
89 lines
2.5 KiB
Text
// ===============================
|
||
// UI FUNCTIONS
|
||
// ===============================
|
||
|
||
// Mostra output JSON nel <pre id="out">
|
||
function out(data) {
|
||
document.getElementById("out").textContent =
|
||
JSON.stringify(data, null, 2);
|
||
}
|
||
|
||
|
||
|
||
// ===============================
|
||
// CARICA LISTA UTENTI (solo Admin)
|
||
// ===============================
|
||
async function loadUserDropdown() {
|
||
try {
|
||
const users = await apiGet(`/users`);
|
||
|
||
const sel = document.getElementById("userSelect");
|
||
if (!sel) return;
|
||
|
||
sel.innerHTML = "";
|
||
|
||
users.forEach(u => {
|
||
const opt = document.createElement("option");
|
||
opt.value = u.name;
|
||
opt.textContent = u.name;
|
||
sel.appendChild(opt);
|
||
});
|
||
|
||
} catch (err) {
|
||
console.error("Errore nel caricare gli utenti:", err);
|
||
out({ error: "Errore nel caricare gli utenti", details: err.message });
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// ===============================
|
||
// TOGGLE SOFT DELETE (via prompt)
|
||
// ===============================
|
||
async function toggleSoftDeletePrompt() {
|
||
const id = prompt("Inserisci l'ID della foto da togglare (soft delete):");
|
||
|
||
if (!id) {
|
||
alert("Nessun ID inserito");
|
||
return;
|
||
}
|
||
|
||
try {
|
||
const data = await apiPost(`/photos/toggle_soft/${id}`);
|
||
out(data);
|
||
} catch (err) {
|
||
console.error("Errore toggle soft delete:", err);
|
||
out({ error: err.message });
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// ===============================
|
||
// INIZIALIZZAZIONE UI
|
||
// ===============================
|
||
document.addEventListener("DOMContentLoaded", async () => {
|
||
|
||
// 1️⃣ Aspetta che config.js carichi Admin.BASE_URL
|
||
await loadConfig();
|
||
|
||
// 2️⃣ Inizializza pulsanti
|
||
document.getElementById("btnScan").onclick = scan;
|
||
document.getElementById("btnResetDB").onclick = resetDB;
|
||
document.getElementById("btnReadDBUser").onclick = readDBUser;
|
||
document.getElementById("btnDeletePhoto").onclick = deletePhoto;
|
||
document.getElementById("btnFindIdIndex").onclick = findIdIndex;
|
||
document.getElementById("btnResetDBuser").onclick = resetDBuser;
|
||
document.getElementById("btnSearchPhotoById").onclick = searchPhotoById;
|
||
document.getElementById("btnShowChanges").onclick = showChanges;
|
||
document.getElementById("btnBack").onclick = () => window.location.href = "index.html";
|
||
|
||
// ⭐ NUOVO: Toggle Soft Delete via prompt
|
||
document.getElementById("btnToggleSoft").onclick = toggleSoftDeletePrompt;
|
||
|
||
// 3️⃣ Carica dropdown utenti SOLO se Admin
|
||
const payload = parseJwt(Admin.token);
|
||
if (payload.name === "Admin") {
|
||
loadUserDropdown();
|
||
}
|
||
});
|