Untitled
unknown
plain_text
a year ago
24 kB
10
Indexable
<script> $(document).ready(function () { $('#modal-komplead').on('shown.bs.modal', function () { // Reset select element and clear descriptions when the modal opens $('.kompetensi-select').val(null).trigger('change'); $('#desc-kompetensi').text(''); $('#nama-kompetensi').text(''); // Event listener for changes on the select element $('.kompetensi-select').on('change', function () { var selectedId = $(this).val(); var selectedText = $(this).find('option:selected').data('namakomplead'); if (selectedId) { updateDescription(selectedId, selectedText); fetchProficiencylead(selectedId); } }); }); }); function updateDescription(selectedValue, selectedText) { var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var data = { ididentitasjbtn: idIdentitas, id: selectedValue }; var routeUrl = $('#modal-komplead').data('route3'); $.ajax({ url: routeUrl, type: "GET", data: data, beforeSend: function() { // Show loading indicator $('#desc-kompetensi').text('Loading...'); }, success: function (response) { console.log('AJAX Response:', response); // Log the response console.log(selectedText); var nameElement = $('#nama-kompetensi'); var descriptionElement = $('#desc-kompetensi'); if (response.result) { nameElement.text(selectedText || ''); let dataFetch = response.result.result.find((data) => { return data.namakomplead == selectedText; console.log(selectedText); }); descriptionElement.text(dataFetch.desckomplead || ''); } else { console.error("No matching item found for id:", selectedValue); descriptionElement.text('No matching description found.'); } }, error: function (xhr, status, error) { console.error('Error fetching description:', error); $('#desc-kompetensi').text('Error fetching description.'); } }); } function fetchProficiencylead(selectedId) { var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var fetchUrl = $('#modal-komplead').data('route3'); $.ajax({ url: fetchUrl, type: 'GET', data: { ididentitasjbtn: idIdentitas, idkomplead: selectedId }, success: function (response) { console.log('Proficiency fetch response:', response); var proficiencyBody = $('#proficiency-body'); proficiencyBody.empty(); // Clear existing rows if (response.result && response.result.result.length > 0) { var item = response.result.result[0]; // Assuming only one proficiency per competency var row = '<tr>' + '<td>' + item.namalvlkomplead + '</td>' + '<td>' + (item.indikator || 'No indicator available') + '</td>' + '</tr>'; proficiencyBody.append(row); } else { var row = '<tr><td colspan="2">No proficiency data found.</td></tr>'; proficiencyBody.append(row); } }, error: function (xhr, status, error) { console.error('Error fetching proficiency:', error); var proficiencyBody = $('#proficiency-body'); proficiencyBody.empty(); var row = '<tr><td colspan="2">Error fetching proficiency data.</td></tr>'; proficiencyBody.append(row); } }); } </script> js // function for filter function selectStatus(value) { document.getElementById('filter-status').innerText = value; } function deleteBtn(value){ var option = document.querySelector('.kompetensi-select option[value="' + value + '"]'); option.disabled = false } document.addEventListener('DOMContentLoaded', function() { var dropdownItems = document.querySelectorAll('.dropdown-item'); dropdownItems.forEach(function(item) { item.addEventListener('click', function(event) { event.preventDefault(); // Prevent the default action of the anchor tag // Extracting the value from the clicked anchor tag's text content var value = this.textContent.trim(); // Assuming you want to pass different values to each function based on the clicked item if (this.parentElement.parentElement.id === 'dropdown-status') { selectStatus(value); } }); }); }); $('.select2').each(function() { $(this).select2({ placeholder: $(this).data('placeholder') || 'Pilih' }); }); $(document).ready(function() { $('#modal-komplead').on('shown.bs.modal', function () { // Initialize Select2 $('.select2').select2({ dropdownParent: $('#modal-komplead'), placeholder: "Pilih", allowClear: true, }); var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var routeUrl = $('#modal-komplead').data('route3'); // AJAX Request $.ajax({ url: routeUrl, type: 'GET', data: { ididentitasjbtn: idIdentitas }, success: function(response) { var levels = response.result.result; var listItems = levels.map(function(level) { if (level.namakomplead && level.namalvlkomplead) { return '<li class="list-group-item d-flex justify-content-between align-items-center">' + level.namakomplead + " - " + level.namalvlkomplead + '<button type="button" class="btn btn-danger btn-sm delete-item" data-ididentitasjbtn="' + level.ididentitasjbtn + '" data-idkomplead="' + level.idkomplead + '">' + '<i class="fa-solid fa-trash"></i>' + '</button>' + '</li>'; } else { return ''; } }).join(''); $('#listContainer').html(listItems); // Add event listener for delete button $('.delete-item').on('click', function() { var ididentitasjbtn = $(this).data('ididentitasjbtn'); var idkomplead = $(this).data('idkomplead'); var listItem = $(this).closest('li'); var routeUrlhapus = $('#modal-komplead').data('route4'); // Show confirmation popup if (confirm("Apakah Anda yakin ingin menghapus data ini?")) { $.ajax({ url: routeUrlhapus, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'), 'Content-Type': 'application/json' }, type: 'POST', data: JSON.stringify({ ididentitasjbtn: ididentitasjbtn, idkomplead: idkomplead }), success: function(response) { console.log(response); listItem.remove(); // Remove the list item from the DOM }, error: function(xhr, status, error) { console.error(error); } }); } }); }, error: function(xhr, status, error) { console.error(error); } }); // Event listener for .kompetensi-select change event $(document).on('change', '.kompetensi-select', function() { var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var selectedOption = $(this).val(); var selectedText = $(this).find('option:selected').data('namakomplead'); var idkompetensilead = $(this).find('option:selected').data('idkompetensilead'); var routeUrl = $('#modal-komplead').data('route2'); // Disable the selected option $(this).find('option:selected').prop('disabled', true); // AJAX Request $.ajax({ url: routeUrl, type: 'GET', data: { ididentitasjbtn: idIdentitas, idkompetensilead: idkompetensilead }, success: function(response) { var levels = response.result.result; var levelOptions = levels.map(function(level) { return '<option value="' + level.idkomplead + '">' + level.namalvlkomplead + '</option>'; }).join(''); var row = '<div class="row mb-2" style="padding-right: 10px;">' + '<div class="col-7"><input type="text" class="form-control" value="' + selectedText + '" disabled></div>' + '<input type="hidden" name="kompetensi_id[]" value="' + selectedOption + '">' + '<input type="hidden" name="idkompetensilead[]" value="' + idkompetensilead + '">' + '<div class="col-3"><select class="form-select" name="kompetensi_level[]" aria-label="Default select example">' + levelOptions + '</select></div>' + '<div class="col-1"><button type="button" class="btn btn-danger delete-row" data-toggle="tooltip" title="Hapus" data-placement="bottom"><i class="fa-solid fa-trash"></i></button></div>' + '</div>'; $('#selectedKompetensiLead').append(row); $('[data-toggle="tooltip"]').tooltip(); }, error: function(xhr, status, error) { console.error(error); } }); }); }); $('#modal-komplead').on('hidden.bs.modal', function () { $(document).off('change', '.kompetensi-select'); }); $(document).on('submit', '#form-komplead', function(e) { e.preventDefault(); var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var dataToUpdate = []; $('#selectedKompetensiLead .row').each(function() { var idKomplead = $(this).find('input[name="kompetensi_id[]"]').val(); var idKompetensiLead = $(this).find('select[name="kompetensi_level[]"]').val(); dataToUpdate.push({ ididentitas: idIdentitas, idkomplead: idKomplead, idkompetensilead: idKompetensiLead }); }); var jsonData = { dataToUpdate: dataToUpdate }; var routeUrl = $('#modal-komplead').data('route'); var csrfToken = $('meta[name="csrf-token"]').attr('content'); $.ajax({ url: routeUrl, method: 'POST', headers: { 'X-CSRF-TOKEN': csrfToken, 'Content-Type': 'application/json' }, data: JSON.stringify(jsonData), success: function(response) { alert('Data has been saved successfully.'); $('#modal-komplead').modal('hide'); location.reload(); }, error: function(xhr, status, error) { alert('An error occurred while saving the data.'); } }); }); // Listen for click on delete button (since it's dynamically added) $(document).on('click', '.delete-row', function() { var row = $(this).closest('.row'); console.log(row); // Dispose of the tooltips row.find('[data-toggle="tooltip"]').tooltip('dispose'); // Remove the entire row row.remove(); }); }); $(document).ready(function() { $('#modal-kompsoft').on('shown.bs.modal', function () { // Initialize Select2 $('.select2').select2({ dropdownParent: $('#modal-kompsoft'), placeholder: "Pilih", allowClear: true, }); var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var routeUrl = $('#modal-kompsoft').data('route3'); var routeUrlkompetensi = $('#modal-kompsoft').data('route5');; var labelText = ''; var selectedValue = $(this).val(); // AJAX Request $.ajax({ url: routeUrl, // Ganti dengan URL endpoint API Anda type: 'GET', data: { ididentitasjbtn: idIdentitas }, success: function(response) { var levels = response.result.result; var ididentitasjbtn = ididentitasjbtn; var listItems = levels.map(function(level) { return '<li class="list-group-item d-flex justify-content-between align-items-center">' + level.namakomphardsoft + '<button type="button" class="btn btn-danger btn-sm delete-item" data-ididentitasjbtn="' + level.ididentitasjbtn + '" data-idkompsoft="' + level.idkomphardsoft + '">' + '<i class="fa-solid fa-trash"></i>' + '</button>' + '</li>'; }).join(''); $('#listContainersoft').html(listItems); // Tambahkan event listener untuk tombol hapus $('.delete-item').on('click', function() { var ididentitasjbtn = $(this).data('ididentitasjbtn'); var idkompsoft = $(this).data('idkompsoft'); var listItem = $(this).closest('li'); var routeUrlhapus = $('#modal-kompsoft').data('route4'); // Tampilkan popup konfirmasi if (confirm("Apakah Anda yakin ingin menghapus data ini?")) { $.ajax({ url: routeUrlhapus, headers: { 'X-CSRF-TOKEN': csrfToken, 'Content-Type': 'application/json' }, type: 'POST', data: JSON.stringify({ ididentitasjbtn: ididentitasjbtn, idhardsoft: idkompsoft }), success: function(response) { // Tangani respons sukses dari server console.log(response); listItem.remove(); // Hapus elemen <li> dari DOM }, error: function(xhr, status, error) { console.error(error); // Tangani kesalahan } }); } }); }, error: function(xhr, status, error) { console.error(error); // Tangani kesalahan } }); $.ajax({ url: routeUrlkompetensi, type: "GET", data: { koderumpun: 0, kodejeniskomp: 2, ididentitasjbtn: idIdentitas, }, success: function(response) { var kompetensiDropdown = $('#kompetensisoft'); kompetensiDropdown.empty(); // Kosongkan dropdown sebelum menambahkan opsi baru // Tambahkan opsi baru berdasarkan data yang diterima $.each(response.result.result, function(index, item) { kompetensiDropdown.append($('<option>', { value: item.iddictkomphardsoft, text: item.namakomphardsoft, 'data-iddictkomphardsoft': item.iddictkomphardsoft, 'data-koderumpun': 0, // Diganti dengan nilai yang sesuai jika diperlukan 'data-namakomphardsoft': item.namakomphardsoft })); }); }, error: function(xhr, status, error) { // Handle error console.error(xhr.responseText); } }); $('#hasilSelect').text(labelText); }); // Listen for click on delete button (since it's dynamically added) $(document).on('click', '.delete-row', function() { // var disabledData = $(this).find('option:selected') // disabledData.prop('disabled', false) var row = $(this).closest('.row'); console.log(row); // Dispose of the tooltips row.find('[data-toggle="tooltip"]').tooltip('dispose'); // Remove the entire row row.remove(); }); }); // $(document).ready(function () { // $('#modal-komphard').on('shown.bs.modal', function () { // $('.select2').select2({ // dropdownParent: $('#modal-komphard'), // placeholder: "Pilih", // allowClear: true, // }); // // $('#form-komphard').on('submit', function(e) { // // e.preventDefault(); // Prevent the default form submission // // // Display an alert // // alert('Form submitted successfully!'); // // Optionally, you can proceed with form submission via AJAX or other methods here // /* // var formData = new FormData(this); // $.ajax({ // url: $(this).attr('action'), // method: 'POST', // data: formData, // processData: false, // contentType: false, // headers: { // 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') // }, // success: function(response) { // console.log('Form submitted successfully:', response); // // Additional actions on success // }, // error: function(xhr, status, error) { // console.error('Error submitting form:', error); // } // }); // */ // // }); // }); // }); // Listen for click on delete button (since it's dynamically added) $(document).on('click', '.delete-row', function() { // var disabledData = $(this).find('option:selected') // disabledData.prop('disabled', false) var row = $(this).closest('.row'); console.log(row); // Dispose of the tooltips row.find('[data-toggle="tooltip"]').tooltip('dispose'); // Remove the entire row row.remove(); }); $(document).on('change', '#kompetensisoft', function() { var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var selectedOption = $(this).val(); var iddictkomphardsoft = $(this).find('option:selected').data('iddictkomphardsoft'); var koderumpun = $(this).find('option:selected').data('koderumpun'); var namakomphardsoft = $(this).find('option:selected').data('namakomphardsoft'); console.log(selectedOption); var routeUrl = $('#modal-kompsoft').data('route2'); // var disabledData = $(this).find('option:selected') // disabledData.prop('disabled', true) // AJAX Request $.ajax({ url: routeUrl, // Ganti dengan URL endpoint API Anda type: 'GET', data: { iddictkomphardsoft: iddictkomphardsoft, ididentitasjbtn: idIdentitas, }, success: function(response) { var levels = response.result.result; console.log(levels); var levelOptions = levels.map(function(level) { return '<option value="' + level.idkomphardsoft + '">' + level.lvlkomphardsoft + '</option>'; }).join(''); var row = '<div class="row mb-2" style="padding-right: 10px;">' + '<div class="col-7"><input type="text" class="form-control" value="' + namakomphardsoft + '" disabled></div>' + '<input type="hidden" name="ididentitasjbtn[]" value="' + idIdentitas + '">' + '<input type="hidden" name="iddictkomphardsoft[]" value="' + iddictkomphardsoft + '">' + '<div class="col-3"><select class="form-select" name="idkomphardsoft[]" aria-label="Default select example">' + levelOptions + '</select></div>' + `<div class="col-1"><button onclick="deleteBtn(${selectedOption})" type="button" class="btn btn-danger delete-row" data-toggle="tooltip" title="Hapus" data-placement="bottom"><i class="fa-solid fa-trash"></i></button></div>` + '</div>'; $('#selectedKompetensiSoft').append(row); $('[data-toggle="tooltip"]').tooltip(); }, error: function(xhr, status, error) { console.error(error); // Tangani kesalahan } }); }); $(document).ready(function() { $(document).on('submit', '#form-kompsoft', function(e) { e.preventDefault(); var idIdentitas = $('input[name="ididentitasjbtn"]').val(); var dataToUpdate = []; $('#selectedKompetensiSoft .row').each(function() { var iddictkomphardsoft = $(this).find('input[name="iddictkomphardsoft[]"]').val(); var idkomphardsoft = $(this).find('select[name="idkomphardsoft[]"]').val(); dataToUpdate.push({ ididentitas: idIdentitas, iddictkomphardsoft: iddictkomphardsoft, idkomphardsoft: idkomphardsoft }); }); var jsonData = { dataToUpdate: dataToUpdate }; var routeUrl = $('#modal-kompsoft').data('route'); var csrfToken = $('meta[name="csrf-token"]').attr('content'); $.ajax({ url: routeUrl, method: 'POST', headers: { 'X-CSRF-TOKEN': csrfToken, 'Content-Type': 'application/json' }, data: JSON.stringify(jsonData), success: function(response) { alert('Data has been saved successfully.'); $('#modal-kompsoft').modal('hide'); location.reload(); }, error: function(xhr, status, error) { alert('An error occurred while saving the data.'); } }); }); });
Editor is loading...
Leave a Comment