Показывать цвет на определенные даты в окне выбора времени и времени AngularJs - PullRequest
0 голосов
/ 23 февраля 2019

Я использую начальную загрузку Выбор даты и времени в angularjs

Мне нужно показать цвет в определенные даты, например в выходные и праздничные дни

Вот моя датаопция выбора: -

$scope.dateOptions = {
            dateFormat: 'yyyy-MM-dd',
            maxDate: new Date(2020, 5, 22),
            minDate: new Date(),
            startingDay: 1,
            onChangeDate: countDays
        };

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

Как показать цвет к определенной дате?

Я пытался использовать некоторые пользовательские CSS, но он применяется ко всем датам, а не к конкретным.

Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2019

Отвечая на ваш вопрос

Как отобразить цвет к определенной дате?

Выбор даты и времени начальной загрузки для Angularjs Предоставьте возможность применитьпользовательский класс.

Попробуйте это

   $scope.dateOptions = {
            dateFormat: 'yyyy-MM-dd',
            maxDate: new Date(2020, 5, 22),
            minDate: new Date(),
            startingDay: 1,
            onChangeDate: countDays,
            customClass: getDayClass // fucntion having logic to select particular dates
      };

Функция getDayClass может быть реализована следующим образом

function getDayClass(data) {
    var date = data.date,
      mode = data.mode;
    if (mode === 'day') {
      var dayToCheck = new Date(date).setHours(0,0,0,0);

      for (var i = 0; i < $scope.events.length; i++) {
        var currentDay = new Date($scope.events[i].date).setHours(0,0,0,0);

        if (dayToCheck === currentDay) {
          return $scope.events[i].status;
        }
      }

      // check for weekend 0 for sun and 6 for sat
      if(date.getDay() == 0 || date.getDay() == 6)
      {
          return 'full';   //return class to be applied
      }
    }

    return '';
  }

Установить класс для дат

  var tomorrow = new Date();
  tomorrow.setDate(tomorrow.getDate() + 1);
  var afterTomorrow = new Date(tomorrow);
  afterTomorrow.setDate(tomorrow.getDate() + 1);
  $scope.events = [
    {
      date: tomorrow,
      status: 'full'
    },
    {
      date: afterTomorrow,
      status: 'partially'
    }
  ];

Выбор даты вызывает опции выбора даты для каждой даты во время инициализации.

Вы можете проверить пример Plunker .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...