relasi wilayah ekosistem

This commit is contained in:
2026-06-08 13:25:33 +07:00
parent f11be9d288
commit 482c3fc474
11 changed files with 470 additions and 70 deletions
@@ -160,7 +160,7 @@
<div class="d-flex justify-content-between align-items-center">
<span>{{ $grandchildForm->tipe->label() }}
@if($grandchildForm->tipe->value == 'form-value')
: {{ $grandchildForm->kolom->label }}
: {{ $grandchildForm->kolom == null ? '-undefined-' : $grandchildForm->kolom->label }}
@endif
</span>
<div class="align-text-bottom">
@@ -52,6 +52,127 @@
$(element).removeClass('is-invalid');
}
});
$('[name="provinsi"]').select2({
ajax: {
url: '{{ route("provinsi.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (provinsi) {
return { id: provinsi.id, text: provinsi.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih provinsi',
minimumInputLength: 1,
}).change(function() {
$('[name="kabupaten_kota"]').empty().trigger('change');
$('[name="kecamatan"]').empty().trigger('change');
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="kabupaten_kota"]').select2({
ajax: {
url: '{{ route("kabupatenkota.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
provinsi_id: $('[name="provinsi"]').val() // filter by selected provinsi
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (kabupatenKota) {
return { id: kabupatenKota.id, text: kabupatenKota.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih kabupaten/kota',
minimumInputLength: 1,
}).change(function() {
$('[name="kecamatan"]').empty().trigger('change');
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="kecamatan"]').select2({
ajax: {
url: '{{ route("kecamatan.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
kabupaten_kota_id: $('[name="kabupaten_kota"]').val() // filter by selected kabupaten/kota
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (kecamatan) {
return { id: kecamatan.id, text: kecamatan.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih kecamatan',
minimumInputLength: 1,
}).change(function() {
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="desa_kelurahan"]').select2({
ajax: {
url: '{{ route("desakelurahan.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
kecamatan_id: $('[name="kecamatan"]').val() // filter by selected kecamatan
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (desaKelurahan) {
return { id: desaKelurahan.id, text: desaKelurahan.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih desa/kelurahan',
minimumInputLength: 1,
});
});
</script>
@endpush
@@ -28,7 +28,7 @@
<script>
'use strict';
$(document).ready(function () {
$('#add-data-program,.tipe-boolean, .tipe-fk').select2();
$('#add-data-program,.tipe-boolean, .tipe-fk, .tipe-enum').select2();
$('#addNewDataForm').validate({
rules: {
@@ -53,6 +53,127 @@
$(element).removeClass('is-invalid');
}
});
$('[name="provinsi"]').select2({
ajax: {
url: '{{ route("provinsi.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (provinsi) {
return { id: provinsi.id, text: provinsi.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih provinsi',
minimumInputLength: 1,
}).change(function() {
$('[name="kabupaten_kota"]').empty().trigger('change');
$('[name="kecamatan"]').empty().trigger('change');
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="kabupaten_kota"]').select2({
ajax: {
url: '{{ route("kabupatenkota.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
provinsi_id: $('[name="provinsi"]').val() // filter by selected provinsi
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (kabupatenKota) {
return { id: kabupatenKota.id, text: kabupatenKota.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih kabupaten/kota',
minimumInputLength: 1,
}).change(function() {
$('[name="kecamatan"]').empty().trigger('change');
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="kecamatan"]').select2({
ajax: {
url: '{{ route("kecamatan.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
kabupaten_kota_id: $('[name="kabupaten_kota"]').val() // filter by selected kabupaten/kota
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (kecamatan) {
return { id: kecamatan.id, text: kecamatan.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih kecamatan',
minimumInputLength: 1,
}).change(function() {
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="desa_kelurahan"]').select2({
ajax: {
url: '{{ route("desakelurahan.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
kecamatan_id: $('[name="kecamatan"]').val() // filter by selected kecamatan
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (desaKelurahan) {
return { id: desaKelurahan.id, text: desaKelurahan.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih desa/kelurahan',
minimumInputLength: 1,
});
});
</script>
@endpush