YADCF: фильтр диапазона_дат не работает с определенным форматом даты

Я не могу заставить фильтр range_date yadcf работать. Я использую это с datatables.net. И я не знаю, что я что-то упустил или это ошибка.

Я использую этот формат даты для исходных данных, передаваемых в datatable: YYYY-MM-DDTHH:mm,

И я использую этот формат для отображения даты в окне выбора времени: DD/MM/YYYY,

Я заглянул внутрь плагина yadcf, чтобы увидеть, что он делает, и он, похоже, получает дату строки из исходного значения, переданного в datatable (который в моем случае имеет следующий формат: "YYYY-MM-DDTHH:mm"), и прочитал это в формате, указанном в moment_date_format, Затем он сравнивает эту дату с датами в фильтре диапазона, эти даты имеют следующий формат: "ДД / ММ / ГГГГ", но yadcf по-прежнему считывает ее в формате, представленном в moment_date_format,

Я сделал скрипку, которая показывает проблему: http://jsfiddle.net/vatvat99/go5mxw0d/32/

var data = [
  {date: '2018-12-05T00:00'},
  {date: '2018-12-04T00:00'},
  {date: '2018-12-03T00:00'},
  {date: '2018-12-02T00:00'},
  {date: '2018-12-01T00:00'},
];

$(document).ready(function () {
  $('#example').dataTable({
    data: data,                    
    columnDefs: [{
      defaultContent: "-",
      targets: "_all"
    }],
    columns: [
      {
        name: 'date',
        data: 'date',
      }
    ],
  }).yadcf([
    { 
      column_number: 0, 
      filter_container_id: 'dateContainer',
      filter_type: 'range_date', 
      datepicker_type: 'bootstrap-datetimepicker',
      moment_date_format: 'YYYY-MM-DDTHH:mm',
      filter_plugin_options: {
        format: 'DD/MM/YYYY',
        showClear: true,
      }
    },
  ]);
});

Спасибо за вашу помощь.

1 ответ

Решение

Сейчас вы можете решить эту проблему, установив тот же формат даты для moment_date_format а также filter_plugin_options: { format: 'YYYY-MM-DDTHH:mm', это происходит потому, что хотя filter_plugin_options.format используется для вывода выбора даты выбора даты позже в логике фильтрации addRangeDateFilterCapability moment_date_format используется для его анализа (вы можете назвать это ошибкой), поэтому пока используйте тот же формат и, кроме того, вы можете открыть проблему со ссылкой jsfiddle, прикрепленной к репозиторию yadcf.

.yadcf([ { column_number: 0, filter_container_id: 'dateContainer', filter_type: 'range_date', datepicker_type: 'bootstrap-datetimepicker', moment_date_format: 'YYYY-MM-DDTHH:mm', filter_plugin_options: { format: 'YYYY-MM-DDTHH:mm', showClear: true, } },

Смотри работающий jsfiddle

Другие вопросы по тегам