Bug 34913: Fix Activate/Deactive filters with table_filters.js
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / table_filters.js
1 function activate_filters(id, bShowFilters) {
2     var table = $("#" + id );
3     if (table.length == 1) {
4         filters_row = table.find('thead tr.filters_row');
5
6         var aoColumns = [];
7         filters_row.find('th').each(function() {
8             if(this.className === "NoSort"){
9                 aoColumns.push(null);
10             } else {
11                 aoColumns.push('text');
12             }
13         });
14
15         if (table.find('thead tr.columnFilter').length == 0) {
16             table.dataTable().columnFilter({
17                 'sPlaceHolder': 'head:after'
18                 ,   "columns": aoColumns
19                 ,'bFiltersAlreadyActivated': false
20             });
21             filters_row.addClass('columnFilter');
22         }
23
24         if (bShowFilters) {
25             filters_row.show();
26
27             $('#' + id + '_activate_filters')
28                 .html('<i class="fa fa-filter"></i> ' + __('Deactivate filters') )
29                 .unbind('click')
30                 .click(function() {
31                     deactivate_filters(id);
32                     return false;
33                 });
34         }
35     }
36 }
37
38 function deactivate_filters(id) {
39     filters_row = $("#" + id ).find('thead tr.filters_row');
40
41     filters_row.find('input[type="text"]')
42         .val('')            // Empty filter text boxes
43         .trigger('keyup')   // Filter (display all rows)
44         .trigger('blur');   // Reset value to the column name
45     filters_row.hide();
46
47     $('#' + id + '_activate_filters')
48         .html('<i class="fa fa-filter"></i> ' + __('Activate filters') )
49         .unbind('click')
50         .click(function() {
51             activate_filters(id, true);
52             return false;
53         });
54 }