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