Я хочу использовать загрузчик даты начальной загрузки для отображения встроенного календаря. Мне нужно добавить определенный класс к определенным дням:
Каждые дни недели месяца я проверяю, отработал ли пользователь 7 часов. Если он это делает, я добавляю зеленый фон к дню, а если нет, я добавляю красный фон.
Но я не знаю, как лучше это сделать?
В настоящее время я использую beforeShowDay с ajax следующим образом:
$('#kt_datepicker_6').datepicker({
startDate:"-1d",
todayHighlight: true,
language: "fr",
todayBtn: "linked",
daysOfWeekHighlighted: "0",
maxViewMode: 2,
beforeShowDay: function (date) {
calender_date = date.getFullYear()+'-'+(date.getMonth()+1)+'-'+('0'+date.getDate()).slice(-2);
var user_busy_days = [];
var test = false;
$.ajax({
headers: {
'X-CSRF-Token': '{{ csrf_token() }}',
},
url: '{{url("horaire/day")}}',
data: {'date':calender_date},
type: 'POST',
dataType: 'json',
async: false,
success: function (data) {
if((data['heures_bureau'] + data['heures_terrain']) > 7.8){
test = true;
};
}
var search_index = $.inArray(calender_date, user_busy_days);
var search_index2 = $.inArray(calender_date, datesForDisable2);
if(date.getDay() != 0){
if(search_index2 > -1){
return {classes: 'disabled highlighted-ferie', tooltip: 'Cabinet fermé'};
}else{
if (test == true) {
return {classes: 'highlighted-cal-dates'};
}else if(date.getDay() == 6){
return {classes: 'highlighted-saturday'};
}else{
return {classes: 'non-highlighted-cal-dates'};
}
}
}else{
return { content: 'T' };
}
}
});
Но у меня 42 ajax-звонка!
Я использую laravel, поэтому можно ли получить массив дней за текущий месяц одним запросом?
Я видел changeMonth, но как изменить класс каждого дня из этого события?
Спасибо за помощь!