Обрабатывать каждый день обратный вызов с помощью DatePicker - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу использовать загрузчик даты начальной загрузки для отображения встроенного календаря. Мне нужно добавить определенный класс к определенным дням:

Каждые дни недели месяца я проверяю, отработал ли пользователь 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, но как изменить класс каждого дня из этого события?

Спасибо за помощь!

...