1 [% USE ColumnsSettings %]
4 function KohaTable(id_selector, dt_parameters, columns_settings, add_filters) {
8 var selector = '#' + id_selector;
10 $(columns_settings).each( function() {
11 var named_id = $( 'thead th[data-colname="' + this.columnname + '"]', selector ).index( 'th' );
12 var used_id = dt_parameters.bKohaColumnsUseNames ? named_id : counter;
13 if ( used_id == -1 ) return;
15 if ( this['is_hidden'] == "1" ) {
16 hidden_ids.push( used_id );
18 if ( this['cannot_be_toggled'] == "0" ) {
19 included_ids.push( used_id );
24 var exportColumns = ":visible";
25 if( dt_parameters.hasOwnProperty("exportColumns") ){
26 // A custom buttons configuration has been passed from the page
27 exportColumns = dt_parameters["exportColumns"];
30 dt_parameters[ "buttons" ] = [
33 columns: included_ids,
34 text: _("Column visibility"),
36 columns: exportColumns
43 columns: exportColumns
50 columns: exportColumns
57 columns: exportColumns
64 columns: exportColumns
69 var table = $(selector);
71 // Duplicate the table header row for columnFilter
72 thead_row = table.find('thead tr');
73 clone = thead_row.clone().addClass('filters_row');
74 clone.find("th.NoSort").html('');
75 thead_row.before(clone);
78 table.dataTable($.extend(true, {}, dataTablesDefaults, dt_parameters));
80 $(hidden_ids).each(function(index, value) {
81 table.fnSetColumnVis( value, false );
85 // show a link to activate filtering
88 .attr('id', id_selector + '_activate_filters');
89 $("." + id_selector + "_table_controls").prepend(link);
90 deactivate_filters(id_selector);