Quantcast
Channel: Free community support — DataTables forums
Viewing all articles
Browse latest Browse all 35364

Override

$
0
0

I'm looking to replace the functionality of _fnFilterCreateSearch, I want to change the behavior considerably but of course without having to edit and maintain jquery.dataTables.js.

function _fnFilterCreateSearch( search, regex, smart, caseInsensitive )
  {
    search = regex ?
      search :
      _fnEscapeRegex( search );

    if ( smart ) {
      /* For smart filtering we want to allow the search to work regardless of
       * word order. We also want double quoted text to be preserved, so word
       * order is important - a la google. So this is what we want to
       * generate:
       *
       * ^(?=.*?\bone\b)(?=.*?\btwo three\b)(?=.*?\bfour\b).*$
       */
      var a = $.map( search.match( /"[^"]+"|[^ ]+/g ) || [''], function ( word ) {
        if ( word.charAt(0) === '"' ) {
          var m = word.match( /^"(.*)"$/ );
          word = m ? m[1] : word;
        }

        return word.replace('"', '');
      } );

      search = '^(?=.*?'+a.join( ')(?=.*?' )+').*$';
    }

    return new RegExp( search, caseInsensitive ? 'i' : '' );
  }

Any ideas?

Could I use the plugin API to override ? https://datatables.net/examples/plug-ins/plugin_api.html

I found an old thread speaking of the same issue but suggested then was to edit the datatables source code.


Viewing all articles
Browse latest Browse all 35364

Trending Articles