// file: kb-app-demo-desktop/frontend/ts/demo_sql_pg_raw.ts // version: 3 import * as bootstrap from "bootstrap"; import "simplebar"; import ResizeObserver from "resize-observer-polyfill"; import { invoke } from "@tauri-apps/api/core"; import { frontendDebug, frontendError, installFrontendConsoleBridge } from "./frontend_log"; import { renderJsonViewer, renderTables, setText } from "./demo_sql_tables"; import type { DemoSqlPgRawPayload } from "./bindings/kb_app_demo_desktop/demo_sql_pg_raw/DemoSqlPgRawPayload"; (window as Window & typeof globalThis & { bootstrap?: typeof bootstrap }).bootstrap = bootstrap; (window as Window & typeof globalThis & { ResizeObserver?: typeof ResizeObserver }).ResizeObserver = ResizeObserver; async function refreshRaw(): Promise { setText("#sqlRawStatus", "Chargement..."); try { const payload = await invoke("load_demo_sql_pg_raw"); setText("#sqlRawProfile", payload.activeProfileName); setText("#sqlRawDsn", payload.maskedDsn); setText("#sqlRawStatus", "OK"); renderTables("#sqlRawTableBody", payload.tables); renderJsonViewer("#sqlRawJson", payload); frontendDebug("kb_app_demo.frontend.demo_sql_pg_raw", "PostgreSQL raw diagnostics refreshed"); } catch (caughtError) { const message = caughtError instanceof Error ? caughtError.message : String(caughtError); setText("#sqlRawStatus", `Erreur : ${message}`); renderJsonViewer("#sqlRawJson", { error: message }); frontendError("kb_app_demo.frontend.demo_sql_pg_raw", `PostgreSQL raw diagnostics loading failed: ${message}`); } } document.addEventListener("DOMContentLoaded", () => { installFrontendConsoleBridge("kb_app_demo.frontend.demo_sql_pg_raw"); frontendDebug("kb_app_demo.frontend.demo_sql_pg_raw", "PostgreSQL raw demo window loaded"); const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]'); Array.from(tooltipTriggerList).map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)); document.querySelector("#refreshSqlRawButton")?.addEventListener("click", () => { void refreshRaw(); }); void refreshRaw(); });