2 on('paste keyup change', 'input[type=text].filterable-control', function() {
3 var q = new RegExp($(this).val(), 'i');
4 $($(this).attr('data-filterable-target')).
5 addClass('filterable-container').
8 }).on('refresh', '.filterable-container', function() {
9 var q = $(this).data('q');
10 var filters = $(this).data('filters');
11 $('.filterable', this).hide().filter(function() {
14 if (q && !$row.text().match(q))
17 $.each(filters, function(filterby, val) {
21 $.each(val.split(" "), function(i, e) {
22 if ($row.attr(filterby) == e)
29 $('.infinite-scroller').add(window).trigger('scroll');
30 }).on('change', 'select.filterable-control', function() {
31 var val = $(this).val();
32 var filterby = $(this).attr('data-filterable-attribute');
33 var $target = $($(this).attr('data-filterable-target')).
34 addClass('filterable-container');
35 var filters = $target.data('filters') || {};
36 filters[filterby] = val;
38 data('filters', filters).
40 }).on('ajax:complete', function() {
41 $('.filterable-control').trigger('change');