Есть ли способ поиска поля даты с помощью смарт-таблицы? Мне нужно отфильтровать даты позже, чем заданную дату.
Как реализовать пользовательский поиск с помощью smart-table и angularjs
Ответ 1
вы можете настроить собственный (глобальный фильтр) с помощью атрибута st-set-filter
(еще не документированного)
<table st-set-filter="myFilter" st-table="rowCollection">
...
</table>
Затем реализуем настраиваемый фильтр
myApp.filter('myFilter',[function(){
return function(array, expression){
//an example
return array.filter(function(val, index){
return new Date(val.theDateProperty) > new Date(expression.theDateProperty) ;
});
}
});
где, например, вы настроили ввод в таблице
<input type="date" st-search="'theDateProperty'" />
Обратите внимание, что фильтр является глобальным для таблицы, поэтому он будет вызываться вместо фильтра angular (по умолчанию используется) для очень ввода поиска. Поэтому, если вы хотите использовать другое поведение фильтра для разных столбцов, вам придется добавить их в свой собственный фильтр, или другой метод - использовать функцию компаратора. Более подробно вы найдете в моем комментарии к запросу (18/11/2014) и plunker
Edit:
В то время документировано.