Dojo dgrid dstore collection - "или" фильтр не работает

Я работаю с Dojo dgrid, и у меня проблема с фильтрацией dstore с помощью оператора "или".

var today = new Date();
today.setHours(0,0,0,0);

var start_date= new Date();
start_date.setDate(today.getDate() - 5);
start_date.setHours(0,0,0,0); 

grid.set('collection', store.filter(
    new store.Filter().or(
            new store.Filter().gte('datefield1', start_date).lte('datefield1',today),
            new store.Filter().gte('datefield2', start_date).lte('datefield2',today)
    )
)); 

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

Как сделать заявление "или" для правильной работы в dojo dgrid dstore?

1 ответ

Проблема была решена с помощью kfranqueiro из SitePen на их GitHub. Действительно большое спасибо за его участие.

store.filter(function (item) {
    return (item.datefield1 >= start_date && item.datefield1 <= today) ||
        (item.datefield2 >= start_date && item.datefield2 <= today);
});

Полное обсуждение: https://github.com/SitePen/dgrid/issues/1265

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