Update Praktik Budidaya

This commit is contained in:
2026-07-10 02:48:23 +07:00
parent 79f6426125
commit 26f6e83328
4 changed files with 169 additions and 66 deletions
@@ -122,8 +122,8 @@ class PraktikBudidayaController extends Controller
$caraPemberianPupukLainnya = collect(explode(', ', $caraPemberianPupuk)) $caraPemberianPupukLainnya = collect(explode(', ', $caraPemberianPupuk))
->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk)); ->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk));
$sumberAir = $praktikBudidaya->sumber_air ?? ''; $sumberAir = $praktikBudidaya->sumber_air ?? [];
$sumberAirLainnya = collect(explode(', ', $sumberAir)) $sumberAirLainnya = collect($sumberAir)
->first(fn ($item) => !in_array($item, $defaultSumberAir)); ->first(fn ($item) => !in_array($item, $defaultSumberAir));
$sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? ''; $sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? '';
@@ -316,7 +316,7 @@ class PraktikBudidayaController extends Controller
->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk)); ->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk));
$sumberAir = $praktikBudidaya->sumber_air ?? ''; $sumberAir = $praktikBudidaya->sumber_air ?? '';
$sumberAirLainnya = collect(explode(', ', $sumberAir)) $sumberAirLainnya = collect($sumberAir)
->first(fn ($item) => !in_array($item, $defaultSumberAir)); ->first(fn ($item) => !in_array($item, $defaultSumberAir));
$sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? ''; $sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? '';
@@ -379,7 +379,8 @@ class PraktikBudidayaController extends Controller
'metode_paling_sering_dilakukan' => ['nullable', 'string'], 'metode_paling_sering_dilakukan' => ['nullable', 'string'],
'volume_obat_obatan_permusim' => ['nullable', 'numeric'], 'volume_obat_obatan_padat' => ['nullable', 'numeric'],
'volume_obat_obatan_cair' => ['nullable', 'numeric'],
// 2.6 Sanitasi Kebun // 2.6 Sanitasi Kebun
@@ -392,7 +393,7 @@ class PraktikBudidayaController extends Controller
'kondisi_pengelolaan_air_irigasi' => ['nullable', 'integer', new Enum(KondisiPengelolaanAir::class)], 'kondisi_pengelolaan_air_irigasi' => ['nullable', 'integer', new Enum(KondisiPengelolaanAir::class)],
'sumber_air' => ['nullable', 'string'], 'sumber_air' => ['nullable', 'array'],
'sumber_air_lainnya' => ['nullable', 'string'], 'sumber_air_lainnya' => ['nullable', 'string'],
'sistem_irigasi' => ['nullable', 'string'], 'sistem_irigasi' => ['nullable', 'string'],
@@ -481,7 +482,8 @@ class PraktikBudidayaController extends Controller
'intensitas_serangan' => 'intensitas serangan', 'intensitas_serangan' => 'intensitas serangan',
'waktu_kemunculan_terparah' => 'waktu kemunculan terparah', 'waktu_kemunculan_terparah' => 'waktu kemunculan terparah',
'metode_paling_sering_dilakukan' => 'metode yang paling sering dilakukan', 'metode_paling_sering_dilakukan' => 'metode yang paling sering dilakukan',
'volume_obat_obatan_permusim' => 'volume obat-obatan per musim', 'volume_obat_obatan_padat' => 'volume obat-obatan padat per musim',
'volume_obat_obatan_cair' => 'volume obat-obatan cair per musim',
// 2.6 Sanitasi Kebun // 2.6 Sanitasi Kebun
'frekuensi_sanitasi_lahan' => 'frekuensi sanitasi lahan', 'frekuensi_sanitasi_lahan' => 'frekuensi sanitasi lahan',
@@ -574,6 +576,14 @@ class PraktikBudidayaController extends Controller
} }
if ($request->has('metode_penanganan_hama_penyakit')) { if ($request->has('metode_penanganan_hama_penyakit')) {
$sumber_air = $request->sumber_air ?? [];
if (($key = array_search('Lainnya', $sumber_air)) !== false) {
unset($sumber_air[$key]);
if (!empty($request->sumber_air_lainnya)) {
$sumber_air[] = $request->sumber_air_lainnya;
}
}
$sumberAir = array_values($sumber_air);
$dataPraktikBudidaya = [ $dataPraktikBudidaya = [
'metode_penanganan_opt' => $validatedData['metode_penanganan_hama_penyakit'] ?? null, 'metode_penanganan_opt' => $validatedData['metode_penanganan_hama_penyakit'] ?? null,
'jenis_hama' => $validatedData['jenis_hama'] ?? [], 'jenis_hama' => $validatedData['jenis_hama'] ?? [],
@@ -581,12 +591,13 @@ class PraktikBudidayaController extends Controller
'intensitas_serangan' => $validatedData['intensitas_serangan'] ?? null, 'intensitas_serangan' => $validatedData['intensitas_serangan'] ?? null,
'waktu_kemunculan_terparah' => $validatedData['waktu_kemunculan_terparah'] ?? null, 'waktu_kemunculan_terparah' => $validatedData['waktu_kemunculan_terparah'] ?? null,
'metode_paling_sering_dilakukan' => $validatedData['metode_paling_sering_dilakukan'] ?? null, 'metode_paling_sering_dilakukan' => $validatedData['metode_paling_sering_dilakukan'] ?? null,
'volume_obat_obatan_permusim' => $validatedData['volume_obat_obatan_permusim'] ?? null, 'volume_obat_obatan_padat_permusim' => $validatedData['volume_obat_obatan_padat'] ?? null,
'volume_obat_obatan_cair_permusim' => $validatedData['volume_obat_obatan_cair'] ?? null,
'frekuensi_sanitasi_lahan' => $validatedData['frekuensi_sanitasi_lahan'] ?? null, 'frekuensi_sanitasi_lahan' => $validatedData['frekuensi_sanitasi_lahan'] ?? null,
'penanganan_sisa_buah_ranting' => $validatedData['penanganan_sisa_buah_ranting'] ?? null, 'penanganan_sisa_buah_ranting' => $validatedData['penanganan_sisa_buah_ranting'] ?? null,
'penanganan_gulma' => $validatedData['penanganan_gulma'] ?? null, 'penanganan_gulma' => $validatedData['penanganan_gulma'] ?? null,
'kondisi_pengelolaan_air' => $validatedData['kondisi_pengelolaan_air_irigasi'] ?? null, 'kondisi_pengelolaan_air' => $validatedData['kondisi_pengelolaan_air_irigasi'] ?? null,
'sumber_air' => ($validatedData['sumber_air'] ?? null) === 'Lainnya' ? ($validatedData['sumber_air_lainnya'] ?? null) : ($validatedData['sumber_air'] ?? null), 'sumber_air' => $sumberAir,
'sistem_irigasi' => ($validatedData['sistem_irigasi'] ?? null) === 'Lainnya' ? ($validatedData['sistem_irigasi_lainnya'] ?? null) : ($validatedData['sistem_irigasi'] ?? null), 'sistem_irigasi' => ($validatedData['sistem_irigasi'] ?? null) === 'Lainnya' ? ($validatedData['sistem_irigasi_lainnya'] ?? null) : ($validatedData['sistem_irigasi'] ?? null),
'kebutuhan_air_permusim' => $validatedData['kebutuhan_air_permusim'] ?? null, 'kebutuhan_air_permusim' => $validatedData['kebutuhan_air_permusim'] ?? null,
'kebiasaan_konservasi_tanah' => $validatedData['kebiasaan_konservasi_tanah'] ?? [], 'kebiasaan_konservasi_tanah' => $validatedData['kebiasaan_konservasi_tanah'] ?? [],
@@ -14,7 +14,6 @@ class SurveyProduktivitasController extends Controller
public function store($petaniId, Request $request) public function store($petaniId, Request $request)
{ {
$petani = Petani::findOrFail($petaniId); $petani = Petani::findOrFail($petaniId);
// dd($request->all());
$validated = $request->validate([ $validated = $request->validate([
'produktivitas_komoditas' => ['required', 'array'], 'produktivitas_komoditas' => ['required', 'array'],
'produktivitas_komoditas.*.komoditas_id' => ['nullable', 'exists:master_komoditas,id'], 'produktivitas_komoditas.*.komoditas_id' => ['nullable', 'exists:master_komoditas,id'],
+4 -2
View File
@@ -19,7 +19,8 @@ class PraktikBudidaya extends Model
'teknik_pemangkasan' => 'array', 'teknik_pemangkasan' => 'array',
'jenis_hama' => 'array', 'jenis_hama' => 'array',
'jenis_penyakit' => 'array', 'jenis_penyakit' => 'array',
'kebiasaan_konservasi_tanah' => 'array' 'sumber_air' => 'array',
'kebiasaan_konservasi_tanah' => 'array',
]; ];
protected $fillable = [ protected $fillable = [
@@ -45,7 +46,8 @@ class PraktikBudidaya extends Model
'intensitas_serangan', 'intensitas_serangan',
'waktu_kemunculan_terparah', 'waktu_kemunculan_terparah',
'metode_paling_sering_dilakukan', 'metode_paling_sering_dilakukan',
'volume_obat_obatan_permusim', 'volume_obat_obatan_padat_permusim',
'volume_obat_obatan_cair_permusim',
'satuan_volume_obat_obatan', 'satuan_volume_obat_obatan',
'frekuensi_sanitasi_lahan', 'frekuensi_sanitasi_lahan',
'penanganan_sisa_buah_ranting', 'penanganan_sisa_buah_ranting',
@@ -705,24 +705,46 @@
@error('metode_paling_sering_dilakukan')<div class="error invalid-feedback">{{ $message }}</div>@enderror @error('metode_paling_sering_dilakukan')<div class="error invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="volume-obat-obatan-permusim"> <label class="form-label" for="volume-obat-obatan-padat">
Volume Obat-Obatan Permusim<span class="text-danger">*</span> Volume Obat-Obatan Padat Permusim<span class="text-danger">*</span>
</label> </label>
<div class="input-group"> <div class="input-group">
<input <input
type="number" type="number"
class="form-control @error('volume_obat_obatan_permusim') is-invalid @enderror" class="form-control @error('volume_obat_obatan_padat') is-invalid @enderror"
id="volume-obat-obatan-permusim" id="volume-obat-obatan-padat"
name="volume_obat_obatan_permusim" name="volume_obat_obatan_padat"
value="{{ old('volume_obat_obatan_permusim', $praktikBudidaya->volume_obat_obatan_permusim) }}" value="{{ old('volume_obat_obatan_padat', $praktikBudidaya->volume_obat_obatan_padat_permusim) }}"
step="0.01" step="0.01"
min="0"> min="0">
<span class="input-group-text">Kg</span> <span class="input-group-text">Kg</span>
</div> </div>
@error('volume_obat_obatan_permusim') @error('volume_obat_obatan_padat')
<div class="invalid-feedback d-block">{{ $message }}</div>
@enderror
</div>
<div class="col-md-4 mb-4 form-control-validation">
<label class="form-label" for="volume-obat-obatan-cair">
Volume Obat-Obatan Cair Permusim<span class="text-danger">*</span>
</label>
<div class="input-group">
<input
type="number"
class="form-control @error('volume_obat_obatan_cair') is-invalid @enderror"
id="volume-obat-obatan-cair"
name="volume_obat_obatan_cair"
value="{{ old('volume_obat_obatan_cair', $praktikBudidaya->volume_obat_obatan_cair_permusim) }}"
step="0.01"
min="0">
<span class="input-group-text">Lt</span>
</div>
@error('volume_obat_obatan_cair')
<div class="invalid-feedback d-block">{{ $message }}</div> <div class="invalid-feedback d-block">{{ $message }}</div>
@enderror @enderror
</div> </div>
@@ -787,49 +809,52 @@
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label d-block fw-medium">Sumber Air<span class="text-danger">*</span></label> <label class="form-label d-block fw-medium">Sumber Air<span class="text-danger">*</span></label>
<div class="form-check mt-2"> <div class="form-check">
<input class="form-check-input @error('sumber_air') is-invalid @enderror" <input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="radio" type="checkbox"
name="sumber_air" name="sumber_air[]"
value="Sungai/mata air" value="Sungai/mata air"
id="sumber-air-sungai" id="teknik-pemangkasan-kebiasaan"
{{ old('sumber_air', $praktikBudidaya->sumber_air) == 'Sungai/mata air' ? 'checked' : '' }}> {{ in_array('Sungai/mata air', old('sumber_air', $praktikBudidaya->sumber_air ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="cara-ditabur">Sungai/mata air</label> <label class="form-check-label" for="sumber_air">Sungai/mata air</label>
</div> </div>
<div class="form-check mt-2"> <div class="form-check">
<input class="form-check-input @error('sumber_air') is-invalid @enderror" <input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="radio" type="checkbox"
name="sumber_air" name="sumber_air[]"
value="Sumur" value="Sumur"
id="sumber-air-sumur" id="teknik-pemangkasan-kebiasaan"
{{ old('sumber_air', $praktikBudidaya->sumber_air) == 'Sumur' ? 'checked' : '' }}> {{ in_array('Sumur', old('sumber_air', $praktikBudidaya->sumber_air ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="cara-ditabur">Sumur</label> <label class="form-check-label" for="sumber_air">Sumur</label>
</div> </div>
<div class="form-check mt-2"> <div class="form-check">
<input class="form-check-input @error('sumber_air') is-invalid @enderror" <input class="form-check-input @error('sumber_air') is-invalid @enderror"
type="radio" type="checkbox"
name="sumber_air" name="sumber_air[]"
value="Mengandalkan hujan saja" value="Mengandalkan hujan saja"
id="sumber-air-hujan" id="teknik-pemangkasan-kebiasaan"
{{ old('sumber_air', $praktikBudidaya->sumber_air) == 'Mengandalkan hujan saja' ? 'checked' : '' }}> {{ in_array('Mengandalkan hujan saja', old('sumber_air', $praktikBudidaya->sumber_air ?? [])) ? 'checked' : '' }}>
<label class="form-check-label" for="cara-ditabur">Mengandalkan hujan saja</label> <label class="form-check-label" for="sumber_air">Mengandalkan hujan saja</label>
</div> </div>
<div class="form-check d-flex align-items-center gap-2 mt-1"> <div class="form-check d-flex align-items-center gap-2 mt-1">
<input class="form-check-input lainnya-radio @error('sumber_air') is-invalid @enderror" <input
type="radio" class="form-check-input lainnya-checkbox @error('sumber_air') is-invalid @enderror"
name="sumber_air" type="checkbox"
name="sumber_air[]"
value="Lainnya" value="Lainnya"
id="sumber-air-lainnya" id="sumber-air-lainnya"
data-target="#input-sumber-air" data-target="#input-sumber-air-lainnya"
{{ old('sumber_air', $sumberAirLainnya) ? 'checked' : '' }}> {{ old('sumber_air_lainnya', $sumberAirLainnya) ? 'checked' : '' }}>
<label class="form-check-label text-nowrap" for="cara-lainnya">Lainnya:</label> <label class="form-check-label text-nowrap" for="sumber_air_lainnya">
Lainnya:
</label>
<input type="text" <input
id="input-sumber-air" type="text"
id="input-sumber-air-lainnya"
name="sumber_air_lainnya" name="sumber_air_lainnya"
class="form-control form-control-sm w-50" class="form-control form-control-sm w-50"
value="{{ old('sumber_air_lainnya', $sumberAirLainnya ?? '') }}" value="{{ old('sumber_air_lainnya', $sumberAirLainnya ?? '') }}"
@@ -841,7 +866,7 @@
@enderror @enderror
</div> </div>
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label d-block fw-medium">Sistem Irigasi<span class="text-danger">*</span></label> <label class="form-label d-block fw-medium">Pemilik Sistem Irigasi<span class="text-danger">*</span></label>
<div class="form-check mt-2"> <div class="form-check mt-2">
<input class="form-check-input @error('sistem_irigasi') is-invalid @enderror" <input class="form-check-input @error('sistem_irigasi') is-invalid @enderror"
@@ -922,11 +947,29 @@
</div> </div>
<h5 class="pb-4 border-bottom mb-4">Praktik Konservasi Tanah</h5> <h5 class="pb-4 border-bottom mb-4">Praktik Konservasi Tanah</h5>
<div class="row"> <div class="row">
@php
$valueTidakAdaKonservasi = 'Tidak ada yang seperti itu di kebun saya';
$kebiasaanKonservasi = old(
'kebiasaan_konservasi_tanah',
$praktikBudidaya->kebiasaan_konservasi_tanah ?? []
);
if (is_string($kebiasaanKonservasi)) {
$kebiasaanKonservasi = json_decode($kebiasaanKonservasi, true) ?? [];
}
$adaPilihanKonservasi = collect($kebiasaanKonservasi)
->filter(fn ($item) => $item !== $valueTidakAdaKonservasi)
->isNotEmpty();
$tidakAdaKonservasi = in_array($valueTidakAdaKonservasi, $kebiasaanKonservasi);
@endphp
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation">
<label class="form-label d-block fw-medium">Kebiasaan Konservasi Tanah<span class="text-danger">*</span></label> <label class="form-label d-block fw-medium">Kebiasaan Konservasi Tanah<span class="text-danger">*</span></label>
<div class="form-check mt-2"> <div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror" <input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox" type="checkbox"
name="kebiasaan_konservasi_tanah[]" name="kebiasaan_konservasi_tanah[]"
value="Membuat pematang atau tanggul tanah di lahan miring supaya tanah tidak longsor ke bawah" value="Membuat pematang atau tanggul tanah di lahan miring supaya tanah tidak longsor ke bawah"
@@ -936,7 +979,7 @@
</div> </div>
<div class="form-check mt-2"> <div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror" <input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox" type="checkbox"
name="kebiasaan_konservasi_tanah[]" name="kebiasaan_konservasi_tanah[]"
value="Menumpuk daun kering/sisa tanaman di sekitar pohon" value="Menumpuk daun kering/sisa tanaman di sekitar pohon"
@@ -946,7 +989,7 @@
</div> </div>
<div class="form-check mt-2"> <div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror" <input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox" type="checkbox"
name="kebiasaan_konservasi_tanah[]" name="kebiasaan_konservasi_tanah[]"
value="Menanam tanaman lain di sela-sela komoditas utama untuk menutupi tanah" value="Menanam tanaman lain di sela-sela komoditas utama untuk menutupi tanah"
@@ -956,7 +999,7 @@
</div> </div>
<div class="form-check mt-2"> <div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror" <input class="form-check-input konservasi-tanah-checkbox @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox" type="checkbox"
name="kebiasaan_konservasi_tanah[]" name="kebiasaan_konservasi_tanah[]"
value="Membuat lubang atau parit kecil untuk menampung air hujan" value="Membuat lubang atau parit kecil untuk menampung air hujan"
@@ -966,19 +1009,20 @@
</div> </div>
<div class="form-check mt-2"> <div class="form-check mt-2">
<input class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror" <input
class="form-check-input @error('kebiasaan_konservasi_tanah') is-invalid @enderror"
type="checkbox" type="checkbox"
name="kebiasaan_konservasi_tanah[]" name="kebiasaan_konservasi_tanah[]"
value="Tidak ada yang seperti itu di kebun saya" value="Tidak ada yang seperti itu di kebun saya"
id="konservasi-tanah-tiak-ada" id="konservasi-tanah-tidak-ada"
{{ in_array('Tidak ada yang seperti itu di kebun saya', old('kebiasaan_konservasi_tanah', $praktikBudidaya->kebiasaan_konservasi_tanah ?? [])) ? 'checked' : '' }}> {{ $tidakAdaKonservasi ? 'checked' : '' }}>
<label class="form-check-label" for="konservasi_tanah_tidak_ada">Tidak ada yang seperti itu di kebun saya</label> <label class="form-check-label" for="konservasi-tanah-tidak-ada">Tidak ada yang seperti itu di kebun saya</label>
</div> </div>
@error('kebiasaan_konservasi_tanah') @error('kebiasaan_konservasi_tanah')
<div class="error invalid-feedback d-block">{{ $message }}</div> <div class="error invalid-feedback d-block">{{ $message }}</div>
@enderror @enderror
</div> </div>
<div class="col-md-4 mb-4 form-control-validation"> <div class="col-md-4 mb-4 form-control-validation {{ $adaPilihanKonservasi ? '' : 'd-none' }}" id="pemahaman-konservasi-wrapper"">
<label class="form-label" for="pemahaman_manfaat_konservasi">Pemahaman Manfaat Konservasi<span class="text-danger">*</span></label> <label class="form-label" for="pemahaman_manfaat_konservasi">Pemahaman Manfaat Konservasi<span class="text-danger">*</span></label>
<select class="form-control @error('pemahaman_manfaat_konservasi') is-invalid @enderror" id="pemahaman-manfaat-konservasi" name="pemahaman_manfaat_konservasi"> <select class="form-control @error('pemahaman_manfaat_konservasi') is-invalid @enderror" id="pemahaman-manfaat-konservasi" name="pemahaman_manfaat_konservasi">
<option value="">Pilih Pemahaman</option> <option value="">Pilih Pemahaman</option>
@@ -1485,7 +1529,8 @@
id="total-estimasi-biaya-panen" id="total-estimasi-biaya-panen"
name="total_estimasi_biaya_panen" name="total_estimasi_biaya_panen"
value="{{ old('total_estimasi_biaya_panen', filled($surveyPanen?->total_estimasi_biaya_panen) ? number_format($surveyPanen?->total_estimasi_biaya_panen, 0, ',', '.') : '' ) }}" value="{{ old('total_estimasi_biaya_panen', filled($surveyPanen?->total_estimasi_biaya_panen) ? number_format($surveyPanen?->total_estimasi_biaya_panen, 0, ',', '.') : '' ) }}"
placeholder="Contoh: 150.000"> placeholder="Otomatis terhitung"
readonly>
</div> </div>
@error('total_estimasi_biaya_panen') @error('total_estimasi_biaya_panen')
<div class="invalid-feedback d-block">{{ $message }}</div> <div class="invalid-feedback d-block">{{ $message }}</div>
@@ -1860,6 +1905,12 @@
const hasilPanenDisimpan = document.getElementById('hasil-panen-disimpan'); const hasilPanenDisimpan = document.getElementById('hasil-panen-disimpan');
const tujuanDisimpan = document.getElementById('tujuan-disimpan'); const tujuanDisimpan = document.getElementById('tujuan-disimpan');
const checkboxTidakAda = document.getElementById('konservasi-tanah-tidak-ada');
const checkboxLainnya = document.querySelectorAll('.konservasi-tanah-checkbox');
const pemahamanWrapper = document.getElementById('pemahaman-konservasi-wrapper');
const pemahamanSelect = document.getElementById('pemahaman-manfaat-konservasi');
function toggleDetailDisimpan() { function toggleDetailDisimpan() {
const isChecked = switchInput.checked; const isChecked = switchInput.checked;
@@ -1883,8 +1934,48 @@
} }
} }
function adaPilihanLainYangDicentang() {
return Array.from(checkboxLainnya).some(function (checkbox) {
return checkbox.checked;
});
}
function togglePemahamanKonservasi() {
const adaPilihanLain = adaPilihanLainYangDicentang();
if (adaPilihanLain) {
pemahamanWrapper.classList.remove('d-none');
pemahamanSelect.disabled = false;
} else {
pemahamanWrapper.classList.add('d-none');
pemahamanSelect.disabled = true;
pemahamanSelect.value = '';
}
}
switchInput.addEventListener('change', toggleDetailDisimpan); switchInput.addEventListener('change', toggleDetailDisimpan);
checkboxTidakAda.addEventListener('change', function () {
if (this.checked) {
checkboxLainnya.forEach(function (checkbox) {
checkbox.checked = false;
});
}
togglePemahamanKonservasi();
});
checkboxLainnya.forEach(function (checkbox) {
checkbox.addEventListener('change', function () {
if (this.checked) {
checkboxTidakAda.checked = false;
}
togglePemahamanKonservasi();
});
});
togglePemahamanKonservasi();
toggleDetailDisimpan(); toggleDetailDisimpan();
}); });
</script> </script>