Find at Table
O que é?
É um filtro para tabelas( tabelas em HTML e não Banco de Dados) utilizando prototype.
Como utilizar?
Instalar o plugin no seu projeto
ruby script/plugin install git://github.com/marcosgz/find_at_table.git
Adicione os javascripts na sua view:
<%= javascript_include_tag :defaults %>
<%= javascript_include_tag 'find_at_table' %>
Adicione o helper na sua view:
<%= find_at_table_field("field_name", "table_id") %>
Para funcionar corretamente é necessário utilizar as tags <thead> </thead> e <tbody> </tbody>. Exemplo:
<table id="table_id">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr>
<td>Homer Simpson</td>
<td>36</td>
</tr>
<tr>
<td>Bart Simpson</td>
<td>14</td>
</tr>
</tbody>
</table>
Exemplo:
<%= find_at_table_field("field_name", "table_id") %>
ou
<%= find_at_table_field("field_name", "table_id",{:columns => "all"}) %>
Name Age
Homer Simpson 43
Bart Simpson 15
Lisa Simpson 14
Maggie Simpson 1
Marge Simpson 39
Abe Simpson 68

1) Desativar a atualização dinamica da tabela (É necessário apertar ENTER para que o filtro seja executado, Default => true);
<%= find_at_table_field("field_name", "table_id",{:dynamic => false }) %>
Exemplo:
2) Alterar a frequencia do observer (Default => 1);
<%= find_at_table_field("field_name", "table_id",{:frequency => 3}) %>
Exemplo:
3) Selecionar as colunas da tabela para o filtro (Defauld => "all" );
Procurar na segunda coluna da tabela:
<%= find_at_table_field("field_name", "table_id",{:columns => 1}) %>
Exemplo:
Procurar na primeira e terceira coluna da tabela:
<%= find_at_table_field("field_name", "table_id",{:columns => [0,2]}) %>
Exemplo:
Procurar entre primeira e a terceira coluna:
<%= find_at_table_field("field_name", "table_id",{:columns => (0..2)}) %>
Exemplo: