This commit is contained in:
Mateusz Gruszczyński committed 2026-10-10 20:56:36 +02:00
1 parent f213d853e2
commit 76b8bb7ee2
78 files changed
+7750 -5204

No files matched your search

+17 -11
View File
@@ -144,26 +144,32 @@
renderTypes(counters); renderReasons(counters); renderVhosts(data);
$("transform-panel-state").textContent = `${t("cacheUpdated")}: ${formatTime(new Date())}`;
}
async function refresh() {
async function loadTransform({ signal, isCurrent }) {
if (!authenticated || currentPanel !== "transform" || loading) return;
loading = true; const epoch = authEpoch, token = generation;
loading = true;
const epoch = authEpoch, token = generation;
try {
const data = await api("/api/transform");
if (epoch !== authEpoch || token !== generation || !authenticated) return;
render(data);
const data = await api("/api/transform", { signal });
if (isCurrent() && token === generation) render(data);
} catch (error) {
if (epoch === authEpoch) { $("transform-panel-state").textContent = error.message; if (error.status === 401) lock(); }
} finally {
loading = false;
if (token !== generation && authenticated && currentPanel === "transform") void refresh();
}
if (error?.name !== "AbortError" && epoch === authEpoch && isCurrent()) {
$("transform-panel-state").textContent = error.message;
if (error.status === 401) lock();
}
} finally { loading = false; }
}
function refresh() { return rustProxyRefresh.manual("transform"); }
initializeLiveChartLimit();
$("transform-live-samples")?.addEventListener("change", event => setLiveChartLimit(event.currentTarget.value));
$("transform-scope")?.addEventListener("change", () => { resetLiveChart(); if (lastData) render(lastData); });
$("transform-refresh")?.addEventListener("click", () => { generation++; void refresh(); });
$("transform-panel-settings")?.addEventListener("click", () => { setPanel("settings"); window.rustProxySettings?.select("transform"); $("transform-form")?.scrollIntoView({ block: "start" }); });
setInterval(() => { if (!document.hidden && $("transform-live")?.checked) void refresh(); }, 3000);
rustProxyRefresh.register("transform", {
interval: () => 3,
active: () => currentPanel === "transform" && !!$("transform-live")?.checked,
run: loadTransform
});
$("transform-live")?.addEventListener("change", () => rustProxyRefresh.sync());
window.rustProxyTransformPanel = {
refresh,
reset() {