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

Недавно я столкнулся с этой проблемой с Компонентом выбора диапазона дат для Bootstrap. В нем есть все функции, необходимые моей команде, кроме одной (1). Нам нужен был способ выбрать всю неделю, но плагин просто не поддерживает его из коробки.

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

Сначала мы добавили пользовательскую конфигурацию/опцию в средство выбора диапазона дат под названием batchMode и установили для него значение week. Затем мы подключились к событию apply.daterangepicker и добавили следующий код:

function(ev, picker) {
  var weekLocale = picker.locale.firstDay ? 'isoweek' : 'week';

  if (configuration.batchMode == 'week') {
      picker.setEndDate(picker.startDate.clone().endOf(weekLocale));
      picker.startDate = picker.startDate.startOf(weekLocale);
  }
}

Обратите внимание: для того, чтобы это работало должным образом, должны быть установлены следующие конфигурации:

singleDatePicker: true

И что dateLimit должно быть установлено на false.

И это все. Всякий раз, когда происходит событие клика, теперь будет выбрана вся неделя, в которой находится выбранная дата.