Untitled
unknown
plain_text
a year ago
24 kB
13
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