| Lines 1-6
          
      
      
        Link Here | 
        
          | 1 | // These default options are for translation but can be used | 1 | // These default options are for translation but can be used | 
        
          | 2 | // for any other datatables settings | 2 | // for any other datatables settings | 
            
              | 3 | // MSG_DT_* variables comes from datatables.inc |  |  | 
        
          | 4 | // To use it, write: | 3 | // To use it, write: | 
        
          | 5 | //  $("#table_id").dataTable($.extend(true, {}, dataTableDefaults, { | 4 | //  $("#table_id").dataTable($.extend(true, {}, dataTableDefaults, { | 
        
          | 6 | //      // other settings | 5 | //      // other settings | 
  
    | Lines 8-33
          
      
      
        Link Here | 
        
          | 8 | var dataTablesDefaults = { | 7 | var dataTablesDefaults = { | 
        
          | 9 |     "oLanguage": { | 8 |     "oLanguage": { | 
        
          | 10 |         "oPaginate": { | 9 |         "oPaginate": { | 
          
            
              | 11 |             "sFirst"    : window.MSG_DT_FIRST || "First", | 10 |             "sFirst"    : __('First'), | 
            
              | 12 |             "sLast"     : window.MSG_DT_LAST || "Last", | 11 |             "sLast"     : __('Last'), | 
            
              | 13 |             "sNext"     : window.MSG_DT_NEXT || "Next", | 12 |             "sNext"     : __('Next'), | 
            
              | 14 |             "sPrevious" : window.MSG_DT_PREVIOUS || "Previous" | 13 |             "sPrevious" : __('Previous'), | 
        
          | 15 |         }, | 14 |         }, | 
          
            
              | 16 |         "sEmptyTable"       : window.MSG_DT_EMPTY_TABLE || "No data available in table", | 15 |         "sEmptyTable"       : __('No data available in table'), | 
            
              | 17 |         "sInfo"             : window.MSG_DT_INFO || "Showing _START_ to _END_ of _TOTAL_ entries", | 16 |         "sInfo"             : __('Showing _START_ to _END_ of _TOTAL_ entries'), | 
            
              | 18 |         "sInfoEmpty"        : window.MSG_DT_INFO_EMPTY || "No entries to show", | 17 |         "sInfoEmpty"        : __('No entries to show'), | 
            
              | 19 |         "sInfoFiltered"     : window.MSG_DT_INFO_FILTERED || "(filtered from _MAX_ total entries)", | 18 |         "sInfoFiltered"     : __('(filtered from _MAX_ total entries)'), | 
            
              | 20 |         "sLengthMenu"       : window.MSG_DT_LENGTH_MENU || "Show _MENU_ entries", | 19 |         "sLengthMenu"       : __('Show _MENU_ entries'), | 
            
              | 21 |         "sLoadingRecords"   : window.MSG_DT_LOADING_RECORDS || "Loading...", | 20 |         "sLoadingRecords"   : __('Loading...'), | 
            
              | 22 |         "sProcessing"       : window.MSG_DT_PROCESSING || "Processing...", | 21 |         "sProcessing"       : __('Processing...'), | 
            
              | 23 |         "sSearch"           : window.MSG_DT_SEARCH || "Search:", | 22 |         "sSearch"           : __('Search:'), | 
            
              | 24 |         "sZeroRecords"      : window.MSG_DT_ZERO_RECORDS || "No matching records found", | 23 |         "sZeroRecords"      : __('No matching records found'), | 
        
          | 25 |         buttons: { | 24 |         buttons: { | 
          
            
              | 26 |             "copyTitle"     : window.MSG_DT_COPY_TITLE || "Copy to clipboard", | 25 |             "copyTitle"     : __('Copy to clipboard'), | 
            
              | 27 |             "copyKeys"      : window.MSG_DT_COPY_KEYS || "Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.", | 26 |             "copyKeys"      : __('Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.'), | 
        
          | 28 |             "copySuccess": { | 27 |             "copySuccess": { | 
          
            
              | 29 |                 _: window.MSG_DT_COPY_SUCCESS_X || "Copied %d rows to clipboard", | 28 |                 _: __('Copied %d rows to clipboard'), | 
            
              | 30 |                 1: window.MSG_DT_COPY_SUCCESS_ONE || "Copied one row to clipboard" | 29 |                 1: __('Copied one row to clipboard'), | 
        
          | 31 |             } | 30 |             } | 
        
          | 32 |         } | 31 |         } | 
        
          | 33 |     }, | 32 |     }, | 
  
    | Lines 35-43
          var dataTablesDefaults = {
      
      
        Link Here | 
        
          | 35 |     "buttons": [{ | 34 |     "buttons": [{ | 
        
          | 36 |         fade: 100, | 35 |         fade: 100, | 
        
          | 37 |         className: "dt_button_clear_filter", | 36 |         className: "dt_button_clear_filter", | 
          
            
              | 38 |         titleAttr: MSG_CLEAR_FILTER, | 37 |         titleAttr: __('Clear filter'), | 
        
          | 39 |         enabled: false, | 38 |         enabled: false, | 
          
            
              | 40 |         text: '<i class="fa fa-lg fa-remove"></i> <span class="dt-button-text">' + MSG_CLEAR_FILTER + '</span>', | 39 |         text: '<i class="fa fa-lg fa-remove"></i> <span class="dt-button-text">' + __('Clear filter') + '</span>', | 
        
          | 41 |         available: function ( dt ) { | 40 |         available: function ( dt ) { | 
        
          | 42 |             // The "clear filter" button is made available if this test returns true | 41 |             // The "clear filter" button is made available if this test returns true | 
        
          | 43 |             if( dt.settings()[0].aanFeatures.f ){ // aanFeatures.f is null if there is no search form | 42 |             if( dt.settings()[0].aanFeatures.f ){ // aanFeatures.f is null if there is no search form | 
  
    | Lines 49-55
          var dataTablesDefaults = {
      
      
        Link Here | 
        
          | 49 |             node.addClass("disabled"); | 48 |             node.addClass("disabled"); | 
        
          | 50 |         } | 49 |         } | 
        
          | 51 |     }], | 50 |     }], | 
          
            
              | 52 |     "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, window.MSG_DT_ALL || "All"]], | 51 |     "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, __('All')]], | 
        
          | 53 |     "iDisplayLength": 20, | 52 |     "iDisplayLength": 20, | 
        
          | 54 |     initComplete: function( settings) { | 53 |     initComplete: function( settings) { | 
        
          | 55 |         var tableId = settings.nTable.id | 54 |         var tableId = settings.nTable.id | 
  
    | Lines 356-363
          jQuery.extend( jQuery.fn.dataTableExt.oSort, {
      
      
        Link Here | 
        
          | 356 |      * from a configuration file (in English, "a," "an," and "the") | 355 |      * from a configuration file (in English, "a," "an," and "the") | 
        
          | 357 |      */ | 356 |      */ | 
        
          | 358 |  | 357 |  | 
          
            
              | 359 |     if(CONFIG_EXCLUDE_ARTICLES_FROM_SORT){ | 358 |     var config_exclude_articles_from_sort = __('a an the'); | 
            
              | 360 |         var articles = CONFIG_EXCLUDE_ARTICLES_FROM_SORT.split(" "); | 359 |     if (config_exclude_articles_from_sort){ | 
            
              |  |  | 360 |         var articles = config_exclude_articles_from_sort.split(" "); | 
        
          | 361 |         var rpattern = ""; | 361 |         var rpattern = ""; | 
        
          | 362 |         for(i=0;i<articles.length;i++){ | 362 |         for(i=0;i<articles.length;i++){ | 
        
          | 363 |             rpattern += "^" + articles[i] + " "; | 363 |             rpattern += "^" + articles[i] + " "; |