Как реализовать пользовательский поиск с помощью 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:

В то время документировано.