update fitur peta pada tambah spbu

This commit is contained in:
tistopandita
2026-06-11 23:54:47 +07:00
parent 9d22253e40
commit 6535ae815f
2 changed files with 247 additions and 28 deletions
+3 -12
View File
@@ -194,7 +194,7 @@
<div class="brand">
<small>Gereja Peduli</small>
<h1>WebGIS Poverty Mapping</h1>
<p>Peta prioritas keluarga penerima bantuan berbasis SAW, terpusat, dan mendukung mode privasi.</p>
<p>Peta prioritas keluarga penerima bantuan berbasis SAW, terpusat, dan mudah dipantau.</p>
</div>
<section class="panel">
@@ -209,12 +209,6 @@
<section class="panel">
<h2>Filter Peta</h2>
<label class="field">Role Akses
<select id="roleSelect">
<option value="admin">Admin - semua data</option>
<option value="pengurus">Pengurus - data sensitif disembunyikan</option>
</select>
</label>
<label class="field">Kategori
<select id="categoryFilter">
<option value="">Semua Kategori</option>
@@ -227,7 +221,6 @@
<label class="field">Pencarian Keluarga
<input id="searchInput" placeholder="Nama, alamat, atau wilayah" />
</label>
<label class="switch"><span>Mode Privasi</span><input id="privacyToggle" type="checkbox" /></label>
<label class="switch"><span>Heatmap persebaran</span><input id="heatToggle" type="checkbox" checked /></label>
</section>
@@ -296,11 +289,9 @@
}
function params() {
const role = el("roleSelect").value;
const privacy = el("privacyToggle").checked ? "1" : "0";
const kategori = encodeURIComponent(el("categoryFilter").value);
const search = encodeURIComponent(el("searchInput").value.trim());
return `role=${role}&privacy=${privacy}&kategori=${kategori}&search=${search}`;
return `kategori=${kategori}&search=${search}`;
}
async function loadData() {
@@ -416,7 +407,7 @@
}
let debounce;
["roleSelect", "categoryFilter", "privacyToggle", "heatToggle"].forEach((id) => el(id).addEventListener("change", () => loadData().catch((error) => toast(error.message))));
["categoryFilter", "heatToggle"].forEach((id) => el(id).addEventListener("change", () => loadData().catch((error) => toast(error.message))));
el("searchInput").addEventListener("input", () => {
clearTimeout(debounce);
debounce = setTimeout(() => loadData().catch((error) => toast(error.message)), 260);