global accessor

This commit is contained in:
='fauz 2025-07-03 02:55:12 +07:00
parent 19e132fdab
commit b21ed65133
3 changed files with 32 additions and 26 deletions

View File

@ -41,6 +41,10 @@ def get_total_dana_by_level(level,kode):
#======================================================== #========================================================
# MAIN ROUTE # MAIN ROUTE
#======================================================== #========================================================
@main.context_processor
def inject_config():
return dict(api_base_url=main.config['API_BASE_URL'])
@main.route('/') @main.route('/')
def index(): def index():
with get_connection() as conn: with get_connection() as conn:

View File

@ -212,6 +212,7 @@
map.setMinZoom(optimalZoom); map.setMinZoom(optimalZoom);
</script> </script>
<script> <script>
const baseUrl = "{{ api_base_url }}";
let currentLayer = null; let currentLayer = null;
let currentState = { let currentState = {
level: null, level: null,
@ -491,7 +492,7 @@
: formatted; : formatted;
} }
const baseUrl = window.location.origin;
async function fetchStatusDesaByProvinsi(kodeProvinsi) { async function fetchStatusDesaByProvinsi(kodeProvinsi) {
const url = `${baseUrl}/status-provinsi/${kodeProvinsi}`; const url = `${baseUrl}/status-provinsi/${kodeProvinsi}`;
const urltdd = `${baseUrl}/status/danadesa/provinsi/${kodeProvinsi}`; const urltdd = `${baseUrl}/status/danadesa/provinsi/${kodeProvinsi}`;
@ -613,10 +614,10 @@
} }
// Load provinsi Aceh awal // Load provinsi Aceh awal
loadLayer('/geojson/provinsi', function (kode_provinsi) { loadLayer(`${baseUrl}/geojson/provinsi`, function (kode_provinsi) {
loadLayer(`/geojson/kabupaten/${kode_provinsi}`, function (kode_kabupaten) { loadLayer(`${baseUrl}/geojson/kabupaten/${kode_provinsi}`, function (kode_kabupaten) {
loadLayer(`/geojson/kecamatan/${kode_kabupaten}`, function (kode_kecamatan) { loadLayer(`${baseUrl}/geojson/kecamatan/${kode_kabupaten}`, function (kode_kecamatan) {
loadLayer(`/geojson/desa/${kode_kecamatan}`, function () { loadLayer(`${baseUrl}/geojson/desa/${kode_kecamatan}`, function () {
// Desa tidak turun level lagi // Desa tidak turun level lagi
}, 'desa'); }, 'desa');
}, 'kecamatan'); }, 'kecamatan');
@ -630,13 +631,13 @@
switch (level) { switch (level) {
case 'provinsi': case 'provinsi':
loadLayer(`/geojson/provinsi`, () => {}, 'provinsi'); loadLayer(`${baseUrl}/geojson/provinsi`, () => {}, 'provinsi');
break; break;
case 'kabupatenkota': case 'kabupatenkota':
loadLayer(`/geojson/kabupaten/${prov}`, () => {}, 'kabupatenkota'); loadLayer(`${baseUrl}/geojson/kabupaten/${prov}`, () => {}, 'kabupatenkota');
break; break;
case 'kecamatan': case 'kecamatan':
loadLayer(`/geojson/kecamatan/${kab}`, () => {}, 'kecamatan'); loadLayer(`${baseUrl}/geojson/kecamatan/${kab}`, () => {}, 'kecamatan');
break; break;
} }
} }
@ -676,7 +677,7 @@
}); });
console.log(`Memuat kabupaten dari /geojson/kabupaten/${kodeProvinsi}`); console.log(`Memuat kabupaten dari /geojson/kabupaten/${kodeProvinsi}`);
loadLayer(`/geojson/kabupaten/${kodeProvinsi}`, () => { loadLayer(`${baseUrl}/geojson/kabupaten/${kodeProvinsi}`, () => {
console.log("Layer kabupaten dimuat."); console.log("Layer kabupaten dimuat.");
}, 'kabupatenkota'); }, 'kabupatenkota');
}); });
@ -712,7 +713,7 @@
} }
}); });
loadLayer(`/geojson/kecamatan/${kodeKabupaten}`, () => {}, 'kecamatan'); loadLayer(`${baseUrl}/geojson/kecamatan/${kodeKabupaten}`, () => {}, 'kecamatan');
}).select2(); }).select2();
$('#kecamatanDropdown').on('change', function (e) { $('#kecamatanDropdown').on('change', function (e) {
@ -726,7 +727,7 @@
localStorage.setItem('kode_kecamatan', kodeKecamatan); localStorage.setItem('kode_kecamatan', kodeKecamatan);
loadLayer(`/geojson/desa/${kodeKecamatan}`, () => { loadLayer(`${baseUrl}/geojson/desa/${kodeKecamatan}`, () => {
console.log("desa dimuat") console.log("desa dimuat")
}, 'desa'); }, 'desa');
}); });
@ -839,8 +840,8 @@
theme: 'bootstrap-4' theme: 'bootstrap-4'
} ); } );
let total_dd_container = document.getElementById('tot_dd') let total_dd_container = document.getElementById('tot_dd')
fetchTotDana('${baseUrl}/desa/total-dana-desa') fetchTotDana(`${baseUrl}/desa/total-dana-desa`)
fethTotSerapan('${baseUrl}/desa/total-serapan-dana') fethTotSerapan(`${baseUrl}/desa/total-serapan-dana`)
function fetchTotDana(url){ function fetchTotDana(url){
fetch(url) fetch(url)
.then(res => res.json()) .then(res => res.json())

View File

@ -208,6 +208,7 @@
map.setMinZoom(optimalZoom); map.setMinZoom(optimalZoom);
</script> </script>
<script> <script>
const baseUrl = "{{ api_base_url }}";
let currentLayer = null; let currentLayer = null;
let currentState = { let currentState = {
level: null, level: null,
@ -484,7 +485,7 @@
? `${formatted} ${unit}` ? `${formatted} ${unit}`
: formatted; : formatted;
} }
const baseUrl = window.location.origin;
async function fetchStatusDesaByProvinsi(kodeProvinsi) { async function fetchStatusDesaByProvinsi(kodeProvinsi) {
const url = `${baseUrl}/api/status-provinsi/${kodeProvinsi}`; const url = `${baseUrl}/api/status-provinsi/${kodeProvinsi}`;
const urltdd = `${baseUrl}/api/status/danadesa/provinsi/${kodeProvinsi}`; const urltdd = `${baseUrl}/api/status/danadesa/provinsi/${kodeProvinsi}`;
@ -606,10 +607,10 @@
} }
// Load provinsi Aceh awal // Load provinsi Aceh awal
loadLayer('/geojson/provinsi', function (kode_provinsi) { loadLayer(`${baseUrl}/geojson/provinsi`, function (kode_provinsi) {
loadLayer(`/geojson/kabupaten/${kode_provinsi}`, function (kode_kabupaten) { loadLayer(`${baseUrl}/geojson/kabupaten/${kode_provinsi}`, function (kode_kabupaten) {
loadLayer(`/geojson/kecamatan/${kode_kabupaten}`, function (kode_kecamatan) { loadLayer(`${baseUrl}/geojson/kecamatan/${kode_kabupaten}`, function (kode_kecamatan) {
loadLayer(`/geojson/desa/${kode_kecamatan}`, function () { loadLayer(`${baseUrl}/geojson/desa/${kode_kecamatan}`, function () {
// Desa tidak turun level lagi // Desa tidak turun level lagi
}, 'desa'); }, 'desa');
}, 'kecamatan'); }, 'kecamatan');
@ -623,13 +624,13 @@
switch (level) { switch (level) {
case 'provinsi': case 'provinsi':
loadLayer(`/geojson/provinsi`, () => {}, 'provinsi'); loadLayer(`${baseUrl}/geojson/provinsi`, () => {}, 'provinsi');
break; break;
case 'kabupatenkota': case 'kabupatenkota':
loadLayer(`/geojson/kabupaten/${prov}`, () => {}, 'kabupatenkota'); loadLayer(`${baseUrl}/geojson/kabupaten/${prov}`, () => {}, 'kabupatenkota');
break; break;
case 'kecamatan': case 'kecamatan':
loadLayer(`/geojson/kecamatan/${kab}`, () => {}, 'kecamatan'); loadLayer(`${baseUrl}/geojson/kecamatan/${kab}`, () => {}, 'kecamatan');
break; break;
} }
} }
@ -669,7 +670,7 @@
}); });
console.log(`Memuat kabupaten dari /geojson/kabupaten/${kodeProvinsi}`); console.log(`Memuat kabupaten dari /geojson/kabupaten/${kodeProvinsi}`);
loadLayer(`/geojson/kabupaten/${kodeProvinsi}`, () => { loadLayer(`${baseUrl}/geojson/kabupaten/${kodeProvinsi}`, () => {
console.log("Layer kabupaten dimuat."); console.log("Layer kabupaten dimuat.");
}, 'kabupatenkota'); }, 'kabupatenkota');
}); });
@ -705,7 +706,7 @@
} }
}); });
loadLayer(`/geojson/kecamatan/${kodeKabupaten}`, () => {}, 'kecamatan'); loadLayer(`${baseUrl}/geojson/kecamatan/${kodeKabupaten}`, () => {}, 'kecamatan');
}).select2(); }).select2();
$('#kecamatanDropdown').on('change', function (e) { $('#kecamatanDropdown').on('change', function (e) {
@ -719,7 +720,7 @@
localStorage.setItem('kode_kecamatan', kodeKecamatan); localStorage.setItem('kode_kecamatan', kodeKecamatan);
loadLayer(`/geojson/desa/${kodeKecamatan}`, () => { loadLayer(`${baseUrl}/geojson/desa/${kodeKecamatan}`, () => {
console.log("desa dimuat") console.log("desa dimuat")
}, 'desa'); }, 'desa');
}); });
@ -824,8 +825,8 @@
theme: 'bootstrap-4' theme: 'bootstrap-4'
} ); } );
let total_dd_container = document.getElementById('tot_dd') let total_dd_container = document.getElementById('tot_dd')
fetchTotDana('/api/desa/total-dana-desa') fetchTotDana(`${baseUrl}/api/desa/total-dana-desa`)
fethTotSerapan('/api/desa/total-serapan-dana') fethTotSerapan(`${baseUrl}/api/desa/total-serapan-dana`)
function fetchTotDana(url){ function fetchTotDana(url){
fetch(url) fetch(url)
.then(res => res.json()) .then(res => res.json())