mambax7/adslight

View on GitHub
assets/js/tablesorter/js/jquery.tablesorter.widgets.js

Summary

Maintainability
F
8 mos
Test Coverage

File jquery.tablesorter.widgets.js has 2568 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*! tablesorter (FORK) - updated 2020-03-03 (v2.31.3)*/
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery) {
/*! Widget: storage - updated 2018-03-18 (v2.30.0) */
/*global JSON:false */
Severity: Major
Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 wk to fix

    Function findRows has 205 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

            findRows: function( table, filters, currentFilters ) {
                if (
                    tsf.equalFilters(table.config, table.config.lastSearch, currentFilters) ||
                    !table.config.widgetOptions.filter_initialized
                ) {
    Severity: Major
    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 day to fix

      Function init has 181 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

              init: function( table ) {
                  // filter language options
                  ts.language = $.extend( true, {}, {
                      to  : 'to',
                      or  : 'or',
      Severity: Major
      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 7 hrs to fix

        Function format has 180 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                format: function(table, c, wo) {
                    // filter widget doesn't initialize on an empty table. Fixes #449
                    if ( c.$table.hasClass('hasStickyHeaders') || ($.inArray('filter', c.widgets) >= 0 && !c.$table.hasClass('hasFilters')) ) {
                        return;
                    }
        Severity: Major
        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 7 hrs to fix

          Function processRow has 110 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                  processRow: function( c, data, vars ) {
                      var result, filterMatched,
                          fxn, ffxn, txt,
                          wo = c.widgetOptions,
                          showRow = true,
          Severity: Major
          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 4 hrs to fix

            Function format has 101 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                    format: function(table, c, wo) {
                        var i, tmp, hdr, icon, time, $header, $icon, $tfoot, $h, oldtheme, oldremove, oldIconRmv, hasOldTheme,
                            themesAll = ts.themes,
                            $table = c.$table.add( $( c.namespace + '_extra_table' ) ),
                            $headers = c.$headers.add( $( c.namespace + '_extra_headers' ) ),
            Severity: Major
            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 4 hrs to fix

              Function buildRow has 85 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                      buildRow: function( table, c, wo ) {
                          var $filter, col, column, $header, makeSelect, disabled, name, ffxn, tmp,
                              // c.columns defined in computeThIndexes()
                              cellFilter = wo.filter_cellFilter,
                              columns = c.columns,
              Severity: Major
              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 3 hrs to fix

                Consider simplifying this complex logical expression.
                Open

                                    if ( searchFiltered ) {
                                        // cycle through all filters; include last ( columnIndex + 1 = match any column ). Fixes #669
                                        for ( indx = 0; indx < columnIndex + 1; indx++ ) {
                                            val = filters[indx] || '';
                                            // break out of loop if we've already determined not to search filtered rows
                Severity: Critical
                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 3 hrs to fix

                  Function buildSelect has 71 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          buildSelect: function( table, column, arry, updating, onlyAvail ) {
                              table = $( table )[0];
                              column = parseInt( column, 10 );
                              if ( !table.config.cache || $.isEmptyObject( table.config.cache ) ) {
                                  return;
                  Severity: Major
                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                    Function bindSearch has 69 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                            bindSearch: function( table, $el, internal ) {
                                table = $( table )[0];
                                $el = $( $el ); // allow passing a selector string
                                if ( !$el.length ) { return; }
                                var tmp,
                    Severity: Major
                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                      Function getFilters has 59 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                          ts.getFilters = function( table, getRaw, setFilters, skipFirst ) {
                              var i, $filters, $column, cols,
                                  filters = [],
                                  c = table ? $( table )[0].config : '',
                                  wo = c ? c.widgetOptions : '';
                      Severity: Major
                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                        Consider simplifying this complex logical expression.
                        Open

                                        if ( table.config.widgetOptions.filter_initialized &&
                                            // immediate search if user presses enter
                                            ( event.which === tskeyCodes.enter ||
                                                // immediate search if a "search" or "blur" is triggered on the input
                                                ( eventType === 'search' || eventType === 'blur' ) ||
                        Severity: Critical
                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                          Function storage has 58 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                              ts.storage = function(table, key, value, options) {
                                  table = $(table)[0];
                                  var cookieIndex, cookies, date,
                                      hasStorage = false,
                                      values = {},
                          Severity: Major
                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                            Function bindings has 57 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                                    bindings : function( c, wo ) {
                                        var namespace = c.namespace + 'tsresize';
                                        wo.$resizable_container.children().bind( 'mousedown', function( event ) {
                                            // save header cell and mouse position
                                            var column,
                            Severity: Major
                            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                              Function processOptions has 55 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                      processOptions: function( table, column, arry ) {
                                          if ( !$.isArray( arry ) ) {
                                              return false;
                                          }
                                          table = $( table )[0];
                              Severity: Major
                              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                                Consider simplifying this complex logical expression.
                                Open

                                            if (!$table.hasClass('tablesorter-' + theme) || c.theme !== c.appliedTheme || !wo.uitheme_applied) {
                                                wo.uitheme_applied = true;
                                                oldtheme = themesAll[c.appliedTheme] || {};
                                                hasOldTheme = !$.isEmptyObject(oldtheme);
                                                oldremove =  hasOldTheme ? [ oldtheme.sortNone, oldtheme.sortDesc, oldtheme.sortAsc, oldtheme.active ].join( ' ' ) : '';
                                Severity: Critical
                                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                                  Function init has 50 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                          init : function( c, wo ) {
                                              if ( c.$table.hasClass( 'hasResizable' ) ) { return; }
                                              c.$table.addClass( 'hasResizable' );
                                  
                                              var noResize, $header, column, storedSizes, tmp,
                                  Severity: Minor
                                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 2 hrs to fix

                                    Function checkFilters has 49 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                            checkFilters: function( table, filter, skipFirst ) {
                                                var c = table.config,
                                                    wo = c.widgetOptions,
                                                    filterArray = $.isArray( filter ),
                                                    filters = ( filterArray ) ? filter : ts.getFilters( table, true ),
                                    Severity: Minor
                                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                      Function findRange has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                              findRange: function( c, val, ignoreRanges ) {
                                                  // look for multiple columns '1-3,4-6,8' in data-column
                                                  var temp, ranges, range, start, end, singles, i, indx, len,
                                                      columns = [];
                                                  if ( /^[0-9]+$/.test( val ) ) {
                                      Severity: Minor
                                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                        Function format has 39 lines of code (exceeds 25 allowed). Consider refactoring.
                                        Open

                                                format: function(table, c, wo) {
                                                    var $tbody, tbodyIndex, $rows, rows, $row, $cells, remove, indx,
                                                    $table = c.$table,
                                                    $tbodies = c.$tbodies,
                                                    sortList = c.sortList,
                                        Severity: Minor
                                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                          Function scrollSticky has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                                          Open

                                                          scrollSticky = function( resizing ) {
                                                              if (!$table.is(':visible')) { return; } // fixes #278
                                                              // Detect nested tables - fixes #724
                                                              nestedStickyTop = $nestedSticky.length ? $nestedSticky.offset().top - $yScroll.scrollTop() + $nestedSticky.height() : 0;
                                                              var tmp,
                                          Severity: Minor
                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                            Function getOptions has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                                            Open

                                                    getOptions: function( table, column, onlyAvail ) {
                                                        table = $( table )[0];
                                                        var rowIndex, tbodyIndex, len, row, cache, indx, child, childLen,
                                                            c = table.config,
                                                            wo = c.widgetOptions,
                                            Severity: Minor
                                            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                              Function addHeaderResizeEvent has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                                              Open

                                                  ts.addHeaderResizeEvent = function(table, disable, settings) {
                                                      table = $(table)[0]; // make sure we're using a dom element
                                                      if ( !table.config ) { return; }
                                                      var defaults = {
                                                              timer : 250
                                              Severity: Minor
                                              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                Function format has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                                                Open

                                                        format: function(table, c, wo, init) {
                                                            var time,
                                                                $table = c.$table,
                                                                saveSort = wo.saveSort !== false, // make saveSort active/inactive; default to true
                                                                sortList = { 'sortList' : c.sortList },
                                                Severity: Minor
                                                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                  Function setHandlePosition has 34 lines of code (exceeds 25 allowed). Consider refactoring.
                                                  Open

                                                          setHandlePosition : function( c, wo ) {
                                                              var startPosition,
                                                                  tableHeight = c.$table.height(),
                                                                  $handles = wo.$resizable_container.children(),
                                                                  handleCenter = Math.floor( $handles.width() / 2 );
                                                  Severity: Minor
                                                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                    Consider simplifying this complex logical expression.
                                                    Open

                                                                    } else if ( this.value !== '' && (
                                                                        // liveSearch can contain a min value length; ignore arrow and meta keys, but allow backspace
                                                                        ( typeof liveSearch === 'number' && this.value.length < liveSearch ) ||
                                                                        // let return & backspace continue on, but ignore arrows & non-valid characters
                                                                        ( event.which !== tskeyCodes.enter && event.which !== tskeyCodes.backSpace &&
                                                    Severity: Critical
                                                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                      Consider simplifying this complex logical expression.
                                                      Open

                                                                      if ( ( tsfRegex.orTest.test( data.iFilter ) || tsfRegex.orSplit.test( data.filter ) ) &&
                                                                          // this test for regex has potential to slow down the overall search
                                                                          !tsfRegex.regex.test( data.filter ) ) {
                                                                          var indx, filterMatched, query, regex,
                                                                              // duplicate data but split filter
                                                      Severity: Critical
                                                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                        Function filterInitComplete has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                                                        Open

                                                                filterInitComplete: function( c ) {
                                                                    var indx, len,
                                                                        wo = c.widgetOptions,
                                                                        count = 0,
                                                                        completed = function() {
                                                        Severity: Minor
                                                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                          Function operators has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                                                          Open

                                                                      operators: function( c, data ) {
                                                                          // ignore empty strings... because '' < 10 is true
                                                                          if ( tsfRegex.operTest.test( data.iFilter ) && data.iExact !== '' ) {
                                                                              var cachedValue, result, txt,
                                                                                  table = c.table,
                                                          Severity: Minor
                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                            Function mouseMove has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                                                            Open

                                                                    mouseMove : function( c, wo, event ) {
                                                                        if ( wo.resizable_vars.mouseXPosition === 0 || !wo.resizable_vars.$target ) { return; }
                                                                        // resize columns
                                                                        var column,
                                                                            total = 0,
                                                            Severity: Minor
                                                            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                              Function range has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                                                              Open

                                                                          range : function( c, data ) {
                                                                              if ( tsfRegex.toTest.test( data.iFilter ) ) {
                                                                                  var result, tmp, range1, range2,
                                                                                      table = c.table,
                                                                                      index = data.index,
                                                              Severity: Minor
                                                              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                Function and has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                                                                Open

                                                                            and : function( c, data, vars ) {
                                                                                if ( tsfRegex.andTest.test( data.filter ) ) {
                                                                                    var indx, filterMatched, result, query, regex,
                                                                                        // duplicate data but split filter
                                                                                        data2 = $.extend( {}, data ),
                                                                Severity: Minor
                                                                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                  Function hideFilters has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                                                                  Open

                                                                          hideFilters: function( c, $table ) {
                                                                              var timer;
                                                                              ( $table || c.$table )
                                                                                  .find( '.' + tscss.filterRow )
                                                                                  .addClass( tscss.filterRowHide )
                                                                  Severity: Minor
                                                                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                    Function getOptionSource has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                                                    Open

                                                                            getOptionSource: function( table, column, onlyAvail ) {
                                                                                table = $( table )[0];
                                                                                var c = table.config,
                                                                                    wo = c.widgetOptions,
                                                                                    arry = false,
                                                                    Severity: Minor
                                                                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                      Function setWidth has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                                                      Open

                                                                                      setWidth = function($orig, $clone) {
                                                                                          var index, width, border, $cell, $this,
                                                                                              $cells = $orig.filter(':visible'),
                                                                                              len = $cells.length;
                                                                                          for ( index = 0; index < len; index++ ) {
                                                                      Severity: Minor
                                                                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                        Function resizableReset has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                                                        Open

                                                                            ts.resizableReset = function( table, refreshing ) {
                                                                                $( table ).each(function() {
                                                                                    var index, $t,
                                                                                        c = this.config,
                                                                                        wo = c && c.widgetOptions,
                                                                        Severity: Minor
                                                                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                          Consider simplifying this complex logical expression.
                                                                          Open

                                                                                      if ( validColumn && c.$headerIndexed[ column ].hasClass( 'filter-select-nosort' ) ) {
                                                                                          // unsorted select options
                                                                                          return arry;
                                                                                      } else {
                                                                                          len = arry.length;
                                                                          Severity: Major
                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 1 hr to fix

                                                                            Avoid deeply nested control flow statements.
                                                                            Open

                                                                                                        if ( fxn ) {
                                                                                                            // updating so the extra options are appended
                                                                                                            tsf.buildSelect( c.table, column, '', true, $header.hasClass( wo.filter_onlyAvail ) );
                                                                                                        }
                                                                            Severity: Major
                                                                            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                              Avoid deeply nested control flow statements.
                                                                              Open

                                                                                                          if ( wo.filter_childByColumn ) {
                                                                                                              if ( !wo.filter_childWithSibs ) {
                                                                                                                  // hide all child rows
                                                                                                                  childRow.addClass( wo.filter_filteredRow );
                                                                                                                  // if only showing resulting child row, only include parent
                                                                              Severity: Major
                                                                              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                Avoid deeply nested control flow statements.
                                                                                Open

                                                                                                            if ( option.hasOwnProperty( val ) && val !== 'text' ) {
                                                                                                                options += ' ' + val + '="' + option[ val ].replace( tsfRegex.quote, '&quot;' ) + '"';
                                                                                                            }
                                                                                Severity: Major
                                                                                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                  Avoid deeply nested control flow statements.
                                                                                  Open

                                                                                                                  for (indx = 1; indx < len; indx++) {
                                                                                                                      // secondary, tertiary, etc sort column classes
                                                                                                                      $cells.eq(sortList[indx][0]).addClass( css[indx] || css[last] );
                                                                                                                  }
                                                                                  Severity: Major
                                                                                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                    Avoid deeply nested control flow statements.
                                                                                    Open

                                                                                                                for ( indx = 0; indx < query.length; indx++ ) {
                                                                                                                    res = query[ indx ].split( ':' );
                                                                                                                    if ( res.length > 1 ) {
                                                                                                                        // make the column a one-based index ( non-developers start counting from one :P )
                                                                                                                        if ( isNaN( res[0] ) ) {
                                                                                    Severity: Major
                                                                                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                      Avoid deeply nested control flow statements.
                                                                                      Open

                                                                                                                  for ( indx = 0; indx < childRow.length; indx++ ) {
                                                                                                                      txt += ' ' + childRow[indx].join( ' ' ) || '';
                                                                                                                  }
                                                                                      Severity: Major
                                                                                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                        Avoid deeply nested control flow statements.
                                                                                        Open

                                                                                                                if ( $.isArray( setFilters ) ) {
                                                                                                                    // skip first ( latest input ) to maintain cursor position while typing
                                                                                                                    if ( skipFirst && $column.length > 1 ) {
                                                                                                                        $column = $column.slice( 1 );
                                                                                                                    }
                                                                                        Severity: Major
                                                                                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                          Avoid deeply nested control flow statements.
                                                                                          Open

                                                                                                                      for ( indx = 1; indx < childLen; indx++ ) {
                                                                                                                          child =  cache.normalized[ rowIndex ][ c.columns ].$row.eq( indx ).children().eq( column );
                                                                                                                          arry[ arry.length ] = '' + ts.getElementText( c, child, column );
                                                                                                                      }
                                                                                          Severity: Major
                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                            Avoid deeply nested control flow statements.
                                                                                            Open

                                                                                                                    if ( txt.indexOf( wo.filter_selectSourceSeparator ) >= 0 ) {
                                                                                                                        t = txt.split( wo.filter_selectSourceSeparator );
                                                                                                                        val = t[0];
                                                                                                                        txt = t[1];
                                                                                                                    }
                                                                                            Severity: Major
                                                                                            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                              Avoid deeply nested control flow statements.
                                                                                              Open

                                                                                                                          if ( fxn === true ) {
                                                                                                                              // default selector uses exact match unless 'filter-match' class is found
                                                                                                                              result = data.isMatch ?
                                                                                                                                  // data.iExact may be a number
                                                                                                                                  ( '' + data.iExact ).search( data.iFilter ) >= 0 :
                                                                                              Severity: Major
                                                                                              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                Avoid deeply nested control flow statements.
                                                                                                Open

                                                                                                                            if ( !searchFiltered ) { indx = columnIndex; }
                                                                                                Severity: Major
                                                                                                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                  Avoid deeply nested control flow statements.
                                                                                                  Open

                                                                                                                              if ( injected ) {
                                                                                                                                  data.anyMatchFilter = query.join( ' && ' );
                                                                                                                              }
                                                                                                  Severity: Major
                                                                                                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                    Avoid deeply nested control flow statements.
                                                                                                    Open

                                                                                                                            if ( i === c.columns && $column.length ) {
                                                                                                                                wo.filter_$anyMatch = $column;
                                                                                                                            }
                                                                                                    Severity: Major
                                                                                                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                      Avoid deeply nested control flow statements.
                                                                                                      Open

                                                                                                                                  for ( string in fxn ) {
                                                                                                                                      if ( typeof string === 'string' ) {
                                                                                                                                          options += options === '' ?
                                                                                                                                              '<option value="">' +
                                                                                                                                                  ( $header.data( 'placeholder' ) ||
                                                                                                      Severity: Major
                                                                                                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                        Avoid deeply nested control flow statements.
                                                                                                        Open

                                                                                                                                    for ( indx = 0; indx < childLen; indx++ ) {
                                                                                                                                        arry[ arry.length ] = '' + cache.normalized[ rowIndex ][ c.columns ].child[ indx ][ column ];
                                                                                                                                    }
                                                                                                        Severity: Major
                                                                                                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                          Avoid deeply nested control flow statements.
                                                                                                          Open

                                                                                                                                      if ( buildFilter && ( buildFilter.parent().length === 0 ||
                                                                                                                                          ( buildFilter.parent().length && buildFilter.parent()[0] !== $filter[0] ) ) ) {
                                                                                                                                          $filter.append( buildFilter );
                                                                                                                                      }
                                                                                                          Severity: Major
                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                            Avoid deeply nested control flow statements.
                                                                                                            Open

                                                                                                                                        if ( buildFilter && buildFilter.length === 0 ) {
                                                                                                                                            buildFilter = $filter.children( 'input' );
                                                                                                                                        }
                                                                                                            Severity: Major
                                                                                                            Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 45 mins to fix

                                                                                                              Consider simplifying this complex logical expression.
                                                                                                              Open

                                                                                                                                  if ( ( wo.filter_$anyMatch && wo.filter_$anyMatch.length ) ||
                                                                                                                                      typeof filters[c.columns] !== 'undefined' ) {
                                                                                                                                      data.anyMatchFlag = true;
                                                                                                                                      data.anyMatchFilter = '' + (
                                                                                                                                          filters[ c.columns ] ||
                                                                                                              Severity: Major
                                                                                                              Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 40 mins to fix

                                                                                                                Consider simplifying this complex logical expression.
                                                                                                                Open

                                                                                                                                if ( $header && $header.length ) {
                                                                                                                                    // $filter = c.$filters.filter( '[data-column="' + column + '"]' );
                                                                                                                                    $filter = tsf.getColumnElm( c, c.$filters, column );
                                                                                                                                    ffxn = ts.getColumnData( table, wo.filter_functions, column );
                                                                                                                                    makeSelect = ( wo.filter_functions && ffxn && typeof ffxn !== 'function' ) ||
                                                                                                                Severity: Major
                                                                                                                Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 40 mins to fix

                                                                                                                  Consider simplifying this complex logical expression.
                                                                                                                  Open

                                                                                                                                  if ( tsfRegex.andTest.test( data.filter ) ) {
                                                                                                                                      var indx, filterMatched, result, query, regex,
                                                                                                                                          // duplicate data but split filter
                                                                                                                                          data2 = $.extend( {}, data ),
                                                                                                                                          filter = data.filter.split( tsfRegex.andSplit ),
                                                                                                                  Severity: Major
                                                                                                                  Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 40 mins to fix

                                                                                                                    Consider simplifying this complex logical expression.
                                                                                                                    Open

                                                                                                                                    if ( tsfRegex.toTest.test( data.iFilter ) ) {
                                                                                                                                        var result, tmp, range1, range2,
                                                                                                                                            table = c.table,
                                                                                                                                            index = data.index,
                                                                                                                                            parsed = data.parsed[index],
                                                                                                                    Severity: Major
                                                                                                                    Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 40 mins to fix

                                                                                                                      Consider simplifying this complex logical expression.
                                                                                                                      Open

                                                                                                                              if ( ( getRaw !== true && wo && !wo.filter_columnFilters ) ||
                                                                                                                                  // setFilters called, but last search is exactly the same as the current
                                                                                                                                  // fixes issue #733 & #903 where calling update causes the input values to reset
                                                                                                                                  ( $.isArray(setFilters) && tsf.equalFilters(c, setFilters, c.lastSearch) )
                                                                                                                              ) {
                                                                                                                      Severity: Major
                                                                                                                      Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 40 mins to fix

                                                                                                                        Function buildSelect has 5 arguments (exceeds 4 allowed). Consider refactoring.
                                                                                                                        Open

                                                                                                                                buildSelect: function( table, column, arry, updating, onlyAvail ) {
                                                                                                                        Severity: Minor
                                                                                                                        Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js - About 35 mins to fix

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;( function ( $ ) {
                                                                                                                              'use strict';
                                                                                                                              var tsf, tsfRegex,
                                                                                                                                  ts = $.tablesorter || {},
                                                                                                                                  tscss = ts.css,
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 4 mos to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 3315..5268

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 20746.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;(function ($, window) {
                                                                                                                              'use strict';
                                                                                                                              var ts = $.tablesorter || {};
                                                                                                                          
                                                                                                                              $.extend(ts.css, {
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 3 wks to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 5597..6009

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 4395.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;(function ($, window) {
                                                                                                                              'use strict';
                                                                                                                              var ts = $.tablesorter || {};
                                                                                                                          
                                                                                                                              $.extend(ts.css, {
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 3 wks to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 5274..5593

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 3673.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;(function ($) {
                                                                                                                              'use strict';
                                                                                                                              var ts = $.tablesorter || {};
                                                                                                                          
                                                                                                                              ts.themes = {
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 2 wks to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 3036..3230

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 2468.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;(function ($, window, document) {
                                                                                                                              'use strict';
                                                                                                                          
                                                                                                                              var ts = $.tablesorter || {};
                                                                                                                          
                                                                                                                          
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 5 days to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 2921..3033

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 983.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;(function ($) {
                                                                                                                              'use strict';
                                                                                                                              var ts = $.tablesorter || {};
                                                                                                                          
                                                                                                                              ts.addWidget({
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 5 days to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 3233..3309

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 883.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Similar blocks of code found in 2 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          ;(function ($) {
                                                                                                                              'use strict';
                                                                                                                              var ts = $.tablesorter || {};
                                                                                                                          
                                                                                                                              function getStoredSortList(c) {
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 1 other location - About 4 days to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 6015..6092

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 681.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          Identical blocks of code found in 6 locations. Consider refactoring.
                                                                                                                          Open

                                                                                                                          (function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery) {
                                                                                                                          /*! Widget: storage - updated 2018-03-18 (v2.30.0) */
                                                                                                                          /*global JSON:false */
                                                                                                                          ;(function ($, window, document) {
                                                                                                                              'use strict';
                                                                                                                          Severity: Major
                                                                                                                          Found in assets/js/tablesorter/js/jquery.tablesorter.widgets.js and 5 other locations - About 3 hrs to fix
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.combined.js on lines 3..6093
                                                                                                                          assets/js/tablesorter/js/jquery.tablesorter.js on lines 1..2916
                                                                                                                          assets/js/tablesorter/js/parsers/parser-date.min.js on lines 1..7
                                                                                                                          assets/js/tablesorter/js/parsers/parser-huge-numbers.min.js on lines 1..4
                                                                                                                          assets/js/tablesorter/js/parsers/parser-image.min.js on lines 1..4

                                                                                                                          Duplicated Code

                                                                                                                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                                                                                                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                                                                                                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                                                                                                          Tuning

                                                                                                                          This issue has a mass of 97.

                                                                                                                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                                                                                                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                                                                                                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                                                                                                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                                                                                                          Refactorings

                                                                                                                          Further Reading

                                                                                                                          There are no issues that match your filters.

                                                                                                                          Category
                                                                                                                          Status