<?= $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 ">

                <div class="widget-heading">
                    <h5 class="">Penilaian Ekstrakulikuler</h5>
                    <div class="task-action">
                        <!-- <button type="button" onclick="add()" class="btn btn-primary"><i data-feather="plus-circle"></i> <span class="btn-text-inner">Tambah</span></button> -->
                    </div>
                </div>

                <div class="widget-content">
                    <div class="alert alert-primary" role="alert">
                        Data akan muncul saat anda menjadi pembina eskul
                    </div>
                    <div class="table-responsive">
                        <table class="table" id="ekstrakulikulerTable" class="display">
                            <thead>
                                <tr>
                                    <th class="text-center">
                                        #
                                    </th>
                                    <th>Ekstrakulikuler</th>
                                    <th>Pembina</th>
                                    <th>Jumlah Anggota</th>
                                    <th>Status</th>

                                </tr>
                            </thead>
                            <tbody>

                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>

</div>


<div class="modal fade" id="modalanggota" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true" data-bs-backdrop="static">
    <div class="modal-dialog modal-xl" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Penilaian Ekstrakulikuler</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
                    <i data-feather="x"></i>
                </button>
            </div>

            <div class="modal-body">

                <input type="hidden" id="id_eskul">

                <div class="table-responsive">
                    <table id="tabel-anggota" class="table">
                        <thead>
                            <tr>
                                <th>No</th>
                                <th>Nama Siswa</th>
                                <th>Kelas</th>
                                <th>Predikat</th>
                                <th>Deskripsi</th>
                            </tr>
                        </thead>
                        <tbody>

                        </tbody>
                    </table>
                </div>
            </div>

            <div class="modal-footer">
                <button type="button" class="btn btn btn-light-dark" data-bs-dismiss="modal"><i class="flaticon-cancel-12"></i>Close</button>
                <button type="button" id="simpannilai" class="btn btn-primary">Simpan</button>
            </div>

        </div>
    </div>
</div>

<?= $this->endSection(); ?>
<?= $this->section('pagejs'); ?>
<script type="text/javascript">
    $(document).ready(function() {
        // Tambahkan event listener untuk perubahan pada select[name="predikat[]"]
        $(document).on('change', 'select[name="predikat[]"]', function() {
            // Ambil nilai predikat yang dipilih
            var predikat = $(this).val();

            // Cari textarea yang berada di baris yang sama
            var textarea = $(this).closest('tr').find('textarea[name="deskripsi[]"]');

            // Isi textarea dengan nilai yang diinginkan
            textarea.val('Telah mengikuti kegiatan dengan ' + predikat);
        });
        $('#simpannilai').click(function() {
            var dataToSend = []; // Array untuk menyimpan data yang akan dikirim

            // Loop melalui setiap baris dalam tabel
            $('#tabel-anggota tbody tr').each(function(index, row) {
                var idPenilaian = $(row).find('select[name="predikat[]"]').data('id');
                var predikat = $(row).find('select[name="predikat[]"]').val();
                var deskripsi = $(row).find('textarea[name="deskripsi[]"]').val();

                // Buat objek untuk setiap baris dan tambahkan ke array dataToSend
                var rowData = {
                    id_penilaian: idPenilaian,
                    predikat: predikat,
                    deskripsi: deskripsi
                };
                dataToSend.push(rowData);
            });

            $.ajax({
                type: 'POST',
                url: '<?= base_url('penilaian/eskul/update'); ?>', // Ganti dengan URL yang sesuai
                data: {
                    data: dataToSend
                },
                dataType: 'json',
                success: function(response) {
                    Snackbar.show({
                        text: response.message,
                        pos: 'top-center'
                    });
                },
                error: function(xhr, status, error) {
                    // Handle error jika terjadi kesalahan
                    console.error(xhr.responseText);
                }
            });
        });
        $('#ekstrakulikulerTable').dataTable({
            ajax: {
                url: '<?= base_url('referensi/ekstrakulikuler/getdata') ?>', // Sesuaikan dengan URL Controller Anda
                type: 'GET'
            },
            columns: [{
                    data: null,
                    render: function(data, type, row, meta) {
                        return meta.row + 1; // Nomor urut dimulai dari 1, bukan 0
                    },
                    orderable: false // Kolom ini tidak dapat diurutkan
                },

                {
                    data: 'nama_ekstrakulikuler'
                },
                {
                    data: 'nama'
                },
                {
                    data: null,
                    render: function(data, type, row) {
                        return '<button data-id="' + row.id + '" class="btn btn-outline-info btn-rounded mb-2 me-4">' + row.anggota + ' Anggota</button>';
                    }
                },
                {
                    data: null,
                    render: function(data, type, row) {
                        return '<button data-id="' + row.id + '" class="btn btn-penilaian btn-outline-info btn-rounded mb-2 me-4">' + row.jumlah_dinilai / row.jumlah_belum * 100 + '% Penilaian</button>';
                    }
                },

            ],
            "dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
                "<'table-responsive'tr>" +
                "<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count  mb-sm-0 mb-3'i><'dt--pagination'p>>",
            "oLanguage": {
                "oPaginate": {
                    "sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',
                    "sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>'
                },
                "sInfo": "Showing page _PAGE_ of _PAGES_",
                "sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
                "sSearchPlaceholder": "Search...",
                "sLengthMenu": "Results :  _MENU_",
            },
            "stripeClasses": [],
            "lengthMenu": [7, 10, 20, 50],
            "pageLength": 10
        });
        // Event yang dipanggil ketika modal ditutup
        $('#modalanggota').on('hidden.bs.modal', function() {
            refreshDatatable(); // Memuat ulang data DataTable setelah modal ditutup
        });
        // Tambahkan event listener untuk tombol delete

        $('#ekstrakulikulerTable').on('click', '.btn-penilaian', function() {
            var id = $(this).data('id');
            $("#modalanggota").modal('show');
            // Panggil fungsi untuk mendapatkan data siswa dari AJAX saat halaman dimuat
            $("#id_eskul").val(id);

            getpenilaian(id);
            // edit(id);
        });
    });
    var save_method; //for save method string
    var table;

    function getpenilaian(ideskul) {
        $.ajax({
            url: '<?= base_url('referensi/ekstrakulikuler/getanggota/') ?>' + ideskul, // Ubah ini sesuai dengan URL endpoint Anda
            type: 'GET',
            dataType: "json",
            success: function(data) {
                var tbody = $('#tabel-anggota tbody');
                $("#alert").empty();
                tbody.empty();
                $.each(data, function(index, item) {
                    var no = index + 1;
                    var row = '<tr>' +
                        '<td>' + no + '</td>' +
                        '<td>' + item.nama + '</td>' +
                        '<td>' + item.rombel + '</td>' +
                        '<td><select data-id="' + item.id_penilaian + '" name="predikat[]" class="form-control form-control-sm">' +
                        '<option value="">Pilih Predikat</option>' +
                        '<option value="Sangat Baik"' + (item.predikat === 'Sangat Baik' ? ' selected' : '') + '>Sangat Baik</option>' +
                        '<option value="Baik"' + (item.predikat === 'Baik' ? ' selected' : '') + '>Baik</option>' +
                        '<option value="Cukup"' + (item.predikat === 'Cukup' ? ' selected' : '') + '>Cukup</option>' +
                        '<option value="Kurang"' + (item.predikat === 'Kurang' ? ' selected' : '') + '>Kurang</option>' +
                        '</select></td>' +
                        '<td><textarea class="form-control form-control-sm" name="deskripsi[]">' + item.deskripsi + '</textarea></td>' +
                        '</tr>';

                    tbody.append(row);
                });
            },
            error: function(xhr, status, error) {
                console.error(status, error);
                // Tindakan yang sesuai jika ada kesalahan dalam pengambilan data
            }
        });
    }

    function refreshDatatable() {
        $('#ekstrakulikulerTable').DataTable().ajax.reload();
    }

    function deleteUserData(userId) {
        $.ajax({
            url: '<?= base_url('referensi/ekstrakulikuler/delete/') ?>' + userId, // Sesuaikan dengan URL Controller Anda
            type: 'DELETE',
            success: function(response) {
                // Reload DataTable setelah penghapusan berhasil
                $('#ekstrakulikulerTable').DataTable().ajax.reload();
            },
            error: function(error) {
                console.error('Error deleting user:', error);
            }
        });
    }
</script>
<?= $this->endSection(); ?>