Отключите будущие даты, используя angular-bootstrap-datetimepicker - PullRequest
0 голосов
/ 15 ноября 2018

Я создаю веб-сайт, на котором у пользователя есть возможность видеть некоторые графики.Эти диаграммы зависят от даты, поэтому пользователю необходимо выбрать дату для отображения диаграммы.

Все работает, но пользователю разрешено выбирать будущие даты.Этого не должно быть, потому что графики предназначены только для настоящих и прошлых дат.

Для проекта я использую Angular5 и для выбора даты angular-bootstrap-datetimepicker и могуКажется, я не нашел способ отключить эти даты.

То, как я использую библиотеку для отображения средства выбора даты, выглядит примерно так:

<dl-date-time-picker      
   [startView]="'day'" 
   [minView]="'day'" [maxView]="'year'" 
   [ngModel]="item.entity" 
   (click)="$event.stopPropagation()" 
   (ngModelChange)="onDateChange(filter, item, $event, dd)"> 
</dl-date-time-picker>

Есть ли кто-нибудь, кто может знатькак это сделать?

PS: я уже посмотрел старые вопросы / ответы, и они не работают, потому что они предназначены для всех версий библиотеки.

1 Ответ

0 голосов
/ 21 ноября 2018

Я нашел решение, читающее в библиотеке документация .

Существует атрибут с именем "selectFilter", который можно привязать к функции, поэтому использование будет примерно таким:

<dl-date-time-picker
  [selectFilter]="selectFilter"
  [ngModel]="item.entity"           
  (click)="$event.stopPropagation()"
  (ngModelChange)="onDateChange(filter, item, $event, dd)">
</dl-date-time-picker>

А затем selectFilter можетопределяется следующим образом:

private selectFilter(dateButton: DateButton, viewName: string): boolean {
   return dateButton.value <= (new Date()).getTime();
}

Эта функция может быть переопределена в соответствии с конкретными требованиями каждого проекта:).

...