<?= $this->extend('Admin/Layout/app_layout'); ?>
<?= $this->section('content'); ?>

<div class="layout-px-spacing">

    <div class="middle-content container-xxl p-0">

        <div class="layout-top-spacing">

            <div class="widget widget-three">

                <div class="widget-heading">
                    <h5 class="">Leger Nilai</h5>
                    <div class="task-action">
                    </div>
                </div>

                <div class="widget-content">
                    <div class="form-group col-md-3 col-sm-9 mx-auto text-center mb-3">
                        <select id="rombel" class="form-control form-control-sm " name="filterkelas" id="filterkelas">

                        </select>
                        <button id="btn-excel" type="button" class="btn btn-primary mt-3"> Expor Excel</button>
                    </div>
                    <div class="table-responsive">
                        <div id="data-table"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>

</div>



<?= $this->endSection(); ?>
<?= $this->section('pagejs'); ?>
<script type="text/javascript">
    $(document).ready(function() {
        $("#btn-excel").click(function() {
            // Redirect ke URL yang menangani ekspor ke Excel
            var idrombel = $("#rombel").val();
            window.location.href = "<?php echo base_url('penilaian/leger/exporexcel/'); ?>" + idrombel;
        });

        getrombel();

        function getrombel() {
            $.ajax({
                url: '<?= base_url('penilaian/leger/getrombel') ?>',
                type: 'GET',
                success: function(response) {
                    // Mengisi pilihan dalam elemen select dengan data yang diterima
                    var select = $('#rombel');
                    // Bersihkan opsi sebelum menambahkan yang baru
                    select.empty();
                    // Tambahkan opsi ke dalam select
                    select.append('<option value="">Pilih Rombel</option>');
                    for (var i = 0; i < response.length; i++) {
                        select.append('<option value="' + response[i].id_rombel + '">' + response[i].nama_rombel + '</option>');
                    }
                },
                error: function() {
                    console.log('Gagal mendapatkan data.');
                }
            });
        }
        $("#btn-excel").hide();
        $('#rombel').change(function() {
            var id_rombel = $(this).val();
            tableleger(id_rombel);
            if (id_rombel == '') {
                $("#data-table").empty();
                $("#btn-excel").hide();
            } else {
                $("#btn-excel").show();
            }
        });

        function tableleger(idrombel) {
            $.ajax({
                url: '<?= base_url() ?>penilaian/leger/getleger/' + idrombel, // Ganti dengan URL Anda
                method: 'GET',
                dataType: 'json',
                success: function(response) {
                    // Buat tabel
                    var table = $('<table>').addClass('table');
                    // Buat header tabel
                    var thead = $('<thead>').appendTo(table);
                    var headerRow = $('<tr>').appendTo(thead);
                    $('<th>').text('No').appendTo(headerRow);
                    $('<th>').text('Nama Siswa').appendTo(headerRow);
                    // Tambahkan header pembelajaran
                    $.each(response.pembelajaran, function(index, pembelajaran) {
                        $('<th>').text(pembelajaran.nama_matapelajaran).appendTo(headerRow);
                    });
                    // Tambahkan header absensi
                    $('<th>').text('Sakit').appendTo(headerRow);
                    $('<th>').text('Ijin').appendTo(headerRow);
                    $('<th>').text('Alfa').appendTo(headerRow);

                    // Buat body tabel
                    var tbody = $('<tbody>').appendTo(table);
                    // Isi data siswa dan penilaian
                    $.each(response.siswa, function(index, siswa) {
                        var row = $('<tr>').appendTo(tbody);
                        $('<td>').text(index + 1).appendTo(row);
                        $('<td>').text(siswa.nama).appendTo(row);

                        // Loop untuk menambahkan nilai atau X untuk setiap pembelajaran
                        $.each(response.pembelajaran, function(idx, pembelajaran) {
                            var nilai = 'X'; // Nilai default
                            $.each(siswa.penilaian, function(i, penilaian) {
                                if (penilaian.id_pembelajaran == pembelajaran.id_pembelajaran) {
                                    nilai = penilaian.nilai_akhir; // Gunakan nilai dari penilaian jika ada
                                }
                            });
                            $('<td>').text(nilai).appendTo(row);
                        });
                        // Tambahkan data absensi
                        var absensi = siswa.absensi[0]; // Ambil data absensi pertama (asumsi hanya satu data absensi)
                        $('<td>').text(absensi && absensi.sakit !== undefined ? absensi.sakit !== null ? absensi.sakit : 0 : 0).appendTo(row);
                        $('<td>').text(absensi && absensi.ijin !== undefined ? absensi.ijin !== null ? absensi.ijin : 0 : 0).appendTo(row);
                        $('<td>').text(absensi && absensi.alfa !== undefined ? absensi.alfa !== null ? absensi.alfa : 0 : 0).appendTo(row);

                    });

                    // Tampilkan tabel di dalam elemen dengan ID "data-table"
                    $('#data-table').html(table);
                }
            });
        }
    });
</script>
<?= $this->endSection(); ?>