let colCount = 1;
$(document).ready(function() {
$('.unit_kerja').select2({
placeholder: '-- Pilih Unit Kerja --',
allowClear:true,
width: '100%',
ajax:{
url : '/select-unit-kerja',
dataType: 'json',
delay: 250,
data: function(params){
return {
q: params.term
}
},
processResults: function(data){
return {
results : data?.data.map(item => ({
id: item.id,
text: item.name,
sub_units: item?.sub_unit_kerja
}))
}
},
cache: true,
},
minimumInputLength: 1,
});
$('.sub_unit_kerja').select2({
placeholder: '-- Pilih Sub Unit Kerja ',
allowClear:true,
width: '100%',
})
$('.unit_kerja').on('select2:select', function(e){
let data = e.params.data;
$('.sub_unit_kerja').empty().append('')
if(data.sub_units && data.sub_units.length > 0){
data.sub_units.forEach(sub => {
$('.sub_unit_kerja').append(``)
})
}
})
$('.klasifikasi_dok').select2();
$('.kategori_dok').select2();
selectOptionUnitKerja(0)
});
function addForm(){
let col = $("#col_add_file")
let html = '';
html += `
`
col.append(html)
selectOptionUnitKerja(colCount)
colCount++;
}
function removeCol(count){
$(`#col-${count}`).remove()
}
function selectOptionUnitKerja(colCount) {
let selectUnit = $(`#select_id_unit_kerja_${colCount}`);
let selectSubUnit = $(`#select_id_sub_unit_kerja_${colCount}`);
// inisialisasi select2 untuk Unit Kerja
selectUnit.select2({
placeholder: '-- Pilih Unit Kerja --',
allowClear:true,
width: '100%',
dropdownParent: selectUnit.parent(),
ajax:{
url : '/select-unit-kerja',
dataType: 'json',
delay: 250,
data: function(params){
return { q: params.term }
},
processResults: function(data){
return {
results : data?.data.map(item => ({
id: item.id,
text: item.name,
sub_units: item.sub_unit_kerja // kirim ke front
}))
}
},
cache: true,
},
minimumInputLength: 1,
});
selectSubUnit.select2({
placeholder: '-- Pilih Sub Unit Kerja --',
allowClear: true,
width: '100%',
dropdownParent: selectSubUnit.parent()
});
// event ketika unit kerja dipilih
selectUnit.on('select2:select', function (e) {
let data = e.params.data; // data unit kerja terpilih
selectSubUnit.empty().append('');
if (data.sub_units && data.sub_units.length > 0) {
data.sub_units.forEach(sub => {
selectSubUnit.append(``);
});
}
// aktifkan select2 untuk sub unit
});
}