feat: initialize WebGIS dashboard for SPBU data management with Leaflet and custom sidebar UI

This commit is contained in:
cindy
2026-06-10 23:08:58 +07:00
parent 3803c4b6c7
commit b7d3327314
+12 -5
View File
@@ -1209,10 +1209,10 @@
<div class="form-group">
<label>Status Sertifikat</label>
<select id="edit_status">
<option value="Sertifikat Hak Milik (SHM)" ${data.status === 'SHM' ? 'selected' : ''}>Sertifikat Hak Milik (SHM)</option>
<option value="Sertifikat Hak Guna Bangunan (HGB)" ${data.status === 'HGB' ? 'selected' : ''}>Sertifikat Hak Guna Bangunan (HGB)</option>
<option value="Sertifikat Hak Guna Usaha (HGU)" ${data.status === 'HGU' ? 'selected' : ''}>Sertifikat Hak Guna Usaha (HGU)</option>
<option value="Sertifikat Hak Pakai (HP)" ${data.status === 'HP' ? 'selected' : ''}>Sertifikat Hak Pakai (HP)</option>
<option value="SHM" ${data.status === 'SHM' ? 'selected' : ''}>Sertifikat Hak Milik (SHM)</option>
<option value="HGB" ${data.status === 'HGB' ? 'selected' : ''}>Sertifikat Hak Guna Bangunan (HGB)</option>
<option value="HGU" ${data.status === 'HGU' ? 'selected' : ''}>Sertifikat Hak Guna Usaha (HGU)</option>
<option value="HP" ${data.status === 'HP' ? 'selected' : ''}>Sertifikat Hak Pakai (HP)</option>
</select>
</div>
`;
@@ -1648,7 +1648,14 @@
data.forEach(item => {
try {
const geojson = JSON.parse(item.geojson);
const layer = L.geoJSON(geojson, { style: { color: parsilColors[item.status]?.color || '#9C27B0', fillOpacity: 0.3, weight: 3 } }).addTo(parsilLayer);
// Normalisasi status untuk menangani data lama yang mungkin tersimpan dengan format panjang
let statusCode = item.status;
if (statusCode.includes('SHM')) statusCode = 'SHM';
else if (statusCode.includes('HGB')) statusCode = 'HGB';
else if (statusCode.includes('HGU')) statusCode = 'HGU';
else if (statusCode.includes('HP')) statusCode = 'HP';
const layer = L.geoJSON(geojson, { style: { color: parsilColors[statusCode]?.color || '#9C27B0', fillOpacity: 0.3, weight: 3 } }).addTo(parsilLayer);
let luas = parseFloat(item.luas);
let luasText = luas >= 10000 ? (luas/10000).toFixed(2) + ' ha' : luas.toFixed(2) + ' m²';