74 lines
2.1 KiB
JavaScript
74 lines
2.1 KiB
JavaScript
let filterState = {};
|
|
$(document).ready(function(){
|
|
const jenisMenuAwal = $("#tabJenisMenu .nav-link.active").data("filter")
|
|
filterState ={
|
|
jenis_menu: jenisMenuAwal,
|
|
search:'',
|
|
per_page: 50,
|
|
}
|
|
|
|
fetchMenu(filterState)
|
|
|
|
$('#tabJenisMenu .btn').on('click', function(e) {
|
|
e.preventDefault();
|
|
const jenis = $(this).data('filter');
|
|
|
|
// reset semua button jadi outline-success
|
|
$('#tabJenisMenu .btn')
|
|
.removeClass('btn-success active')
|
|
.addClass('btn-outline-success');
|
|
|
|
// set button yang dipilih jadi active
|
|
$(this)
|
|
.removeClass('btn-outline-success')
|
|
.addClass('btn-success active');
|
|
|
|
// reset datepicker & label
|
|
datePicker.clear();
|
|
$('#tanggalTerpilihLabel').addClass('d-none').text('');
|
|
$('#resetTanggal').addClass('d-none');
|
|
|
|
// set filter state
|
|
filterState.jenis_menu = jenis;
|
|
fetchMenu(filterState);
|
|
});
|
|
|
|
$(".alert-link").on('click', function(e){
|
|
e.preventDefault();
|
|
$('#tabJenisMenu .btn').removeClass('btn-success active').addClass('btn-outline-success');
|
|
$('#tabJenisMenu .btn[data-filter="konsultasi" ]').removeClass('btn-outline-success').addClass('btn-success active');
|
|
|
|
if (typeof datePicker !== 'undefined') {
|
|
datePicker.clear();
|
|
}
|
|
|
|
filterState.jenis_menu = 'konsultasi';
|
|
|
|
document.getElementById('tanggalTerpilihLabel').classList.add('d-none'); // Sembunyikan label
|
|
document.getElementById('tanggalTerpilihLabel').textContent = '';
|
|
document.getElementById('resetTanggal').classList.add('d-none');
|
|
|
|
fetchMenu(filterState);
|
|
})
|
|
|
|
let searchTimout;
|
|
$('#searchMenu').on('input', function(){
|
|
clearTimeout(searchTimout);
|
|
const keyword = $(this).val();
|
|
|
|
searchTimout = setTimeout(() => {
|
|
filterState.search = keyword;
|
|
fetchMenu(filterState)
|
|
}, 300)
|
|
})
|
|
|
|
|
|
})
|
|
|
|
function changePerPage(select) {
|
|
const newPerPage = parseInt(select.value);
|
|
filterState.per_page = newPerPage
|
|
fetchMenu(filterState)
|
|
}
|
|
|