// Fetch Wilayah dari API Database fetch("/api/layanan/wilayah") .then((response) => response.json()) .then((data) => populateFilters(data)) .catch((error) => console.error("Gagal load wilayah dari database:", error) ); function populateFilters(data) { populateSelect("kabkota", data.kabkota); populateSelect("kecamatan", data.kecamatan); populateSelect("kelurahan", data.kelurahan); } function populateSelect(id, options) { const select = document.getElementById(id); if (!select) return; // Add default option let defaultOption = '"; select.innerHTML = defaultOption + options .map( (opt) => ` ` ) .join(""); } // Fetch Layanan dari API Database document.addEventListener("DOMContentLoaded", function () { fetch("/api/layanan/data") .then((response) => response.json()) .then((data) => { initializeLayanan(data); setupUIHandlers(); }) .catch((error) => console.error("Gagal load layanan dari database:", error) ); }); function initializeLayanan(data) { renderHeader(data.header); renderTabs(data.tabs); renderContents(data.contents); changeTab("amdal"); } // Data Header function renderHeader(header) { const headerContainer = document.querySelector("#layanan-header"); if (!headerContainer) return; headerContainer.innerHTML = `
${header.subtitle}
`; } // Data Tabs function renderTabs(tabs) { const tabsContainer = document.querySelector("#layanan-tabs"); if (!tabsContainer) return; tabsContainer.innerHTML = tabs .map( (tab) => ` ` ) .join(""); } // Data Contents function renderContents(contents) { const contentsContainer = document.querySelector("#layanan-contents"); if (!contentsContainer) return; contentsContainer.innerHTML = Object.entries(contents) .map(([key, items]) => { if (key === "audit") { return ` `; } else { return ` `; } }) .join(""); } function renderStandardItem(item, index) { return `${item.description}
| No | Nama PT | Judul | Aksi |
|---|---|---|---|
| ${item.no} | ${item.company} | ${item.title} |
Peta Lokasi Kegiatan
${ data.latitude && data.longitude ? `${data.latitude}, ${data.longitude}
` : "" }